.page-beacon{--accent:#9fdbc8;--gold:#e0b57d;--quiet:#71858b}
.beacon-hero{position:relative;isolation:isolate;min-height:760px;overflow:hidden;background:#071116;border-bottom:1px solid var(--line)}
.beacon-hero-image{position:absolute;inset:0;z-index:-2}
.beacon-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.82) contrast(1.03)}
.beacon-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#061116 0%,#061116f2 30%,#06111691 50%,transparent 75%),linear-gradient(0deg,#061116d9 0%,transparent 28%,#0611162b 80%)}
.beacon-hero-copy{padding-top:105px;position:relative;z-index:2}
.beacon-hero-copy h1{font-size:clamp(4.8rem,7.8vw,8.4rem);max-width:820px;margin:20px 0 25px;line-height:.89}
.beacon-hero-copy h1 em{color:#d1ded5}
.beacon-hero-copy>p{max-width:575px;color:#c0cfce;font-size:1.02rem;line-height:1.85}
.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:31px}
.beacon-download{gap:17px;background:#07121899;backdrop-filter:blur(8px)}.beacon-download span{white-space:nowrap}.beacon-download small{padding-left:16px;border-left:1px solid var(--line);color:#8eaaa9;font-size:.62rem;white-space:nowrap}
.hero-dispatch{position:absolute;left:50%;bottom:0;transform:translateX(-50%);z-index:3;display:grid;grid-template-columns:1.15fr 1fr repeat(4,.8fr);align-items:center;min-height:86px;border:1px solid #d5e8df2b;border-bottom:0;background:#071218db;backdrop-filter:blur(16px);box-shadow:0 -20px 70px #02080b59}
.hero-dispatch>*{min-height:86px;display:flex;align-items:center;padding:0 22px;border-right:1px solid var(--line);font-size:.78rem;color:#a9bdc0;white-space:nowrap}
.hero-dispatch>*:last-child{border-right:0}.hero-dispatch strong{font:400 1.45rem var(--serif);color:var(--text)}
.hero-dispatch .dispatch-label{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-size:.65rem}
.signal-dot{display:inline-block;width:6px;height:6px;margin-right:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px #9fdbc814,0 0 13px #9fdbc8}

.beacon-dispatch{background:#0c181e}.beacon-dispatch .section-head{margin-bottom:48px}
.operations-frame{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.68fr);border:1px solid #b7d9d02b;background:#081419;box-shadow:0 38px 90px #02070970;min-height:590px}
.operations-map{position:relative;min-height:590px;overflow:hidden;background:radial-gradient(circle at 66% 35%,#1c413c5e,transparent 38%),linear-gradient(125deg,#0a1920,#071217)}
.operations-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#b9ded407 1px,transparent 1px),linear-gradient(90deg,#b9ded407 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(black,transparent 92%)}
.map-meta{position:absolute;z-index:4;top:24px;left:27px;right:27px;display:flex;justify-content:space-between;gap:20px;padding-bottom:17px;border-bottom:1px solid var(--line);font-size:.8rem}.map-meta small{color:#678189}.map-meta span{font-weight:650}
.route-map{position:absolute;inset:45px 0 72px;width:100%;height:calc(100% - 117px)}
.roads path{fill:none;stroke:#75909621;stroke-width:8}.trip-shadow{fill:none;stroke:#03090c99;stroke-width:13}.trip-line{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:4 7}.map-origin{fill:#0a171c;stroke:#d8e8e0;stroke-width:3}.map-progress{fill:var(--gold);stroke:#fff0d7;stroke-width:3;filter:drop-shadow(0 0 10px #e0b57d)}.map-destination{fill:#081419;stroke:var(--accent);stroke-width:3}.flag{fill:var(--accent)}
.map-chip{position:absolute;z-index:3;padding:7px 11px;border:1px solid var(--line);background:#071217e6;font-size:.68rem;color:#b8cdcd;box-shadow:0 10px 25px #0005}.chip-start{left:8%;bottom:25%}.chip-live{left:50%;top:48%;color:#f1ddc1;border-color:#e0b57d78}.chip-end{right:9%;top:23%;color:var(--accent)}
.trip-readout{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);background:#071217db;backdrop-filter:blur(10px)}
.trip-readout div{padding:16px 22px;border-right:1px solid var(--line)}.trip-readout div:last-child{border-right:0}.trip-readout small{display:block;color:#678189;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.trip-readout strong{display:block;font:400 1.28rem var(--serif);margin-top:3px}
.fleet-list{display:flex;flex-direction:column;border-left:1px solid var(--line);background:#0d1b20}.fleet-list-head{height:74px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.fleet-list-head span{font-weight:650}.fleet-list-head small{color:#6f898e}
.fleet-list article{display:grid;grid-template-columns:43px 1fr auto;gap:15px;align-items:center;padding:24px 22px;border-bottom:1px solid var(--line)}.fleet-list article div{min-width:0}.fleet-list article strong,.fleet-list article small{display:block}.fleet-list article strong{font-size:.9rem}.fleet-list article small{margin-top:3px;color:#789196;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fleet-list article>b{font-size:.64rem;color:#8eaaa9;text-align:right;text-transform:uppercase;letter-spacing:.07em}
.vehicle-mark{width:43px;height:43px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:.68rem}.vehicle-mark.moving{color:var(--accent)}.vehicle-mark.still{color:var(--gold)}.vehicle-mark.quiet{color:#60747b}
.fleet-key{margin-top:auto;padding:19px 22px;display:flex;gap:20px;flex-wrap:wrap;color:#789196;font-size:.65rem}.fleet-key i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px}.fleet-key i.moving{background:var(--accent)}.fleet-key i.still{background:var(--gold)}.fleet-key i.quiet{background:#60747b}
.answer-rail{display:grid;grid-template-columns:repeat(3,1fr);margin-top:38px;border-top:1px solid var(--line)}.answer-rail>div{padding:28px 28px 0 0;margin-right:28px;border-right:1px solid var(--line)}.answer-rail>div:last-child{border-right:0;margin-right:0}.answer-rail span{font:italic 1.3rem var(--serif);color:var(--accent);margin-right:15px}.answer-rail strong{font:400 1.55rem var(--serif)}.answer-rail p{color:var(--muted);font-size:.83rem;margin:10px 0 0;max-width:290px}

.trip-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.82fr);gap:clamp(65px,9vw,130px);align-items:center}.trip-copy h2{margin:17px 0 26px}.trip-facts{list-style:none;padding:0;margin:35px 0 0;border-top:1px solid var(--line)}.trip-facts li{padding:18px 0;border-bottom:1px solid var(--line);color:#91a9ac;font-size:.87rem}.trip-facts span{display:inline-block;min-width:170px;color:var(--text);font-weight:650}
.trip-sheet{position:relative;background:#e8e9e2;color:#102024;padding:34px;box-shadow:0 40px 90px #0008;transform:rotate(1.25deg)}.trip-sheet:before{content:"";position:absolute;inset:9px;border:1px solid #2743491d;pointer-events:none}.trip-sheet-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #22383e2e;padding-bottom:22px}.trip-sheet-top span{font:400 2rem var(--serif)}.trip-sheet-top small{padding:6px 10px;background:#bdd8ca;color:#17362f;font-size:.65rem;text-transform:uppercase;letter-spacing:.09em}
.trip-points{padding:30px 4px}.trip-points>div:not(.trip-line-vertical){display:flex;gap:18px;align-items:center}.trip-points i{width:14px;height:14px;border:3px solid #0d2724;border-radius:50%;background:#e8e9e2;flex:0 0 auto}.trip-points small,.trip-points strong{display:block}.trip-points small{color:#6d7d7c;font-size:.68rem}.trip-points strong{font-size:.95rem}.trip-line-vertical{height:72px;width:2px;background:#aab9b3;margin:6px 0 6px 6px;position:relative}.trip-line-vertical b{position:absolute;top:0;left:0;width:2px;height:var(--progress);background:#2f7163}.trip-sheet-bottom{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #22383e2e;border-bottom:1px solid #22383e2e}.trip-sheet-bottom div{padding:20px 12px;border-right:1px solid #22383e2e}.trip-sheet-bottom div:last-child{border-right:0}.trip-sheet-bottom strong,.trip-sheet-bottom span{display:block}.trip-sheet-bottom strong{font:400 2rem var(--serif)}.trip-sheet-bottom span{color:#687b7b;font-size:.68rem}.trip-sheet>p{margin:18px 0 0;color:#647677;font-size:.72rem;text-align:right}

.beacon-phone{background:#101c22}.phone-grid{display:grid;grid-template-columns:minmax(380px,.8fr) minmax(0,1fr);gap:clamp(70px,10vw,150px);align-items:center}.phone-stage{min-height:690px;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 48% 46%,#35564e80,transparent 39%),linear-gradient(145deg,#09151b,#101f23);border:1px solid var(--line);overflow:hidden}.phone-stage:before{content:"";position:absolute;width:440px;height:440px;border:1px solid #a1d8c51c;border-radius:50%;box-shadow:0 0 0 70px #a1d8c508,0 0 0 140px #a1d8c506}.phone-caption{position:absolute;left:22px;top:19px;z-index:2;color:#759095;font-size:.64rem;letter-spacing:.11em;text-transform:uppercase}
.phone-shell{position:relative;z-index:2;width:294px;padding:9px;border-radius:38px;background:#05090b;border:1px solid #688183;box-shadow:0 35px 90px #000,0 0 0 6px #0b1114}.phone-speaker{position:absolute;z-index:3;top:17px;left:50%;transform:translateX(-50%);width:72px;height:5px;border-radius:6px;background:#1f2b2f}.phone-screen{min-height:585px;padding:42px 22px 24px;border-radius:29px;background:linear-gradient(#102229,#071318);overflow:hidden}.phone-brand{display:flex;align-items:center;gap:10px;padding-bottom:22px;border-bottom:1px solid var(--line)}.phone-brand img{width:27px}.phone-brand span{font-weight:650}.phone-state{padding:28px 0 25px}.phone-state>i{display:block;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 8px #9fdbc512,0 0 19px #9fdbc8;margin-bottom:21px}.phone-state small{display:block;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:.62rem}.phone-state strong{display:block;font:400 2rem var(--serif);margin:8px 0 5px}.phone-state p{color:#91aaad;font-size:.72rem;line-height:1.7;margin:0}.phone-detail{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:.69rem}.phone-detail span{color:#718b90}.phone-detail b{font-weight:550;text-align:right}.phone-screen button{width:100%;margin-top:24px;padding:12px;border:1px solid #b77b6a75;color:#d5aaa0;font-size:.72rem}.phone-note{display:block;color:#657e84;font-size:.61rem;line-height:1.55;text-align:center;margin-top:15px}
.phone-copy h2{margin:17px 0 27px}.phone-steps{list-style:none;padding:0;margin:40px 0 0;counter-reset:phone}.phone-steps li{display:grid;grid-template-columns:95px 1fr;gap:25px;padding:20px 0;border-top:1px solid var(--line)}.phone-steps b{font:400 1.45rem var(--serif)}.phone-steps span{color:var(--muted);font-size:.87rem;padding-top:4px}
.install-note{margin-top:35px;padding:24px;border:1px solid #a1d8c538;background:#081419;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}.install-note>div>span{color:var(--accent);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}.install-note h3{font:400 1.55rem var(--serif);margin:8px 0}.install-note p{max-width:520px;color:#91a9ac;font-size:.78rem;line-height:1.65;margin:0}.install-note .beacon-download{align-self:center}.install-note .beacon-download small{min-width:71px}

.beacon-uses{background:#081419}.use-ledger{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.use-ledger article{min-height:310px;padding:29px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.use-ledger article>span{color:var(--accent);font-size:.65rem;text-transform:uppercase;letter-spacing:.13em}.use-ledger h3{font:400 2rem/1.06 var(--serif);margin:70px 0 17px}.use-ledger p{margin-top:auto;color:var(--muted);font-size:.82rem;line-height:1.75}
.privacy-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(55px,9vw,130px);align-items:start}.privacy-grid h2{margin:17px 0 26px}.privacy-ledger{margin:0}.privacy-ledger div{display:grid;grid-template-columns:125px 1fr;gap:25px;padding:23px 0;border-top:1px solid var(--line)}.privacy-ledger dt{font:400 1.5rem var(--serif);color:var(--text)}.privacy-ledger dd{margin:0;color:var(--muted);font-size:.86rem}
.enquiry-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:0;border:1px solid var(--line)}.enquiry-grid .form-card{border:0;border-right:1px solid var(--line);padding:38px 40px;background:#0d1d23}.pilot-note{padding:42px 38px;background:linear-gradient(145deg,#14272b,#0a171d)}.pilot-note>span{color:var(--accent);font-size:.66rem;text-transform:uppercase;letter-spacing:.14em}.pilot-note>strong{display:block;font:400 clamp(2.3rem,4vw,4rem)/.98 var(--serif);margin:36px 0}.pilot-note p{color:#adc0bf;font-size:.9rem}.pilot-note small{display:block;border-top:1px solid var(--line);padding-top:20px;margin-top:40px;color:#698287;font-size:.67rem}

@media(max-width:1100px){.hero-dispatch{grid-template-columns:1.1fr 1fr repeat(2,.8fr)}.hero-dispatch>*:nth-last-child(-n+2){display:none}.operations-frame{grid-template-columns:minmax(0,1.4fr) minmax(290px,.7fr)}.use-ledger{grid-template-columns:1fr 1fr}.trip-grid{gap:55px}.phone-grid{gap:60px}.phone-stage{min-height:630px}}
@media(max-width:900px){.beacon-hero{min-height:720px}.beacon-hero-copy{padding-top:82px}.beacon-hero-copy h1{font-size:5.2rem;max-width:600px}.beacon-hero:after{background:linear-gradient(90deg,#061116f7 0%,#061116dd 43%,#06111640 82%),linear-gradient(0deg,#061116db,transparent 32%)}.operations-frame{grid-template-columns:1fr}.fleet-list{border-left:0;border-top:1px solid var(--line)}.fleet-key{margin-top:0}.answer-rail{grid-template-columns:1fr}.answer-rail>div{border-right:0;border-bottom:1px solid var(--line);padding:24px 0;margin:0}.answer-rail>div:last-child{border-bottom:0}.trip-grid,.phone-grid,.privacy-grid{grid-template-columns:1fr}.trip-sheet{max-width:570px;margin:auto;transform:none}.phone-stage{max-width:650px;width:100%;margin:auto;order:2}.phone-copy{order:1}.use-ledger{grid-template-columns:1fr 1fr}.enquiry-grid{grid-template-columns:1fr}.enquiry-grid .form-card{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:600px){.beacon-hero{min-height:810px}.beacon-hero-image img{object-position:65% center}.beacon-hero:after{background:linear-gradient(0deg,#061116f2 0%,#0611163d 41%,#061116ec 70%,#061116 100%)}.beacon-hero-copy{padding-top:54px}.beacon-hero-copy h1{font-size:min(4.4rem,18vw);line-height:.92;margin-top:18px}.beacon-hero-copy>p{font-size:.9rem;max-width:360px}.hero-actions{gap:12px 20px}.hero-dispatch{width:calc(100% - 40px);grid-template-columns:repeat(3,1fr);min-height:72px}.hero-dispatch>*{min-height:72px;padding:0 11px;font-size:.63rem;justify-content:center}.hero-dispatch>*:nth-last-child(-n+2){display:none}.hero-dispatch .dispatch-label{display:none}.hero-dispatch strong{font-size:1.05rem}.operations-frame{min-height:0}.operations-map{min-height:480px}.map-meta{left:18px;right:18px}.map-meta small{display:none}.route-map{inset:52px -70px 88px;width:calc(100% + 140px);height:calc(100% - 140px)}.map-chip{font-size:.6rem}.chip-start{left:5%;bottom:29%}.chip-live{left:39%;top:48%}.chip-end{right:4%;top:28%}.trip-readout div{padding:13px 9px}.trip-readout strong{font-size:1rem}.trip-readout small{font-size:.55rem}.fleet-list article{grid-template-columns:40px 1fr}.fleet-list article>b{grid-column:2;text-align:left}.fleet-key{gap:13px}.trip-grid{gap:45px}.trip-facts span{display:block;min-width:0}.trip-sheet{padding:27px 24px}.trip-sheet-top span{font-size:1.6rem}.trip-sheet-bottom strong{font-size:1.55rem}.phone-stage{min-height:625px}.phone-shell{width:276px}.phone-screen{min-height:560px}.phone-steps li{grid-template-columns:76px 1fr;gap:14px}.install-note{grid-template-columns:1fr;padding:21px}.install-note .beacon-download{width:100%}.use-ledger{grid-template-columns:1fr}.use-ledger article{min-height:230px}.use-ledger h3{margin:42px 0 17px}.privacy-ledger div{grid-template-columns:1fr;gap:8px}.enquiry-grid .form-card,.pilot-note{padding:28px 22px}}
@media(prefers-reduced-motion:reduce){.trip-sheet{transform:none}}
