@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@500;600&display=swap');
:root{--green:#123c32;--dark:#092b24;--soft:#dbe6df;--ivory:#f5f0e6;--paper:#fbf8f1;--gold:#b38a4a;--ink:#18302a;--muted:#66736e;--line:rgba(18,60,50,.16);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;padding:10px 16px}.skip-link:focus{top:10px}
.site-header{position:fixed;inset:0 0 auto;z-index:50;border-bottom:1px solid transparent;transition:.25s}.site-header.scrolled{background:rgba(251,248,241,.95);border-color:var(--line);backdrop-filter:blur(12px)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--gold);border-radius:50%;color:var(--green);font:17px var(--serif)}.brand strong,.brand small{display:block}.brand strong{font:20px/1.15 var(--serif)}.brand small{color:var(--muted);font-size:10px;letter-spacing:.07em;text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600}.main-nav a:not(.nav-cta):hover{color:var(--gold)}.nav-cta{padding:11px 20px;border:1px solid var(--green);border-radius:999px}.nav-cta:hover{background:var(--green);color:#fff}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:25px;height:1px;background:var(--ink);margin:6px}
.hero{position:relative;min-height:820px;padding:190px 0 100px;background:var(--ivory);overflow:hidden}.hero:after{content:'';position:absolute;right:-8%;bottom:-38%;width:590px;height:590px;border:1px solid rgba(179,138,74,.45);border-radius:50%}.hero-art{position:absolute;inset:0 0 0 60%;background:var(--green);clip-path:ellipse(88% 80% at 100% 50%)}.hero-art span:first-child{position:absolute;width:320px;height:570px;right:9%;top:15%;border:1px solid var(--gold);border-radius:180px 180px 0 0}.hero-art span:last-child{position:absolute;width:250px;height:250px;right:-4%;top:37%;background:var(--paper);border-radius:50% 0 0 50%}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.45fr .55fr;align-items:end;gap:90px}.hero-copy{max-width:700px}.eyebrow{margin:0 0 18px;color:var(--gold);font-size:12px;font-weight:600;letter-spacing:.17em;text-transform:uppercase}.hero h1{margin:0;font:600 clamp(54px,7vw,88px)/1.02 var(--serif);letter-spacing:-.04em}.hero-lead{max-width:610px;margin:28px 0;color:#4f625c;font-size:19px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:38px}.button{display:inline-flex;justify-content:center;border:0;border-radius:999px;padding:15px 24px;font-weight:600;cursor:pointer;transition:.2s}.button-primary{background:var(--green);color:#fff}.button-primary:hover{background:var(--dark);transform:translateY(-2px)}.text-link{font-weight:600;border-bottom:1px solid var(--gold)}.hero-card{padding:28px;color:#fff;background:rgba(9,43,36,.84);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px)}.hero-card p{margin:0 0 18px;color:#d1b77f;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.hero-card a,.hero-card span{display:block;margin-top:10px}.hero-card a:first-of-type{font:25px var(--serif)}.hero-card span{margin-top:24px;color:#c3d1cc;font-size:14px}
.section{padding:120px 0}.section-heading{display:grid;grid-template-columns:1.1fr .7fr;gap:100px;align-items:end;margin-bottom:60px}.section-heading h2,.about-copy h2,.contact h2{margin:0;font:600 clamp(40px,5vw,62px)/1.08 var(--serif);letter-spacing:-.025em}.section-heading>p{color:var(--muted);margin:0}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.practice-card{min-height:350px;padding:38px 32px 30px;border-right:1px solid var(--line);transition:.25s}.practice-card:first-child{border-left:1px solid var(--line)}.practice-card:hover{background:var(--ivory);transform:translateY(-5px)}.practice-card>span{color:var(--gold);font-size:12px}.practice-card h3{margin:55px 0 18px;font:500 31px var(--serif)}.practice-card p{color:var(--muted);font-size:15px}.practice-card a{display:inline-block;margin-top:24px;font-weight:600;font-size:14px}
.about{background:var(--soft)}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}.about-visual{position:relative;min-height:510px;background:var(--green);overflow:hidden}.about-visual:before{content:'';position:absolute;width:420px;height:420px;border:1px solid var(--gold);border-radius:50%;left:-38%;bottom:-18%}.about-visual:after{content:'';position:absolute;width:230px;height:440px;border:1px solid var(--gold);border-radius:130px 130px 0 0;right:11%;top:12%}.about-visual span{position:absolute;z-index:2;left:45px;top:45px;color:var(--ivory);font:75px var(--serif)}.about-visual small{position:absolute;z-index:2;right:28px;bottom:25px;color:#d5c091;letter-spacing:.13em;text-transform:uppercase}.about-copy>p:not(.eyebrow){color:#50645d;font-size:18px}.principles{margin-top:40px;border-top:1px solid var(--line)}.principles div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.principles span{color:#5d6e68}
.contact{background:var(--green);color:#fff}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:110px}.eyebrow.light{color:#d7bc84}.contact-copy>p:not(.eyebrow){color:#c0d0ca}.contact-list{margin-top:44px}.contact-list a,.contact-list address{display:block;margin-top:22px;font-style:normal}.contact-list small{display:block;color:#d7bc84;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:40px;background:var(--paper);color:var(--ink)}.contact-form .full{grid-column:1/-1}.contact-form label{display:block;font-size:13px;font-weight:600}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;margin-top:8px;padding:12px 2px;background:transparent;border:0;border-bottom:1px solid #9dada7;border-radius:0;outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold)}.consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important}.consent input{margin-top:5px}.consent a{text-decoration:underline}.form-footer{display:flex;align-items:center;gap:18px}.button-gold{background:var(--gold);color:#fff}.button-gold:hover{background:#96713c}.form-footer p{margin:0;color:var(--muted);font-size:12px}
.site-footer{padding:75px 0 22px;background:var(--dark);color:#c9d4d0}.footer-grid{display:grid;grid-template-columns:1.5fr .6fr .9fr;gap:70px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:9px}.footer-grid strong{color:#fff}.footer-brand .brand-mark,.footer-brand strong{color:#fff}.footer-grid p{font-size:13px}.footer-bottom{display:flex;justify-content:space-between;margin-top:55px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:12px}
.privacy-page{padding:170px 0 100px}.privacy-content{max-width:820px}.privacy-content h1{margin:0 0 8px;font:600 clamp(46px,7vw,72px)/1.05 var(--serif);letter-spacing:-.03em}.privacy-updated{color:var(--muted);margin-bottom:50px}.privacy-content h2{margin:42px 0 10px;font:500 27px var(--serif)}.privacy-content p{color:#4f625c}.privacy-content a{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:900px){.menu-toggle{display:block;z-index:2}.main-nav{position:fixed;inset:0;background:var(--paper);flex-direction:column;justify-content:center;font-size:22px;opacity:0;visibility:hidden;transition:.2s}.main-nav.open{opacity:1;visibility:visible}.hero{min-height:auto;padding-top:155px}.hero-art{inset:58% -20% -20% 20%;clip-path:ellipse(90% 70% at 100% 100%)}.hero-grid{grid-template-columns:1fr;gap:70px}.hero-card{max-width:410px;margin-left:auto}.section-heading,.about-grid,.contact-grid{grid-template-columns:1fr;gap:55px}.section-heading{gap:20px}.practice-grid{grid-template-columns:1fr}.practice-card,.practice-card:first-child{border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.about-visual{min-height:390px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:600px){.container{width:calc(100% - 28px)}.header-inner{height:76px}.brand small{display:none}.hero{padding:135px 0 70px}.hero h1{font-size:48px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.section{padding:82px 0}.practice-card{min-height:auto;padding:28px 22px}.practice-card h3{margin-top:32px}.about-grid{gap:36px}.about-visual{min-height:320px}.contact-form{grid-template-columns:1fr;padding:25px 20px}.contact-form>div,.contact-form .full{grid-column:1}.form-footer{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column;gap:12px}}
