/* Hallmark · pre-emit critique: P5 H5 E5 S5 R4 V4
 * macrostructure: Map / Diagram · H9 hero knobs: network=4 signals, centre=business, panel=interactive
 * theme: custom · vibe: "Verified Atlantic" · paper: oklch(96% 0.014 85) · trust: oklch(76% 0.09 170)
 * display: Bricolage Grotesque · body: Newsreader · axes: dark / geometric-sans / warm
 * studied: yes · context: user-provided + shared-brand-reference · v0.8.0
 * contrast: pass (40–41) · nav: N6 · footer: Ft4 · slop: pass (42–49)
 * mobile: pass (34, 49–57) · honest: pass (46) · chrome: pass (47) · tokens: pass (48)
 */
:root{--paper:oklch(96% .014 85);--paper-deep:oklch(91% .025 82);--paper-cool:oklch(94% .026 170);--ink:oklch(25% .048 230);--night:oklch(21% .047 220);--night-raised:oklch(26% .043 218);--orange:oklch(68% .17 55);--orange-dark:oklch(47% .15 48);--teal:oklch(76% .09 170);--trust-deep:oklch(43% .085 175);--mist:oklch(80% .035 190);--rule-dark:oklch(38% .04 215);--rule-light:oklch(82% .025 90);--text-on-dark:oklch(95% .012 85);--muted-on-dark:oklch(78% .032 190);--focus:oklch(77% .17 70);--font-display:"Bricolage Grotesque",sans-serif;--font-text:"Newsreader",serif;--font-wordmark:var(--font-display);--font-arabic:"Noto Sans Arabic",sans-serif;--font-tifinagh:"Noto Sans Tifinagh","Segoe UI Historic",sans-serif;--ease-out:cubic-bezier(.16,1,.3,1);--dur-short:180ms;--dur-medium:420ms;--max:104rem;--gutter:clamp(1rem,3vw,3.5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-text);font-size:1rem;line-height:1.55;overflow-x:clip}img{display:block;max-width:100%}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.skip-link{position:fixed;left:1rem;top:1rem;z-index:30;transform:translateY(-160%);padding:.75rem 1rem;background:var(--paper);color:var(--ink);font-family:var(--font-display)}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.masthead{min-height:5.6rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding:0 var(--gutter);background:var(--night);color:var(--text-on-dark);border-bottom:1px solid var(--rule-dark)}.wordmark{justify-self:start;display:inline-flex;align-items:baseline;gap:.8rem;text-decoration:none;white-space:nowrap}.wordmark span,.colophon__brand span{font-family:var(--font-wordmark);font-size:.95rem;letter-spacing:.08em}.wordmark small{color:var(--orange);font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.14em}.masthead__nav{display:flex;gap:clamp(1rem,3vw,3rem);font-family:var(--font-display);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.masthead__nav a,.colophon nav a{text-decoration-thickness:1px;text-underline-offset:.35em}.masthead__cta{justify-self:end;min-height:2.8rem;display:inline-flex;align-items:center;gap:.65rem;padding:.2rem 0;font-family:var(--font-display);font-weight:800;text-decoration:none;border-bottom:2px solid var(--orange);white-space:nowrap}
.hero{min-height:calc(100svh - 5.6rem);padding:0 var(--gutter) 1.6rem;background:var(--night);color:var(--text-on-dark)}.hero__topline{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--rule-dark);font-family:var(--font-display);font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--muted-on-dark)}.hero__canvas{max-width:var(--max);min-height:clamp(39rem,72vh,52rem);margin:auto;position:relative;border-left:1px solid var(--rule-dark);border-right:1px solid var(--rule-dark);overflow:hidden;background-color:var(--night);background-image:linear-gradient(var(--rule-dark) 1px,transparent 1px),linear-gradient(90deg,var(--rule-dark) 1px,transparent 1px);background-size:5.25rem 5.25rem}.hero__copy{position:absolute;z-index:3;left:clamp(1rem,3vw,3.5rem);top:clamp(1.5rem,5vh,4rem);width:min(33rem,44%)}.hero h1{margin:0;max-width:8ch;font-family:var(--font-display);font-size:clamp(4rem,7vw,7rem);font-weight:800;font-variation-settings:"wdth" 82;line-height:.83;letter-spacing:-.065em}.hero h1 span{display:block;color:var(--orange);font-family:var(--font-text);font-weight:300;font-variation-settings:normal;letter-spacing:-.05em}.hero__copy>p{max-width:34ch;margin:1.7rem 0 0;color:var(--muted-on-dark);font-size:clamp(1.05rem,1.4vw,1.35rem);line-height:1.42}
.atlas{position:absolute;inset:0}.atlas__lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.atlas__lines path,.atlas__lines circle{fill:none;stroke:var(--rule-dark);stroke-width:1;vector-effect:non-scaling-stroke}.atlas__lines path{stroke-dasharray:8 10}.atlas__coordinates{position:absolute;left:50%;top:50%;width:38%;height:38%;transform:translate(-50%,-50%);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-size:.63rem;letter-spacing:.12em;color:var(--teal);pointer-events:none}.signal{position:absolute;z-index:4;width:clamp(6.3rem,8vw,8.5rem);aspect-ratio:1;border:1px solid var(--mist);border-radius:50%;background:var(--night);color:var(--text-on-dark);display:grid;place-content:center;gap:.18rem;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform 100ms var(--ease-out)}.signal span{font-family:var(--font-text);color:var(--teal);font-size:.8rem}.signal strong{font-family:var(--font-display);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.signal:hover,.signal:focus-visible,.signal.is-active{background:var(--orange);color:var(--night);border-color:var(--orange)}.signal.is-active span,.signal:hover span,.signal:focus-visible span{color:var(--night)}.signal:active{transform:scale(.98)}.signal--search{left:46%;top:10%}.signal--maps{right:7%;top:35%}.signal--reviews{left:43%;bottom:8%}.signal--ads{left:31%;top:48%}.atlas__hub{position:absolute;z-index:2;left:60%;top:49%;width:clamp(9rem,12vw,12.5rem);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:var(--text-on-dark);color:var(--night);display:grid;place-content:center;text-align:center;box-shadow:0 0 0 .7rem var(--night),0 0 0 calc(.7rem + 1px) var(--rule-dark)}.atlas__hub span{font-family:var(--font-text);font-size:1.1rem}.atlas__hub strong{font-family:var(--font-display);font-size:clamp(1.25rem,2vw,2rem);letter-spacing:-.04em}.atlas__hub small{margin-top:.5rem;color:var(--orange-dark);font-family:var(--font-display);font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.signal-panel{position:absolute;z-index:5;right:clamp(1rem,3vw,3rem);bottom:clamp(1rem,3vw,3rem);width:min(24rem,30%);min-height:17.5rem;padding:1.35rem;background:var(--night-raised);border-top:4px solid var(--orange)}.signal-panel__index{margin:0 0 1rem;color:var(--teal);font-family:var(--font-display);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.signal-panel h2{margin:0;font-family:var(--font-display);font-size:clamp(1.75rem,2.6vw,2.6rem);letter-spacing:-.04em;line-height:1}.signal-panel>p:not(.signal-panel__index){margin:.85rem 0;color:var(--muted-on-dark)}.signal-panel__price{display:flex;align-items:baseline;gap:.75rem;margin:1rem 0;font-variant-numeric:tabular-nums}.signal-panel__price strong{font-family:var(--font-display);font-size:2rem}.signal-panel__price span{font-family:var(--font-display);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--teal)}.signal-panel a{font-family:var(--font-display);font-weight:800;text-underline-offset:.35em}.hero__footer{max-width:var(--max);margin:auto;min-height:4.8rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;border-top:1px solid var(--rule-dark)}.hero__footer p{margin:0;color:var(--muted-on-dark);font-size:.9rem}.hero__phone{justify-self:end;font-family:var(--font-display);font-weight:800;text-underline-offset:.35em;white-space:nowrap}.action{min-height:3.1rem;display:inline-flex;align-items:center;justify-content:center;gap:1rem;width:fit-content;padding:0 1.15rem;font-family:var(--font-display);font-weight:800;text-decoration:none;white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform 100ms var(--ease-out)}.action:active{transform:translateY(1px)}.action--orange{background:var(--orange);color:var(--night)}.action--orange:hover{background:var(--text-on-dark)}
.service-ledger{padding:clamp(5rem,9vw,9rem) var(--gutter);background:var(--paper)}.ledger-intro,.ledger,.ledger-note{max-width:var(--max);margin-left:auto;margin-right:auto}.ledger-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(18rem,.6fr);align-items:end;gap:3rem;margin-bottom:clamp(3rem,6vw,6rem)}.ledger-intro h2,.field-note h2,.route__intro h2,.closing h2{margin:0;font-family:var(--font-display);font-size:clamp(3rem,5.8vw,6.5rem);font-weight:800;font-variation-settings:"wdth" 80;line-height:.88;letter-spacing:-.06em}.ledger-intro p{margin:0;max-width:31ch;font-size:1.2rem}.ledger{border-top:2px solid var(--ink)}.ledger-row{display:grid;grid-template-columns:4rem minmax(0,1.5fr) minmax(9rem,.55fr) 8rem;align-items:center;gap:clamp(1rem,2.5vw,2.5rem);min-height:9.2rem;border-bottom:1px solid var(--rule-light)}.ledger-row--accent{position:relative;background:var(--paper-deep)}.ledger-row--accent:before{content:"";position:absolute;left:0;top:0;bottom:0;width:.35rem;background:var(--orange)}.ledger-row__number{font-family:var(--font-text);font-size:1.15rem;color:var(--orange-dark);font-variant-numeric:tabular-nums}.ledger-row h3{margin:0 0 .35rem;font-family:var(--font-display);font-size:clamp(1.3rem,2vw,2rem);letter-spacing:-.035em}.ledger-row p{margin:0;max-width:50ch}.ledger-row__price{display:flex;flex-direction:column;font-variant-numeric:tabular-nums}.ledger-row__price strong{font-family:var(--font-display);font-size:clamp(2rem,3.4vw,3.5rem);line-height:1;letter-spacing:-.04em}.ledger-row__price span{margin-top:.35rem;font-family:var(--font-display);font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.ledger-row>a{justify-self:end;font-family:var(--font-display);font-weight:800;text-underline-offset:.35em;white-space:nowrap}.ledger-note{margin-top:1.25rem;font-size:.88rem}
.field-note{display:grid;grid-template-columns:1.25fr .75fr;min-height:48rem;background:var(--paper-cool)}.field-note__image{position:relative;min-width:0;margin:0;overflow:hidden}.field-note__image img{width:100%;height:100%;object-fit:cover}.field-note__image:after{content:"";position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(to bottom,transparent,var(--night));opacity:.75}.field-note__image figcaption{position:absolute;z-index:2;left:var(--gutter);bottom:2rem;color:var(--text-on-dark);font-family:var(--font-display);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.field-note__body{padding:clamp(3rem,7vw,8rem) var(--gutter);align-self:center}.field-note__edition{margin:0 0 3rem;font-family:var(--font-wordmark);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--orange-dark)}.field-note__lede{max-width:35ch;margin:2rem 0 3rem;font-size:clamp(1.15rem,1.5vw,1.45rem)}.method-list{margin:0;border-top:1px solid var(--ink)}.method-list div{display:grid;grid-template-columns:.8fr 1.2fr;gap:1.25rem;padding:1.1rem 0;border-bottom:1px solid var(--rule-light)}.method-list dt{font-family:var(--font-display);font-weight:800}.method-list dd{margin:0}
.route{padding:clamp(5rem,9vw,9rem) var(--gutter);background:var(--night);color:var(--text-on-dark)}.route__intro,.route__track{max-width:var(--max);margin-left:auto;margin-right:auto}.route__intro{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:5rem}.route__intro p{margin:0;color:var(--muted-on-dark);font-size:1.2rem}.route__track{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin-top:0;margin-bottom:0;padding:0;border-top:1px solid var(--rule-dark)}.route__track li{position:relative;min-height:18rem;padding:2rem clamp(1.25rem,3vw,3rem) 2rem 0;border-right:1px solid var(--rule-dark)}.route__track li:not(:first-child){padding-left:clamp(1.25rem,3vw,3rem)}.route__track li:last-child{border-right:0}.route__track li:before{content:"";position:absolute;top:-.38rem;left:0;width:.7rem;height:.7rem;border-radius:50%;background:var(--orange)}.route__track li:not(:first-child):before{left:clamp(1.25rem,3vw,3rem)}.route__track span{font-family:var(--font-text);color:var(--orange);font-size:1.25rem}.route__track h3{margin:4.5rem 0 .75rem;font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,2.5rem);line-height:1;letter-spacing:-.04em}.route__track p{max-width:26ch;margin:0;color:var(--muted-on-dark)}
.closing{min-height:34rem;display:grid;grid-template-columns:.35fr 1.2fr .55fr;align-items:center;gap:clamp(2rem,5vw,6rem);padding:clamp(4rem,8vw,8rem) var(--gutter);background:var(--orange);color:var(--night)}.closing__mark{font-family:var(--font-text);font-size:clamp(9rem,18vw,19rem);line-height:.6;opacity:.18}.closing h2{max-width:10ch}.closing p{max-width:37ch;font-size:1.2rem}.closing__actions{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem}.action--ink{background:var(--night);color:var(--text-on-dark)}.action--ink:hover{background:var(--paper);color:var(--ink)}.closing__actions>a:last-child{font-family:var(--font-display);font-weight:800;text-underline-offset:.35em;white-space:nowrap}.colophon{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3rem;padding:4rem var(--gutter);background:var(--paper);border-top:1px solid var(--rule-light)}.colophon__brand{display:flex;flex-direction:column;gap:.5rem}.colophon__brand small{color:var(--orange-dark);font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.colophon p{margin:0}.colophon nav{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:.65rem;font-family:var(--font-display);font-weight:700}.mobile-contact{display:none}
.atlas__coordinates{left:60%;width:28%}.wordmark{min-height:2.75rem;align-items:center}.masthead__nav a{min-width:2.75rem;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.hero h1{min-width:0;overflow-wrap:anywhere;font-variation-settings:"wdth" 88;line-height:.86;letter-spacing:-.06em}.ledger-intro h2,.field-note h2,.route__intro h2,.closing h2{min-width:0;overflow-wrap:anywhere;font-size:clamp(3rem,5vw,5.5rem);font-variation-settings:"wdth" 94;line-height:.92;letter-spacing:-.052em}.signal-panel a,.hero__phone,.ledger-row>a,.closing__actions>a:last-child,.colophon nav a{min-height:2.75rem;display:inline-flex;align-items:center}.colophon nav{gap:.1rem}
.hero__copy,.atlas__hub,.signal,.signal-panel{animation:hero-in var(--dur-medium) var(--ease-out) both}.atlas__hub{animation-delay:80ms}.signal{animation-delay:140ms}.signal-panel{animation-delay:220ms}@keyframes hero-in{from{opacity:0;transform:translateY(10px)}}.atlas__hub{animation-name:hub-in}@keyframes hub-in{from{opacity:0;transform:translate(-50%,-46%)}}
@media(max-width:78rem){.masthead{grid-template-columns:1fr auto}.masthead__nav{display:none}.hero__canvas{min-height:46rem}.hero__copy{width:40%}.signal-panel{width:34%}.signal--search{left:43%}.signal--reviews{left:39%}.signal--ads{left:25%}.ledger-row{grid-template-columns:3rem minmax(0,1.35fr) minmax(8rem,.55fr) 6.5rem}.field-note{grid-template-columns:1fr 1fr}}
@media(max-width:56rem){body{padding-bottom:4rem}.masthead{min-height:4.6rem;gap:1rem}.wordmark span{font-size:.78rem}.wordmark small{font-size:.62rem}.masthead__cta{font-size:.78rem}.hero{padding-bottom:0}.hero__canvas{display:grid;grid-template-rows:auto 31rem auto;min-height:0;border-right:0;border-left:0;overflow:visible;background-size:4rem 4rem}.hero__copy{position:relative;left:auto;top:auto;width:auto;padding:2.5rem 0 1.5rem}.hero h1{font-size:clamp(3.8rem,18vw,6rem)}.hero__copy>p{max-width:31ch}.atlas{position:relative;grid-row:2}.atlas__coordinates{width:70%}.signal{width:5.7rem}.signal--search{left:4%;top:6%}.signal--maps{right:3%;top:7%}.signal--reviews{left:6%;bottom:5%}.signal--ads{left:auto;right:3%;top:auto;bottom:4%}.atlas__hub{left:50%;top:50%;width:9.5rem}.signal-panel{position:relative;right:auto;bottom:auto;grid-row:3;width:auto;min-height:16rem}.hero__footer{grid-template-columns:1fr auto;min-height:5.5rem}.hero__footer p{display:none}.ledger-intro{grid-template-columns:1fr;gap:1.5rem}.ledger-row{grid-template-columns:2.5rem minmax(0,1fr) auto;gap:1rem;padding:1.5rem 0}.ledger-row>div{grid-column:2/-1}.ledger-row__price{grid-column:2}.ledger-row>a{grid-column:3}.field-note{grid-template-columns:1fr}.field-note__image{min-height:32rem}.route__intro{display:block}.route__intro p{margin-top:1.2rem}.route__track{grid-template-columns:1fr}.route__track li,.route__track li:not(:first-child){min-height:0;padding:2rem 0 2.5rem 2.5rem;border-right:0;border-bottom:1px solid var(--rule-dark)}.route__track li:before,.route__track li:not(:first-child):before{left:-.38rem;top:2.5rem}.route__track h3{margin:1.2rem 0 .6rem}.closing{grid-template-columns:1fr;min-height:0}.closing__mark{display:none}.colophon{grid-template-columns:1fr}.colophon nav{justify-self:start;align-items:flex-start}.mobile-contact{position:fixed;z-index:20;inset:auto 0 0;display:grid;grid-template-columns:1fr 1fr;min-height:4rem;background:var(--night);color:var(--text-on-dark);border-top:1px solid var(--rule-dark);font-family:var(--font-display);font-weight:800}.mobile-contact a{display:grid;place-items:center;text-decoration:none;white-space:nowrap}.mobile-contact a+a{background:var(--orange);color:var(--night)}}
@media(max-width:28rem){.masthead__cta span{display:none}.hero__topline span:last-child{display:none}.hero__footer{grid-template-columns:1fr;padding:1rem 0}.hero__phone{justify-self:start}.ledger-row{grid-template-columns:2rem minmax(0,1fr)}.ledger-row>div,.ledger-row__price,.ledger-row>a{grid-column:2;justify-self:start}.field-note__image{min-height:24rem}.method-list div{grid-template-columns:1fr;gap:.35rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:56rem){.atlas__coordinates{left:50%}}

/* Trust and ambient-light refinement: contextual signal light, never behind reading text. */
.hero__canvas:before{content:"";position:absolute;z-index:0;left:48%;top:30%;width:24rem;height:24rem;border-radius:50%;background:color-mix(in oklch,var(--teal) 18%,transparent);filter:blur(5rem);opacity:.34;pointer-events:none}.signal.is-active{box-shadow:0 0 3.5rem color-mix(in oklch,var(--orange) 34%,transparent)}.signal-panel{--panel-light:var(--orange);min-height:19.2rem;box-shadow:0 1.8rem 5rem -2.8rem color-mix(in oklch,var(--panel-light) 58%,transparent)}.signal-panel[data-signal="search"],.signal-panel[data-signal="reviews"]{--panel-light:var(--teal)}.signal-panel .signal-panel__assurance{margin:1rem 0 0;padding-top:.8rem;border-top:1px solid var(--rule-dark);font-family:var(--font-display);font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--teal)}
.trust-rail{position:relative;max-width:var(--max);display:grid;grid-template-columns:repeat(3,1fr);margin:0 auto clamp(3rem,5vw,5rem);padding:0;list-style:none;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule-light);overflow:hidden}.trust-rail:before{content:"";position:absolute;left:36%;top:-4rem;width:28%;height:5rem;background:color-mix(in oklch,var(--orange) 16%,transparent);filter:blur(2.6rem);pointer-events:none}.trust-rail li{position:relative;display:grid;grid-template-columns:2rem 1fr;gap:1rem;padding:1.25rem clamp(1rem,2vw,2rem)}.trust-rail li+li{border-left:1px solid var(--rule-light)}.trust-rail li>span{font-family:var(--font-text);color:var(--orange-dark);font-variant-numeric:tabular-nums}.trust-rail strong,.trust-rail small{display:block}.trust-rail strong{font-family:var(--font-display);font-size:.93rem}.trust-rail small{max-width:28ch;margin-top:.25rem;font-family:var(--font-text);font-size:.87rem;line-height:1.35}
.working-note{position:relative;margin-top:2.2rem;padding:1.4rem 1.5rem 1.5rem;background:var(--night);color:var(--text-on-dark);box-shadow:0 1.5rem 4rem -2.2rem color-mix(in oklch,var(--orange) 55%,transparent);overflow:hidden}.working-note:before{content:"";position:absolute;inset:0 auto 0 0;width:.3rem;background:var(--orange);box-shadow:0 0 2.5rem 1rem color-mix(in oklch,var(--orange) 38%,transparent)}.working-note span{display:block;margin-bottom:.65rem;color:var(--teal);font-family:var(--font-display);font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.working-note strong{display:block;max-width:25ch;font-family:var(--font-display);font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:1.2}.working-note p{max-width:34ch;margin:.7rem 0 0;color:var(--muted-on-dark)}
@media(max-width:56rem){.hero__canvas:before{left:18%;top:27%;width:13.5rem;height:13.5rem;filter:blur(4rem)}.signal-panel{min-height:18.2rem}.trust-rail{grid-template-columns:1fr}.trust-rail li+li{border-left:0;border-top:1px solid var(--rule-light)}}
html{overflow-x:clip}
@media(min-width:56.01rem) and (max-height:52rem){.hero__canvas{min-height:34rem}.hero__copy{top:1.5rem}.signal-panel{bottom:1rem}}

/* Geographic coverage atlas: real Morocco outline with an expanded Atlantic corridor. */
.coverage-atlas{position:absolute;z-index:1;inset:0;pointer-events:none}.coverage-map{position:absolute;left:20%;top:0;width:62%;height:100%;overflow:visible;pointer-events:none;animation:map-in var(--dur-medium) var(--ease-out) both}.coverage-map__land{fill:color-mix(in oklch,var(--night-raised) 78%,var(--teal));fill-opacity:.54;stroke:var(--mist);stroke-width:1.35;vector-effect:non-scaling-stroke}.coverage-map__route,.coverage-map__leader{fill:none;vector-effect:non-scaling-stroke}.coverage-map__route{stroke:var(--orange);stroke-width:2.3;stroke-dasharray:720;stroke-dashoffset:720;opacity:.34;animation:route-draw 900ms var(--ease-out) 220ms forwards;transition:opacity var(--dur-short) var(--ease-out),stroke var(--dur-short) var(--ease-out)}.coverage-map__route--jadida{stroke:var(--teal)}.coverage-map__leader{stroke:var(--mist);stroke-width:1;stroke-dasharray:3 6;opacity:.42}.coverage-map__anchor{fill:var(--paper);stroke:var(--night);stroke-width:1;vector-effect:non-scaling-stroke}.coverage-atlas[data-city="casablanca"] .coverage-map__route{opacity:.92}.coverage-atlas[data-city="bouskoura"] .coverage-map__route--bouskoura,.coverage-atlas[data-city="eljadida"] .coverage-map__route--jadida{opacity:1}.coverage-atlas[data-city="bouskoura"] .coverage-map__route--jadida,.coverage-atlas[data-city="eljadida"] .coverage-map__route--bouskoura{opacity:.2}
.city-node{cursor:pointer;pointer-events:all}.city-node__hit{fill:transparent}.city-node__marker{fill:var(--night);stroke:var(--teal);stroke-width:2;vector-effect:non-scaling-stroke;transition:fill var(--dur-short) var(--ease-out),stroke var(--dur-short) var(--ease-out)}.city-node__pulse{fill:color-mix(in oklch,var(--teal) 18%,transparent);opacity:.52;transition:fill var(--dur-short) var(--ease-out),opacity var(--dur-short) var(--ease-out)}.city-node__centre{fill:var(--paper)}.city-node__hub-mark{fill:none;stroke:var(--night);stroke-width:2;vector-effect:non-scaling-stroke}.city-node__name{fill:var(--text-on-dark);font-family:var(--font-display);font-size:12px;font-weight:800;letter-spacing:.08em;pointer-events:none}.city-node__status{opacity:0;transition:opacity var(--dur-short) var(--ease-out);pointer-events:none}.city-node__status rect{fill:var(--paper)}.city-node__status circle{fill:var(--orange)}.city-node__status text{fill:var(--night);font-family:var(--font-display);font-size:8px;font-weight:800;letter-spacing:.04em}.city-node:hover .city-node__marker,.city-node:focus-visible .city-node__marker,.city-node.is-active .city-node__marker{fill:var(--orange);stroke:var(--orange)}.city-node:hover .city-node__pulse,.city-node:focus-visible .city-node__pulse,.city-node.is-active .city-node__pulse{fill:color-mix(in oklch,var(--orange) 30%,transparent);opacity:1}.city-node:hover .city-node__status,.city-node:focus-visible .city-node__status,.city-node.is-active .city-node__status{opacity:1}.city-node:focus-visible{outline:none}.city-node:focus-visible .city-node__marker{stroke:var(--focus);stroke-width:5}.coverage-atlas__caption{position:absolute;left:37%;bottom:1rem;margin:0;color:var(--muted-on-dark);font-family:var(--font-display);font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.city-panel{--panel-light:var(--orange);position:absolute;z-index:5;right:clamp(1rem,3vw,3rem);bottom:clamp(1rem,3vw,3rem);width:min(23rem,28%);min-height:20rem;padding:1.35rem;background:var(--night-raised);color:var(--text-on-dark);border-top:4px solid var(--orange);box-shadow:0 1.8rem 5rem -2.8rem color-mix(in oklch,var(--panel-light) 58%,transparent);animation:hero-in var(--dur-medium) var(--ease-out) 220ms both}.city-panel[data-city="bouskoura"],.city-panel[data-city="eljadida"]{--panel-light:var(--teal)}.city-panel__index{margin:0 0 .55rem;color:var(--teal);font-family:var(--font-display);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.city-panel .city-panel__status{display:flex;align-items:center;gap:.45rem;margin:0 0 1rem;color:var(--text-on-dark);font-family:var(--font-display);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.city-panel__status span{width:.48rem;height:.48rem;border-radius:50%;background:var(--orange);box-shadow:0 0 1.2rem color-mix(in oklch,var(--orange) 55%,transparent)}.city-panel h2{min-width:0;margin:0;font-family:var(--font-display);font-size:clamp(1.75rem,2.6vw,2.6rem);font-variation-settings:"wdth" 94;letter-spacing:-.04em;line-height:1;overflow-wrap:anywhere}.city-panel__copy{margin:.85rem 0;color:var(--muted-on-dark)}.city-panel__connections{display:grid;gap:.1rem;margin:1rem 0}.city-panel__connections span{color:var(--teal);font-family:var(--font-display);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.city-panel__connections strong{font-family:var(--font-display);font-size:.88rem}.city-panel__partners{margin:.85rem 0 0;padding:.7rem;border:1px solid var(--rule-dark);background:color-mix(in oklch,var(--night) 58%,transparent)}.city-panel__partners-label{margin:0 0 .45rem;color:var(--teal);font-family:var(--font-display);font-size:.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.city-panel__partner-list{display:grid;gap:.35rem}.city-panel__partner-link{min-height:2.75rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.48rem .55rem;border:1px solid color-mix(in oklch,var(--teal) 55%,var(--rule-dark));color:var(--text-on-dark);font-family:var(--font-display);text-decoration:none}.city-panel__partner-link strong{min-width:0;font-size:.74rem;line-height:1.15;overflow-wrap:anywhere}.city-panel__partner-link span{color:var(--orange);font-size:.58rem;font-weight:800;white-space:nowrap}.city-panel__partner-link:hover{border-color:var(--orange);background:color-mix(in oklch,var(--orange) 8%,var(--night-raised))}.city-panel__partner-link:active{transform:translateY(1px)}.city-panel__partners-empty{margin:0;color:var(--muted-on-dark);font-size:.8rem;line-height:1.35}.city-panel__assurance{margin:.75rem 0 0;padding-top:.65rem;border-top:1px solid var(--rule-dark);color:var(--teal);font-family:var(--font-display);font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
@keyframes map-in{from{opacity:0}}@keyframes route-draw{to{stroke-dashoffset:0}}
@media(max-width:78rem){.coverage-map{left:18%;width:66%}.city-panel{width:31%}.coverage-atlas__caption{left:34%}}
@media(max-width:56rem){.hero__canvas{grid-template-rows:auto 22rem auto}.coverage-atlas{position:relative;grid-row:2}.coverage-map{position:absolute;left:0;width:100%;height:100%}.coverage-atlas__caption{left:0;right:0;bottom:.35rem;text-align:center;font-size:.52rem}.city-panel{position:relative;right:auto;bottom:auto;grid-row:3;width:auto;min-height:19rem}.city-node__name{font-size:13px}.city-node__status text{font-size:8.5px}}
@media(max-width:28rem){.coverage-atlas__caption{font-size:.47rem;letter-spacing:.05em}.city-panel{min-width:0;padding:1.2rem}}
@media(min-width:56.01rem) and (max-height:52rem){.city-panel{bottom:1rem;min-height:18.5rem}.coverage-atlas__caption{bottom:.5rem}}
@media(prefers-reduced-motion:reduce){.coverage-map__route{stroke-dashoffset:0;animation:none}.coverage-map,.city-panel{animation:none}}

/* Osprey master-brand lockup and true-position geographic zoom. */
.wordmark{min-width:0;display:flex;align-items:center;gap:.65rem;text-decoration:none}.wordmark img{display:block;width:clamp(7rem,12vw,11.5rem);height:auto;max-height:3.25rem;object-fit:contain}.wordmark .wordmark__amazigh{color:var(--teal);direction:ltr;font-family:var(--font-tifinagh);font-size:.72rem;font-weight:600;letter-spacing:.025em;line-height:1;white-space:nowrap}.wordmark .wordmark__market{padding-left:.65rem;border-left:1px solid var(--rule-dark);color:var(--orange);font-family:var(--font-display);font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.coverage-cluster{cursor:zoom-in;pointer-events:all;transition:opacity var(--dur-short) var(--ease-out)}.coverage-cluster__hit{fill:transparent}.coverage-cluster__pulse{fill:color-mix(in oklch,var(--orange) 22%,transparent);stroke:var(--orange);stroke-width:1;vector-effect:non-scaling-stroke}.coverage-cluster__marker{fill:var(--orange)}.coverage-cluster__name,.coverage-cluster__status{fill:var(--text-on-dark);font-family:var(--font-display);font-weight:800;letter-spacing:.08em;pointer-events:none}.coverage-cluster__name{font-size:8px}.coverage-cluster__status{fill:var(--teal);font-size:5px}.coverage-cluster:focus-visible{outline:none}.coverage-cluster:focus-visible .coverage-cluster__pulse{stroke:var(--focus);stroke-width:3}
.geo-node{cursor:pointer;pointer-events:none}.geo-node__hit{fill:transparent}.geo-node__pulse{fill:color-mix(in oklch,var(--teal) 24%,transparent);stroke:var(--teal);stroke-width:1;vector-effect:non-scaling-stroke}.geo-node__marker{fill:var(--paper);stroke:var(--night);stroke-width:1;vector-effect:non-scaling-stroke}.geo-node__label{opacity:0;transition:opacity var(--dur-short) var(--ease-out)}.geo-node__name,.geo-node__status{fill:var(--text-on-dark);font-family:var(--font-display);font-weight:800;letter-spacing:.06em;pointer-events:none}.geo-node__name{font-size:1.65px}.geo-node__status{fill:var(--teal);font-size:1.05px}.coverage-atlas:not(.is-zoomed) .geo-node__marker{r:3px}.coverage-atlas:not(.is-zoomed) .geo-node__pulse{r:5px}.coverage-atlas.is-zoomed .coverage-cluster{opacity:0;pointer-events:none}.coverage-atlas.is-zoomed .geo-node{pointer-events:all}.coverage-atlas.is-zoomed .geo-node__label{opacity:1}.geo-node:hover .geo-node__marker,.geo-node:focus-visible .geo-node__marker,.geo-node.is-active .geo-node__marker{fill:var(--orange);stroke:var(--orange)}.geo-node:hover .geo-node__pulse,.geo-node:focus-visible .geo-node__pulse,.geo-node.is-active .geo-node__pulse{fill:color-mix(in oklch,var(--orange) 34%,transparent);stroke:var(--orange)}.geo-node:focus-visible{outline:none}.geo-node:focus-visible .geo-node__pulse{stroke:var(--focus);stroke-width:3}.coverage-atlas__reset{position:absolute;z-index:7;top:1rem;right:32%;min-height:2.75rem;padding:0 .9rem;border:1px solid var(--mist);background:var(--night-raised);color:var(--text-on-dark);font-family:var(--font-display);font-size:.68rem;font-weight:800;letter-spacing:.04em;cursor:pointer;pointer-events:all;white-space:nowrap}.coverage-atlas__reset:hover{border-color:var(--orange);color:var(--orange)}.coverage-atlas__reset:active{transform:translateY(1px)}.coverage-atlas.is-zoomed .coverage-map__land{fill-opacity:.68}.coverage-atlas.is-zoomed .coverage-map__route{opacity:.85}.coverage-atlas.is-zoomed .coverage-atlas__caption{color:var(--teal)}
@media(max-width:78rem){.wordmark img{width:clamp(7rem,15vw,10rem)}.coverage-atlas__reset{right:34%}}
@media(max-width:56rem){.wordmark{gap:.4rem}.wordmark img{width:clamp(6.8rem,31vw,8.5rem);max-height:2.7rem}.wordmark .wordmark__market{padding-left:.4rem;font-size:.5rem}.coverage-atlas__reset{top:.5rem;right:.5rem}.coverage-cluster__name{font-size:13px}.coverage-cluster__status{font-size:7.5px}.geo-node__name{font-size:2.1px}.geo-node__status{font-size:1.3px}}
@media(max-width:22rem){.wordmark img{width:6.5rem}.wordmark .wordmark__market{font-size:.46rem;letter-spacing:.1em}.masthead__cta{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.coverage-cluster,.geo-node__label{transition:none}}

/* Mobile-first interaction refinement and restrained scroll choreography. */
.coverage-atlas__cities{display:none}
.city-panel__close{display:none}
.scroll-reveal{transition:opacity 620ms var(--ease-out) var(--reveal-delay,0ms),transform 620ms var(--ease-out) var(--reveal-delay,0ms)}
.scroll-motion .scroll-reveal:not(.is-visible){opacity:0;transform:translateY(1.15rem)}
.scroll-motion .scroll-reveal[data-reveal-kind="image"]:not(.is-visible){transform:scale(1.025)}
.scroll-reveal.is-visible{opacity:1;transform:none}

@media(max-width:42rem){
  body{font-size:1.02rem;line-height:1.5}
  .masthead{min-height:4.4rem;padding-left:1rem;padding-right:1rem}
  .masthead__cta{min-height:2.75rem;font-size:.8rem}
  .hero{padding-left:1rem;padding-right:1rem}
  .hero__topline{padding:.85rem 0;font-size:.61rem;letter-spacing:.13em}
  .hero__canvas{grid-template-rows:auto 21.5rem auto;background-size:4rem 4rem}
  .hero__copy{padding:1.65rem 0 1rem}
  .hero h1{max-width:7ch;font-size:clamp(3.35rem,15.5vw,4.3rem);line-height:.84}
  .hero__copy>p{max-width:32ch;margin-top:1.1rem;font-size:1rem;line-height:1.42}
  .coverage-atlas{grid-column:1;min-width:0;width:100%;min-height:21.5rem}
  .coverage-map{top:0;height:calc(100% - 3.35rem)}
  .coverage-atlas__caption{display:none}
  .coverage-atlas__cities{position:absolute;z-index:7;left:0;right:0;bottom:.25rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;pointer-events:all}
  .coverage-atlas__cities button{min-width:0;min-height:2.85rem;padding:.35rem .25rem;border:1px solid var(--rule-dark);background:var(--night-raised);color:var(--muted-on-dark);font-family:var(--font-display);font-size:.67rem;font-weight:800;letter-spacing:.015em;cursor:pointer}
  .coverage-atlas__cities button:hover,.coverage-atlas__cities button:focus-visible,.coverage-atlas__cities button.is-active,.coverage-atlas__cities button[aria-pressed="true"]{border-color:var(--orange);background:var(--orange);color:var(--night)}
  .coverage-atlas__cities button:active{transform:translateY(1px)}
  .coverage-atlas__cities button:disabled{opacity:.55;cursor:not-allowed}
  .coverage-atlas__reset{top:.35rem;right:.35rem;min-height:2.75rem;background:color-mix(in oklch,var(--night-raised) 92%,transparent)}
  .coverage-cluster__name{font-size:15px}
  .coverage-cluster__status{font-size:8.5px}
  .city-panel{min-height:0;padding:1.15rem 1rem 1.05rem}
  .city-panel__index{margin-bottom:.35rem;font-size:.62rem}
  .city-panel .city-panel__status{margin-bottom:.7rem}
  .city-panel h2{font-size:2rem}
  .city-panel__copy{margin:.65rem 0;line-height:1.4}
  .city-panel__connections{margin:.7rem 0}
  .city-panel__assurance{margin-top:.65rem;padding-top:.6rem}
  .hero__footer{display:none}
  .service-ledger{padding:4rem 1rem}
  .ledger-intro{gap:1rem;margin-bottom:2.25rem}
  .ledger-intro h2,.field-note h2,.route__intro h2,.closing h2{font-size:clamp(2.7rem,12vw,3.3rem);line-height:.9}
  .ledger-intro p{font-size:1.05rem;line-height:1.45}
  .trust-rail{margin-bottom:2.5rem}
  .trust-rail li{grid-template-columns:1.7rem 1fr;padding:1.1rem .5rem}
  .trust-rail small{font-size:.92rem}
  .ledger-row{grid-template-columns:1.75rem minmax(0,1fr);gap:.35rem 1rem;padding:1.35rem 0}
  .ledger-row>div,.ledger-row__price,.ledger-row>a{grid-column:2;justify-self:start}
  .ledger-row h3{font-size:1.3rem}
  .ledger-row p{font-size:.98rem;line-height:1.43}
  .ledger-row__price{margin-top:.4rem}
  .ledger-row__price strong{font-size:2.15rem}
  .ledger-row>a{margin-top:.25rem}
  .field-note__image{min-height:22rem}
  .field-note__body{padding:3.75rem 1rem}
  .field-note__edition{margin-bottom:1.65rem}
  .field-note__lede{margin:1.4rem 0 2rem;font-size:1.08rem}
  .method-list div{padding:1rem 0}
  .working-note{margin-top:1.75rem;padding:1.25rem 1.2rem 1.3rem}
  .route{padding:4rem 1rem}
  .route__intro{margin-bottom:2.75rem}
  .route__intro p{font-size:1.05rem}
  .route__track li,.route__track li:not(:first-child){padding:1.7rem 0 2rem 2rem}
  .route__track li:before,.route__track li:not(:first-child):before{top:2.1rem}
  .route__track h3{font-size:1.45rem}
  .closing{padding:3.75rem 1rem 4.25rem;gap:1.75rem}
  .closing p{font-size:1.05rem}
  .colophon{gap:1.5rem;padding:3rem 1rem 5.5rem}
  .mobile-contact{min-height:calc(3.85rem + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}
}

@media(max-width:22rem){
  .masthead{gap:.55rem}
  .wordmark{gap:.3rem}
  .wordmark img{width:6rem}
  .wordmark .wordmark__market{padding-left:.3rem;font-size:.43rem}
  .masthead__cta{font-size:.7rem}
  .hero h1{font-size:3.2rem}
  .coverage-atlas__cities button{font-size:.61rem}
}

@media(prefers-reduced-motion:reduce){
  .scroll-reveal,.scroll-motion .scroll-reveal:not(.is-visible),.scroll-motion .scroll-reveal[data-reveal-kind="image"]:not(.is-visible){opacity:1;transform:none;transition:none}
}

/* Trust Infrastructure retheme: GBP accuracy → local relevance → customer confidence. */
.hero h1 span{color:var(--teal)}
.hero__copy>p{max-width:36ch;margin-top:1.45rem}
.trust-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;max-width:32rem;margin:1.35rem 0 0;padding:1rem 0 0;list-style:none;border-top:1px solid var(--rule-dark)}
.trust-path li{min-width:0;display:grid;gap:.12rem}
.trust-path span{color:var(--teal);font-family:var(--font-display);font-size:.58rem;font-weight:800;letter-spacing:.1em}
.trust-path strong{color:var(--text-on-dark);font-family:var(--font-display);font-size:.68rem;line-height:1.15;letter-spacing:.015em}
.hero__canvas:before{left:46%;top:27%;width:27rem;height:27rem;background:color-mix(in oklch,var(--teal) 22%,transparent);filter:blur(5.5rem);opacity:.42}
.ledger-row--trust{position:relative;background:linear-gradient(90deg,color-mix(in oklch,var(--teal) 16%,var(--paper)) 0%,var(--paper-deep) 60%)}
.ledger-row--trust:before{content:"";position:absolute;left:0;top:0;bottom:0;width:.35rem;background:var(--trust-deep)}
.working-note{border-color:var(--trust-deep);background:linear-gradient(135deg,color-mix(in oklch,var(--teal) 15%,var(--paper)) 0%,var(--paper-deep) 72%);color:var(--ink)}
.working-note>span,.field-note__edition{color:var(--trust-deep)}
.working-note p{color:var(--ink)}
.route__track li:before{background:var(--teal);box-shadow:0 0 1.2rem color-mix(in oklch,var(--teal) 30%,transparent)}
.route__track span{color:var(--teal)}
.closing{background:var(--paper-deep);color:var(--ink);border-top:.35rem solid var(--trust-deep)}
.closing__mark{color:var(--trust-deep);opacity:.2}

@media(max-width:42rem){
  .hero h1{max-width:10ch;font-size:clamp(3.15rem,14vw,4rem)}
  .hero__copy>p{max-width:34ch;margin-top:1.1rem}
  .trust-path{gap:.25rem;margin-top:1rem;padding-top:.8rem}
  .trust-path strong{font-size:.62rem}
  .coverage-atlas__cities button{min-width:0;min-height:2.85rem;padding:.35rem .15rem;border:0;background:transparent;color:var(--muted-on-dark)}
  .coverage-atlas__cities button span{position:relative;z-index:0;display:inline-block;padding:.15rem .08rem;white-space:nowrap}
  .coverage-atlas__cities button span:after{content:"";position:absolute;z-index:-1;left:-.14rem;right:-.14rem;bottom:.1rem;height:.48rem;background:color-mix(in oklch,var(--teal) 42%,transparent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-short) var(--ease-out)}
  .coverage-atlas__cities button:hover,.coverage-atlas__cities button:focus-visible,.coverage-atlas__cities button.is-active,.coverage-atlas__cities button[aria-pressed="true"]{border-color:transparent;background:transparent;color:var(--text-on-dark)}
  .coverage-atlas__cities button:hover span:after,.coverage-atlas__cities button:focus-visible span:after,.coverage-atlas__cities button.is-active span:after,.coverage-atlas__cities button[aria-pressed="true"] span:after{transform:scaleX(1)}
  .coverage-cluster__pulse,.geo-node__pulse{display:none}
  .coverage-atlas.is-zoomed .geo-node__label{opacity:0}
  .coverage-cluster__marker{r:5.5px;stroke:var(--paper);stroke-width:1.5;vector-effect:non-scaling-stroke}
  .geo-node__marker{r:1.65px;stroke:var(--paper);stroke-width:1.25}
  .geo-node:hover .geo-node__marker,.geo-node:focus-visible .geo-node__marker,.geo-node.is-active .geo-node__marker{fill:var(--orange);stroke:var(--paper)}
  .geo-node:focus-visible .geo-node__marker{stroke:var(--focus);stroke-width:2.5}
  .city-panel{grid-row:2;grid-column:1;align-self:start;justify-self:stretch;position:relative;z-index:8;right:auto;bottom:auto;width:auto;min-height:0;margin:.55rem;padding:.85rem .9rem .8rem;border-top-width:3px;box-shadow:0 1.5rem 3rem -1.1rem color-mix(in oklch,var(--night) 92%,transparent),0 .7rem 2.25rem -1.4rem color-mix(in oklch,var(--panel-light) 75%,transparent);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(.65rem)}
  .city-panel.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .city-panel.is-refreshing{animation:city-panel-pop 260ms var(--ease-out) both}
  .city-panel__close{position:absolute;top:.72rem;right:.72rem;display:inline-grid;place-items:center;min-width:3.5rem;min-height:2.75rem;padding:0 .65rem;border:1px solid var(--teal);background:var(--night);color:var(--text-on-dark);font-family:var(--font-display);font-size:.58rem;font-weight:800;letter-spacing:.04em;cursor:pointer;white-space:nowrap}
  .city-panel__close:hover{border-color:var(--orange);color:var(--orange)}
  .city-panel__close:active{transform:translateY(1px)}
  .city-panel__close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
  .city-panel__close:disabled{opacity:.55;cursor:not-allowed}
  .city-panel__index{max-width:calc(100% - 4.25rem);margin:0 0 .22rem;font-size:.54rem;letter-spacing:.1em}
  .city-panel .city-panel__status{max-width:calc(100% - 4.25rem);margin:0 0 .38rem;font-size:.56rem;letter-spacing:.065em}
  .city-panel h2{padding-top:.15rem;font-size:1.55rem;line-height:.95}
  .city-panel__copy{margin:.42rem 0;font-size:.82rem;line-height:1.32}
  .city-panel__connections{margin:.45rem 0 .35rem;gap:.02rem}
  .city-panel__connections span{font-size:.52rem}
  .city-panel__connections strong{font-size:.75rem;line-height:1.2}
  .city-panel__partners{margin-top:.45rem;padding:.5rem}
  .city-panel__partners-label{margin-bottom:.3rem;font-size:.52rem}
  .city-panel__partner-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem}
  .city-panel__partner-link{min-height:2.75rem;grid-template-columns:1fr;gap:.16rem;padding:.38rem .45rem}
  .city-panel__partner-link strong{font-size:.68rem}
  .city-panel__partner-link span{font-size:.52rem;white-space:normal}
  .city-panel__partners-empty{font-size:.72rem}
  .city-panel__assurance{margin:.45rem 0 0;padding-top:.42rem;font-size:.5rem;line-height:1.2}
  .coverage-atlas__reset{display:none}

  .hero.is-map-focused .hero__canvas{
    position:fixed;
    z-index:30;
    inset:0;
    display:grid;
    grid-template-rows:minmax(100dvh,1fr);
    min-height:100dvh;
    width:100%;
    padding:0;
    border:0;
    background-color:var(--night);
    overflow:hidden;
  }
  .hero.is-map-focused .hero__copy{display:none}
  .hero.is-map-focused .coverage-atlas,
  .hero.is-map-focused .city-panel{grid-row:1;grid-column:1}
  .hero.is-map-focused .coverage-atlas{min-height:100dvh}
  .hero.is-map-focused .coverage-map{height:calc(100% - 4.4rem)}
  .hero.is-map-focused .coverage-atlas__cities{bottom:calc(.65rem + env(safe-area-inset-bottom))}
  .hero.is-map-focused .city-panel{max-height:calc(100dvh - 1.5rem);margin:max(.75rem,env(safe-area-inset-top)) .75rem .75rem;overflow:auto}
}

@keyframes city-panel-pop{from{opacity:0;transform:translateY(.65rem) scale(.985)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  .coverage-atlas__cities button span:after{transition:none}
  .city-panel,.city-panel.is-refreshing{animation:none;transition:none}
}

/* Credential marks and supplied editorial photography. */
.masthead{grid-template-columns:auto auto auto minmax(0,1fr) auto;gap:clamp(.75rem,1.65vw,1.7rem)}
.credential-set{display:flex;align-items:center;gap:.55rem;min-width:0}
.masthead__credentials{justify-self:start}
.language-picker{justify-self:start;display:inline-flex;align-items:center;min-height:2.75rem;direction:ltr}
.language-picker select{min-width:5.7rem;min-height:2.75rem;padding:.35rem 1.75rem .35rem .65rem;border:1px solid var(--rule-dark);border-radius:0;background:var(--night-raised);color:var(--text-on-dark);font-family:var(--font-display);font-size:.68rem;font-weight:800;letter-spacing:.06em;cursor:pointer;outline:2px solid transparent;outline-offset:1px}
.language-picker select:hover{background:color-mix(in oklch,var(--night-raised) 86%,var(--teal))}
.language-picker select:focus-visible{outline-color:var(--focus)}
.credential{min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;color:inherit;text-decoration:none;white-space:nowrap}
.credential--partner{width:3.15rem;padding:.12rem;background:var(--paper)}
.credential--partner img{width:100%;height:2.45rem;object-fit:contain}
.credential--ads{gap:.45rem;padding:.35rem .6rem;border:1px solid var(--rule-dark);background:var(--night-raised);color:var(--text-on-dark);font-family:var(--font-display);line-height:1}
.credential--ads>span:last-child{display:grid;gap:.12rem}
.credential--ads strong{font-size:.64rem;letter-spacing:.02em}
.credential--ads small{color:var(--teal);font-size:.51rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.credential__check{width:1.25rem;height:1.25rem;display:grid;place-items:center;border-radius:50%;background:var(--teal);color:var(--night);font-size:.72rem;font-weight:900}
.credential:hover{border-color:var(--orange)}
.credential--partner:hover{box-shadow:inset 0 -2px var(--orange)}
.credential:active{transform:translateY(1px)}
.credential:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

.service-visuals{max-width:var(--max);margin:0 auto clamp(3rem,6vw,6rem);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:.75rem}
.editorial-photo{position:relative;min-width:0;min-height:clamp(19rem,30vw,30rem);margin:0;overflow:hidden;background:var(--night)}
.editorial-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.05)}
.editorial-photo--wide img{object-position:center 42%}
.editorial-photo:after,.field-note__image:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(to bottom,transparent,var(--night));opacity:.82;pointer-events:none}
.editorial-photo figcaption,.field-note__image figcaption{position:absolute;z-index:2;left:clamp(1rem,2vw,2rem);right:clamp(1rem,2vw,2rem);bottom:1.2rem;color:var(--text-on-dark);font-family:var(--font-display);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.editorial-photo figcaption span{display:block;margin-top:.2rem;color:var(--teal);font-family:var(--font-text);font-size:.85rem;font-weight:400;letter-spacing:0;text-transform:none}

.field-note__gallery{min-width:0;min-height:48rem;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);overflow:hidden}
.field-note__gallery>.field-note__image{min-height:48rem}
.field-note__stack{min-width:0;display:grid;grid-template-rows:repeat(3,minmax(0,1fr))}
.field-note__stack .field-note__image{min-height:0}
.field-note__image img{filter:saturate(.88) contrast(1.04)}
.field-note__image figcaption{left:1rem;right:1rem;bottom:.8rem;font-size:.58rem}

.route__portrait{max-width:var(--max);min-height:22rem;margin:0 auto 4rem;display:grid;grid-template-columns:minmax(12rem,18rem) minmax(0,1fr);overflow:hidden;background:var(--night-raised);border:1px solid var(--rule-dark)}
.route__portrait img{width:100%;height:22rem;object-fit:cover;object-position:center 18%;filter:saturate(.78) contrast(1.04)}
.route__portrait figcaption{align-self:center;padding:clamp(1.5rem,5vw,5rem);display:grid;gap:.7rem}
.route__portrait figcaption span{color:var(--teal);font-family:var(--font-display);font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.route__portrait figcaption strong{max-width:24ch;font-family:var(--font-display);font-size:clamp(1.6rem,3vw,3.35rem);line-height:1;letter-spacing:-.035em}

.colophon{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto minmax(0,1fr);align-items:start}
.credential-set--footer{align-items:center}
.credential-set--footer .credential--ads{border-color:var(--rule-light);background:var(--paper-deep);color:var(--ink)}
.credential-set--footer .credential--ads small{color:var(--trust-deep)}

@media(max-width:78rem){
  .masthead{grid-template-columns:auto auto minmax(0,1fr) auto}
  .language-picker{grid-column:3;grid-row:1}
  .masthead__cta{grid-column:4;grid-row:1}
  .colophon{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .colophon nav{justify-self:start;align-items:flex-start}
}

@media(max-width:56rem){
  .service-visuals{grid-template-columns:minmax(0,1fr)}
  .editorial-photo{min-height:0;aspect-ratio:16/10}
  .field-note__gallery{min-height:0;grid-template-columns:minmax(0,1fr)}
  .field-note__gallery>.field-note__image{min-height:24rem}
  .field-note__stack{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:13rem 13rem}
  .field-note__stack .field-note__image:last-child{grid-column:1/-1}
  .route__portrait{grid-template-columns:minmax(8rem,.7fr) minmax(0,1.3fr);min-height:18rem;margin-bottom:2.75rem}
  .route__portrait img{height:18rem}
  .route__portrait figcaption{padding:1.35rem}
}

@media(max-width:42rem){
  .masthead{grid-template-columns:minmax(0,1fr) auto;gap:.55rem 1rem;padding-top:.55rem;padding-bottom:.55rem}
  .wordmark{grid-column:1;grid-row:1}
  .wordmark .wordmark__market{display:none}
  .wordmark .wordmark__amazigh{font-size:.56rem}
  .masthead__cta{grid-column:2;grid-row:1}
  .masthead__credentials{grid-column:1;grid-row:2;justify-self:start;padding-top:.45rem;border-top:1px solid var(--rule-dark)}
  .language-picker{grid-column:2;grid-row:2;justify-self:end;align-self:end;padding-top:.45rem;border-top:1px solid var(--rule-dark)}
  .language-picker select{min-width:5.45rem;min-height:2.75rem;padding-top:.25rem;padding-bottom:.25rem}
  .credential--partner{width:2.85rem}
  .credential--partner img{height:2.15rem}
  .credential--ads{min-height:2.35rem}
  .service-visuals{gap:.55rem}
  .editorial-photo{aspect-ratio:4/3}
  .field-note__gallery>.field-note__image{min-height:21rem}
  .field-note__stack{grid-template-rows:11rem 11rem}
  .field-note__image figcaption{font-size:.52rem}
}

/* Full-site language support. Moroccan Darija uses Arabic script and RTL flow. */
html[lang="fr"] .hero h1{max-width:9ch;font-size:clamp(3.6rem,5.6vw,5.8rem)}
html[lang="ary"] .hero h1{max-width:10ch;font-size:clamp(3.2rem,4.8vw,5rem);line-height:.96}
html[lang="ary"]{--font-display:var(--font-arabic);--font-text:var(--font-arabic)}
html[lang="ary"] .wordmark,html[lang="ary"] .credential-set,html[lang="ary"] .language-picker,html[lang="ary"] .coverage-atlas,html[lang="ary"] .ledger-row__price{direction:ltr}
html[lang="ary"] .hero h1,html[lang="ary"] .hero h1 span,html[lang="ary"] .ledger-intro h2,html[lang="ary"] .field-note h2,html[lang="ary"] .route__intro h2,html[lang="ary"] .closing h2,html[lang="ary"] .ledger-row h3,html[lang="ary"] .route__track h3,html[lang="ary"] .route__portrait figcaption strong{font-variation-settings:normal;letter-spacing:0}
html[lang="ary"] .masthead__nav,html[lang="ary"] .hero__topline,html[lang="ary"] .trust-path,html[lang="ary"] .trust-rail,html[lang="ary"] .field-note__edition,html[lang="ary"] .working-note>span,html[lang="ary"] .route__portrait figcaption span{letter-spacing:0;text-transform:none}
html[lang="ary"] .city-panel,html[lang="ary"] .hero__copy,html[lang="ary"] .ledger-intro,html[lang="ary"] .field-note__body,html[lang="ary"] .route__intro,html[lang="ary"] .route__track,html[lang="ary"] .closing,html[lang="ary"] .colophon{text-align:right}
html[lang="ary"] .city-panel__close{right:auto;left:.72rem}
html[lang="ary"] .city-panel__index,html[lang="ary"] .city-panel .city-panel__status{max-width:calc(100% - 4.25rem);margin-inline-start:0;margin-inline-end:auto}

@media(max-width:22rem){
  .language-picker select{min-width:4.9rem;padding-left:.45rem;font-size:.62rem}
  .wordmark .wordmark__amazigh{font-size:.48rem}
}

@media(max-width:42rem){
  html[lang="fr"] .hero h1{font-size:clamp(2.75rem,11.5vw,3.35rem)}
  html[lang="ary"] .hero h1{font-size:clamp(2.65rem,11vw,3.2rem);line-height:1.02}
}

@media(max-width:28rem){
  .credential-set{gap:.4rem}
  .credential--ads{padding:.3rem .45rem}
  .credential--ads strong{font-size:.58rem}
  .credential--ads small{font-size:.46rem}
  .route__portrait{grid-template-columns:minmax(0,1fr)}
  .route__portrait img{height:18rem}
}

/* Final node treatment: one solid brand-colour dot, no white/black marker or pulse frame. */
.coverage-cluster,.geo-node,.coverage-cluster:hover,.coverage-cluster:focus,.geo-node:hover,.geo-node:focus{outline:none!important;-webkit-tap-highlight-color:transparent}
.geo-node__marker{fill:var(--teal);stroke:none}
.geo-node:hover .geo-node__marker,.geo-node.is-active .geo-node__marker{fill:var(--orange);stroke:none}
.coverage-cluster:focus-visible .coverage-cluster__marker,.geo-node:focus-visible .geo-node__marker{stroke:var(--focus);stroke-width:2;vector-effect:non-scaling-stroke}
@media(max-width:42rem){
  .field-note__stack{grid-template-rows:11rem clamp(24rem,115vw,31rem)}
  .field-note__stack .field-note__image:last-child{background:var(--paper)}
  .field-note__stack .field-note__image:last-child img{object-fit:contain;object-position:center}
}

/* Main Osprey GBP review prompt: a trust receipt, not a testimonial claim. */
.review-invite{display:grid;grid-template-columns:minmax(7rem,.25fr) minmax(0,1fr) minmax(18rem,.55fr);align-items:center;gap:clamp(1.5rem,4vw,4.5rem);padding:clamp(3.75rem,7vw,7rem) var(--gutter);background:var(--night);color:var(--text-on-dark);border-top:1px solid var(--rule-dark);border-bottom:1px solid var(--rule-dark)}
.review-invite__signal{align-self:stretch;display:grid;align-content:space-between;min-height:9rem;padding:.9rem;border:1px solid color-mix(in oklch,var(--teal) 58%,var(--rule-dark));color:var(--teal);font-family:var(--font-display);font-size:.62rem;font-weight:800;letter-spacing:.14em}
.review-invite__signal strong{color:var(--text-on-dark);font-size:clamp(1.65rem,3vw,3.1rem);font-variation-settings:"wdth" 80;line-height:.86;letter-spacing:-.045em}
.review-invite__copy{max-width:46rem}
.review-invite__eyebrow{margin:0 0 .8rem;color:var(--teal);font-family:var(--font-display);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.review-invite h2{max-width:13ch;margin:0;font-family:var(--font-display);font-size:clamp(2.65rem,5vw,5.6rem);font-weight:800;font-variation-settings:"wdth" 88;line-height:.9;letter-spacing:-.055em;text-wrap:balance}
.review-invite__copy>p:last-child{max-width:50ch;margin:1.2rem 0 0;color:var(--muted-on-dark);font-size:1.08rem;line-height:1.55;text-wrap:pretty}
.review-invite__action{justify-self:stretch;min-height:4.4rem;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1rem 1.25rem;background:var(--orange);color:var(--night);font-family:var(--font-display);font-size:.82rem;font-weight:800;line-height:1.2;text-decoration:none}
.review-invite__action span{font-size:1.35rem;transition:transform var(--dur-short) var(--ease-out)}
.review-invite__action:hover{background:var(--paper)}
.review-invite__action:hover span{transform:translate(.15rem,-.15rem)}
.review-invite__action:active{transform:translateY(1px)}
.review-invite__action:focus-visible{outline:3px solid var(--focus);outline-offset:4px}

html[lang="ary"] .review-invite,html[lang="ary"] .review-invite__copy{text-align:right}
html[lang="ary"] .review-invite h2{font-variation-settings:normal;letter-spacing:0}
html[lang="ary"] .review-invite__eyebrow{letter-spacing:0;text-transform:none}
html[lang="ary"] .review-invite__signal{direction:ltr}

@media(max-width:64rem){
  .review-invite{grid-template-columns:6rem minmax(0,1fr)}
  .review-invite__action{grid-column:2}
}

@media(max-width:42rem){
  .review-invite{grid-template-columns:1fr;gap:1.35rem;padding:3.5rem 1rem 4rem}
  .review-invite__signal{min-height:0;grid-template-columns:auto 1fr;align-items:end;gap:1rem;padding:0 0 .75rem;border:0;border-bottom:1px solid var(--rule-dark)}
  .review-invite__signal strong{justify-self:end;font-size:1.5rem}
  .review-invite h2{max-width:11ch;font-size:clamp(2.55rem,12vw,3.25rem);line-height:.92}
  .review-invite__copy>p:last-child{font-size:1rem}
  .review-invite__action{grid-column:1;min-height:4.75rem;width:100%;font-size:.88rem;box-shadow:0 0 0 1px color-mix(in oklch,var(--orange) 65%,transparent),0 .8rem 2.4rem color-mix(in oklch,var(--orange) 20%,transparent)}
}

@media(prefers-reduced-motion:reduce){
  .review-invite__action,.review-invite__action span{transition:none}
}
