/* Services preview: uses approved tokens and behavior without changing shared styles. */
.editorial-shell{max-width:1460px;margin-inline:auto;padding-inline:var(--gutter)}
.services-page h1,.services-page h2{letter-spacing:-.025em}
.services-page h2{font-size:clamp(48px,5vw,76px);line-height:1.06}
.services-page h3{letter-spacing:-.02em}
.services-page .chapter{font-size:11px;letter-spacing:.16em}
.services-page .chapter span{color:#726850}
.services-page .copy{font-size:15px;line-height:1.85;color:var(--muted)}
.services-hero{height:min(850px,88svh);min-height:650px}
.services-hero .hero-photo img{object-position:50% 60%}
.services-hero .hero-shade{background:linear-gradient(180deg,rgba(20,30,32,.60),rgba(20,30,32,.24) 35%,rgba(20,30,32,.65))}
.services-hero .hero-copy{left:var(--gutter);bottom:18%;max-width:1100px}
.services-hero h1{font-size:clamp(70px,7.8vw,120px);line-height:.98;margin-top:28px}
.services-introduction{display:grid;grid-template-columns:1.2fr 1fr;gap:24px 9%;padding-block:100px}
.services-introduction>.eyebrow{grid-column:1/-1}
.intro-statement{font:400 clamp(36px,3.8vw,57px)/1.12 var(--serif);letter-spacing:-.02em}
.intro-explanation{align-self:center}
.services-journeys{background:#f0eee7;padding-block:80px 65px}
.services-section-head{display:grid;grid-template-columns:1.3fr 1fr;gap:30px 9%;align-items:end}
.services-section-head>.chapter{grid-column:1/-1}
.services-section-head>.copy{max-width:400px}
.journey-spread{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:36px;padding-top:85px;padding-bottom:40px;align-items:start}
.journey-spread img{width:100%;height:100%;object-fit:cover}
.journey-main{grid-column:1/7;grid-row:1/3;height:640px;overflow:hidden}
.journey-story{grid-column:8/13;grid-row:1;padding-top:35px}
.journey-story h3,.journey-note h3{font-size:clamp(36px,3.5vw,52px);margin:20px 0}
.journey-inset{grid-column:6/11;grid-row:2/4;height:320px;margin-top:8px;z-index:2;overflow:hidden}
.journey-note{grid-column:1/5;grid-row:3;padding-top:10px}
.journey-note h3{font-size:38px}
.journey-spread-reverse{padding-top:90px}
.journey-spread-reverse .journey-main{grid-column:7/13;height:570px}
.journey-spread-reverse .journey-story{grid-column:1/6}
.journey-spread-reverse .journey-inset{grid-column:3/8;height:300px}
.journey-spread-reverse .journey-note{grid-column:9/13}
.services-help{background:var(--ink);color:var(--paper);padding-block:100px}
.help-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:50px 9%;align-items:start}
.help-intro{position:sticky;top:135px}
.services-help .chapter span{color:var(--cream)}
.services-help h2{color:var(--paper)}
.help-intro h2{margin:30px 0}
.services-help .copy{color:#d8d5ce}
.services-star{margin-top:38px}
.service-options article{display:grid;grid-template-columns:36px 1fr;gap:20px;border-top:1px solid #ffffff40;padding:32px 0 38px}
.service-number{font-size:11px;color:var(--cream);padding-top:7px}
.service-options h3{font-size:clamp(32px,3vw,44px);margin-bottom:22px}
.service-options p:not(.service-number){font-size:15px;color:#d8d5ce;line-height:1.85}
.service-options .service-fee{margin-top:20px;font-size:12px!important;color:var(--cream)!important}
.partner-note{grid-column:2;font-size:12px;line-height:1.9;border-top:1px solid #ffffff40;padding-top:24px;color:#d8d5ce}
.services-process{padding-block:100px}
.process-heading{display:flex;justify-content:space-between;gap:50px;align-items:start}
.process-heading h2{max-width:780px}
.process-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 9%;padding:0;margin-top:65px}
.process-list li{display:grid;grid-template-columns:32px 1fr;gap:18px;border-top:1px solid var(--line);padding:30px 0}
.process-list li>span{font-size:11px;color:#726850;padding-top:8px}
.process-list h3{font-size:36px;margin-bottom:18px}
.process-list p{color:var(--muted);font-size:14px;line-height:1.85;max-width:440px}
.services-fees{background:#f0eee7;padding-block:90px}
.fees-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}
.fees-layout h2{margin-top:30px}
.fees-layout>.copy{padding-top:44px}
.fee-assurance{padding-left:22px;border-left:1px solid var(--taupe);color:var(--ink)!important}
.services-faq{padding-block:90px;display:grid;grid-template-columns:1fr 1.2fr;gap:9%}
.services-faq h2{margin-top:30px}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:15px;line-height:1.6;padding:24px 0;list-style:none;min-height:64px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';font-size:22px;color:#726850;flex:none}
.faq-list details[open] summary::after{content:'−'}
.faq-list details p{font-size:14px;line-height:1.85;color:var(--muted);padding:0 30px 26px 0;max-width:560px}
.services-closing{min-height:650px}
.services-closing h2{font-size:clamp(60px,6.3vw,96px)}
.services-closing .closing-copy{padding-block:100px}
.services-closing .closing-shade{background:linear-gradient(180deg,rgba(10,20,15,.06),rgba(10,20,15,.38) 35%,rgba(10,20,15,.8))}
@media(min-width:701px) and (max-width:1000px){.journey-main{height:520px}.journey-inset{height:250px}.journey-spread-reverse .journey-main{height:500px}.journey-spread-reverse .journey-inset{height:250px}.journey-story{grid-column:7/13;padding-top:0}.journey-spread-reverse .journey-story{grid-column:1/7}.journey-note{grid-column:1/6}.journey-spread-reverse .journey-note{grid-column:8/13}.help-layout{column-gap:5%}.service-options article{gap:10px;grid-template-columns:28px 1fr}.process-heading{display:block}.process-heading h2{margin-top:28px}.services-faq{grid-template-columns:1fr}.faq-list{margin-top:40px}}
@media(max-width:700px){
 .services-hero{min-height:580px;height:82svh;max-height:760px}
 .services-hero .hero-copy{bottom:20%;left:var(--gutter);right:var(--gutter)}
 .services-hero h1{font-size:clamp(50px,11vw,75px);line-height:1.02;margin-top:22px}
 .services-hero .hero-photo img{object-position:49% 50%}
 .services-hero .hero-bottom{font-size:9px}
 .services-page h2{font-size:clamp(42px,10vw,58px)}
 .services-introduction{grid-template-columns:1fr;padding-block:60px;gap:24px}
 .intro-statement{font-size:clamp(35px,8.8vw,48px)}
 .intro-explanation{max-width:550px}
 .services-journeys{padding-block:60px 50px}
 .services-section-head{grid-template-columns:1fr;gap:26px}
 .journey-spread,.journey-spread-reverse{grid-template-columns:repeat(6,minmax(0,1fr));column-gap:12px;row-gap:0;padding-top:45px;padding-bottom:15px}
 .journey-spread .journey-main{grid-column:1/6;grid-row:1;height:clamp(320px,95vw,520px)}
 .journey-spread .journey-inset{grid-column:3/7;grid-row:1;height:clamp(170px,48vw,270px);align-self:end;margin:0 0 -45px;transform:none}
 .journey-spread .journey-story{grid-column:1/-1;grid-row:2;padding-top:80px}
 .journey-spread .journey-note{grid-column:1/-1;grid-row:3;padding-top:30px;border-top:1px solid #d9d5ca;margin-top:30px}
 .journey-story h3,.journey-note h3{font-size:40px;margin-block:16px}
 .journey-spread-reverse .journey-main{grid-column:2/7}
 .journey-spread-reverse .journey-inset{grid-column:1/5}
 .services-help{padding-block:60px}
 .help-layout{grid-template-columns:1fr;gap:35px}
 .help-intro{position:static}
 .help-intro h2{margin-block:24px}
 .services-star{display:none}
 .service-options article{grid-template-columns:26px 1fr;gap:10px;padding-block:26px 30px}
 .service-options h3{font-size:34px;margin-bottom:18px}
 .partner-note{grid-column:1}
 .services-process{padding-block:60px}
 .process-heading{display:block}
 .process-heading h2{margin-top:24px}
 .process-list{grid-template-columns:1fr;margin-top:35px}
 .process-list li{padding-block:25px}
 .process-list h3{font-size:34px}
 .services-fees{padding-block:60px}
 .fees-layout{grid-template-columns:1fr;gap:30px}
 .fees-layout h2{margin-top:24px}
 .fees-layout>.copy{padding-top:0}
 .services-faq{grid-template-columns:1fr;gap:30px;padding-block:60px}
 .services-faq h2{margin-top:24px}
 .faq-list summary{font-size:14px;padding-block:22px}
 .services-closing{min-height:610px}
 .services-closing .closing-copy{padding-block:70px}
 .services-closing h2{font-size:clamp(49px,11.7vw,70px)}
 .services-closing .closing-lines{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.services-page .photo-motion{transform:none!important}}
@media print{.services-hero{min-height:0;height:450px}.help-intro{position:static}.services-help{background:white;color:var(--ink)}.services-help p{color:var(--ink)!important}.journey-spread{break-inside:avoid}.faq-list details p{display:block}.services-page [data-reveal]{opacity:1!important;transform:none!important}}

/* Align page framing with the deployed www homepage. */
.services-hero{height:100svh;min-height:720px;max-height:none}
.services-hero .hero-shade{background:linear-gradient(90deg,#0d1b25a8 0%,#0d1b2552 52%,#0d1b2510),linear-gradient(180deg,#0d1b2560,transparent 35%,#0d1b254a)}
.services-hero .hero-copy{left:var(--gutter);right:var(--gutter);top:48%;bottom:auto;max-width:none;transform:translateY(-50%);text-align:center}
.services-hero h1{margin:0;line-height:1.04}
.services-marker-track{pointer-events:none}
.services-help .services-marker span{color:var(--cream)}
.services-closing .services-marker,.services-closing .services-marker span{color:#fff}
@media(min-width:701px){
 :is(.services-journeys,.services-help,.services-process,.services-fees,.services-faq,.services-closing){position:relative;--gutter:clamp(72px,6.5vw,110px)}
 .services-marker-track{position:absolute;inset:96px auto 50px 24px;width:22px}
 :is(.services-process,.services-faq)>.services-marker-track{left:calc(24px - max(0px,(100vw - 1460px)/2))}
 .services-page .services-marker{position:sticky;top:96px;width:max-content;height:max-content;margin:0;padding:0;white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg);font:500 13px/1.65 var(--sans);letter-spacing:.16em}
 .services-marker span{margin-inline-end:15px}
 .services-section-head>.chapter{grid-column:auto}
 .fees-layout h2,.services-faq h2{margin-top:0}
}
@media(max-width:700px){
 .services-hero{height:100svh;min-height:580px}
 .services-hero .hero-copy{top:49%;bottom:auto}
 .services-marker-track{position:static;margin:0 0 28px;padding-inline:var(--gutter)}
 :is(.services-process,.services-faq)>.services-marker-track{padding-inline:0}
 .services-faq>.services-marker-track{grid-column:1;margin:0}
 .services-marker{writing-mode:horizontal-tb;transform:none;position:static}
 .services-closing>.services-marker-track{position:relative;z-index:1;margin:70px 0 0}
 .services-closing .closing-copy{padding-top:30px}
}
@media(min-width:701px) and (prefers-reduced-motion:reduce){.services-page .services-marker{position:static}}

/* Section 02: fixed photographs with horizontally inserted detail panels. */
.journey-gallery{margin-top:28px;container-type:inline-size;--journey-width:29cqw;--journey-height:calc(29cqw / .75);--panel-width:clamp(340px,34cqw,440px)}
.gallery-toolbar{display:flex;justify-content:flex-end;gap:24px;align-items:center;margin-bottom:20px;font-size:12px;color:var(--muted)}
.gallery-arrows{display:flex;gap:10px;flex:none}
.gallery-arrows button,.gallery-close{font:inherit;color:inherit;background:none;border:0;cursor:pointer;min-height:44px}
.gallery-arrows button{width:44px;height:44px;padding:0;display:grid;place-items:center;color:var(--ink);border-radius:50%}
.gallery-direction{display:block;flex:none}
.gallery-arrows button:not(:disabled):hover{background:#3838380a}
.journey-card:hover .gallery-direction{color:var(--cream)}
.gallery-arrows button:disabled{opacity:.35;cursor:default}
.gallery-rail{block-size:calc(var(--journey-height) + 30px);list-style:none;display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:8px 8px 22px;margin:-8px -8px 0;scrollbar-width:thin;scrollbar-color:var(--taupe) transparent}
/* Chromium/WebKit allow a precise native scrollbar size; Firefox keeps native thin. */
@supports selector(::-webkit-scrollbar){
 .gallery-rail{scrollbar-width:auto}
 .gallery-rail::-webkit-scrollbar{height:4px}
 .gallery-rail::-webkit-scrollbar-track{background:transparent}
 .gallery-rail::-webkit-scrollbar-thumb{background:var(--taupe);border-radius:4px}
}
.gallery-rail li{display:flex;flex:0 0 auto;height:var(--journey-height);min-width:0;align-items:stretch}
.journey-card{position:relative;display:block;flex:none;width:var(--journey-width);height:100%;border:0;padding:0;text-align:left;color:#fff;background:var(--ink);cursor:pointer;overflow:hidden;font:inherit}
.journey-card img{height:100%;width:100%;object-fit:cover}
.journey-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,#10201c30 48%,#10201ce8)}
.gallery-card-caption{position:absolute;z-index:1;inset:auto 25px 25px;display:grid;gap:13px}
.gallery-card-title{font:400 clamp(28px,2.7vw,42px)/1.08 var(--serif);letter-spacing:-.02em}
.gallery-explore{font-size:11px;display:flex;justify-content:space-between;align-items:center;letter-spacing:.06em}
.gallery-explore .gallery-direction{width:22px;height:22px;margin:11px}
.journey-card:hover .gallery-explore{text-decoration:underline;text-underline-offset:5px}
.journey-panel{flex:none;width:0;height:100%;overflow:hidden;visibility:hidden;background:#75634f;color:var(--paper);transition:width .5s cubic-bezier(.25,.7,.25,1),visibility 0s .5s}
.gallery-rail li.is-open>.journey-panel{width:var(--panel-width);visibility:visible;transition-delay:0s}
.detail-panel{position:relative;width:var(--panel-width);height:100%;padding:76px 40px 40px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.gallery-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;margin:0;flex:none}
.gallery-close span{font-size:30px;line-height:1}
.detail-copy{flex:0 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#8d8267 transparent;padding-right:8px;padding-bottom:4px}
.journey-panel :focus-visible{outline-color:var(--paper)}
.detail-copy h3{font-size:clamp(26px,2.1vw,32px);font-weight:400;margin:0 0 20px;line-height:1.2;text-wrap:wrap}
.detail-copy>p:not(.eyebrow){font-size:15px;color:var(--paper);line-height:1.85}
.detail-copy .journey-examples{margin-top:22px;font-size:12px!important}
.services-fees{padding-block:65px}
.fees-layout h2{font-size:clamp(40px,4.2vw,62px)}
.fees-layout>.copy{padding-top:0}
.process-list{margin-top:40px}
@media(max-width:1000px) and (min-width:701px){.journey-gallery{--journey-width:40cqw;--journey-height:calc(40cqw / .75);--panel-width:54cqw}.detail-panel{padding:72px 30px 34px}}
@media(max-width:700px){
 .journey-gallery{margin-top:24px;--journey-width:84cqw;--journey-height:calc(84cqw / .75);--panel-width:100cqw}
 .gallery-toolbar{gap:12px;align-items:center;font-size:11px}
 .gallery-card-title{font-size:36px}
 .gallery-card-caption{inset:auto 22px 22px}
 .detail-panel{padding:68px 28px 32px}
 .detail-copy h3{font-size:28px;margin:0 0 18px}
 .services-fees{padding-block:50px}
 .process-list{margin-top:30px}
}
@media(prefers-reduced-motion:reduce){.journey-panel{transition:none}}
@media print{.gallery-toolbar,.gallery-close{display:none}.gallery-rail{flex-wrap:wrap;overflow:visible}.journey-panel{transition:none}.detail-copy{overflow:visible}}

/* Give the closing sentence room to finish naturally on wider screens. */
@media(min-width:701px){.services-closing .closing-lines{max-width:660px}}
