:root{--paper:#f5f1e8;--ink:#292824;--muted:#6b685f;--line:#d7d0c3;--soft:#ece6da}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:2px solid #776349;outline-offset:6px}.skip{position:absolute;left:20px;top:-80px;background:var(--ink);color:var(--paper);padding:12px;z-index:5}.skip:focus{top:10px}.shell{max-width:1440px;margin:auto;padding:0 6%}header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 0;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,'Times New Roman',serif;font-size:26px;letter-spacing:-1px;white-space:nowrap}.brand span{font-style:italic}nav{display:flex;gap:30px;font-size:14px}nav a[aria-current=page]{border-bottom:1px solid var(--ink)}.eyebrow{font-size:12px;letter-spacing:2.3px;text-transform:uppercase;font-weight:400}.hero{padding:64px 0 70px;display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center}.hero-copy{text-align:center;padding:30px 0}.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(62px,7.3vw,108px);line-height:1.03;letter-spacing:-5px;margin:30px 0}.hero h1 em{font-weight:400}.hero p{max-width:340px;margin:0 auto 28px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 26px;background:var(--ink);color:var(--paper);font-size:14px;transition:background .2s}.button:hover{background:#4e493f;text-decoration:none}.hero figure{margin:0}.hero img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--soft)}figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:12px;font-size:12px;color:var(--muted)}.availability{display:block;margin-top:18px;font-size:12px;color:var(--muted)}.section{border-top:1px solid var(--line);padding:85px 0}.intro{text-align:center;max-width:730px;margin:auto}.intro h2,h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(36px,4vw,54px);font-weight:400;line-height:1.2;letter-spacing:-1.4px;margin:20px 0 25px}.intro p{color:var(--muted);max-width:590px;margin:20px auto}.signature{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:23px;color:var(--ink)!important;margin-top:32px!important}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:25px}.section-heading h2{margin:0}.services{display:grid;grid-template-columns:1fr 1fr;gap:7%;margin-top:45px}.service{border-top:1px solid var(--line);padding-top:25px}.service h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:31px;margin:12px 0}.service p{color:var(--muted);max-width:440px}.tags{font-size:13px;letter-spacing:.3px;color:var(--muted)}.process{display:grid;grid-template-columns:repeat(5,1fr);gap:3%;margin-top:44px}.step{border-top:1px solid var(--line);padding-top:22px}.number{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:22px;color:var(--muted)}.step h3{font-weight:400;font-size:19px;margin:15px 0 10px}.step p{color:var(--muted);font-size:15px}.about{display:grid;grid-template-columns:.8fr 1fr;gap:12%;align-items:start}.about h2{margin:18px 0}.about p{color:var(--muted);margin:0 0 18px}.inquiry{text-align:center;padding:80px 24px;background:var(--soft);margin-bottom:75px}.inquiry h2{margin:22px auto;max-width:650px}.inquiry p{max-width:490px;margin:0 auto 28px;color:var(--muted)}.inquiry .small{font-size:13px;margin:20px auto 0}footer{padding:28px 0 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}footer .brand{font-size:21px}footer p,footer a.social{font-size:13px;color:var(--muted)}.empty{min-height:65vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:70px 0}.empty h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(60px,8vw,100px);line-height:1.1;letter-spacing:-3px;margin:20px 0}.empty p{max-width:420px;color:var(--muted)}.text-link{display:inline-block;margin-top:22px;border-bottom:1px solid var(--ink);font-size:14px}@media(min-width:1600px){.hero{padding-top:80px}}@media(max-width:760px){.shell{padding:0 6%}header{flex-direction:column;gap:15px;padding:24px 0 20px}nav{gap:25px;font-size:14px}.brand{font-size:27px}.hero{grid-template-columns:1fr;gap:35px;padding:30px 0 48px}.hero-copy{padding:15px 0 0}.hero h1{font-size:76px;letter-spacing:-3.5px;margin:24px 0}.hero p{max-width:300px}.hero figure{max-width:460px;width:100%;margin:auto}.hero img{aspect-ratio:1/1.05}.section{padding:55px 0}.services,.process,.about{grid-template-columns:1fr;gap:28px}.section-heading{display:block}.section-heading .eyebrow{display:block;margin-bottom:15px}.services{margin-top:30px}.process{margin-top:30px}.step p{max-width:480px}.about{gap:18px}.inquiry{padding:55px 20px;margin-bottom:45px}footer{flex-direction:column;text-align:center;gap:5px}footer p{margin:3px 0}.empty{min-height:60vh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(min-width:761px) and (max-width:1050px){.process{grid-template-columns:1fr}.step{display:grid;grid-template-columns:40px 140px 1fr;gap:18px;align-items:baseline}.step h3,.step p{margin:0}}

/* A contrasting, inset panel gives the consultation process its own rhythm. */
.process-section{background:var(--ink);color:var(--paper);border-top:0;padding:64px 4%;margin:0 0 30px}
.process-section .step{border-color:#625e54}
.process-section .step p,.process-section .number,.process-section .eyebrow{color:#d7d0c3}
@media(max-width:760px){.process-section{padding:42px 24px;margin-bottom:12px}}

/* Distinct chapters, with a compact index for direct navigation. */
.section-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:16px 38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 12px;font-size:14px}
.approach-section{border-top:0;padding:90px 0 100px}
.explore-section{border-top:0;background:var(--soft);padding:64px 4%;margin-bottom:40px}
.explore-section .section-heading,.process-section .section-heading{display:block;text-align:center}
.explore-section .section-heading .eyebrow,.process-section .section-heading .eyebrow{display:block;margin-bottom:20px}
.explore-section .section-heading h2,.process-section .section-heading h2{max-width:760px;margin:0 auto}
.explore-section .service{border-color:#c6bdad}
.process-section{margin-bottom:64px}
.about{border-top:0;border-bottom:1px solid var(--line);padding:32px 4% 72px;margin-bottom:64px}
.inquiry{margin-bottom:64px}
@media(max-width:760px){.section-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:center;padding:22px 4px}.approach-section{padding:64px 0}.explore-section{padding:44px 24px;margin-bottom:28px}.explore-section .services{gap:30px}.process-section{margin-bottom:40px}.about{padding:12px 8px 48px;margin-bottom:40px}.inquiry{margin-bottom:40px}}

/* Keep the mobile introduction compact while preserving the desktop portrait. */
@media(max-width:760px){.hero img{aspect-ratio:3/2;max-height:280px;object-fit:cover;object-position:center 65%}.hero{gap:26px}.hero figure{max-width:460px}}

.process-section .process-subtitle{font-size:16px;line-height:1.6;color:#d7d0c3;margin:18px auto 0;max-width:420px}
