/* Shared editorial layouts for the four experience pages. */
.service-page main{font-size:15px}
.service-page main p{line-height:1.85}
.service-page main .eyebrow{font-size:13px;letter-spacing:.12em;line-height:1.6}
.service-page main .button,.service-page main .text-link{font-size:13px;min-height:48px}
.service-page main .button{padding:21px 25px;gap:28px}
.service-breadcrumb{padding:25px var(--gutter);display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--muted);border-bottom:1px solid var(--line)}
.service-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:5px}
.service-breadcrumb a:hover{text-decoration:underline}
.service-breadcrumb svg{height:14px;width:14px}
.service-hero{display:grid;grid-template-columns:1fr 1fr;background:var(--cream);min-height:700px;position:relative}
.service-hero-copy{padding:80px var(--gutter) 75px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.service-hero-copy>.eyebrow{margin-bottom:33px}
.service-hero h1{font-size:clamp(70px,7.3vw,116px);line-height:.96;letter-spacing:-.055em;margin-bottom:32px;max-width:660px}
.service-hero-copy>p:not(.eyebrow){max-width:410px;color:var(--muted);font-size:15px;margin-bottom:28px}
.service-hero-copy>.text-link{margin-top:15px}
.service-hero-photo{margin:0;position:relative;min-width:0;min-height:660px;overflow:hidden;background:#c9c5ba}
.service-hero-photo>img{width:100%;height:100%;max-height:940px;object-fit:cover;object-position:50% 35%;position:absolute;inset:0}
.service-hero-photo>figcaption{position:absolute;left:30px;right:30px;bottom:25px;display:flex;justify-content:space-between;gap:20px;color:white;text-shadow:0 1px 12px #000b;font-size:13px;letter-spacing:.06em;line-height:1.5}
.service-hero--debutantes .service-hero-photo>img{object-position:50% 38%}
.service-hero--course h1{font-size:clamp(70px,6.8vw,108px)}
.service-hero--course .service-hero-photo>img{object-position:50% 25%}
.service-section{padding:105px var(--gutter)}
.service-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:48px}
.service-section-header h2{font-size:clamp(51px,5vw,78px);line-height:1.04;max-width:750px}
.service-section-header>.text-link{flex-shrink:0}
.service-section-header .eyebrow{margin-bottom:23px}
.service-intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;border-bottom:1px solid var(--line)}
.service-intro h2{font-size:clamp(52px,5.3vw,82px);line-height:1.04;max-width:650px}
.service-intro .eyebrow{margin-bottom:25px}
.service-intro-copy{padding-top:50px;max-width:510px;color:var(--muted)}
.service-intro-copy p:last-child{margin-bottom:0}
.service-inclusions{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;align-items:start}
.service-inclusions h2{font-size:clamp(50px,5.1vw,80px);line-height:1.04}
.service-inclusions .eyebrow{margin-bottom:24px}
.service-inclusions-lead{color:var(--muted);margin-top:25px;max-width:390px}
.service-detail-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.service-detail-list li{padding:25px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:37px 1fr;gap:16px;align-items:baseline}
.service-detail-list .service-number{font-size:13px;color:var(--muted);letter-spacing:.05em}
.service-detail-list h3{font-family:var(--sans);font-size:16px;font-weight:500;letter-spacing:-.015em;line-height:1.5;margin-bottom:8px}
.service-detail-list p{font-size:14px;color:var(--muted);margin:0;max-width:510px}
.service-note{font-size:13px;color:var(--muted);border-left:1px solid var(--line);padding-left:18px;margin-top:24px;line-height:1.8}
.service-ritual{background:var(--olive);color:var(--paper)}
.service-ritual :focus-visible{outline-color:var(--paper)}
.service-ritual .eyebrow{color:#e6e2d7}
.service-process{list-style:none;padding:0;margin:55px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:45px}
.service-process li{border-top:1px solid #f4f2ec66;padding-top:24px}
.service-process .service-number{font-size:13px;color:#deddd3;display:block;margin-bottom:28px}
.service-process h3{font-size:43px;letter-spacing:-.04em;line-height:1.1;margin-bottom:18px}
.service-process p{font-size:14px;line-height:1.85;color:#e5e4db;max-width:350px;margin-bottom:0}
.service-feature{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.service-feature-photo{margin:0;position:relative}
.service-feature-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 35%}
.service-feature-photo figcaption{font-size:13px;line-height:1.6;color:var(--muted);margin-top:15px}
.service-feature-copy h2{font-size:clamp(53px,5.1vw,80px);line-height:1.03;margin-bottom:27px}
.service-feature-copy .eyebrow{margin-bottom:26px}
.service-feature-copy>p:not(.eyebrow){color:var(--muted);max-width:430px}
.service-feature-copy>.text-link{margin-top:5px}
.service-quote{padding:75px var(--gutter);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;background:var(--cream)}
.service-quote p{font-family:var(--serif);font-size:clamp(37px,4.8vw,70px);line-height:1.12;letter-spacing:-.025em;max-width:1000px;margin:0 auto}
.service-gallery-section{background:var(--cream)}
.service-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.service-gallery>.gallery-item{padding:0;min-width:0}
.service-gallery>.gallery-item:nth-child(2){margin-top:70px}
.service-gallery .gallery-item img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 30%;transition:transform .8s var(--ease)}
.service-gallery .gallery-item>span{font-size:13px;letter-spacing:0;line-height:1.6;background:var(--cream);padding-top:18px;gap:15px;min-height:55px}
.service-gallery .gallery-item>span>svg{height:20px;width:20px;flex-shrink:0}
.service-gallery-note{margin:38px 0 0;max-width:680px;color:var(--muted);font-size:13px}
.service-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;align-items:start}
.service-faq h2{font-size:clamp(53px,5.1vw,80px);line-height:1.04}
.service-faq-intro>p:last-child{color:var(--muted);max-width:350px;margin-top:28px}
.service-faq-list{border-top:1px solid var(--line)}
.service-faq-list details{border-bottom:1px solid var(--line)}
.service-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:25px 0;min-height:72px;cursor:pointer;font-size:15px;font-weight:500;line-height:1.65;list-style:none}
.service-faq-list summary::-webkit-details-marker{display:none}
.service-faq-list summary svg{width:20px;height:20px;transition:transform .3s var(--ease)}
.service-faq-list details[open] summary svg{transform:rotate(45deg)}
.service-faq-list details>div{padding:0 27px 23px 0;color:var(--muted);font-size:14px;max-width:590px}
.service-faq-list details>div p:last-child{margin-bottom:0}
.service-faq-list .text-link{text-decoration:underline;text-underline-offset:5px}
.service-final{background:var(--olive);color:var(--paper);display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}
.service-final :focus-visible{outline-color:var(--paper)}
.service-final h2{font-size:clamp(58px,6.5vw,100px);line-height:1.02;max-width:760px}
.service-final .eyebrow{margin-bottom:28px;color:#e6e2d7}
.service-final-copy{max-width:380px;justify-self:end}
.service-final-copy>p{color:#e6e2d7;font-size:15px;margin-bottom:27px}
.service-final .button{background:var(--paper);color:var(--ink);width:100%}
.service-final .button:hover{background:#e6e2d7}
.service-final-copy>.text-link{margin-top:16px;color:var(--paper)}
.service-related{padding:42px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.service-related>p{font-size:13px;letter-spacing:.06em;margin:0;color:var(--muted)}
.service-related>nav{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.service-related a{display:inline-flex;align-items:center;gap:15px;min-height:44px;font-size:14px}
.service-related a:hover{text-decoration:underline;text-underline-offset:5px}
.service-related svg{width:18px;height:18px}
@media(min-width:1600px){.service-section,.service-quote,.service-related,.service-breadcrumb{padding-left:max(var(--gutter),calc((100vw - 1500px)/2));padding-right:max(var(--gutter),calc((100vw - 1500px)/2))}.service-hero-copy{padding-left:max(var(--gutter),calc((100vw - 1500px)/2))}}
@media(max-width:1100px){.service-hero{min-height:650px}.service-hero-copy{padding-top:65px;padding-bottom:65px;padding-right:35px}.service-hero h1{font-size:8vw}.service-hero-photo{min-height:650px}.service-hero-copy>p:not(.eyebrow){font-size:14px}.service-section{padding-top:85px;padding-bottom:85px}.service-inclusions,.service-faq{gap:7%}.service-feature{gap:8%}.service-process{gap:30px}.service-process h3{font-size:37px}.service-final{gap:35px}.service-final-copy{max-width:340px}.service-gallery{gap:22px}}
@media(max-width:800px){.service-breadcrumb{padding-top:15px;padding-bottom:15px}.service-hero{grid-template-columns:1fr 1fr;min-height:630px}.service-hero-copy{padding-top:55px;padding-bottom:55px;padding-right:25px}.service-hero-copy>.eyebrow{margin-bottom:25px}.service-hero h1{font-size:8.5vw;margin-bottom:25px}.service-hero--course h1{font-size:8.2vw}.service-hero-copy .button{padding:19px 17px;gap:16px;font-size:13px}.service-hero-photo{min-height:630px}.service-hero-photo>figcaption{left:20px;right:20px;bottom:22px;font-size:13px;display:block}.service-hero-photo>figcaption>span:last-child{display:none}.service-section{padding-top:75px;padding-bottom:75px}.service-intro{gap:7%}.service-intro-copy{padding-top:43px}.service-intro h2{font-size:53px}.service-inclusions,.service-faq{grid-template-columns:1fr;gap:35px}.service-inclusions-lead{max-width:560px}.service-detail-list li{padding:23px 0}.service-process{gap:24px}.service-process h3{font-size:34px}.service-feature{gap:6%}.service-feature-copy h2{font-size:52px}.service-section-header{gap:30px;align-items:flex-start}.service-section-header h2{font-size:53px}.service-section-header>.text-link{max-width:175px;gap:17px}.service-gallery{gap:18px}.service-gallery>.gallery-item:nth-child(2){margin-top:45px}.service-gallery .gallery-item>span{font-size:13px;gap:10px}.service-final{grid-template-columns:1fr;gap:35px}.service-final-copy{justify-self:start;max-width:560px}.service-final .button{width:auto;min-width:300px}.service-final h2{font-size:75px}.service-related>nav{gap:12px 25px}}
@media(max-width:560px){.service-page main .eyebrow{font-size:13px;letter-spacing:.08em}.service-breadcrumb{font-size:13px;gap:10px;padding-top:12px;padding-bottom:12px}.service-hero{display:flex;flex-direction:column;min-height:0}.service-hero-copy{padding:45px var(--gutter) 42px}.service-hero h1{font-size:clamp(66px,15vw,84px);margin-bottom:25px;line-height:1}.service-hero--course h1{font-size:clamp(64px,14vw,82px)}.service-hero-copy>p:not(.eyebrow){font-size:15px;max-width:430px}.service-hero-copy>.button{width:100%;max-width:390px;justify-content:space-between;min-height:58px}.service-hero-copy>.text-link{margin-top:8px}.service-hero-photo{min-height:0;height:520px}.service-hero-photo>img{max-height:none;object-position:50% 30%}.service-hero--debutantes .service-hero-photo>img{object-position:50% 33%}.service-hero-photo>figcaption{left:var(--gutter);right:var(--gutter);bottom:22px;font-size:13px}.service-section{padding-top:62px;padding-bottom:62px}.service-intro{grid-template-columns:1fr;gap:26px}.service-intro h2{font-size:clamp(46px,11vw,60px)}.service-intro-copy{padding-top:0;max-width:none}.service-inclusions h2,.service-feature-copy h2,.service-faq h2{font-size:clamp(47px,11.5vw,62px)}.service-inclusions{gap:27px}.service-inclusions-lead{margin-top:20px;margin-bottom:0}.service-detail-list li{padding:23px 0;grid-template-columns:30px 1fr;gap:12px}.service-detail-list h3{font-size:16px}.service-detail-list p{font-size:14px}.service-process{grid-template-columns:1fr;gap:35px;margin-top:35px}.service-process .service-number{margin-bottom:16px}.service-process h3{font-size:43px;margin-bottom:16px}.service-process p{font-size:14px;max-width:none}.service-feature{display:flex;flex-direction:column;gap:37px}.service-feature-photo{width:100%}.service-feature-photo img{aspect-ratio:4/4.7}.service-feature-copy{width:100%}.service-feature-copy h2{margin-bottom:23px}.service-feature-copy>p:not(.eyebrow){max-width:none}.service-quote{padding-top:55px;padding-bottom:55px}.service-quote p{font-size:40px;line-height:1.15}.service-section-header{display:block;margin-bottom:30px}.service-section-header h2{font-size:clamp(47px,11.5vw,62px)}.service-section-header>.text-link{max-width:none;margin-top:20px}.service-gallery{grid-template-columns:1fr;gap:30px}.service-gallery>.gallery-item:nth-child(2){margin-top:0}.service-gallery .gallery-item img{aspect-ratio:4/4.6;object-position:50% 28%}.service-gallery .gallery-item>span{padding-top:16px;font-size:13px}.service-gallery-note{margin-top:28px;font-size:13px}.service-faq{gap:25px}.service-faq-intro>p:last-child{max-width:none;margin-top:20px}.service-faq-list summary{padding:23px 0;font-size:15px;gap:18px}.service-faq-list details>div{padding-right:8px;font-size:14px}.service-final{gap:30px}.service-final h2{font-size:clamp(54px,13vw,72px)}.service-final-copy{max-width:none}.service-final .button{min-width:0;width:100%;font-size:13px;padding:20px}.service-final-copy>p{font-size:15px}.service-related{padding-top:30px;padding-bottom:30px;gap:17px}.service-related>nav{width:100%;display:block}.service-related a{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.service-related a:last-child{border-bottom:0}}
@media(prefers-reduced-motion:reduce){.service-gallery .gallery-item img,.service-faq-list summary svg{transition:none}}
