/* Desktop story system. Original photography, shared canvas, native page scroll.
   Only composition wrappers exist below 1080px; no mobile snap/viewport rules. */
.gr-composed-grid,.gr-desktop-frame,.gr-frame-copy,.gr-frame-media,.gr-offer-copy{display:contents}
.gr-frame-kicker{font-size:.75rem;color:#babbbd;letter-spacing:.07em}
.gr-frame-kicker span{margin-right:16px}
.gr-frame-prose{line-height:1.7;max-width:68ch}
.gr-frame-prose p+p{margin-top:1em}
.gr-opening-detail{margin:0}
.gr-opening-detail img{display:block;width:100%;height:auto}
.gr-desktop-story main,.gr-desktop-story .wrap,.gr-desktop-story .gr-frame-media,.gr-desktop-story .gr-frame-copy{min-width:0}
.gr-desktop-story :is(h1,h2,h3,h4,p){overflow-wrap:break-word}
.gr-opening-method{margin-top:26px;font-size:.95rem}
.gr-opening-method summary{cursor:pointer;padding-block:12px;border-block:1px solid #ffffff35}
.gr-opening-method p{margin-top:14px;line-height:1.7}
.gr-choice-portrait{max-width:360px}
.gr-choice-portrait figure{margin:0}
@media(max-width:1079px){
 .gr-composed-grid,.gr-desktop-frame{display:block}
 .gr-desktop-frame{margin-bottom:36px}
 .gr-frame-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .gr-frame-media[data-count="1"]{grid-template-columns:1fr}
 .gr-opening-detail,.gr-choice-portrait{margin-top:28px}
}
@media(max-width:700px){.gr-frame-media{display:block}}
@media(min-width:1080px){
 /* Match the old selector's specificity: its body qualifier previously won
    over html:has(.gr-desktop-story), silently leaving snap disabled. */
 html:has(body.gr-desktop-story){scroll-snap-type:y mandatory;scroll-padding-top:var(--gr-chapter-header,80px)}
 .gr-desktop-story{--gr-frame-width:min(1440px,88vw);--gr-frame-height:calc(100svh - var(--gr-chapter-header,80px));--gr-frame-gap:clamp(32px,4vw,72px)}
 .gr-desktop-story main{isolation:isolate}
 .gr-desktop-story main>.hero,.gr-desktop-story main>.compact-offer,.gr-desktop-story main>.gr-editorial,.gr-desktop-story main>.section,.gr-desktop-story .gr-desktop-frame,.gr-desktop-story .gr-offer-frame,.gr-desktop-story .gr-decision-grid>article{scroll-snap-stop:always}
 .gr-desktop-story main>.gr-editorial{display:flex;flex-direction:column}
 .gr-desktop-story main>.hero,.gr-desktop-story main>.gr-editorial,.gr-desktop-story main>.section,.gr-desktop-story main>.gr-sound-options{min-height:var(--gr-frame-height);padding-block:clamp(44px,7svh,88px);scroll-snap-align:start;scroll-margin-top:0;justify-content:center;box-sizing:border-box}
 .gr-desktop-story main>.hero>.wrap,.gr-desktop-story main>.gr-editorial>.wrap,.gr-desktop-story main>.section>.wrap{width:var(--gr-frame-width);max-width:none;margin-inline:auto}
 .gr-desktop-story main>.hero{display:flex;flex-direction:column;border-bottom:1px solid #ffffff24}
 .gr-desktop-story main>.hero.wrap{width:var(--gr-frame-width);margin-inline:auto;max-width:none}
 .gr-desktop-story main>.compact-offer{min-height:var(--gr-frame-height);display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start}
 .gr-desktop-story main>.compact-offer>.wrap{width:var(--gr-frame-width);max-width:none}
 .gr-desktop-story .hero h1{font-size:clamp(2.8rem,4.7vw,5.2rem);font-weight:500;letter-spacing:-.055em;line-height:1.08;max-width:19ch;text-wrap:balance;margin-block:16px 30px}
 .gr-desktop-story .hero .lead{font-size:clamp(1.07rem,1.3vw,1.3rem);line-height:1.7;max-width:55ch;color:#ddd}
 .gr-desktop-story .hero .gr-category-masthead{font-size:clamp(1rem,1.1vw,1.2rem);line-height:1.4;letter-spacing:.14em;text-transform:uppercase;position:static;margin:0 0 28px;transform:none}
 .gr-desktop-story .hero .hero-layout>div{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr);column-gap:var(--gr-frame-gap);align-items:start}
 .gr-desktop-story .hero .hero-layout h1{grid-column:1;grid-row:1 / span 2}
 .gr-desktop-story .hero .hero-layout .lead{grid-column:2;grid-row:1;margin-top:22px}
 .gr-desktop-story .hero .gr-category-method{grid-column:2;font-size:clamp(.9rem,1.05vw,1.05rem);line-height:1.75;margin-top:12px;color:#b9bbbe}
 .gr-desktop-story .hero .gr-work-sections{grid-column:1/-1;margin-top:32px}
 .gr-desktop-story main>.gr-actor-opening{padding-block:35px}
 .gr-desktop-story main>.gr-actor-opening>.wrap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--gr-frame-gap);align-items:center}
 .gr-desktop-story .gr-actor-opening h1{font-size:clamp(2.7rem,4vw,4.7rem);max-width:15ch;line-height:1.08}
 .gr-desktop-story .gr-actor-opening .lead{font-size:clamp(1rem,1.2vw,1.2rem);line-height:1.75;max-width:44ch}
 .gr-desktop-story .gr-actor-opening .gr-opening-detail{width:100%;height:min(70svh,720px);margin:0;align-self:center}
 .gr-desktop-story .gr-actor-opening .gr-opening-detail>a{display:block;position:relative;height:100%;width:100%;overflow:hidden}
 .gr-desktop-story .gr-actor-opening .gr-opening-detail img{position:absolute;inset:0;width:100%;max-width:100%;height:100%;object-fit:cover;object-position:52% 30%}
 .gr-desktop-story .gr-actor-opening .gr-category-method{font-size:.95rem;max-width:48ch}
 .gr-desktop-story .gr-rhythm-gallery{width:100%;max-width:none;margin:0!important;padding:0!important;min-height:0!important;display:block!important;scroll-snap-align:none}
 .gr-desktop-story .gr-composed-grid{display:block}
 .gr-desktop-story .gr-desktop-frame{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:var(--gr-frame-gap);align-items:center;width:var(--gr-frame-width);margin:0 auto;min-height:var(--gr-frame-height);padding-block:clamp(40px,6svh,76px);border-bottom:1px solid #ffffff24;box-sizing:border-box;scroll-snap-align:start;scroll-margin-top:0}
 .gr-desktop-story .gr-frame-copy{display:block;min-width:0;max-width:57ch}
 .gr-desktop-story .gr-frame-kicker{display:flex;gap:18px;align-items:baseline;margin:0 0 25px;font:500 .7rem/1.6 Commissioner,Arial,sans-serif;letter-spacing:.09em;color:#b5b6bb}
 .gr-desktop-story .gr-frame-kicker span{margin:0;flex:none;color:#fff;font-variant-numeric:tabular-nums}
 .gr-desktop-story .gr-frame-title{font:500 clamp(1.9rem,2.8vw,3.1rem)/1.15 Commissioner,Arial,sans-serif;letter-spacing:-.035em;max-width:22ch;margin:0 0 25px;text-wrap:balance;color:#f5f5f5}
 .gr-desktop-story .gr-frame-prose{font-size:clamp(.95rem,1.07vw,1.13rem);line-height:1.78;color:#c9cbd0}
 .gr-desktop-story .gr-frame-prose p{margin:0 0 1em}
 .gr-desktop-story .gr-frame-media{display:grid;grid-template-columns:1fr;gap:clamp(14px,1.6vw,28px);align-items:center;min-width:0}
 .gr-desktop-story .gr-frame-media[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gr-desktop-story .gr-frame-media figure{width:100%;margin:0;min-width:0;align-self:center}
 .gr-desktop-story .gr-frame-media figure>a{display:flex;align-items:center;justify-content:center}
 .gr-desktop-story .gr-frame-media img{width:auto;height:auto;max-width:100%;max-height:calc(100svh - var(--gr-chapter-header,80px) - 155px);object-fit:contain;margin-inline:auto}
 .gr-desktop-story .gr-frame-media figcaption{font-size:.72rem;line-height:1.5;padding-top:12px;color:#aaadb3}
 .gr-desktop-story .gr-frame-comparison{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
 .gr-desktop-story .gr-frame-comparison .gr-frame-media{grid-column:1;grid-row:1}
 .gr-desktop-story .gr-frame-comparison .gr-frame-copy{grid-column:2;grid-row:1}
 .gr-desktop-story .gr-frame-comparison .gr-frame-media img{max-height:58svh}
 .gr-desktop-story .gr-frame-reverse{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
 .gr-desktop-story .gr-frame-reverse .gr-frame-media{grid-column:1;grid-row:1;padding-right:5%}
 .gr-desktop-story .gr-frame-reverse .gr-frame-copy{grid-column:2;grid-row:1}
 .gr-desktop-story .gr-frame-triptych{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}
 .gr-desktop-story .gr-frame-triptych .gr-frame-media{align-items:end;gap:30px}
 .gr-desktop-story .gr-frame-triptych .gr-frame-media figure:last-child{align-self:end;padding-bottom:5svh}
 .gr-desktop-story .gr-frame-triptych .gr-frame-media figure:last-child img{max-height:49svh}
 .gr-desktop-story .gr-frame-collection{grid-template-columns:minmax(0,.55fr) minmax(0,1.6fr)}
 .gr-desktop-story .gr-frame-collection .gr-frame-media{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gr-desktop-story .gr-frame-collection .gr-frame-media img{max-height:28svh}
 .gr-desktop-story .gr-frame-collection .gr-frame-title{font-size:clamp(1.9rem,2.5vw,2.8rem)}
 .gr-desktop-story .gr-frame-media .gr-film-box{max-height:61svh}
 .gr-desktop-story .gr-frame-copy .gr-related-work{width:auto;max-width:100%;margin:28px 0 0;font-size:.9rem}
 /* Quiet typographic chapters give the photographic comparisons room to land. */
 .gr-desktop-story .gr-editorial h2{font-size:clamp(2.1rem,3.4vw,3.8rem);max-width:23ch;font-weight:500;line-height:1.15;letter-spacing:-.04em;text-wrap:balance}
 .gr-desktop-story #gr-choice>.wrap,.gr-desktop-story #gr-process>.wrap,.gr-desktop-story #gr-casting-choice>.wrap,.gr-desktop-story #gr-katerina-method>.wrap,.gr-desktop-story #gr-brief>.wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:var(--gr-frame-gap);align-items:start}
 .gr-desktop-story :is(#gr-choice,#gr-process,#gr-casting-choice,#gr-katerina-method,#gr-brief)>.wrap>.eyebrow{grid-column:1/-1}
 .gr-desktop-story :is(#gr-choice,#gr-process,#gr-casting-choice,#gr-katerina-method,#gr-brief) h2{grid-column:1;margin-top:14px}
 .gr-desktop-story :is(#gr-choice,#gr-casting-choice,#gr-katerina-method,#gr-brief) .gr-choice-intro{grid-column:1;grid-row:3;font-size:1.05rem;max-width:39ch}
 .gr-desktop-story :is(.gr-choice-grid,.gr-proof-notes,.gr-process-grid,.gr-brief-questions){grid-column:2;grid-row:2 / span 3;margin:14px 0 0;gap:0 30px}
 .gr-desktop-story .gr-proof-notes,.gr-desktop-story .gr-process-grid{grid-template-columns:1fr}
 .gr-desktop-story .gr-proof-notes article,.gr-desktop-story .gr-process-grid li{padding-block:18px}
 .gr-desktop-story .gr-proof-notes h3{font-size:1.2rem;margin-bottom:10px}
 .gr-desktop-story .gr-proof-notes p{margin:0;font-size:.98rem;line-height:1.7}
 .gr-desktop-story .gr-choice-grid>a{padding-block:22px}
 .gr-desktop-story .gr-choice-grid h3{font-size:1.25rem}
 .gr-desktop-story .gr-choice-grid p{font-size:.92rem;line-height:1.7}
 .gr-desktop-story #gr-choice.gr-choice-illustrated>.wrap{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr)}
 .gr-desktop-story #gr-choice.gr-choice-illustrated .gr-choice-portrait{grid-column:1;grid-row:4;margin-top:12px;width:min(100%,30svh);max-width:100%;justify-self:start}
 .gr-desktop-story .gr-choice-portrait img{width:auto;max-width:100%;max-height:38svh;object-fit:contain;margin:0}
 .gr-desktop-story .gr-choice-portrait figcaption{font-size:.7rem;line-height:1.45;padding-top:9px}
 .gr-desktop-story #gr-choice.gr-choice-illustrated .gr-choice-grid{grid-row:2 / span 4}
 .gr-desktop-story :is(#gr-casting-choice,#gr-katerina-method) .gr-context-links{grid-column:1;grid-row:4}
 .gr-desktop-story #gr-brief .button{grid-column:1;grid-row:4;justify-self:start}
 .gr-desktop-story #gr-process .gr-process-grid{list-style:none}
 .gr-desktop-story .gr-process-grid li{display:grid;grid-template-columns:30px 1fr;gap:20px}
 .gr-desktop-story .gr-process-grid li p{margin:0}
 /* Each decision is a complete page composition, rather than two long answers. */
 .gr-desktop-story #gr-decisions,.gr-desktop-story #gr-product-decisions{padding-block:0;min-height:0;scroll-snap-align:none}
 .gr-desktop-story :is(#gr-decisions,#gr-product-decisions)>.wrap>.eyebrow{padding-top:36px}
 .gr-desktop-story .gr-decision-grid{display:block}
 .gr-desktop-story .gr-decision-grid>article{min-height:var(--gr-frame-height);display:flex;flex-direction:column;justify-content:center;padding-block:48px;scroll-snap-align:start;scroll-margin-top:0}
 .gr-desktop-story .gr-decision-grid>article.gr-with-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--gr-frame-gap);align-items:center}
 .gr-desktop-story .gr-decision-grid h3{font-size:clamp(1.8rem,2.7vw,3rem);line-height:1.2;letter-spacing:-.035em;max-width:22ch;text-wrap:balance}
 .gr-desktop-story .gr-decision-grid p{font-size:1.02rem;line-height:1.8;max-width:58ch}
 .gr-desktop-story .gr-decision-grid>article:nth-child(even).gr-with-photo{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
 .gr-desktop-story .gr-decision-grid>article:nth-child(even)>.gr-editorial-visual{grid-column:1;grid-row:1}
 .gr-desktop-story .gr-decision-grid>article:nth-child(even)>.gr-illustrated-copy{grid-column:2;grid-row:1}
 .gr-desktop-story .gr-editorial-visual{align-self:center;padding-top:0}
 .gr-desktop-story .gr-editorial-visual img{max-height:60svh}
 /* The offers are the destination; comparisons expand in normal document flow. */
 .gr-desktop-story main>.gr-packages{display:block;padding-block:0;min-height:0;scroll-snap-align:none}
 .gr-desktop-story .gr-packages .gr-sell-heading{padding-top:60px}
 .gr-desktop-story .gr-offer-frame{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);column-gap:var(--gr-frame-gap);align-content:center;align-items:center;min-height:var(--gr-frame-height);padding-block:50px;scroll-snap-align:start;scroll-margin-top:0}
 .gr-desktop-story .gr-offer-copy{display:block;grid-column:1;min-width:0}
 .gr-desktop-story .gr-offer-copy h3{font-size:clamp(2rem,3vw,3.5rem);max-width:25ch;line-height:1.15;letter-spacing:-.04em;text-wrap:balance}
 .gr-desktop-story .gr-offer-copy p{font-size:.98rem;line-height:1.75;max-width:60ch}
 .gr-desktop-story .gr-offer-frame>.gr-editorial-visual{grid-column:2;grid-row:1;align-self:center;max-width:100%}
 .gr-desktop-story .gr-offer-frame:nth-child(even){grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
 .gr-desktop-story .gr-offer-frame:nth-child(even)>.gr-offer-copy{grid-column:2;grid-row:1}
 .gr-desktop-story .gr-offer-frame:nth-child(even)>.gr-editorial-visual{grid-column:1;grid-row:1}
 .gr-desktop-story .gr-offer-frame.gr-offer-landscape{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
 .gr-desktop-story .gr-offer-frame.gr-offer-landscape:nth-child(even){grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
 .gr-desktop-story .gr-offer-landscape>.gr-editorial-visual img{width:100%;max-width:100%;height:auto;max-height:none}
 .gr-desktop-story .gr-offer-frame:not(.gr-with-photo){grid-template-columns:1fr}
 .gr-desktop-story .gr-offer-frame:not(.gr-with-photo)>.gr-offer-copy{grid-column:1;display:grid;grid-template-columns:1fr 1fr;column-gap:var(--gr-frame-gap)}
 .gr-desktop-story .gr-offer-frame:not(.gr-with-photo) .gr-offer-copy>header{grid-column:1;grid-row:1 / span 3}
 .gr-desktop-story .gr-offer-frame:not(.gr-with-photo) .gr-offer-copy>:not(header){grid-column:2}
 .gr-desktop-story .gr-offer-frame>.gr-category-levels{grid-column:1/-1;grid-row:2;margin-top:26px}
 .gr-desktop-story .gr-category-levels>summary{padding:18px 0}
 .gr-desktop-story .gr-category-levels[open]{padding-bottom:30px}
 .gr-desktop-story main>.gr-value-tiers{scroll-snap-align:start;min-height:var(--gr-frame-height);padding-block:64px}
 .gr-desktop-story .gr-value-heading{max-width:880px}
 .gr-desktop-story .gr-value-heading h2{font-weight:500;letter-spacing:-.04em}
 .gr-desktop-story .gr-value-tier-grid{gap:22px;align-items:stretch;margin-top:35px}
 .gr-desktop-story .gr-value-tiers a.gr-value-tier{border-radius:0;padding:28px 24px;border-color:#ffffff33;background:#05050566}
 .gr-desktop-story .gr-value-tiers a.gr-value-tier-focus{border:1px solid #ffffff33;background:#ffffff08;box-shadow:none}
 .gr-desktop-story .gr-value-tier h3{font-size:clamp(1.4rem,1.8vw,2.1rem);font-weight:500}
 .gr-desktop-story #gr-next-step h2{font-size:clamp(2.8rem,5vw,5rem);max-width:17ch}
 .gr-desktop-story #gr-questions>.wrap,.gr-desktop-story #gr-product-questions>.wrap{max-width:1000px}
 .gr-desktop-story .gr-sound-options{width:var(--gr-frame-width);margin:0 auto!important;padding-block:60px!important;min-height:var(--gr-frame-height)!important;display:flex!important;flex-direction:column;justify-content:center}
 .gr-desktop-story .gr-sound-options h2{font-size:clamp(2rem,3vw,3.2rem);max-width:22ch}
 .gr-desktop-story footer{scroll-snap-align:end}
}
@media(min-width:1080px) and (max-height:760px){
 .gr-desktop-story .gr-desktop-frame{padding-block:35px}
 .gr-desktop-story .gr-frame-title{font-size:clamp(1.7rem,2.4vw,2.6rem);margin-bottom:18px}
 .gr-desktop-story .gr-frame-kicker{margin-bottom:18px}
 .gr-desktop-story .gr-frame-prose{font-size:.94rem;line-height:1.65}
}
@media(prefers-reduced-motion:reduce){html:has(body.gr-desktop-story){scroll-snap-type:none!important;scroll-behavior:auto!important}}

/* One interaction state across service frames, concise offers and full tiers.
   Keep this after desktop composition rules so they cannot mask hover. */
.gr-desktop-story main :is(.gr-value-tiers,.gr-service-gateways,.gr-offer-overview) a:is(.gr-value-tier,.gr-service-frame,.gr-custom-gateway,.gr-offer-summary){border:1px solid #ffffff40;background:transparent;box-shadow:none;transition:border-color .18s,box-shadow .18s}
.gr-desktop-story main :is(.gr-value-tiers,.gr-service-gateways,.gr-offer-overview) a:is(.gr-value-tier,.gr-service-frame,.gr-custom-gateway,.gr-offer-summary):is(:hover,:focus-visible){border-color:#fff;box-shadow:0 0 0 1px #ffffff35,0 0 22px #ffffff0c;color:#fff}
.gr-desktop-story main :is(.gr-value-tier,.gr-service-frame,.gr-custom-gateway,.gr-offer-summary):focus-visible{outline:2px solid #fff;outline-offset:5px}
body.gr-desktop-story main :is(a.button,button.button,.gr-value-button){border:1px solid #ffffff40!important;background:transparent!important;color:#fff!important;box-shadow:none;transition:border-color .18s,box-shadow .18s}
body.gr-desktop-story main :is(a.button,button.button):is(:hover,:focus-visible),body.gr-desktop-story main .gr-value-tier:is(:hover,:focus-visible) .gr-value-button{border-color:#fff!important;box-shadow:0 0 0 1px #ffffff25}
.gr-desktop-story .gr-value-tier:target{scroll-margin-top:18px;scroll-snap-align:start}
.gr-desktop-story main>.gr-offer-overview{scroll-snap-stop:always}
@media(min-width:1080px){
 .gr-desktop-story .gr-decision-grid>article:not(.gr-with-photo){display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--gr-frame-gap);align-content:center;align-items:start}
 .gr-desktop-story .gr-decision-grid>article:not(.gr-with-photo)>h3,.gr-desktop-story .gr-decision-grid>article:not(.gr-with-photo)>p{margin-top:0}
}
@media(prefers-reduced-motion:reduce){.gr-desktop-story main a,.gr-desktop-story main .gr-value-button{transition:none!important}}

/* Text-only introductions form one central composition, without empty columns. */
.gr-desktop-story .price-card .gr-popular-label{font-size:.85rem;font-weight:500;letter-spacing:.03em;margin:0 0 18px;color:#eee}
@media(min-width:1080px){
 .gr-desktop-story main>.gr-centered-opening>.wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
 .gr-desktop-story .gr-centered-opening .hero-layout{display:block;width:100%;max-width:980px}
 .gr-desktop-story .gr-centered-opening .hero-layout>div{display:flex;flex-direction:column;align-items:center;width:100%;gap:0}
 .gr-desktop-story .gr-centered-opening h1{max-width:22ch;margin:12px auto 28px;font-size:clamp(3rem,4.8vw,5.3rem);text-align:center}
 .gr-desktop-story .gr-centered-opening .lead{max-width:64ch;margin:0 auto;font-size:clamp(1.08rem,1.3vw,1.3rem);text-align:center}
 .gr-desktop-story .gr-centered-opening .gr-category-method{max-width:76ch;margin:20px auto 0;font-size:1rem;line-height:1.75;text-align:center}
 .gr-desktop-story .gr-centered-opening .gr-category-masthead{margin-bottom:20px;text-align:center}
 .gr-desktop-story .gr-centered-opening .gr-service-continuation{align-self:center;width:min(100%,760px);max-width:none;margin:36px auto 0;text-align:left}
}
