:root{--paper:#faf8f5;--ink:#302d28;--sand:#e9e2d8;--muted:#70695f;--line:#d9d1c6;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus,textarea:focus,select:focus{outline:2px solid #80705a;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.045em}h1{font-size:clamp(3.3rem,5.6vw,6rem)}h2{font-size:clamp(2.5rem,3.7vw,4rem)}h3{font-size:1.9rem}em{font-weight:400;color:#817360}p+p{margin-top:1.1rem}p{max-width:65ch}img{display:block;width:100%;height:100%;object-fit:cover}.wrap{max-width:1440px;margin:auto;padding-left:6%;padding-right:6%}.header{padding:28px 5%;display:flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid var(--line);background:var(--paper)}.brand{font-family:var(--serif);font-size:1.8rem;letter-spacing:-.045em;line-height:1.1;white-space:nowrap}.brand span{display:block;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.19em;margin-top:12px;line-height:1.4}.header nav{display:flex;gap:27px;align-items:center;font-size:14px}.header nav a{position:relative;padding:7px 0}.header nav a[aria-current=page]:not(.nav-cta){border-bottom:1px solid var(--ink)}.header nav a:hover{color:#8a7860}.header .nav-cta{border:1px solid var(--ink);padding:11px 18px}.menu-button{display:none}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:500;margin-bottom:27px}.hero{padding-top:64px;display:grid;grid-template-columns:1.2fr 1fr;gap:0 45px}.hero-copy{padding:24px 0 30px}.hero h1{font-size:clamp(3rem,5.2vw,5.6rem);line-height:1.06}.hero-desc{margin-top:30px;line-height:1.8;color:var(--muted);font-size:17px}.button{display:inline-flex;align-items:center;gap:35px;justify-content:space-between;background:var(--ink);color:#fff;padding:16px 23px;border:1px solid var(--ink);font-size:14px;cursor:pointer;transition:background .2s}.button:hover{background:#554c40}.hero .button{margin-top:29px}.hero-note{font-size:12px;color:var(--muted);margin-top:23px!important}.hero-photo{position:relative;min-height:510px}.hero-photo img{position:absolute;object-position:55% center}.photo-note{position:absolute;bottom:22px;left:26px;font-family:var(--serif);font-size:22px;font-style:italic;color:#393127}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:30px 0;font-size:11px;letter-spacing:.12em}.hero-bottom a{font-size:12px;letter-spacing:.02em}.welcome{display:grid;grid-template-columns:1fr 1.6fr;gap:70px;padding-top:110px;padding-bottom:110px}.welcome>.eyebrow{padding-top:12px}.welcome h2{margin-bottom:30px}.welcome p:not(.eyebrow){color:var(--muted)}.theme-preview{background:var(--sand);padding:85px 0 95px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px}.text-link{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid var(--ink);padding:7px 0;font-size:14px}.theme-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:55px}.theme-columns>a{border-top:1px solid #bdb2a4;padding-top:23px}.number{font-size:12px;color:var(--muted)}.theme-columns h3{margin:30px 0 20px}.theme-columns p{color:#625c53;font-size:15px;min-height:85px}.small-link{display:block;margin-top:28px;font-size:13px}.about-preview{padding-top:110px;padding-bottom:110px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.name-panel{background:#ece7e0;min-height:460px;display:flex;flex-direction:column;justify-content:space-between;padding:45px}.name-panel>span{font-size:11px;letter-spacing:.14em}.name-panel>p{font-family:var(--serif);font-size:clamp(2.7rem,4vw,4.5rem);line-height:1.08;letter-spacing:-.05em}.about-preview h2{margin-bottom:28px}.about-preview p:not(.eyebrow){color:var(--muted)}.about-preview .text-link{margin-top:25px}.closing{background:#eee8df;text-align:center;padding:90px 24px}.closing .eyebrow{margin-left:auto;margin-right:auto}.closing h2{font-size:clamp(2.5rem,4.5vw,4.6rem)}.closing .button{margin-top:35px}footer{background:#302d28;color:#eee9e0;padding:55px 6% 20px}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;padding-bottom:45px}.footer-top p{font-family:var(--serif);font-size:24px;line-height:1.35}.footer-top>div{display:flex;flex-direction:column;font-size:14px;align-items:start}.footer-top>div span{color:#bcb5aa;margin-top:12px}.footer-bottom{border-top:1px solid #625b51;padding-top:20px;display:flex;justify-content:space-between;font-size:12px;color:#c7bfb5}.page-intro{padding-top:80px;padding-bottom:70px;border-bottom:1px solid var(--line)}.lead{font-size:18px;color:var(--muted);max-width:610px;margin-top:30px}.article-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;padding-top:80px;padding-bottom:100px}.aside-quote{font-family:var(--serif);font-size:2.4rem;line-height:1.25;letter-spacing:-.04em}.article-layout article h2{font-size:2rem;margin:45px 0 20px}.article-layout article h2:first-child{margin-top:0}.article-layout article p{color:var(--muted)}.education{list-style:none;padding:0}.education li{border-top:1px solid var(--line);padding:18px 0}.education strong{font-size:16px;font-weight:400}.education span{display:block;font-size:14px;color:var(--muted)}.topics{padding-top:65px;padding-bottom:80px}.topic-group{margin-bottom:65px}.topic-group h2{font-size:2.4rem;margin-bottom:25px}.topic{border-top:1px solid var(--line);display:flex;gap:25px;align-items:center;padding:20px 0}.topic span{font-size:12px;color:var(--muted)}.topic h3{font-size:1.65rem;letter-spacing:-.025em}.topic-end{font-size:18px;color:var(--muted)}.steps{padding-top:35px;padding-bottom:80px}.step{display:grid;grid-template-columns:1fr 2fr;gap:55px;padding:55px 0;border-bottom:1px solid var(--line)}.step-num{font-family:var(--serif);font-size:5rem;color:#b6a793;line-height:1}.step h2{font-size:2.5rem;margin-bottom:25px}.step p{color:var(--muted)}.note{margin:35px 0 0 auto;color:var(--muted)}.practical{display:grid;grid-template-columns:1fr 1.35fr;gap:80px;padding-top:75px;padding-bottom:100px}.location{background:var(--sand);padding:40px;align-self:start}.location h2{font-size:2.5rem;margin-bottom:22px}.location h3{margin-bottom:18px}.location .text-link{margin-top:20px}.location hr{border:0;border-top:1px solid #bfb4a5;margin:32px 0}.practical>div>h2{font-size:2.5rem;margin-bottom:25px}.price{display:flex;justify-content:space-between;padding:18px 0;border-top:1px solid var(--line);gap:20px}.price strong{font-family:var(--serif);font-weight:400;font-size:1.7rem;line-height:1.3}.practical>div>p{color:var(--muted);font-size:14px;margin-top:12px}.space-top{margin-top:50px}details{border-top:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:20px}summary:after{content:'+'}details[open] summary:after{content:'−'}details p{margin-top:17px;font-size:15px;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:85px;padding-top:70px;padding-bottom:100px}.contact-email{display:block;font-size:clamp(.95rem,1.5vw,1.3rem);text-decoration:underline;text-underline-offset:6px;overflow-wrap:anywhere}.contact-phone{display:block;font-family:var(--serif);font-size:2.2rem;margin:20px 0}.contact-layout>div>p:not(.eyebrow){color:var(--muted)}.contact-location{margin-top:55px;padding-top:30px;border-top:1px solid var(--line)}form{background:#eee8df;padding:38px}form h2{font-size:2.2rem;margin-bottom:18px}.form-note{font-size:13px;color:#665e52;line-height:1.6}label{display:block;font-size:14px;margin-top:21px;margin-bottom:7px}label span{font-size:12px;color:var(--muted)}input,textarea,select{width:100%;border:1px solid #c9beaf;border-radius:0;background:var(--paper);padding:11px;color:var(--ink)}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.check{display:flex;align-items:start;gap:12px;line-height:1.5;margin:25px 0}.check input{width:18px;height:18px;flex-shrink:0;margin-top:2px}.check span{font-size:13px;color:var(--ink)}.check a{text-decoration:underline}form .button{width:100%;gap:15px}.skip{position:absolute;top:-100px;padding:10px;background:white;z-index:50}.skip:focus{top:0}#form-status{font-size:14px;margin-top:18px}a,button{transition:color .15s,background .15s}@media(min-width:1500px){.header,footer{padding-left:calc((100vw - 1268px)/2);padding-right:calc((100vw - 1268px)/2)}}@media(max-width:1050px){.header{padding:23px 5%;gap:20px}.header nav{gap:16px;font-size:13px}.brand{font-size:1.5rem}.brand span{font-size:9px}.hero{gap:25px}.hero h1{font-size:4.5vw}.hero-photo{min-height:480px}.about-preview{gap:50px}.contact-layout{gap:35px}.practical{gap:35px}.theme-columns{gap:25px}}@media(max-width:760px){.header{flex-wrap:wrap;padding:22px 6%;position:relative}.brand{font-size:1.6rem}.brand span{font-size:9px}.menu-button{display:flex;gap:12px;align-items:center;background:none;border:0;padding:8px 0;font-size:14px}.header nav{display:none;flex-direction:column;width:100%;align-items:stretch;padding:15px 0 5px;gap:10px}.header nav.open{display:flex}.header nav a{padding:10px;font-size:16px}.hero{display:flex;flex-direction:column;padding-top:30px;gap:0}.hero-copy{padding:12px 0 35px}.eyebrow{font-size:11px;margin-bottom:22px}.hero h1{font-size:clamp(2.8rem,10vw,4.8rem)}.hero-desc{font-size:16px;margin-top:23px}.hero-note{font-size:11px}.hero-photo{min-height:360px}.hero-bottom{padding:20px 0;font-size:9px;gap:15px}.hero-bottom a{font-size:11px}.welcome{grid-template-columns:1fr;gap:8px;padding-top:60px;padding-bottom:65px}.welcome h2{font-size:2.7rem}.theme-preview{padding:60px 0}.section-top{display:block}.section-top>.text-link{margin-top:22px}.theme-columns{grid-template-columns:1fr;margin-top:35px;gap:35px}.theme-columns h3{margin-top:16px}.theme-columns p{min-height:0}.small-link{margin-top:20px}.about-preview{grid-template-columns:1fr;gap:40px;padding-top:65px;padding-bottom:65px}.name-panel{min-height:320px;padding:30px}.name-panel>p{font-size:3.3rem}.closing{padding:60px 6%}.closing h2{font-size:2.7rem}.footer-top{grid-template-columns:1fr;gap:30px}.footer-top p{font-size:22px}.footer-bottom{flex-direction:column;gap:10px}.page-intro{padding-top:45px;padding-bottom:45px}h1{font-size:3.2rem}.lead{font-size:17px}.article-layout{grid-template-columns:1fr;gap:40px;padding-top:45px;padding-bottom:65px}.aside-quote{font-size:2rem}.topics{padding-top:45px;padding-bottom:45px}.topic-group h2{font-size:2rem}.topic h3{font-size:1.45rem}.step{grid-template-columns:50px 1fr;gap:20px;padding:40px 0}.step-num{font-size:3rem}.step h2{font-size:2rem}.practical,.contact-layout{grid-template-columns:1fr;padding-top:45px;padding-bottom:65px;gap:40px}.location,form{padding:27px}.contact-email{font-size:16px}.form-grid{grid-template-columns:1fr;gap:0}.contact-location{margin-top:30px}.photo-note{font-size:20px}.button{min-height:50px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Larger editorial photography, retaining the original visual language. */
.hero{grid-template-columns:1fr 1.15fr;gap:0 55px}.hero-photo{min-height:620px}.hero-copy{align-self:center}.editorial-photo{margin:0;overflow:hidden;background:var(--sand)}.editorial-photo img{width:100%;height:100%;object-fit:cover}.editorial-photo.portrait{aspect-ratio:4/5}.welcome{grid-template-columns:1fr 1.2fr;align-items:center;gap:90px}.welcome-visual .eyebrow{margin-bottom:25px}.welcome-visual .portrait{max-height:490px}.wide-photo{padding-top:100px}.editorial-photo.landscape{aspect-ratio:2.45/1}.about-preview{gap:80px}.about-visual .portrait{max-height:540px}.about-visual .name-panel{min-height:0;padding:25px 0 0;background:transparent;gap:10px}.about-visual .name-panel>p{font-size:2rem}.about-visual .name-panel>p br{display:none}.about-visual .name-panel>p em:before{content:' '}.about-visual .name-panel>span:first-child{display:none}.about-visual .name-panel>span:last-child{font-size:10px}.article-layout aside .portrait{margin-bottom:40px}.article-photo{aspect-ratio:1.6/1;margin:45px 0}.page-photo{padding-top:60px}.page-photo .landscape{max-height:460px}.location-photo{aspect-ratio:1.25/1;margin:-40px -40px 35px}.contact-photo{aspect-ratio:1.25/1;margin-top:35px}.article-layout aside{min-width:0}@media(max-width:1050px){.hero{gap:0 30px}.hero-photo{min-height:560px}.welcome{gap:45px}.about-preview{gap:45px}}@media(max-width:760px){.hero{gap:0}.hero-photo{min-height:450px}.welcome{grid-template-columns:1fr;gap:40px}.welcome-visual .portrait{max-height:420px;aspect-ratio:1/1}.wide-photo{padding-top:60px}.editorial-photo.landscape{aspect-ratio:1.3/1}.about-preview{gap:40px}.about-visual .portrait{max-height:500px}.article-layout aside .portrait{max-height:450px}.page-photo{padding-top:35px}.location-photo{margin:-27px -27px 30px}.contact-photo{max-height:360px}}
/* Keep headings proportional to their actual text columns. */
.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:0 48px;padding-top:48px}
.hero-copy{container-type:inline-size;min-width:0;padding:20px 0}
.hero h1{font-size:clamp(2rem,3.6vw,3.5rem);font-size:clamp(2rem,10.5cqw,3.5rem);line-height:1.15;letter-spacing:-.045em}
.hero-photo{min-height:530px}
.hero-desc{font-size:16px;margin-top:25px}
.hero .eyebrow{margin-bottom:22px}
h1,.page-intro h1{font-size:clamp(2.25rem,4.2vw,4rem);line-height:1.14}
h2,.welcome h2,.closing h2{font-size:clamp(2rem,2.8vw,2.8rem);line-height:1.18}
h3{font-size:1.65rem;line-height:1.22}
.topic-group h2,.step h2,.practical>div>h2,.location h2{font-size:2rem;line-height:1.2}
.section-top{align-items:center}
@media(max-width:1050px){.hero{gap:0 30px}.hero-photo{min-height:490px}.hero .eyebrow{font-size:10px;letter-spacing:.12em}.hero-note{font-size:11px}}
@media(max-width:760px){.hero{gap:0;padding-top:28px}.hero-copy{width:100%;padding:12px 0 32px}.hero h1{font-size:clamp(1.8rem,10.5cqw,3rem);line-height:1.15}.hero-photo{min-height:380px}.hero .eyebrow{font-size:11px}.page-intro h1{font-size:clamp(2rem,8vw,3rem)}h2,.welcome h2,.closing h2{font-size:clamp(1.8rem,6.8vw,2.3rem)}.topic-group h2,.step h2,.practical>div>h2,.location h2{font-size:1.8rem}}
/* Let the opening section fill the viewport without enlarging its type. */
@media(min-width:761px){.hero{min-height:calc(100svh - var(--header-height,110px));grid-template-rows:minmax(530px,1fr) auto;padding-top:36px}.hero-photo{min-height:0;height:100%}.hero-bottom{align-self:end}.hero-copy{align-self:center}}
@media(max-width:760px){.hero{min-height:calc(100svh - var(--header-height,100px))}.hero-photo{flex:1;min-height:320px}.hero-bottom{flex-shrink:0}}
/* Native-looking monochrome menu and text-first mobile introduction. */
.menu-button{color:var(--ink);-webkit-text-fill-color:var(--ink);appearance:none;-webkit-appearance:none}
.menu-icon{display:inline-flex;width:21px;height:18px;flex-direction:column;justify-content:space-between}
.menu-icon i{display:block;width:100%;height:1px;background:currentColor}
.menu-button[aria-expanded="true"] .menu-icon i:first-child{transform:translateY(8.5px) rotate(45deg)}
.menu-button[aria-expanded="true"] .menu-icon i:nth-child(2){opacity:0}
.menu-button[aria-expanded="true"] .menu-icon i:last-child{transform:translateY(-8.5px) rotate(-45deg)}
@media(max-width:760px){.header nav a{color:var(--ink);-webkit-text-fill-color:var(--ink)}.welcome{display:flex;flex-direction:column;align-items:stretch;gap:30px}.welcome-visual{display:contents}.welcome-visual .eyebrow{order:0;margin:0}.welcome>div:not(.welcome-visual){order:1}.welcome-visual .editorial-photo{order:2;width:100%;max-height:none;aspect-ratio:1/1}}
/* Consistently centered typography on phones. */
@media(max-width:760px){
 body{text-align:center}
 p{margin-left:auto;margin-right:auto}
 .hero-copy,.page-intro,.welcome,.theme-preview,.about-preview,.article-layout,.topics,.steps,.practical,.contact-layout,footer{text-align:center}
 .hero-photo .photo-note{left:16px;right:16px;text-align:center}
 .hero-bottom{justify-content:center;flex-wrap:wrap;gap:12px 30px}
 .header nav{align-items:center}.header nav a{width:100%;text-align:center}
 .section-top .text-link,.about-preview .text-link{margin-left:auto;margin-right:auto}
 .name-panel{align-items:center}.name-panel p{text-align:center}
 .topic{justify-content:center}.topic span{flex-shrink:0}
 .step{grid-template-columns:1fr;gap:18px}.step-num{text-align:center}
 .note{margin-left:auto;margin-right:auto}
 .price{justify-content:center;gap:24px;flex-wrap:wrap}
 summary{display:block;text-align:center}summary:after{display:inline-block;margin-left:14px}
 .contact-layout>div,.contact-location{text-align:center}
 form,label,input,textarea,select{text-align:center}
 .check{justify-content:center}.check span{text-align:center}
 .button{justify-content:center}
 .footer-top{justify-items:center}.footer-top>div{align-items:center}
 .footer-bottom{align-items:center;text-align:center}
}
/* Vector arrows stay monochrome on every operating system. */
.arrow-icon{display:inline-block;width:1.1em;height:1.1em;flex:none;vertical-align:-.15em;color:inherit}
.button .arrow-icon,.text-link .arrow-icon{width:17px;height:17px}
.small-link .arrow-icon,.footer-top .arrow-icon,.hero-bottom .arrow-icon{margin-left:5px}
@media(max-width:760px){.header{position:sticky;top:0;z-index:100;background:var(--paper)}.header nav.open{max-height:calc(100svh - 100px);overflow-y:auto;overscroll-behavior:contain}html{scroll-padding-top:calc(var(--header-height,100px) + 16px)}}

.photo-note{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.3)}
.reviews{padding-top:75px;padding-bottom:90px;text-align:center;border-top:1px solid var(--line)}
.reviews>.eyebrow{margin-left:auto;margin-right:auto}.reviews h2{line-height:1.2}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:45px;text-align:left}
.review-card{background:#f1ece5;padding:34px 30px;min-height:220px;display:flex;flex-direction:column}
.review-label{font-size:11px;letter-spacing:.15em;color:var(--muted)}
.review-placeholder{font-family:var(--serif);font-size:25px;line-height:1.35;letter-spacing:-.02em;margin-top:25px;color:#70695f}
.review-status{font-size:12px;margin-top:auto;padding-top:24px;color:var(--muted)}
.review-design-note{font-size:12px;color:var(--muted);margin:24px auto 0}
@media(max-width:760px){.reviews{padding-top:50px;padding-bottom:60px}.review-grid{grid-template-columns:1fr;gap:18px;margin-top:30px;text-align:center}.review-card{min-height:190px;padding:28px}.review-placeholder{font-size:23px}}
.review-viewport{overflow:hidden;margin-top:45px;touch-action:pan-y}
.review-track{display:flex;gap:26px;transition:transform .55s ease}
.review-track .review-card{flex:0 0 calc((100% - 52px)/3);min-width:0;text-align:left}
.review-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:28px}
.review-controls button{color:var(--ink);background:transparent;border:1px solid var(--line);height:44px;min-width:44px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.review-controls button:hover{background:var(--sand)}.review-prev svg{transform:rotate(-135deg)}.review-next svg{transform:rotate(45deg)}
.review-position{font-size:13px;font-variant-numeric:tabular-nums;min-width:60px}.review-controls .review-pause{font-size:12px;padding:0 14px}
.trust-note{text-align:center;padding-top:50px;padding-bottom:60px;border-top:1px solid var(--line)}.trust-note .eyebrow{margin:0 auto 20px}.trust-note h2{font-size:clamp(1.8rem,2.5vw,2.4rem)}.trust-note>p:last-child{max-width:590px;margin:22px auto 0;color:var(--muted)}
@media(max-width:760px){.review-viewport{margin-top:30px}.review-track{gap:18px}.review-track .review-card{flex-basis:100%;text-align:center}.review-controls{gap:12px}.trust-note{padding-top:40px;padding-bottom:45px}}
@media(prefers-reduced-motion:reduce){.review-track{transition:none}}

.header{position:sticky;top:0;z-index:100;background:var(--paper)}
html{scroll-padding-top:calc(var(--header-height,110px) + 16px)}
/* Compact review transition and dot-only navigation. */
.about-preview:has(+ .reviews){padding-bottom:50px}
.reviews{padding-top:38px;border-top:0;padding-bottom:60px}
.review-dots{display:flex;justify-content:center;align-items:center;gap:0;margin-top:20px}
.review-dots button{appearance:none;-webkit-appearance:none;display:grid;place-items:center;width:32px;height:44px;padding:0;background:transparent;border:0;cursor:pointer;color:var(--ink)}
.review-dots button:before{content:'';width:7px;height:7px;border:1px solid #958775;border-radius:50%;background:transparent}
.review-dots button[aria-pressed="true"]:before{background:var(--ink);border-color:var(--ink)}
.review-dots button:hover:before{background:#b8aa98}
@media(max-width:760px){.about-preview:has(+ .reviews){padding-bottom:30px}.reviews{padding-top:25px;padding-bottom:45px}}
.review-viewport{cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-y pinch-zoom}
.review-viewport.is-dragging{cursor:grabbing}
.review-viewport.is-dragging .review-track{transition:none}
/* Redesigned About page: portrait-led story and clear visual rhythm. */
.about-quote{padding-top:64px;padding-bottom:64px;border-bottom:1px solid var(--line)}
.about-quote .eyebrow{margin-bottom:20px}.about-quote>p:last-child{font-family:var(--serif);font-size:clamp(2.2rem,4vw,4.5rem);line-height:1.08;letter-spacing:-.05em;max-width:650px}
.about-story{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(40px,7vw,115px);align-items:center;padding-top:100px;padding-bottom:100px}
.about-story-photo{margin:0;position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--sand)}.about-story-photo img{object-position:57% center}.about-story-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:22px 25px;background:linear-gradient(transparent,rgba(32,26,20,.64));color:#fff;font-family:var(--serif);font-size:20px;font-style:italic;line-height:1.25}
.about-story-copy h2{margin-bottom:27px}.about-story-copy p:not(.eyebrow){color:var(--muted)}
.about-principles{background:var(--sand);padding-top:90px;padding-bottom:90px}.about-principles>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,10vw,160px)}.about-principles h2{font-size:clamp(2.2rem,3.5vw,3.7rem);line-height:1.13}.about-principles-copy{padding-top:35px}.about-principles-copy p{color:#625c53}
.about-education{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,10vw,160px);padding-top:100px;padding-bottom:100px}.about-education h2{font-size:clamp(2.2rem,3.2vw,3.3rem);line-height:1.15}.about-education .education{margin:0;padding:0}.about-education .education li:first-child{border-top:1px solid var(--line)}
@media(max-width:760px){.about-quote{padding-top:45px;padding-bottom:45px}.about-quote>p:last-child{font-size:2.3rem}.about-story{grid-template-columns:1fr;gap:38px;padding-top:55px;padding-bottom:55px;text-align:center}.about-story-photo{aspect-ratio:1/1}.about-story-copy h2{font-size:2.2rem}.about-principles{padding-top:55px;padding-bottom:55px}.about-principles>.wrap{grid-template-columns:1fr;gap:18px}.about-principles-copy{padding-top:0}.about-education{grid-template-columns:1fr;gap:35px;padding-top:55px;padding-bottom:55px}.about-education .education{text-align:center}}
/* Homepage introduction: text left, image and name right on wider screens. */
@media(min-width:761px){.about-preview>.about-visual{order:2}.about-preview>div:not(.about-visual){order:1}}
@media(min-width:761px){.about-preview{gap:clamp(90px,11vw,180px)}}
/* Refined About page hierarchy. */
@media(min-width:1051px){
 .about-preview>.about-visual{position:relative}
 .about-preview>.about-visual .name-panel{position:absolute;left:calc(100% + 26px);bottom:2px;width:158px;margin:0;padding:0;white-space:normal}
 .about-preview>.about-visual .name-panel>p{font-size:1.65rem;line-height:1.1}
 .about-preview>.about-visual .name-panel>span:last-child{line-height:1.65}
}
.about-quote{padding-top:48px;padding-bottom:48px}
.about-quote>p:last-child{font-size:clamp(1.8rem,2.65vw,2.85rem);line-height:1.15;max-width:530px}
.about-principles h2{font-size:clamp(2rem,2.8vw,3rem);max-width:590px;line-height:1.13}
.about-education{grid-template-columns:minmax(0,1fr) minmax(170px,.58fr) minmax(0,1fr);align-items:center;gap:clamp(35px,5vw,80px)}
.education-photo{margin:0;aspect-ratio:3/4;overflow:hidden;background:var(--sand)}.education-photo img{object-fit:cover}
.about-education .education{counter-reset:education}.about-education .education li{position:relative;padding:23px 0 23px 42px;min-height:80px}.about-education .education li:before{counter-increment:education;content:'0' counter(education);position:absolute;left:0;top:24px;font-size:11px;letter-spacing:.12em;color:#897b68}.about-education .education strong{font-size:17px}.about-education .education span{margin-top:3px}
@media(max-width:760px){.about-quote{padding-top:35px;padding-bottom:35px}.about-quote>p:last-child{font-size:1.9rem}.about-principles h2{font-size:2rem}.about-education{grid-template-columns:1fr;gap:28px}.education-photo{aspect-ratio:4/3;max-width:420px;width:100%;margin:auto}.about-education .education li{padding-left:0;text-align:center}.about-education .education li:before{position:static;display:block;margin-bottom:7px}}
/* Name returns below the image, aligned with its right edge. */
@media(min-width:1051px){
 .about-preview>.about-visual .name-panel{position:static;width:auto;margin:22px 0 0;padding:0;align-items:flex-end;text-align:right}
 .about-preview>.about-visual .name-panel>p{font-size:2rem;line-height:1.1;text-align:right}
 .about-preview>.about-visual .name-panel>span:last-child{text-align:right}
}
/* Keep Elke's signature block within the photo width. */
.about-preview > .about-visual .name-panel{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  align-items:flex-end;
  text-align:right;
}
.about-preview > .about-visual .name-panel > p,
.about-preview > .about-visual .name-panel > span:last-child{text-align:right}
/* Homepage signature: below the photo, aligned left. */
.about-preview > .about-visual .name-panel{
  align-items:flex-start;
  text-align:left;
}
.about-preview > .about-visual .name-panel > p,
.about-preview > .about-visual .name-panel > span:last-child{text-align:left}
/* About page: smaller portrait under the working-method quote. */
@media (min-width:761px){
  .about-story{grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr);gap:clamp(60px,10vw,170px);align-items:start;padding-top:48px}
  .about-story-photo{width:100%;max-width:310px;aspect-ratio:3/4;margin-top:-185px}
  .about-story-copy{padding-top:185px}
}
@media (max-width:760px){
  .about-story-photo{max-width:300px;margin:0 auto;aspect-ratio:3/4}
  .about-story{padding-top:38px}
}
/* About introduction: Elke's story and quote left, image right. */
.about-story{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(60px,9vw,145px);align-items:start;padding-top:100px}
.about-story-copy{padding-top:0}
.about-story-photo{width:100%;max-width:none;aspect-ratio:4/5;margin:0}
.about-story-quote{border-top:1px solid var(--line);margin-top:52px;padding-top:35px}
.about-story-quote .eyebrow{margin-bottom:17px}
.about-story-quote>p:last-child{font-family:var(--serif);font-size:clamp(1.8rem,2.65vw,2.85rem);line-height:1.15;letter-spacing:-.05em;max-width:530px}
@media(max-width:760px){
 .about-story{grid-template-columns:1fr;gap:38px;padding-top:55px;padding-bottom:55px;text-align:center}
 .about-story-copy{padding-top:0}.about-story-photo{max-width:420px;margin:auto;aspect-ratio:1/1}
 .about-story-quote{margin-top:40px;padding-top:30px}
}
/* Themes: clear, calm overview instead of a long list. */
.themes-overview{padding-top:105px;padding-bottom:110px}
.themes-overview-intro{max-width:650px;margin-bottom:65px}
.themes-overview-intro h2{margin-bottom:25px}.themes-overview-intro>p:not(.eyebrow){color:var(--muted);font-size:17px}
.theme-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.theme-card{border-top:1px solid var(--ink);padding:24px 4px 6px;min-height:445px;display:flex;flex-direction:column}
.theme-card .number{font-size:11px;letter-spacing:.15em;color:#897b68}.theme-card h3{font-size:clamp(1.85rem,2.35vw,2.45rem);line-height:1.08;margin:36px 0 20px}.theme-card>p{color:var(--muted);font-size:15px;line-height:1.65;min-height:74px}.theme-card ul{list-style:none;padding:23px 0 0;margin:26px 0 0;border-top:1px solid var(--line)}.theme-card li{font-size:14px;padding:8px 0;border-bottom:1px solid #e5ded4}.theme-card li:before{content:'—';color:#8b7b66;margin-right:10px}
.themes-closing{background:var(--sand);padding:85px 0}.themes-closing h2{margin-bottom:22px}.themes-closing p:not(.eyebrow){color:#625c53;font-size:17px}.themes-closing .text-link{margin-top:26px}
@media(max-width:760px){.themes-overview{padding-top:60px;padding-bottom:65px}.themes-overview-intro{margin-bottom:42px}.theme-cards{grid-template-columns:1fr;gap:40px}.theme-card{min-height:0;text-align:center;padding-top:20px}.theme-card>p{min-height:0}.theme-card ul{margin-top:20px}.themes-closing{padding:60px 0}.themes-closing h2{font-size:2.35rem}}
/* About introduction: photo left, copy right. */
@media(min-width:761px){
 .about-story-photo{grid-column:1;grid-row:1}
 .about-story-copy{grid-column:2;grid-row:1}
}
/* Themes: separated editorial rows with alternating imagery. */
.theme-cards{display:block}
.theme-card{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:clamp(50px,10vw,170px);align-items:center;border-top:1px solid var(--line);padding:75px 0;min-height:0}
.theme-card:first-child{border-top:1px solid var(--ink)}
.theme-card:nth-child(even) .theme-card-photo{order:2}
.theme-card-photo{margin:0;aspect-ratio:1.25/1;overflow:hidden;background:var(--sand)}
.theme-card-photo img{width:100%;height:100%;object-fit:cover}
.theme-card-copy{max-width:500px}.theme-card:nth-child(even) .theme-card-copy{justify-self:end}
.theme-card .number{font-size:11px;letter-spacing:.15em;color:#897b68}.theme-card h3{font-size:clamp(2.15rem,3vw,3.35rem);line-height:1.05;margin:25px 0 18px}.theme-card-copy>p{color:var(--muted);font-size:16px;line-height:1.7}.theme-card ul{list-style:none;padding:22px 0 0;margin:27px 0 0;border-top:1px solid var(--line)}.theme-card li{font-size:15px;padding:9px 0;border-bottom:1px solid #e5ded4}.theme-card li:before{content:'—';color:#8b7b66;margin-right:10px}
@media(max-width:760px){.theme-card{grid-template-columns:1fr;gap:30px;padding:52px 0;text-align:center}.theme-card:nth-child(even) .theme-card-photo{order:0}.theme-card:nth-child(even) .theme-card-copy{justify-self:stretch}.theme-card-photo{max-width:420px;width:100%;margin:auto;aspect-ratio:4/3}.theme-card ul{margin-top:20px}}
/* Themes begin directly after the page introduction. */
.themes-overview{padding-top:45px}
@media(max-width:760px){.themes-overview{padding-top:25px}}
/* Equal, wide theme photos with a softer separation. */
.theme-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.theme-card:first-child{border-top-color:var(--line)}
.theme-card-photo{width:100%;height:450px;aspect-ratio:auto}
@media(max-width:760px){.theme-card-photo{height:auto;aspect-ratio:4/3}}
/* Avoid a duplicate divider before the first theme. */
.theme-card:first-child{border-top:0}
/* A quiet visual counterweight in the themes closing section. */
.themes-closing .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.45fr);gap:clamp(50px,12vw,180px);align-items:center}
.themes-closing-visual{margin:0;aspect-ratio:4/5;max-height:325px;justify-self:end;width:100%;overflow:hidden;position:relative}
.themes-closing-visual:after{content:'';position:absolute;inset:18px;border:1px solid rgba(255,255,255,.68);pointer-events:none}.themes-closing-visual img{width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.themes-closing .wrap{display:block}.themes-closing-visual{display:none}}
/* Restore the original closing copy and add a quiet graphic detail on the right. */
.themes-closing .wrap{display:block;position:relative}
.themes-closing-visual{display:none}
.themes-closing .wrap:before,.themes-closing .wrap:after{content:'';position:absolute;pointer-events:none;border:1px solid rgba(117,101,80,.28)}
.themes-closing .wrap:before{width:285px;height:285px;right:7%;top:50%;transform:translateY(-50%);border-radius:48% 52% 50% 50% / 55% 44% 56% 45%}
.themes-closing .wrap:after{width:185px;height:185px;right:15%;top:50%;transform:translateY(-50%);border-radius:50%}
@media(max-width:760px){.themes-closing .wrap:before,.themes-closing .wrap:after{display:none}}
/* Centered themes call-to-action without decorative graphics. */
.themes-closing{text-align:center}
.themes-closing .wrap:before,.themes-closing .wrap:after{display:none}
.themes-closing .eyebrow,.themes-closing p{margin-left:auto;margin-right:auto}
.themes-closing .text-link{display:inline-flex;background:var(--ink);color:#fff;border:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:15px 22px;gap:30px;margin-top:28px}
.themes-closing .text-link:hover{background:#554c40}
/* Refined practical information page. */
.practical{max-width:1280px;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:clamp(55px,9vw,145px);padding-top:105px;padding-bottom:115px}
.location{background:transparent;padding:0}.location .location-photo{margin:0 0 36px;aspect-ratio:1.25/1;overflow:hidden}.location h2{font-size:clamp(2.3rem,3.3vw,3.35rem);margin-bottom:17px}.location hr{margin:36px 0;border-color:var(--line)}
.practical>div>h2{font-size:clamp(2.5rem,3.6vw,3.8rem);margin-bottom:32px}.price{padding:24px 0;align-items:center}.price strong{font-size:2rem}.practical>div>p{font-size:14px}.practical .space-top{margin-top:70px}.practical details{padding:22px 0}.practical summary{font-family:var(--serif);font-size:1.5rem;letter-spacing:-.025em}
/* Refined appointment page. */
.contact-layout{max-width:1280px;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:clamp(55px,9vw,145px);padding-top:95px;padding-bottom:115px}.contact-photo{margin:0 0 35px;aspect-ratio:1.35/1}.contact-layout>div>p:not(.eyebrow){font-size:16px}.contact-email{font-family:var(--serif);font-size:clamp(1.2rem,1.8vw,1.55rem);text-decoration:none;border-bottom:1px solid var(--ink);display:inline-block;padding-bottom:5px}.contact-phone{font-size:2.55rem;margin:26px 0}.contact-location{margin-top:42px;padding-top:25px}
.contact-layout form{background:var(--sand);padding:clamp(30px,4vw,58px)}.contact-layout form h2{font-size:clamp(2.2rem,3vw,3.25rem);margin-bottom:15px}.contact-layout form .button{margin-top:10px}
@media(max-width:760px){.practical,.contact-layout{padding-top:55px;padding-bottom:65px}.location .location-photo{aspect-ratio:4/3}.practical .space-top{margin-top:55px}.contact-photo{aspect-ratio:4/3}.contact-email{font-size:1.08rem}.contact-phone{font-size:2.15rem}}
/* Practical page: fixed location panel, clear agreements, rates at the end. */
.practical-overview{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:clamp(60px,10vw,170px);padding-top:100px;padding-bottom:105px}
.practical-overview .location{background:var(--sand);padding:35px;align-self:start}.practical-overview .location .location-photo{margin:-35px -35px 35px;aspect-ratio:1.25/1}.practical-overview .location h2{font-size:2.5rem}.practical-trust h2{font-size:clamp(2.5rem,3.7vw,3.85rem);margin-bottom:42px}.practical-trust article{border-top:1px solid var(--line);padding:26px 0 29px}.practical-trust article h3{font-size:1.65rem;margin-bottom:16px}.practical-trust article p{color:var(--muted);font-size:15px;line-height:1.75}
.pricing-section{border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(55px,10vw,170px);padding-top:95px;padding-bottom:105px}.pricing-section h2{font-size:clamp(2.4rem,3.4vw,3.5rem);margin-bottom:22px}.pricing-section>div>p:not(.eyebrow){color:var(--muted)}.price-packages{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.price-packages article{border:1px solid var(--line);padding:30px;min-height:210px;display:flex;flex-direction:column}.price-packages span{font-size:11px;letter-spacing:.14em}.price-packages h3{font-size:1.55rem;margin-top:32px}.price-packages strong{font-family:var(--serif);font-size:2.35rem;font-weight:400;margin-top:auto}
@media(max-width:760px){.practical-overview,.pricing-section{grid-template-columns:1fr;gap:45px;padding-top:55px;padding-bottom:60px}.practical-overview .location{padding:27px}.practical-overview .location .location-photo{margin:-27px -27px 30px}.practical-trust h2{font-size:2.45rem;margin-bottom:30px}.pricing-section{padding-top:60px}.price-packages{grid-template-columns:1fr}.price-packages article{min-height:170px;text-align:center}}
/* Appointment page: concise details and an introductory contact form. */
.contact-details-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0 20px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:28px}.contact-details-list .contact-email,.contact-details-list .contact-phone{font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.5;margin:0;text-decoration:none;border:0}.contact-details-list .contact-phone{font-size:1.25rem}.contact-details-list p{font-size:14px;line-height:1.65;margin:3px 0 0}.contact-layout form h2{font-size:clamp(1.85rem,2.45vw,2.35rem);white-space:nowrap}.contact-layout form .form-note{margin-bottom:25px}.contact-layout form textarea{min-height:125px}
@media(max-width:760px){.contact-layout form h2{white-space:normal;font-size:2rem}.contact-details-list{align-items:center}}

/* Clear, compact contact information on the appointment page. */
.contact-details-list{gap:18px}.contact-details-list>div{display:flex;flex-direction:column;gap:4px}.contact-details-list .contact-label{font-size:10px;letter-spacing:.14em;line-height:1.2}.contact-details .contact-photo{margin-top:48px}
@media(max-width:760px){.contact-details .contact-photo{margin-top:38px}.contact-details-list>div{align-items:center}}
/* Appointment columns: equal visual weight. */
.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.contact-details-list .contact-email{font-size:1.14rem}
.contact-details-list .contact-phone{font-size:1.45rem}
.contact-details-list p{font-size:15px}

/* Compact submit action without a consent checkbox. */
.contact-layout form .contact-submit{padding:13px 20px;gap:24px;font-size:14px}
/* Give the appointment form a little more room than the contact column. */
.contact-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
/* Make the complete beige appointment panel distinctly wider on desktop. */
@media(min-width:761px){.contact-layout{grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr)}}
/* Final mobile system: calm, centred and comfortably touch-friendly. */
@media (max-width:760px){
  body{font-size:15px;line-height:1.7}
  .wrap{padding-left:7%;padding-right:7%}
  .header{padding:15px 7%;min-height:78px;flex-wrap:nowrap;gap:18px}
  .brand{font-size:1.42rem;text-align:left}
  .brand span{font-size:8px;letter-spacing:.15em;margin-top:7px}
  .menu-button{margin-left:auto;min-height:44px;padding:8px 0;font-size:13px}
  .header nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:8px 7% 16px;box-shadow:0 14px 22px rgba(48,45,40,.06)}
  .header nav a{padding:12px 0;text-align:center;border-bottom:1px solid var(--line)}
  .header nav .nav-cta{margin-top:8px;border:1px solid var(--ink);padding:13px 16px}
  .hero{min-height:auto;padding-top:22px}
  .hero-copy{padding:8px 0 28px}
  .hero h1{font-size:clamp(2.35rem,10vw,3.15rem);line-height:1.12}
  .hero-desc{font-size:15px;line-height:1.7;margin:20px auto 0}
  .hero .button{margin:24px auto 0}
  .hero-note{margin:17px auto 0!important;max-width:28ch}
  .hero-photo{min-height:0;aspect-ratio:4/5;max-height:470px}
  .hero-bottom{padding:17px 0 21px;line-height:1.45}
  .page-intro{padding-top:48px;padding-bottom:48px}
  .page-intro h1{font-size:clamp(2.35rem,9vw,3.1rem);line-height:1.12}
  .page-intro .lead{font-size:16px;line-height:1.7;margin:21px auto 0}
  .eyebrow{margin-bottom:18px;letter-spacing:.14em}
  h2,.welcome h2,.closing h2{font-size:clamp(2rem,8vw,2.55rem);line-height:1.14}
  .welcome{padding-top:52px;padding-bottom:55px;gap:28px}
  .welcome-visual .eyebrow{margin-bottom:0}
  .welcome h2{margin-bottom:22px}
  .welcome p:not(.eyebrow),.about-preview p:not(.eyebrow),.about-story p:not(.eyebrow),.about-principles-copy p{margin-left:auto;margin-right:auto}
  .welcome-visual .editorial-photo{aspect-ratio:4/5;max-height:460px}
  .theme-preview{padding:55px 0}
  .section-top .text-link{margin-top:20px}
  .theme-columns{margin-top:32px;gap:30px}
  .theme-columns>a{padding-top:20px}
  .theme-columns h3{font-size:2rem;margin:12px 0 12px}
  .small-link{margin-top:16px}
  .about-preview{padding-top:55px;padding-bottom:48px;gap:32px}
  .about-visual .portrait{aspect-ratio:4/5;max-height:460px}
  .about-visual .name-panel{padding-top:17px}
  .about-preview h2{margin-bottom:20px}
  .reviews{padding-top:30px;padding-bottom:52px}
  .review-viewport{margin-top:25px}
  .review-card{min-height:175px;padding:24px 22px}
  .closing{padding:58px 7%}
  .closing .button{margin-top:27px}
  .button{min-height:48px;padding:13px 18px;font-size:14px}
  .text-link{font-size:14px;gap:20px}
  .about-story,.about-principles,.about-education,.themes-overview,.steps,.practical-overview,.pricing-section,.contact-layout{padding-top:52px;padding-bottom:56px}
  .about-story{gap:30px}.about-story-photo{aspect-ratio:4/5;max-width:390px}
  .about-principles>.wrap{gap:18px}.about-principles-copy p{line-height:1.75}
  .about-education{gap:25px}.education-photo{aspect-ratio:4/3}
  .theme-card{padding:42px 0;gap:24px}.theme-card h3{font-size:2.2rem}.theme-card ul{padding-left:0}.theme-card li{font-size:15px}
  .themes-closing{padding:58px 0}.themes-closing h2{font-size:2.25rem}
  .step{grid-template-columns:1fr;gap:13px;padding:32px 0;text-align:center}.step-num{font-size:2.4rem}.step h2{font-size:2rem;margin-bottom:16px}
  .note{margin:28px auto 0}
  .practical-overview,.pricing-section{gap:38px}.practical-overview .location{padding:26px}.practical-overview .location .location-photo{margin:-26px -26px 27px}.practical-trust h2{font-size:2.25rem}.practical-trust article{padding:22px 0}.practical-trust article h3{font-size:1.45rem}.price-packages{gap:14px}.price-packages article{padding:25px;min-height:155px}
  .contact-layout{gap:40px}.contact-details-list{align-items:center;text-align:center;padding:17px 0}.contact-details .contact-photo{aspect-ratio:4/3;max-height:330px;margin-top:34px}.contact-layout form{padding:28px 22px;text-align:center}.contact-layout form h2{font-size:2rem}.contact-layout form .form-note{margin-left:auto;margin-right:auto}.contact-layout form label{text-align:left;margin-top:19px}.contact-layout form input,.contact-layout form textarea{text-align:left;font-size:16px}.contact-layout form textarea{min-height:135px}.contact-layout form .contact-submit{margin-top:22px;width:auto;min-width:142px;justify-content:center}
  footer{padding:45px 7% 19px;text-align:center}.footer-top{gap:24px}.footer-top>div{align-items:center}.footer-bottom{align-items:center;text-align:center;line-height:1.5}
}

/* Home: show the essential content first on phone. */
@media(max-width:760px){
 .hero-note{display:none}
 .about-preview>div:not(.about-visual){order:1}
 .about-preview>.about-visual{order:2}
 .about-preview>.about-visual .name-panel{display:none}
}

/* Keep the About principles title in two deliberate lines. */
.about-principles h2{font-size:clamp(2rem,2.5vw,2.65rem);letter-spacing:-.055em}
@media(max-width:760px){.about-principles h2{font-size:5.8vw;white-space:nowrap;letter-spacing:-.06em}}
/* Themes: purpose-built one-column mobile journey. */
@media(max-width:760px){
  .themes-overview{padding-top:20px;padding-bottom:0}
  .theme-cards{margin:0 -7vw}
  .theme-card{display:flex;flex-direction:column;gap:22px;padding:42px 7% 48px;text-align:center;border-top:1px solid var(--line)}
  .theme-card:first-child{border-top:0;padding-top:24px}
  .theme-card:nth-child(even) .theme-card-photo{order:0}
  .theme-card-photo{width:100%;height:auto;max-width:none;aspect-ratio:1.35/1;margin:0;overflow:hidden}
  .theme-card-copy{max-width:100%;width:100%}
  .theme-card .number{display:block;margin-bottom:17px;font-size:11px;letter-spacing:.16em}
  .theme-card h3{font-size:clamp(2.15rem,10vw,2.7rem);line-height:1.05;margin:0 0 16px}
  .theme-card-copy>p{font-size:15px;line-height:1.7;max-width:29ch;margin:0 auto}
  .theme-card ul{display:grid;gap:0;margin:23px auto 0;padding:0;border-top:1px solid var(--line);max-width:330px}
  .theme-card li{font-size:14px;line-height:1.45;padding:11px 0;text-align:center}
  .theme-card li:before{display:none}
  .themes-closing{margin-top:0;padding:56px 0 60px}
  .themes-closing .wrap{padding-left:9%;padding-right:9%}
  .themes-closing h2{font-size:2.25rem;line-height:1.13}
  .themes-closing p:not(.eyebrow){font-size:15px;line-height:1.7;margin-left:auto;margin-right:auto}
  .themes-closing .text-link{margin-top:25px}
}
/* Appointment + process: dedicated mobile layouts. */
@media(max-width:760px){
  .contact-layout{padding-top:38px;padding-bottom:0;gap:34px}
  .contact-details .eyebrow{margin-bottom:16px}
  .contact-details-list{gap:16px;margin-bottom:23px}
  .contact-details-list .contact-email{font-size:1.08rem;overflow-wrap:anywhere}
  .contact-details-list .contact-phone{font-size:1.35rem}
  .contact-details>p:not(.eyebrow){max-width:31ch;margin-left:auto;margin-right:auto}
  .contact-details .contact-photo{margin:30px auto 0;max-width:390px;aspect-ratio:1.3/1}
  .contact-layout form{margin:8px -7vw 0;padding:34px 7% 42px}
  .contact-layout form h2{font-size:1.78rem;white-space:nowrap;line-height:1.15}
  .contact-layout form .form-note{max-width:30ch;margin-bottom:24px}
  .contact-layout form label{font-size:14px;margin-top:18px}
  .contact-layout form input{min-height:48px}
  .contact-layout form textarea{min-height:142px}
  .contact-layout form .contact-submit{margin-top:25px;min-height:48px}
  .steps{padding-top:24px;padding-bottom:54px}
  .step{position:relative;gap:11px;padding:30px 0 33px;text-align:center;border-bottom:1px solid var(--line)}
  .step-num{display:grid;place-items:center;width:42px;height:42px;border:1px solid #b6a793;border-radius:50%;margin:0 auto 3px;font-size:1.1rem;color:#8b7b66}
  .step h2{font-size:2rem;margin:0 0 13px}
  .step p{font-size:15px;line-height:1.72;max-width:32ch;margin:0 auto}
  .steps .note{font-size:14px;line-height:1.7;max-width:32ch;margin:28px auto 0}
}
/* Appointment: true single-column mobile contact flow. */
@media(max-width:760px){
  .contact-layout{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-left:7%;padding-right:7%}
  .contact-layout .contact-details{order:1;width:100%;text-align:center;padding-bottom:42px}
  .contact-layout form{order:2;width:100vw;margin:0 calc(50% - 50vw);padding:38px 8% 46px;text-align:center}
  .contact-details-list{width:100%;align-items:center;text-align:center}
  .contact-details-list>div{width:100%;align-items:center}
  .contact-details>p:not(.eyebrow){margin-left:auto;margin-right:auto;text-align:center}
  .contact-details .contact-photo{width:100%;max-width:none;margin:30px 0 0;aspect-ratio:1.45/1;max-height:none}
  .contact-layout form label{text-align:center}
  .contact-layout form input,.contact-layout form textarea{text-align:left}
  .contact-layout form .contact-submit{display:inline-flex;margin-left:auto;margin-right:auto}
}
/* Keep the desktop contact heading, but simplify the mobile flow. */
@media(max-width:760px){.contact-details>.eyebrow{display:none}.contact-details-list{border-top:0;padding-top:0}}

/* Tailored page endings, matching the Themes call-to-action. */
.page-cta{background:var(--sand);padding:82px 0;text-align:center}.page-cta .eyebrow{margin-left:auto;margin-right:auto}.page-cta h2{margin-bottom:22px;line-height:1.13}.page-cta p:not(.eyebrow){max-width:620px;margin:0 auto;color:#625c53;font-size:17px}.page-cta .text-link{display:inline-flex;background:var(--ink);color:#fff;border:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:15px 22px;gap:30px;margin-top:28px}.page-cta .text-link:hover{background:#554c40}
@media(max-width:760px){.page-cta{padding:58px 7%}.page-cta h2{font-size:2.25rem}.page-cta p:not(.eyebrow){font-size:15px;line-height:1.7}.page-cta .text-link{margin-top:25px}}
/* Restore the original mobile step numbers on Verloop. */
@media(max-width:760px){.step-num{display:block;width:auto;height:auto;border:0;border-radius:0;margin:0;font-size:2.4rem;color:#b6a793}}

/* Contact Form 7 keeps the original appointment panel, including its heading. */
.appointment-panel{background:#eee8df;padding:38px}.appointment-panel h2{font-size:2.2rem;margin-bottom:18px}.appointment-panel .wpcf7{margin-top:18px}.appointment-panel .wpcf7 form{background:transparent;padding:0}.appointment-panel .hidden-fields-container{display:none}.appointment-panel .wpcf7-submit{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:13px 20px;font-size:14px;cursor:pointer;margin-top:22px}.appointment-panel .wpcf7-submit:hover{background:#554c40}.appointment-panel .wpcf7-spinner{vertical-align:middle}
@media(max-width:760px){.appointment-panel{width:100vw;margin:0 calc(50% - 50vw);padding:28px 8% 46px;text-align:center}.appointment-panel h2{font-size:2rem}.appointment-panel .form-note{margin-left:auto;margin-right:auto}.appointment-panel label{text-align:left;margin-top:19px}.appointment-panel input,.appointment-panel textarea{text-align:left;font-size:16px}.appointment-panel textarea{min-height:135px}.appointment-panel .wpcf7-submit{min-width:142px;margin-top:22px}}

/* Footer: logo and quote, navigation, contact details. */
footer{padding-top:68px}
footer .footer-top{display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(180px,.8fr) minmax(280px,1fr);gap:clamp(55px,8vw,130px);align-items:start;padding-bottom:58px}
footer .footer-brand,footer .footer-nav,footer .footer-contact{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
footer .footer-brand .brand{font-size:1.8rem}
footer .footer-brand>p{font-family:var(--serif);font-size:17px;line-height:1.45;letter-spacing:-.015em;margin:24px 0 0;max-width:24ch;color:#eee9e0}
footer .footer-nav>span,footer .footer-contact>span{display:block;font-family:Arial,Helvetica,sans-serif;font-size:10px;line-height:1.4;letter-spacing:.18em;color:#bcb5aa;margin:2px 0 20px}
footer .footer-nav a,footer .footer-contact a{display:block;width:fit-content;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.45;color:#eee9e0;margin:0 0 10px}
footer .footer-nav a:hover,footer .footer-contact a:hover{color:#cfc5b8}
footer .footer-contact a:first-of-type{overflow-wrap:anywhere}
footer .footer-contact p{font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.65;letter-spacing:0;color:#bcb5aa;margin:7px 0 0;max-width:28ch}
footer .footer-bottom{padding-top:22px;padding-bottom:2px}
@media(max-width:760px){
  .appointment-panel{margin-bottom:58px}
  footer{padding-top:50px}
  footer .footer-top{grid-template-columns:1fr;gap:42px;text-align:center;padding-bottom:42px}
  footer .footer-brand,footer .footer-nav,footer .footer-contact{align-items:center}
  footer .footer-brand>p{margin-left:auto;margin-right:auto}
  footer .footer-nav>span,footer .footer-contact>span{margin-bottom:16px}
  footer .footer-nav a,footer .footer-contact a{margin-left:auto;margin-right:auto}
  footer .footer-contact p{text-align:center;margin-left:auto;margin-right:auto}
}

/* Reliable phone layout for Contact Form 7 and the new footer. */
@media(max-width:820px){
  .contact-layout{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:none;gap:0;padding:38px 7% 0;overflow:visible}
  .contact-layout .contact-details{order:1;width:100%;padding-bottom:42px;text-align:center}
  .contact-layout .appointment-panel{order:2;box-sizing:border-box;width:100vw;max-width:none;margin:0 calc(50% - 50vw) 64px;padding:38px max(7%,24px) 48px;text-align:center}
  .appointment-panel h2{font-size:clamp(1.8rem,8vw,2.15rem);line-height:1.12;white-space:normal}
  .appointment-panel .form-note{max-width:31ch;margin:0 auto 24px}
  .appointment-panel .wpcf7{width:100%;max-width:640px;margin:22px auto 0}
  .contact-layout .appointment-panel .wpcf7 form{display:block;width:100%;margin:0;padding:0;background:transparent;text-align:left}
  .appointment-panel .wpcf7 form p{width:100%;max-width:none;margin:0 0 18px}
  .appointment-panel .wpcf7 form label{display:block;width:100%;margin:0;text-align:left}
  .appointment-panel .wpcf7-form-control-wrap{display:block;width:100%;margin-top:7px}
  .appointment-panel input:not([type="submit"]),.appointment-panel textarea{display:block;width:100%;max-width:none;min-height:48px;font-size:16px;text-align:left}
  .appointment-panel textarea{min-height:140px}
  .appointment-panel .wpcf7-submit{display:block;width:auto!important;min-width:132px;margin:24px auto 0}
  .appointment-panel .wpcf7-spinner{display:block;margin:12px auto 0}

  footer{padding:50px 7% 20px;text-align:center}
  footer .footer-top{display:flex;flex-direction:column;align-items:center;width:100%;gap:40px;padding-bottom:42px;text-align:center}
  footer .footer-brand,footer .footer-nav,footer .footer-contact{display:flex;width:100%;flex-direction:column;align-items:center;text-align:center}
  footer .footer-brand .brand{white-space:normal;text-align:center}
  footer .footer-brand .site-logo{width:auto;max-width:min(230px,80vw);height:auto}
  footer .footer-brand>p{font-size:17px;margin:22px auto 0;text-align:center}
  footer .footer-nav>span,footer .footer-contact>span{margin:0 0 16px}
  footer .footer-nav a,footer .footer-contact a{display:block;width:fit-content;max-width:100%;margin:0 auto 11px;overflow-wrap:anywhere;text-align:center}
  footer .footer-contact p{font-size:14px;margin:7px auto 0;text-align:center}
  footer .footer-bottom{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}
}
