:root{--ink:#2e2823;--paper:#f3eee8;--cream:#fbf8f4;--line:#d8cec4;--red:#d1122c;--muted:#746960;--serif:Georgia,"Times New Roman",serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit}.site-header{min-height:88px;padding:12px 5vw;background:rgba(251,248,244,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:28px;position:sticky;top:0;z-index:20}.site-logo img{display:block;width:170px}.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(13px,1.55vw,27px);flex-wrap:wrap}.site-nav a{font-size:12px;font-weight:750;letter-spacing:.055em;text-decoration:none;white-space:nowrap}.site-nav a:hover,.site-nav a.active{color:var(--red)}.site-nav a.active{border-bottom:1px solid currentColor;padding-bottom:5px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;color:var(--red);font-size:10px;font-weight:850}.contact-hero{min-height:610px;padding:clamp(70px,9vw,130px) 6vw;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:8vw;align-items:center;background:linear-gradient(120deg,#f8f4ef 0%,#f8f4ef 57%,#e8ddd3 57%,#e8ddd3 100%)}h1,h2{font-family:var(--serif);font-weight:400}.hero-copy h1{max-width:900px;margin:16px 0 25px;font-size:clamp(50px,7vw,98px);line-height:.93;letter-spacing:-.045em}.hero-copy>p:last-child{max-width:660px;color:var(--muted);font-size:19px;line-height:1.7}.address-card{padding:clamp(30px,4vw,58px);background:#fff;border:1px solid var(--line);box-shadow:0 30px 80px rgba(54,41,31,.12)}.address-card h2{font-size:clamp(32px,4vw,51px);line-height:1;margin:16px 0}.address-card>p:not(.eyebrow){color:var(--muted);font-size:18px;line-height:1.65}.address-card a{display:block;width:max-content;margin-top:15px;color:var(--red);font-size:13px;font-weight:800;text-decoration:none}.address-card small{display:block;margin-top:30px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted)}.appointment{max-width:1320px;margin:auto;padding:110px 6vw 130px;display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(45px,8vw,110px)}.appointment-intro h2{font-size:clamp(44px,6vw,78px);line-height:1;margin:15px 0 22px}.appointment-intro>p:not(.eyebrow){color:var(--muted);line-height:1.75;font-size:17px}.expect{margin-top:36px;padding-top:25px;border-top:1px solid var(--line);display:grid;gap:10px}.expect strong{font-family:var(--serif);font-size:23px}.expect span{color:var(--muted);font-size:13px}.appointment-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:clamp(25px,4vw,48px);background:var(--paper);border:1px solid var(--line)}.appointment-form label{display:grid;gap:8px}.appointment-form label>span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.appointment-form input,.appointment-form select,.appointment-form textarea{width:100%;border:1px solid #cfc3b8;background:#fff;padding:14px;color:var(--ink);font:inherit}.appointment-form textarea{resize:vertical}.appointment-form .full{grid-column:1/-1}.appointment-form .consent{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;gap:10px}.appointment-form .consent input{width:auto;margin-top:2px}.appointment-form .consent span{text-transform:none;font-weight:500;letter-spacing:0;line-height:1.5}.submit{min-height:54px;border:0;background:var(--red);color:#fff;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;cursor:pointer}.submit:hover{background:#ae0f25}.form-note{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.form-note.success{padding:13px;border-left:3px solid #2f785b;background:#edf7f2;color:#245f48}footer{padding:34px 5vw;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;font-size:12px;color:var(--muted)}footer a{color:var(--red);text-decoration:none}@media(max-width:900px){.site-header{align-items:flex-start}.contact-hero,.appointment{grid-template-columns:1fr}.contact-hero{background:#f8f4ef}.address-card{max-width:600px}.appointment-form{grid-template-columns:1fr}.appointment-form .full{grid-column:auto}}@media(max-width:620px){.site-header{display:block}.site-logo img{width:150px;margin-bottom:14px}.site-nav{justify-content:flex-start}.site-nav a{display:none}.site-nav a.active,.site-nav a:first-child{display:block}.contact-hero,.appointment{padding-left:7vw;padding-right:7vw}.appointment-form{padding:22px 18px}footer{display:block}footer span,footer a{display:block;margin-top:8px}}
