@import url('fonts.css');
:root{--paper:#f3eee6;--paper2:#e8dfd3;--ink:#1f2b29;--muted:#64706b;--sage:#75877b;--dark:#20352f;--rust:#ad654d;--cream:#fffaf2;--line:rgba(31,43,41,.18);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65}a{color:inherit}img{max-width:100%;display:block}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;z-index:100;top:10px;left:10px;background:#fff;padding:10px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,80px);position:absolute;z-index:20;width:100%;transition:.3s}.site-header.scrolled{position:fixed;height:76px;background:rgba(243,238,230,.94);backdrop-filter:blur(12px);box-shadow:0 8px 30px rgba(20,30,27,.07)}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;line-height:1.15}.brand-mark{width:42px;height:42px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:20px}.brand strong{display:block;font-family:var(--serif);font-size:18px;font-weight:normal}.brand small{font-size:10px;text-transform:uppercase;letter-spacing:.09em}.navigation{display:flex;align-items:center;gap:30px}.navigation a{text-decoration:none;font-size:13px;letter-spacing:.02em}.navigation a:hover{color:var(--rust)}.nav-contact{border:1px solid var(--ink);padding:9px 16px;border-radius:30px}.menu-button{display:none;border:0;background:none;padding:12px}.menu-button span:not(.sr-only){display:block;width:24px;border-top:1px solid;margin:5px}
.hero{min-height:800px;height:100vh;max-height:1050px;padding:140px clamp(24px,7vw,120px) 70px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:55vw;height:55vw;border:1px solid rgba(117,135,123,.25);border-radius:50%;right:-14vw;top:-15vw}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:bold;color:var(--rust);margin:0 0 24px}.eyebrow.light{color:#d7bba9}h1,h2{font-family:var(--serif);font-weight:normal;line-height:.98;letter-spacing:-.035em;margin:0}h1{font-size:clamp(55px,6.4vw,102px)}h2{font-size:clamp(46px,5.2vw,77px)}h1 em,h2 em{font-weight:normal;color:var(--sage)}.hero-intro{max-width:590px;font-size:20px;color:#4f5c57;margin:35px 0}.button-row{display:flex;align-items:center;gap:30px}.button{display:inline-block;padding:14px 23px;border-radius:2px;text-decoration:none;font-size:13px;letter-spacing:.04em}.button.primary{background:var(--dark);color:white}.button:hover{transform:translateY(-2px)}.text-link{text-underline-offset:6px;text-decoration-thickness:1px;font-size:14px}.hero-visual{position:relative;height:600px}.portrait-frame{position:absolute;width:min(28vw,390px);aspect-ratio:4/5;left:16%;top:3%;overflow:hidden;border-radius:48% 48% 3px 3px;z-index:2;background:#d6d2ca}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.72) contrast(.96)}.portrait-fallback{height:100%;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,#ccd4ca,#aeafa1)}.portrait-fallback span{font:italic 80px var(--serif);color:white}.portrait-fallback small{text-transform:uppercase;letter-spacing:.2em}.orbit{position:absolute;border:1px solid rgba(173,101,77,.38);border-radius:50%;z-index:1}.orbit-one{width:460px;height:520px;left:5%;top:7%;transform:rotate(20deg)}.orbit-two{width:410px;height:550px;left:18%;top:-2%;transform:rotate(-17deg)}.quote-note{position:absolute;z-index:3;right:0;bottom:12%;background:var(--cream);padding:20px 24px;font:italic 17px var(--serif);box-shadow:0 15px 50px rgba(30,40,35,.08)}.quote-note small{font:10px var(--sans);display:block;margin-top:8px;text-transform:uppercase;letter-spacing:.12em}.hero-meta{position:absolute;left:clamp(24px,7vw,120px);bottom:35px;display:flex;gap:30px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.hero-meta span+span:before{content:"·";margin-right:30px}
.section{padding:clamp(90px,11vw,170px) clamp(24px,7vw,120px)}.welcome{display:grid;grid-template-columns:.2fr 1.15fr .85fr;gap:50px;background:var(--cream)}.section-number{font:italic 22px var(--serif);color:var(--rust)}.prose{padding-top:45px}.prose p:first-child{font-size:20px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:75px}.section-heading>p{max-width:440px;color:#ccd4ce}.approach{background:var(--dark);color:white}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.2)}.service-card{padding:45px;min-height:480px}.service-card+.service-card{border-left:1px solid rgba(255,255,255,.2)}.service-card.featured{background:#2a443c}.service-card>span{font:italic 20px var(--serif);color:#d7bba9}.service-card h3{font:normal 31px/1.15 var(--serif);margin:70px 0 20px}.service-card p{color:#c4cec9}.service-card ul{list-style:none;margin:35px 0 0;padding:0;font-size:13px}.service-card li{border-top:1px solid rgba(255,255,255,.14);padding:8px 0}.offer-strip{display:flex;gap:25px;align-items:center;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.2);padding:30px 0;font-size:12px}.offer-strip strong{color:#d7bba9;text-transform:uppercase;letter-spacing:.13em;margin-right:auto}.offer-strip span:before{content:"○";margin-right:8px;color:#d7bba9}
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;background:var(--paper2)}.about-art{min-height:650px;position:relative;background:var(--sage);overflow:hidden}.about-art:before,.about-art:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.4);border-radius:50%;width:430px;height:650px;left:-40px;top:0;transform:rotate(20deg)}.about-art:after{transform:rotate(-25deg);left:60px}.about-art p{position:absolute;left:45px;bottom:40px;color:white;font:italic 30px/1.3 var(--serif)}.about-copy{padding:35px 0}.about-copy .lead{font:24px/1.5 var(--serif);margin:45px 0 20px}.credentials{margin-top:45px}.credentials>div{display:grid;grid-template-columns:130px 1fr;border-top:1px solid var(--line);padding:17px 0}.credentials dt{text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:var(--rust)}.credentials dd{margin:0;font-size:14px}
.process{background:var(--paper)}.section-heading.dark>p{color:var(--muted)}.steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.steps li{display:grid;grid-template-columns:100px 1fr;border-bottom:1px solid var(--line);padding:35px 0}.steps li>span{font:italic 20px var(--serif);color:var(--rust)}.steps li div{display:grid;grid-template-columns:.7fr 1.3fr;gap:40px}.steps h3{font:normal 28px var(--serif);margin:0}.steps p{margin:0;color:var(--muted);max-width:600px}.cost-card{margin-top:80px;background:var(--cream);padding:45px;display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center;border-left:3px solid var(--rust)}.cost-card h3{font:normal 30px var(--serif);margin:0}.cost-card .eyebrow{margin-bottom:8px}.cost-card .text-link{grid-column:2}
.practice{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;background:var(--cream);align-items:center}.practice-copy>p:not(.eyebrow){color:var(--muted);margin:35px 0}.practice address{font-style:normal;font-size:17px;margin:30px 0}.map-abstract{height:540px;background:#dbe0d8;position:relative;overflow:hidden}.map-abstract svg{width:100%;height:100%}.map-abstract path{fill:none;stroke:#9eaaa0;stroke-width:2}.map-abstract circle{fill:var(--rust)}.map-abstract circle.pulse{fill:none;stroke:var(--rust)}.map-label{position:absolute;left:55%;top:43%;background:white;padding:12px 18px;box-shadow:0 8px 30px rgba(0,0,0,.1)}.map-label small{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:9px}.map-label strong{font:normal 17px var(--serif)}
.contact{background:var(--rust);color:white;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact h2 em{color:#f0d4c3}.contact-intro{font-size:19px;max-width:520px;margin-top:35px}.contact-details{display:grid;grid-template-columns:1fr 1fr}.contact-details>div{border-top:1px solid rgba(255,255,255,.35);padding:25px 15px 35px 0}.contact-details span{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:9px;margin-bottom:12px}.contact-details a,.contact-details strong{font:normal 23px/1.35 var(--serif);text-decoration:none}.availability{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.35);padding-top:25px;font-size:13px}.availability i{display:inline-block;width:8px;height:8px;background:#d5e5cd;border-radius:50%;margin-right:8px}
footer{background:#172722;color:#dce3df;padding:60px clamp(24px,7vw,120px) 30px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;font-size:13px}.footer-brand{display:flex;gap:15px}.footer-brand p{margin:0}.footer-links{display:flex;flex-direction:column;align-items:flex-end}footer>small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:20px;color:#8fa098}
.reveal{opacity:0;transform:translateY(16px);animation:reveal .8s ease forwards}.hero-visual{animation-delay:.15s}@keyframes reveal{to{opacity:1;transform:none}}
.legal-page{background:var(--cream)}.legal-main{max-width:920px;margin:auto;padding:170px 30px 120px}.legal-main h1{font-size:70px;margin-bottom:55px}.legal-main h2{font-size:30px;margin:45px 0 15px}.legal-main .notice{padding:20px;border-left:3px solid var(--rust);background:var(--paper);margin:30px 0}.legal-main a{text-underline-offset:4px}
@media(max-width:950px){.site-header{height:78px}.menu-button{display:block}.navigation{display:none;position:absolute;top:78px;left:0;right:0;background:var(--cream);padding:25px;flex-direction:column;align-items:flex-start}.navigation.open{display:flex}.hero{width:100%;max-width:100vw;height:auto;max-height:none;min-height:0;grid-template-columns:minmax(0,1fr);padding-top:140px}.hero-visual{height:520px}.portrait-frame{width:300px;left:15%}.hero-meta{display:none}.welcome{grid-template-columns:1fr}.section-number{display:none}.prose{padding:0}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.service-card+.service-card{border-left:0;border-top:1px solid rgba(255,255,255,.2)}.about,.practice,.contact{grid-template-columns:1fr}.section-heading{display:block}.section-heading>p{margin-top:30px}.contact{gap:60px}.cost-card{grid-template-columns:1fr}.cost-card .text-link{grid-column:auto}}
@media(max-width:600px){body{font-size:16px}.brand small{display:none}h1{font-size:clamp(39px,11.6vw,46px);overflow-wrap:anywhere}h2{font-size:42px}.hero{padding-left:20px;padding-right:20px}.hero-copy,.hero-intro{width:100%;max-width:100%;min-width:0}.hero-intro{font-size:18px}.hero-visual{height:430px}.portrait-frame{width:250px;left:8%}.orbit-one{width:330px;height:400px}.orbit-two{width:300px;height:410px}.quote-note{right:-10px}.button-row{align-items:flex-start;flex-direction:column;gap:18px}.section{padding:80px 20px}.service-card{padding:32px 25px}.service-card h3{margin-top:40px}.about{gap:55px}.about-art{min-height:470px}.credentials>div,.steps li,.steps li div{grid-template-columns:1fr}.steps li>span{margin-bottom:12px}.cost-card{padding:28px}.map-abstract{height:380px}.contact-details{grid-template-columns:1fr}.contact-details>div{padding-bottom:22px}.legal-main h1{font-size:50px}footer{grid-template-columns:1fr}.footer-links{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none;opacity:1;transform:none}*{transition:none!important}}
