
    :root{--paper:#eee9df;--cream:#faf7f0;--ink:#282b28;--muted:#59615a;--line:#c9c7b9;--rust:#9a4934;--deep:#2d433d}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit}button{font:inherit}h1,h2,h3,p{margin-top:0}.serif{font-family:'Playfair Display',Georgia,serif;font-weight:400}a:focus-visible,button:focus-visible{outline:3px solid var(--rust);outline-offset:4px}
    .topbar{border-bottom:1px solid var(--line);padding:22px clamp(22px,5vw,84px);display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--cream)}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.13;letter-spacing:.13em;text-transform:uppercase;font-weight:700;font-size:15px}.brand span{font-size:11px;letter-spacing:.2em;color:var(--muted);margin-top:6px}.nav{display:flex;align-items:center;gap:clamp(18px,2.8vw,46px)}.nav a{text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.nav a:hover,.text-link:hover{color:var(--rust)}.nav .nav-cta{border:1px solid var(--ink);padding:12px 18px}.menu{display:none;border:0;background:transparent;font-size:27px;line-height:1;cursor:pointer}
    .hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);min-height:650px;max-width:1600px;margin:auto}.hero-copy{padding:clamp(70px,10vw,150px) clamp(25px,7vw,110px) 90px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:12px;font-weight:700;color:var(--rust);margin-bottom:25px}.hero h1{font-size:clamp(52px,6.25vw,104px);line-height:1.04;letter-spacing:-.045em;max-width:850px;margin-bottom:28px}.hero .intro{font-size:clamp(18px,1.65vw,23px);line-height:1.5;max-width:600px;color:#414944}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--deep);color:white;text-decoration:none;padding:17px 25px;font-size:14px;font-weight:700;letter-spacing:.04em;min-height:54px;transition:background .2s,transform .2s}.button:hover{background:var(--rust);transform:translateY(-2px)}.hero .button{margin-top:22px}.hero-side{position:relative;background:#b5b6a7;overflow:hidden;min-height:500px;display:flex;align-items:flex-end;padding:45px}.hero-side:before{content:"";position:absolute;inset:7% 12% 13%;border:1px solid rgba(250,247,240,.58);border-radius:48% 48% 3px 3px;transform:rotate(-7deg)}.hero-side:after{content:"";position:absolute;width:85%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(250,247,240,.42);right:-37%;top:-16%;box-shadow:0 0 0 65px rgba(250,247,240,.055),0 0 0 135px rgba(250,247,240,.035)}.hero-side .side-note{position:relative;z-index:1;color:#202d29;font-family:'Playfair Display',Georgia,serif;font-size:clamp(30px,3vw,47px);line-height:1.17;max-width:350px}.hero-side .side-note span{display:block;width:55px;height:1px;background:var(--ink);margin-bottom:25px}
    .section{padding:105px clamp(25px,7vw,110px)}.wrap{max-width:1300px;margin:auto}.section-title{font-size:clamp(38px,4.3vw,65px);line-height:1.12;letter-spacing:-.025em;margin-bottom:25px}.lede{font-size:19px;line-height:1.65;color:var(--muted);max-width:720px}.services{background:var(--cream)}.section-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:42px}.section-head .lede{max-width:420px;margin-bottom:0}.cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{min-height:300px;padding:38px;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;background:#f3efe7}.card:nth-child(2){background:#e4e8df}.card .number{color:var(--rust);font-size:13px;font-weight:700;letter-spacing:.1em}.card h3{font-size:clamp(32px,3vw,47px);line-height:1.15;margin:0 0 16px}.card p{max-width:440px;margin-bottom:0;color:#4f5751;font-size:17px}.approach{background:var(--deep);color:var(--cream)}.approach-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw}.approach .eyebrow{color:#dfaa8f}.approach p{font-size:clamp(21px,2.2vw,30px);line-height:1.53;max-width:800px}.approach .small{font-family:'DM Sans',Arial,sans-serif;font-size:16px;color:#d0d9d1;max-width:710px}.contact{background:var(--paper)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:start}.contact .section-title{max-width:700px}.contact p{font-size:18px;color:var(--muted);max-width:560px}.contact-panel{border-top:1px solid var(--ink);padding-top:26px}.contact-panel .label{font-size:12px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:var(--rust);margin-bottom:12px}.contact-panel a:not(.button){font-size:clamp(19px,2vw,27px);overflow-wrap:anywhere;text-decoration-thickness:1px;text-underline-offset:5px}.contact-panel .button{margin-top:33px}.contact-panel .phone{margin-top:28px}footer{background:var(--cream);border-top:1px solid var(--line);padding:35px clamp(25px,7vw,110px);display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted)}footer a{text-decoration:none}
    @media(max-width:800px){.topbar{padding:18px 24px;position:relative}.menu{display:block}.nav{display:none;position:absolute;z-index:5;top:100%;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);padding:20px 24px 26px;flex-direction:column;align-items:stretch;gap:20px}.nav.open{display:flex}.nav .nav-cta{text-align:center}.hero{grid-template-columns:1fr}.hero-copy{padding:82px 25px 72px}.hero h1{font-size:clamp(53px,11vw,80px)}.hero-side{min-height:310px;padding:28px}.hero-side .side-note{font-size:32px}.section{padding:80px 25px}.section-head,.approach-grid,.contact-grid{display:block}.section-head .lede{max-width:720px}.cards{grid-template-columns:1fr}.card{min-height:255px}.approach-grid>div:first-child{margin-bottom:35px}.contact-panel{margin-top:55px}footer{flex-direction:column}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
  
.page-hero{padding:95px clamp(25px,7vw,110px) 90px;background:var(--paper)}.page-hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:end}.page-hero h1{font-size:clamp(54px,6vw,91px);line-height:1.07;letter-spacing:-.04em;margin-bottom:0}.page-hero .lede{margin-bottom:4px}.page-hero .button{margin-top:28px}.editorial{background:var(--cream)}.editorial-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw}.editorial-grid h2{font-size:clamp(35px,4vw,59px);line-height:1.15}.prose{max-width:780px;font-size:19px;line-height:1.75;color:#414944}.prose p{margin-bottom:25px}.prose p:last-child{margin-bottom:0}.list-section{background:#e3e6dc}.list-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.list-item{padding:34px 0;border-top:1px solid #9da99b;font-size:clamp(21px,2vw,29px);font-family:'Playfair Display',Georgia,serif}.split-callout{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.split-callout .section-title{margin-bottom:0}.split-callout .button{margin-top:18px}.small-note{font-size:15px;color:var(--muted)}.contact-page .contact-grid{gap:7vw}.contact-page .contact-panel{padding-bottom:40px}.page-visual{background:#aeb7ac;min-height:420px;position:relative;overflow:hidden}.page-visual:before{content:"";position:absolute;width:68%;height:85%;top:8%;left:17%;border:1px solid rgba(255,255,255,.65);border-radius:49% 49% 0 0;transform:rotate(-8deg)}.page-visual:after{content:"";position:absolute;width:67%;aspect-ratio:1;border:1px solid rgba(255,255,255,.45);border-radius:50%;right:-22%;bottom:-28%}.page-visual.rust{background:#ae7865}.page-visual.olive{background:#838e79}.home-about{background:var(--paper)}.home-about .text-link,.text-link{font-weight:700;text-underline-offset:5px}.home-services .card{min-height:360px}.home-services .card a{font-size:14px;text-decoration:underline;text-underline-offset:5px;font-weight:700;margin-top:23px;display:inline-block}.faq{background:var(--paper)}.faq details{border-top:1px solid var(--line);padding:24px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-family:'Playfair Display',Georgia,serif;font-size:25px}.faq details p{max-width:720px;color:var(--muted);margin:18px 0 0}.active-nav{color:var(--rust)!important}
@media(max-width:800px){.page-hero{padding:75px 25px}.page-hero .wrap,.editorial-grid,.list-grid,.split-callout{display:block}.page-hero .lede{margin-top:28px}.editorial-grid h2{margin-bottom:28px}.page-visual{min-height:290px}.split-callout .section-title{margin-bottom:25px}}

:root{--paper:#e9e0d4;--cream:#faf6ef;--ink:#302b29;--muted:#5b5350;--line:#c9bdb0;--rust:#884d3d;--deep:#382e2d}
.topbar{background:var(--cream);padding-top:25px;padding-bottom:25px}.brand{font-family:'Playfair Display',Georgia,serif;font-size:22px;font-weight:500;letter-spacing:-.02em;text-transform:none}.brand span{font-family:'DM Sans',Arial,sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin-top:8px}.nav{gap:clamp(15px,2vw,33px)}.nav a{font-size:12px;letter-spacing:.1em}.nav .nav-cta{background:var(--deep);color:#fff;border-color:var(--deep)}.nav .nav-cta:hover{background:var(--rust);color:#fff}
.hero{grid-template-columns:minmax(0,1fr) minmax(380px,.77fr);min-height:720px}.hero-copy{padding-top:clamp(80px,10vw,150px);padding-bottom:95px}.hero h1{font-size:clamp(61px,6.3vw,103px);max-width:830px}.hero-side{padding:0;background:#a7a4a1;min-height:650px}.hero-side:before,.hero-side:after{display:none}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}.hero-side .side-note{display:none}.section{padding-top:115px;padding-bottom:115px}.eyebrow{color:var(--rust)}.services{background:#f4eee5}.card,.card:nth-child(2){background:transparent;border:0;border-top:1px solid var(--ink);padding:28px 10px 18px 0;min-height:320px}.card h3{font-size:clamp(35px,3.5vw,54px)}.approach{background:#3c302e}.approach .eyebrow{color:#e3ac93}.page-hero{background:#e9e0d4}.page-hero h1{max-width:830px}.page-visual{background:#a7a4a1}.about-photo{width:100%;max-height:680px;object-fit:cover;object-position:center 18%;display:block}.about-portrait{display:grid;grid-template-columns:1fr 1fr;background:#ded6cc}.about-portrait .portrait-text{padding:10%;display:flex;flex-direction:column;justify-content:center}.about-portrait .portrait-text p{font-size:clamp(26px,3vw,42px);line-height:1.3}.about-portrait .portrait-text .eyebrow{font-size:12px}.home-services .cards{grid-template-columns:repeat(3,minmax(0,1fr))}.home-services .card{min-height:390px}.home-portrait{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;align-items:center}.home-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%}.home-portrait .prose{font-size:19px}
@media(max-width:800px){.topbar{padding:18px 24px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding-top:75px;padding-bottom:70px}.hero-side{min-height:440px;height:65vw;max-height:590px}.hero-photo{object-position:center 18%}.home-services .cards{grid-template-columns:1fr}.home-portrait,.about-portrait{display:block}.home-portrait img{aspect-ratio:1}.about-portrait .portrait-text{padding:60px 25px}.about-photo{max-height:560px}}

.contact-panel{scroll-margin-top:35px}.contact-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:25px}.contact-actions .button{margin-top:0;border:0;cursor:pointer}.copy-status{color:var(--deep);font-size:14px}.contact-panel .small-note{max-width:520px;margin:20px 0 32px;font-size:15px;line-height:1.6}.contact-panel .phone{margin-top:30px}.contact-panel address{font-style:normal;font-size:20px;line-height:1.5}.contact-panel .map-link{display:inline-block;margin-top:10px;font-size:15px!important}

.home-services .card{justify-content:flex-start;gap:22px}.office-feature{background:#dfd3c5;padding:110px clamp(25px,7vw,110px)}.office-feature-grid{max-width:1300px;margin:auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:7vw;align-items:center}.office-feature figure{margin:0}.office-feature img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;box-shadow:18px 18px 0 #c3ad9a}.office-feature figcaption{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:28px}.office-feature .section-title{font-size:clamp(42px,4.7vw,72px)}.office-feature .lede{margin-bottom:30px}.office-feature .text-link{font-size:14px;text-transform:uppercase;letter-spacing:.08em}.office-visit{background:#f4eee5;padding:0 clamp(25px,7vw,110px) 110px}.office-visit-grid{max-width:1300px;margin:auto;display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;gap:6vw}.office-visit img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}.office-visit .visit-copy{padding:45px 0}.office-visit .section-title{font-size:clamp(39px,4vw,60px)}.office-visit address{font-style:normal;font-size:18px;line-height:1.7}.office-visit .text-link{display:inline-block;margin-top:20px}.office-feature .eyebrow,.office-visit .eyebrow{color:#854534}
@media(max-width:900px){.office-feature{padding:80px 25px}.office-feature-grid,.office-visit-grid{display:flex;flex-direction:column;align-items:stretch;gap:55px}.office-feature-grid figure{order:2}.office-feature-grid .copy{order:1}.office-feature img{box-shadow:12px 12px 0 #c3ad9a}.office-visit{padding:0 25px 80px}.office-visit-grid{gap:30px}.office-visit .visit-copy{padding:0}}

:root{--paper:#eee5db;--cream:#fcf8f2;--ink:#302828;--muted:#5e524e;--rust:#934e38;--deep:#3b292f}
.button,.nav .nav-cta{background:#783e37;border-color:#783e37}.button:hover,.nav .nav-cta:hover{background:#5d3637;border-color:#5d3637}
.services{background:#f7f0e7}.home-services .card{border-top:2px solid #95523e}.home-services .card:nth-child(2){border-top-color:#b58457}.home-services .card:nth-child(3){border-image:linear-gradient(90deg,#9a5d55,#c9a56e,#8c7796,#789092) 1}
.office-feature{background:#d8bfad}.office-feature img{box-shadow:18px 18px 0 #b88e78}.office-visit{background:#f6eee5}.approach{background:#3b2a31}.approach .eyebrow{color:#e6ab8e}
.kap-hero{background:radial-gradient(circle at 82% 14%,rgba(143,116,160,.26),transparent 35%),radial-gradient(circle at 56% 94%,rgba(200,150,88,.18),transparent 42%),radial-gradient(circle at 10% 20%,rgba(108,144,139,.17),transparent 38%),#eee5db;border-bottom:4px solid transparent;border-image:linear-gradient(90deg,#9a5d55,#c9a56e,#8c7796,#789092) 1}
@media(max-width:900px){.office-feature img{box-shadow:12px 12px 0 #b88e78}}
@media(max-width:600px){.contact-panel a[href^="mailto:"]{display:block;font-size:clamp(12px,4vw,16px);letter-spacing:-.02em;white-space:nowrap;overflow-wrap:normal}}
