/* Shared editorial layouts for Dolce's individual pages. */
.inner-page .site-header{position:relative;background:var(--navy);height:104px}
.site-header nav a[aria-current]{border-bottom:1px solid var(--gold);color:#ead5ae}
.footer-nav{display:flex;flex-wrap:wrap;gap:14px 27px;margin-top:40px;font-size:.875rem}
.intro-link{margin-top:28px}
.home-education{padding-top:25px}
.home-education>.button{margin-top:35px}
.education-list{border-top:1px solid var(--rule)}
.education-row{display:grid;grid-template-columns:40px minmax(0,1.2fr) minmax(0,1fr) 30px;gap:30px;align-items:center;padding:34px 0;border-bottom:1px solid var(--rule);transition:padding .2s,color .2s}
.education-row:hover{padding-left:12px;color:#6c5637}
.education-row .row-index{font-size:.875rem;color:var(--muted)}
.education-row .eyebrow{font-size:.75rem;margin-bottom:9px;color:var(--muted);letter-spacing:.1em}
.education-row h3{font-size:clamp(1.8rem,3vw,2.8rem);letter-spacing:-.025em}
.education-row>p{font-size:1rem;color:var(--muted);max-width:400px}
.row-arrow{font-size:1.5rem;justify-self:end}
.home-question,.next-step,.contact-preparation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8vw;align-items:center}
.home-question h2,.next-step h2,.contact-preparation h2{margin-top:22px;font-size:clamp(2.5rem,4.3vw,4.3rem)}
.home-question p,.next-step p{margin-bottom:25px}
.page-masthead{padding:32px 6vw 85px;background:var(--navy);color:var(--cream)}
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.875rem;color:#c7ccd6;line-height:1.8;margin-bottom:55px}
.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}
.page-masthead h1{font-size:clamp(3.4rem,6.3vw,7rem);letter-spacing:-.04em;max-width:1150px;margin:24px 0 30px;line-height:1.05}
.page-masthead .page-lead{max-width:740px}
.page-lead{font-size:1.125rem;line-height:1.8;color:#dce0e7}
.page-masthead em,.course-tagline{color:#e8d5b3}
.all-education{padding-top:55px;padding-bottom:70px}
.all-education .education-row{padding-top:32px;padding-bottom:32px}
.next-step{border-top:1px solid var(--rule)}
.academy-story{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:9vw;align-items:center}
.academy-story figure{margin:0}
.academy-story img{width:100%;max-height:660px;object-fit:cover}
.academy-story figcaption{font-family:Playfair,serif;font-size:1.5rem;font-style:italic;padding-top:18px}
.academy-story h2{font-size:clamp(2.8rem,4.5vw,4.4rem);margin:25px 0 35px}
.academy-story p:not(.eyebrow){margin-bottom:23px;color:var(--muted)}
.philosophy{background:#e6e5dc}
.principles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px;margin-top:35px}
.principles-grid article{border-top:1px solid #aeb3b2;padding-top:20px}
.principles-grid article>span{font-size:.875rem;color:var(--muted)}
.principles-grid h3{font-size:2rem;line-height:1.2;margin:20px 0}
.principles-grid p{color:var(--muted)}
.course-masthead{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);background:var(--navy);color:var(--cream);min-height:690px}
.course-heading{padding:32px 5vw 65px 6vw}
.course-heading .breadcrumbs{margin-bottom:48px}
.course-heading h1{font-size:clamp(3.3rem,5.8vw,6.4rem);letter-spacing:-.04em;line-height:1.05;margin:25px 0}
.course-heading .page-lead{max-width:670px;margin:22px 0 30px}
.course-tagline{font-family:Playfair,serif;font-style:italic;font-size:1.8rem;line-height:1.4}
.course-visual{position:relative;min-width:0;background:#142344;display:flex;align-items:center;justify-content:center;padding:65px 4vw;overflow:hidden}
.course-visual.has-image{padding:0}
.course-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:60% center}
.course-words{display:flex;flex-direction:column;gap:8px;width:100%;padding:22px 0;border-top:1px solid #b5945560;border-bottom:1px solid #b5945560}
.course-words>span:not(.edition){font-family:Playfair,serif;font-size:clamp(2.5rem,4.8vw,5.7rem);line-height:1.12;letter-spacing:-.03em;overflow-wrap:anywhere}
.course-words>span:last-child{font-style:italic;color:var(--teal)}
.course-words .edition{font-size:.875rem;color:#c5cbd6;letter-spacing:.13em;padding-bottom:45px}
.course-detail{display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,1fr);gap:9vw;align-items:start}
.lesson-sidebar{position:sticky;top:40px}
.lesson-sidebar nav{display:flex;flex-direction:column;gap:17px;margin:28px 0 35px;font-size:1rem}
.lesson-sidebar nav a:hover{text-decoration:underline;text-underline-offset:5px}
.lesson-sidebar .text-link{font-size:.875rem}
.lesson-content>section{margin-bottom:80px;scroll-margin-top:35px}
.lesson-content>section:last-child{margin-bottom:0}
.lesson-content h2{font-size:clamp(2.4rem,3.6vw,3.8rem);margin:23px 0 27px}
.lesson-content p:not(.eyebrow){color:var(--muted)}
.topic-list{margin-top:35px}
.topic-list article{display:flex;gap:30px;border-top:1px solid var(--rule);padding:29px 0}
.topic-list article>span{flex-shrink:0;font-size:.875rem;color:var(--muted);padding-top:6px}
.topic-list article>div{min-width:0}
.topic-list h3{font-size:1.7rem;line-height:1.2;margin-bottom:15px}
.practice-note{background:#dce9e1;padding:35px}
.lesson-content .faq-list{padding-top:0}
.after-faq{margin-top:25px;font-size:1rem}
.after-faq a{text-decoration:underline;text-underline-offset:4px}
.related{border-top:1px solid var(--rule);padding-top:70px}
.related h2{font-size:clamp(2.6rem,4.4vw,4rem);margin:23px 0 45px}
.questions-page{max-width:1450px;margin:auto}
.question-group{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:8vw;margin-bottom:80px}
.question-group:last-child{margin-bottom:0}
.question-group h2{font-size:clamp(2.3rem,3.4vw,3.5rem);padding-top:22px}
.question-group .faq-list{padding:0;border-top:1px solid var(--rule)}
.faq-list details>p{font-size:1rem;line-height:1.8}
.contact-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8vw;align-items:start}
.contact-large-phone{display:block;font-size:clamp(1.8rem,3.6vw,3.7rem);line-height:1.3;letter-spacing:-.025em;margin:25px 0;overflow-wrap:anywhere}
.contact-page>div>p:not(.eyebrow){max-width:530px}
.contact-actions{display:flex;flex-wrap:wrap;gap:25px;align-items:center;margin-top:35px}
.social-link{font-size:.875rem;margin-top:35px;overflow-wrap:anywhere}
.address-panel{background:var(--navy);color:var(--cream);padding:48px}
.address-panel h2{font-size:clamp(2.5rem,3.8vw,4rem);margin:25px 0}
.address-panel address{font-style:normal;font-size:1.125rem;line-height:1.9}
.address-landmark{color:#e8d5b3;margin:18px 0 32px}
.visit-note{font-size:.9375rem;margin-top:30px;color:#c7ccd6}
.contact-preparation{border-top:1px solid var(--rule)}
.contact-preparation ol{list-style:none;padding:0;margin:0;counter-reset:steps}
.contact-preparation li{counter-increment:steps;border-bottom:1px solid var(--rule);padding:23px 0 23px 45px;position:relative}
.contact-preparation li:before{content:'0' counter(steps);position:absolute;left:0;top:24px;font-size:.875rem;color:var(--muted)}
.contact-preparation strong{display:block;font-weight:500;margin-bottom:8px}
.contact-preparation li>span{color:var(--muted)}
.button{font-size:.9375rem}
.site-header nav{font-size:.9375rem}
.text-link{font-size:.9375rem}
.page-masthead .eyebrow,.course-heading>.eyebrow{font-size:.8125rem}
@media(max-width:1050px){.site-header{gap:25px}.site-header nav{gap:20px}.header-call{gap:15px}.course-masthead{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}.course-heading{padding-right:4vw}.course-detail{gap:5vw}.address-panel{padding:35px}.principles-grid{gap:30px}.education-row{gap:20px}}
@media(max-width:850px){.inner-page .site-header{height:85px}.site-header nav{font-size:1.2rem;max-height:calc(100svh - 85px);overflow-y:auto}.page-masthead{padding-bottom:65px}.breadcrumbs{margin-bottom:40px}.course-masthead{grid-template-columns:1fr}.course-heading{padding:28px 6vw 55px}.course-heading h1{font-size:clamp(3.5rem,8vw,5.6rem)}.course-visual{min-height:300px;padding:45px 6vw}.course-words{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px}.course-words .edition{grid-column:1/-1;padding-bottom:15px}.course-words>span:not(.edition){font-size:clamp(1.6rem,4.8vw,3.6rem)}.course-visual.has-image{height:370px}.course-visual img{object-position:50% 55%}.course-detail{grid-template-columns:1fr;gap:50px}.lesson-sidebar{position:static;border-bottom:1px solid var(--rule);padding-bottom:30px}.lesson-sidebar nav{flex-direction:row;flex-wrap:wrap;gap:15px 25px;margin:20px 0}.lesson-sidebar .text-link{margin-top:0}.academy-story{gap:5vw;align-items:start}.academy-story h2{font-size:2.7rem}.principles-grid{grid-template-columns:1fr;gap:30px}.principles-grid h3{margin-top:12px}.question-group{grid-template-columns:1fr;gap:30px;margin-bottom:55px}.question-group h2{padding:0}.contact-page{gap:5vw}.contact-large-phone{font-size:2rem}.home-question,.next-step,.contact-preparation{gap:5vw}}
@media(max-width:650px){.page-masthead{padding:24px 7vw 55px}.page-masthead h1{font-size:clamp(2.2rem,11vw,4rem);margin-top:23px}.page-lead{font-size:1rem}.breadcrumbs{font-size:.8125rem;margin-bottom:36px;gap:8px}.education-row{grid-template-columns:24px minmax(0,1fr) 20px;gap:10px 14px;padding:27px 0}.education-row>p{grid-column:2;grid-row:2;font-size:1rem}.education-row .row-arrow{grid-column:3;grid-row:1}.education-row h3{font-size:1.9rem}.education-row:hover{padding-left:0}.education-row .eyebrow{font-size:.75rem}.home-education{padding-top:10px}.home-question,.next-step,.contact-preparation,.contact-page,.academy-story{grid-template-columns:1fr;gap:35px}.home-question h2,.next-step h2,.contact-preparation h2{font-size:2.5rem}.home-question p,.next-step p{margin-bottom:20px}.academy-story figure{max-width:100%}.academy-story img{height:450px;object-position:50% 52%}.academy-story h2{font-size:2.6rem}.course-heading{padding:24px 7vw 50px}.course-heading h1{font-size:clamp(2.3rem,12vw,4.4rem)}.course-heading .breadcrumbs{margin-bottom:32px}.course-tagline{font-size:1.6rem}.course-visual{min-height:260px}.course-words{display:flex;gap:8px}.course-words>span:not(.edition){font-size:clamp(2rem,9vw,3.3rem)}.course-words .edition{padding-bottom:17px}.course-visual.has-image{height:350px}.course-detail{padding-top:50px}.lesson-content h2{font-size:clamp(2rem,8vw,3rem)}.lesson-content>section{margin-bottom:55px}.topic-list article{gap:20px}.topic-list h3{font-size:1.65rem}.practice-note{padding:28px 23px}.faq-list details>p{padding-right:0}.related{padding-top:55px}.related h2{margin-bottom:30px}.question-group h2{font-size:2.2rem}.address-panel{padding:35px 25px}.contact-large-phone{font-size:clamp(1.6rem,8vw,2.8rem)}.contact-page{padding-top:55px}.address-panel h2{font-size:2.5rem}.all-education{padding-top:25px}.social-link{max-width:100%}.footer-nav{gap:16px 25px}.contact-preparation li{padding-left:40px}.site-header nav a{width:fit-content;max-width:100%}}
@media(prefers-reduced-motion:reduce){.education-row{transition:none}}
