@font-face{font-family:"Libre Baskerville";src:url("fonts/libre-baskerville-latin-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC}
@font-face{font-family:"Libre Baskerville";src:url("fonts/libre-baskerville-latin-700-normal.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC}
@font-face{font-family:"Source Sans 3";src:url("fonts/source-sans-3-latin-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC}
@font-face{font-family:"Source Sans 3";src:url("fonts/source-sans-3-latin-600-normal.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC}
:root{--navy:#142c3d;--navy-deep:#0b202e;--brass:#a8792e;--brass-dark:#795216;--paper:#f5efe1;--paper-deep:#e8dcc5;--white:#fffdf8;--ink:#17252d;--muted:#5d6870;--line:#b9aa8b;--green:#315b50;--font-head:"Libre Baskerville",Georgia,serif;--font-body:"Source Sans 3",Arial,sans-serif;--shadow:0 18px 55px rgba(11,32,46,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:1.05rem/1.65 var(--font-body);background-image:radial-gradient(rgba(122,83,31,.055) .7px,transparent .7px);background-size:7px 7px}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}img,svg{max-width:100%;height:auto}button,input,select,textarea{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:1000;background:var(--white);color:var(--navy);padding:.75rem 1rem;border:2px solid var(--brass);transition:top .2s}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid #b6543e;outline-offset:4px}.section-pad{padding:4.5rem 5vw}.paper-grid{background-color:var(--paper-deep);background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px);background-size:32px 32px}.kicker,.service-card .number{color:var(--brass-dark);font:600 .75rem/1.2 var(--font-body);letter-spacing:.16em;text-transform:uppercase}.kicker{margin:0 0 .7rem}h1,h2,h3{font-family:var(--font-head);line-height:1.18}h1{font-size:clamp(2.25rem,5vw,4.8rem);font-weight:400;margin:.3em 0}h2{font-size:clamp(1.8rem,3.2vw,2.8rem);font-weight:400;margin:.35rem 0 1rem}h3{font-size:1.25rem}.lead{font-size:clamp(1.1rem,2vw,1.32rem);max-width:720px;color:#394c57}.site-header{position:sticky;top:0;z-index:100;background:rgba(245,239,225,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.header-inner{max-width:1240px;margin:auto;min-height:82px;padding:.65rem 5vw;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}.brand-mark{fill:none;stroke:var(--brass-dark);stroke-width:1.8}.brand span{display:flex;flex-direction:column}.brand strong{font-family:var(--font-head);font-size:.93rem}.brand small{color:var(--muted);letter-spacing:.05em}.menu-toggle{border:0;background:none;color:var(--navy);font-weight:600;display:flex;gap:.6rem;align-items:center;padding:.6rem;cursor:pointer}.menu-lines,.menu-lines:before,.menu-lines:after{display:block;width:23px;height:2px;background:var(--navy);content:"";transition:.2s}.menu-lines:before{transform:translateY(-7px)}.menu-lines:after{transform:translateY(5px)}.menu-toggle[aria-expanded="true"] .menu-lines{background:transparent}.menu-toggle[aria-expanded="true"] .menu-lines:before{transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-lines:after{transform:rotate(-45deg)}.site-nav{position:absolute;top:100%;left:0;right:0;background:var(--white);border-bottom:1px solid var(--line);padding:1rem 5vw 1.5rem;display:none;box-shadow:var(--shadow)}.site-nav.open{display:grid}.site-nav a{text-decoration:none;padding:.45rem 0;font-weight:600}.site-nav a[aria-current="page"]{color:var(--brass-dark)}.button{display:inline-flex;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.35rem;border:1px solid var(--navy);background:var(--navy);color:var(--white);font-weight:600;text-decoration:none;cursor:pointer;box-shadow:4px 4px 0 var(--brass);transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--brass);background:var(--navy-deep)}.button-small{padding:.55rem .9rem;box-shadow:2px 2px 0 var(--brass)}.button-paper{background:var(--paper);color:var(--navy);border-color:var(--paper)}.text-link{font-weight:600;color:var(--navy);text-decoration-color:var(--brass)}.hero{padding-top:3rem;background:radial-gradient(circle at 80% 10%,rgba(168,121,46,.18),transparent 27%),linear-gradient(135deg,var(--paper-deep),var(--paper))}.letter-card{max-width:1240px;margin:auto;background:var(--white);border:1px solid var(--brass);padding:1.2rem clamp(1.1rem,4vw,3.5rem) 2.3rem;box-shadow:var(--shadow);position:relative}.letter-card:before{content:"";position:absolute;inset:8px;border:1px solid rgba(168,121,46,.45);pointer-events:none}.letter-meta,.hero-layout,.signature{display:flex;justify-content:space-between;gap:2rem;position:relative}.letter-meta{border-bottom:1px solid var(--line);padding-bottom:1rem;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.hero-layout{align-items:center;padding:3rem 0 2rem;flex-wrap:wrap}.hero-layout>div{max-width:790px;min-width:0}.hero-crest{fill:none;flex:0 1 auto;width:auto;max-width:100%;height:auto;filter:drop-shadow(0 6px 0 rgba(168,121,46,.08))}.hero-crest .ink{stroke:var(--navy);stroke-width:3}.hero-crest .brass-line{stroke:var(--brass);stroke-width:2}.hero-crest .fine{stroke:var(--muted);stroke-width:1}.hero-crest text{fill:var(--navy);font:700 13px var(--font-body);letter-spacing:4px}.button-row{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:1.7rem}.signature{border-top:1px solid var(--line);padding-top:1rem;align-items:end}.signature-script{font:italic 2rem var(--font-head);color:var(--navy);transform:rotate(-4deg)}.signature span:last-child{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.section-heading{margin-bottom:2rem}.section-heading.split{display:grid;gap:1.5rem}.section-heading.centered{text-align:center}.card-grid{display:grid;gap:1rem}.service-card{position:relative;background:var(--white);border:1px solid var(--line);padding:1.5rem;box-shadow:5px 5px 0 rgba(20,44,61,.08)}.service-card svg{stroke:var(--brass-dark);fill:none;stroke-width:1.5}.service-card .number{position:absolute;right:1.2rem;top:1.2rem}.service-card h3{margin:1.5rem 0 .4rem}.service-card p{color:var(--muted)}.story{max-width:1180px;margin:auto;display:grid;gap:2rem}.story-seal{width:165px;height:165px;position:relative;display:grid;place-items:center;color:var(--brass-dark);font-family:var(--font-head);font-size:1.5rem}.story-seal svg{position:absolute;inset:0}.story-copy p:not(.kicker){max-width:720px}.team-preview .section-heading{display:flex;align-items:end;justify-content:space-between}.people-grid{display:grid;gap:1.3rem}.photo-slot{margin:0;background:var(--navy-deep);color:var(--white);position:relative;overflow:hidden}.portrait-art{display:grid;place-items:end center;min-height:340px;background:linear-gradient(145deg,var(--navy),var(--green));overflow:hidden}.portrait-art svg{width:86%;max-width:270px;fill:none;stroke:var(--paper);stroke-width:1.2}.photo-slot figcaption{display:flex;flex-direction:column;padding:1.15rem;background:var(--navy-deep)}.photo-slot figcaption strong{font-family:var(--font-head);font-weight:400;font-size:1.05rem}.photo-slot figcaption span{color:#d7c7a7;font-size:.86rem}.quote-grid{display:grid;gap:1rem}.quote-grid blockquote{margin:0;background:var(--white);border-top:4px solid var(--brass);padding:1.6rem;box-shadow:5px 5px 0 rgba(20,44,61,.08)}.quote-grid blockquote p{font-family:var(--font-head);font-size:1.15rem}.quote-grid footer{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:.8rem;color:var(--muted);font-size:.8rem}.hours{max-width:1180px;margin:auto;display:grid;gap:2rem}.hours-card{border:1px solid var(--brass);padding:1.5rem;background:var(--white)}.hours-card dl{margin:0 0 1.5rem}.hours-card dl div{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.hours-card dt{font-weight:600}.hours-card dd{margin:0;text-align:right}.closing-cta{background:var(--navy);color:var(--white);display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative}.closing-cta:after{content:"";position:absolute;inset:10px;border:1px solid rgba(168,121,46,.5);pointer-events:none}.page-hero{max-width:1240px;margin:auto;display:flex;align-items:end;justify-content:space-between;gap:2rem}.page-hero h1,.page-hero p{position:relative}.service-chapter{max-width:1240px;margin:auto;display:grid;gap:1.5rem}.chapter-mark{font:700 2rem var(--font-head);color:var(--brass-dark);border-bottom:1px solid var(--brass);padding-bottom:.4rem}.treatment-list{border-top:1px solid var(--line)}.treatment-list article{display:grid;grid-template-columns:38px 1fr auto;gap:1rem;align-items:start;padding:1.15rem 0;border-bottom:1px solid var(--line)}.treatment-list svg{stroke:var(--brass-dark);fill:none;stroke-width:1.5}.treatment-list h3{margin:0 0 .2rem;font-size:1.12rem}.treatment-list p{margin:0;color:var(--muted);font-size:.93rem}.treatment-list strong{color:var(--brass-dark);white-space:nowrap}.team-list{display:grid;gap:4rem;max-width:1100px;margin:auto}.team-profile{display:grid;gap:2rem;align-items:center}.team-profile figcaption{padding:1rem 1.3rem}.team-profile h2{margin-bottom:.2rem}.team-profile h3{color:var(--brass-dark);font:600 .9rem var(--font-body);margin:.5rem 0 1.2rem}.team-profile p{max-width:620px}.team-profile .detail{font-size:.9rem;border-top:1px solid var(--line);padding-top:.8rem;color:var(--muted)}.values-band{background:var(--navy);color:var(--white);max-width:1240px;margin:3rem auto;padding:3rem}.values-grid{display:grid;gap:1.4rem}.values-grid article{border-top:1px solid var(--brass);padding-top:1rem}.values-grid span{color:var(--brass);font-family:var(--font-head)}.values-grid h3{margin:.3rem 0}.contact-details h2,.contact-grid>div>h2{font-size:1.6rem}.contact-grid{display:grid;gap:3rem;max-width:1180px;margin:auto}.contact-details address{font-style:normal;margin:1.5rem 0}.hours-table{width:100%;border-collapse:collapse;background:var(--white)}.hours-table th,.hours-table td{padding:.75rem;border-bottom:1px solid var(--line);text-align:left}.hours-table td{text-align:right}.map-section{display:grid;gap:2rem;align-items:center}.map-section iframe{width:100%;height:430px;border:2px solid var(--navy);filter:sepia(.18) contrast(.95)}.contact-form-section,.appointment-form{max-width:1100px;margin:auto;display:grid;gap:2.5rem}.contact-form-section>div>p{color:var(--muted)}form{display:grid;gap:1rem}.field{display:grid;gap:.35rem}.field label,legend{font-weight:600}.field input,.field select,.field textarea{width:100%;background:var(--white);border:1px solid #81776a;padding:.75rem;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--brass-dark);box-shadow:0 0 0 2px rgba(168,121,46,.2)}input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border:2px solid #a53c32}.form-status{min-height:1.5em;color:#8a3029}.appointment-page{padding-bottom:5rem}.appointment-intro{background:var(--navy);color:var(--white);display:grid;gap:2rem;padding:4.5rem 5vw;position:relative;overflow:hidden}.appointment-intro svg{fill:none;stroke:var(--brass);stroke-width:1}.appointment-intro>*{position:relative}.appointment-intro .lead{color:#e5dccb}.appointment-form{background:var(--white);border:1px solid var(--brass);padding:1.5rem;box-shadow:var(--shadow)}fieldset{border:0;border-top:1px solid var(--line);margin:0;padding:1.5rem 0;display:grid;gap:1rem}legend{font-family:var(--font-head);font-size:1.25rem;padding:0 1rem 0 0}.two-fields{display:grid;gap:1rem}.insurance-options{display:grid;gap:.8rem}.insurance-options label,.privacy-check{display:flex;gap:.7rem;align-items:flex-start}.insurance-options input{accent-color:var(--brass-dark)}.insurance-options span{display:flex;flex-direction:column}.insurance-options small{color:var(--muted)}.privacy-check{font-size:.92rem}.confirmation{max-width:760px;margin:2rem auto 0;background:var(--white);border:2px solid var(--brass);padding:3rem;text-align:center;box-shadow:var(--shadow)}.confirmation-seal{color:var(--green)}.confirmation-seal svg{fill:none;stroke:currentColor}.chronicle-hero{border-bottom:1px solid var(--line)}.chronicle-years{font:400 1.4rem var(--font-head);color:var(--brass-dark);text-align:right}.chronicle-years b{font-size:2.5rem}.timeline-section{max-width:1000px;margin:auto}.timeline-entry{display:grid;grid-template-columns:110px 1fr;gap:1.5rem;position:relative;padding-bottom:3rem}.timeline-entry>div{min-width:0;overflow-wrap:anywhere}.timeline-entry:before{content:"";position:absolute;left:134px;top:15px;bottom:0;border-left:1px solid var(--brass)}.timeline-entry time{position:relative}.timeline-entry time:after{content:"";position:absolute;right:-.45rem;top:12px;width:9px;height:9px;border-radius:50%;background:var(--brass)}.timeline-entry h2{font-size:1.55rem}.archive{margin:1rem 0 3rem 160px;background:#d6ccb8;color:var(--navy)}.archive svg{fill:none;stroke:var(--navy)}.archive figcaption{background:#d6ccb8;color:var(--navy);border-top:1px solid var(--navy)}.archive figcaption span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.site-footer{background:var(--navy-deep);color:var(--white);padding:3.5rem 5vw 1.2rem;border-top:5px double var(--brass)}.footer-main{max-width:1240px;margin:auto;display:grid;gap:2rem}.footer-main h2{font:400 .8rem var(--font-body);text-transform:uppercase;letter-spacing:.12em;color:#c6aa73}.footer-main address{font-style:normal}.footer-brand{margin-bottom:1rem}.lang-toggle{display:inline-flex;border:1px solid var(--brass)}.lang-toggle button{border:0;background:transparent;color:var(--white);padding:.5rem .8rem;cursor:pointer}.lang-toggle button[aria-pressed="true"]{background:var(--brass);color:var(--navy-deep)}.footer-bottom{max-width:1240px;margin:2rem auto 0;border-top:1px solid rgba(255,255,255,.2);padding-top:1rem;display:flex;justify-content:space-between;gap:1rem;color:#bcc6cb;font-size:.78rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:680px){.card-grid{grid-template-columns:repeat(2,1fr)}.people-grid{grid-template-columns:repeat(3,1fr)}.quote-grid{grid-template-columns:repeat(3,1fr)}.values-grid{grid-template-columns:repeat(3,1fr)}.two-fields{grid-template-columns:1fr 1fr}.footer-main{grid-template-columns:1.5fr 1fr 1fr auto}.insurance-options{grid-template-columns:1fr 1fr}.contact-form-section{grid-template-columns:.8fr 1.2fr}}
@media(min-width:960px){.menu-toggle{display:none}.site-nav{position:static;display:flex;align-items:center;gap:clamp(.7rem,1.8vw,1.5rem);padding:0;background:transparent;border:0;box-shadow:none}.site-nav .button{margin-left:.3rem}.section-pad{padding:6.5rem 6vw}.hero{padding-top:5rem}.hero-layout{padding:4rem 2rem}.card-grid{grid-template-columns:repeat(4,1fr)}.story{grid-template-columns:220px 1fr;gap:4rem;padding-left:8vw;padding-right:8vw}.quote-grid{gap:1.4rem}.hours{grid-template-columns:1fr 1.2fr;padding-left:10vw;padding-right:10vw}.closing-cta{padding-left:10vw;padding-right:10vw}.section-heading.split{grid-template-columns:1fr 1fr;align-items:end}.service-chapter{grid-template-columns:110px 1fr;gap:3rem}.team-profile{grid-template-columns:.8fr 1.2fr;gap:5rem}.team-profile.reverse .photo-slot{order:2}.team-profile.reverse>div{order:1}.contact-grid{grid-template-columns:.8fr 1.2fr}.map-section{grid-template-columns:.8fr 1.2fr}.contact-form-section{grid-template-columns:.7fr 1.3fr}.appointment-intro{grid-template-columns:1fr 260px;align-items:center}.archive{margin-left:160px}.footer-main{grid-template-columns:2fr 1.2fr 1fr auto}}
@media(min-width:1280px){.service-chapter{padding-left:7vw;padding-right:7vw}.team-profile{grid-template-columns:360px 1fr;gap:8rem}.portrait-art{min-height:430px}.appointment-form{padding:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.skip-link{transition:none}}
@media(prefers-reduced-motion:no-preference){.service-card:nth-child(2),.people-grid>*:nth-child(2),.quote-grid>*:nth-child(2){animation:rise .55s ease both}.service-card:nth-child(3),.people-grid>*:nth-child(3),.quote-grid>*:nth-child(3){animation:rise .55s .08s ease both}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
