:root{--bg: oklch(.94 .022 70);--bg-alt: oklch(.88 .04 65);--ink: oklch(.32 .05 40);--ink-soft: oklch(.48 .045 45);--line: oklch(.78 .04 65);--accent: oklch(.58 .12 45);--accent-deep: oklch(.45 .1 45);--accent-warm: oklch(.55 .07 115);--radius: 2px;--maxw: 1200px}[data-variant=foret]{--bg: oklch(.22 .03 155);--bg-alt: oklch(.28 .035 155);--ink: oklch(.94 .015 95);--ink-soft: oklch(.78 .025 100);--line: oklch(.38 .03 150);--accent: oklch(.82 .095 105);--accent-deep: oklch(.72 .08 105);--accent-warm: oklch(.7 .09 60)}[data-variant=sauge]{--bg: oklch(.965 .012 95);--bg-alt: oklch(.93 .018 95);--ink: oklch(.26 .035 155);--ink-soft: oklch(.42 .03 150);--line: oklch(.82 .02 140);--accent: oklch(.62 .065 148);--accent-deep: oklch(.42 .065 150);--accent-warm: oklch(.58 .085 60)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:400;letter-spacing:-.01em;margin:0;text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:none}.container{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,48px)}.nav{position:sticky;top:0;z-index:40;background:color-mix(in oklch,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in oklch,var(--line) 50%,transparent)}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding-block:20px}.brand{display:flex;align-items:center;gap:12px;font-family:var(--font-heading);font-size:22px;letter-spacing:.02em}.brand-mark{width:34px;height:34px;border-radius:50%;background:var(--accent);display:grid;place-items:center;color:var(--bg);font-family:var(--font-heading);font-style:italic;font-size:15px;font-weight:500}.brand-name{font-weight:500}.brand-sub{display:block;font-family:var(--font-body);font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--ink-soft);margin-top:2px}.nav-links{display:flex;gap:32px;align-items:center;font-size:14px;letter-spacing:.02em}.nav-links a{color:var(--ink-soft);transition:color .2s;position:relative}.nav-links a:hover{color:var(--ink)}.nav-links .cta{padding:10px 22px;border:1px solid var(--ink);color:var(--ink);border-radius:100px;transition:all .2s}.nav-links .cta:hover{background:var(--ink);color:var(--bg)}@media(max-width:760px){.nav-links a:not(.cta){display:none}.brand-sub{display:none}}.hero{padding:clamp(80px,12vw,140px) 0 clamp(80px,10vw,120px);position:relative;overflow:hidden}.hero-visual-wrap{position:absolute;inset:0;z-index:-1;opacity:.08;pointer-events:none}.hero-visual{width:100%;height:100%;border-radius:0;aspect-ratio:unset}.hero-visual-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-grid{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:680px;margin:0 auto}.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:28px;display:flex;align-items:center;gap:14px}.eyebrow:before{content:"";width:32px;height:1px;background:var(--accent-deep)}.hero h1{font-size:clamp(44px,6.5vw,86px);line-height:1.02;font-weight:300;letter-spacing:-.025em}.hero h1 em{font-style:italic;color:var(--accent-deep);font-weight:400}.hero-lede{font-size:clamp(16px,1.3vw,19px);line-height:1.65;color:var(--ink-soft);max-width:52ch;margin:32px auto 40px}.hero-cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center}.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 30px;font-family:var(--font-body);font-size:14px;letter-spacing:.04em;font-weight:500;border-radius:100px;border:1px solid transparent;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{background:var(--accent-deep);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{border-color:var(--ink)}.btn svg{width:14px;height:14px}.leaf{position:absolute;pointer-events:none;opacity:.5}.leaf-1{top:8%;right:-80px;width:320px;transform:rotate(-18deg)}.leaf-2{bottom:10%;left:-60px;width:180px;opacity:.25;transform:rotate(40deg)}section{position:relative}.section{padding:clamp(70px,10vw,130px) 0}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:clamp(24px,5vw,60px);align-items:end;margin-bottom:clamp(40px,6vw,72px);padding-bottom:28px;border-bottom:1px solid var(--line)}@media(max-width:760px){.section-head{grid-template-columns:1fr}}.section-label{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-deep);font-weight:500}.section-title{font-size:clamp(32px,4.5vw,52px);line-height:1.08;font-weight:300;letter-spacing:-.02em}.section-title em{font-style:italic;color:var(--accent-deep)}.about{background:var(--bg-alt)}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(32px,6vw,80px);align-items:center}@media(max-width:860px){.about-grid{grid-template-columns:1fr}}.portrait{aspect-ratio:3/4;background:var(--bg);border-radius:2px;overflow:hidden;position:relative;border:1px solid var(--line)}.about-body h3{font-size:clamp(30px,3.6vw,42px);font-weight:300;line-height:1.1;margin-bottom:24px;font-style:italic}.about-body p{color:var(--ink-soft);font-size:17px;margin:0 0 18px;max-width:54ch}.about-body p:first-of-type:first-letter{font-family:var(--font-heading);font-size:3.4em;float:left;line-height:.85;margin:6px 10px 0 0;font-weight:400;color:var(--accent-deep)}.credentials{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}.cred{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);padding:6px 12px;border:1px solid var(--line);border-radius:100px}.services-list{display:flex;flex-direction:column}.service{display:grid;grid-template-columns:80px 1fr auto auto;gap:clamp(16px,3vw,40px);padding:32px 0;border-bottom:1px solid var(--line);align-items:start;transition:background-color .2s}.service:hover{background:color-mix(in oklch,var(--accent) 8%,transparent)}.service:hover .service-title{color:var(--accent-deep)}.service:first-child{border-top:1px solid var(--line)}.service-num{font-family:var(--font-heading);font-style:italic;font-size:22px;font-weight:400;color:var(--accent-deep);padding-top:6px}.service-info h4{font-size:clamp(22px,2.4vw,30px);font-weight:400;margin-bottom:6px;transition:color .2s}.service-info p{color:var(--ink-soft);margin:0;font-size:15px;max-width:48ch}@media(max-width:760px){.service{grid-template-columns:40px 1fr}}.services-note{margin-top:40px;padding:28px 32px;background:var(--bg-alt);border-radius:2px;border-left:2px solid var(--accent);display:flex;gap:20px;align-items:flex-start}.services-note-icon{width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--bg);display:grid;place-items:center;flex-shrink:0;font-family:var(--font-heading);font-style:italic}.services-note p{margin:0;font-size:15px;color:var(--ink-soft)}.services-note strong{color:var(--ink);font-weight:500}.insurance{background:var(--bg-alt);padding:clamp(60px,8vw,100px) 0}.insurance-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:center}@media(max-width:760px){.insurance-inner{grid-template-columns:1fr}}.insurance-inner h3{font-size:clamp(28px,3.4vw,40px);font-weight:300;line-height:1.1;margin-bottom:18px}.insurance-inner h3 em{font-style:italic;color:var(--accent-deep)}.insurance-inner p{color:var(--ink-soft);margin:0 0 16px;max-width:52ch}.insurers{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}.insurer{padding:14px 18px;background:var(--bg);border:1px solid var(--line);border-radius:2px;font-size:13px;letter-spacing:.04em;display:flex;align-items:center;gap:10px}.insurer:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line)}@media(max-width:760px){.policy-grid{grid-template-columns:1fr}}.policy-card{background:var(--bg);padding:36px 32px;display:flex;flex-direction:column;gap:14px;min-height:240px}.policy-window{font-family:var(--font-heading);font-style:italic;font-size:44px;font-weight:300;color:var(--accent-deep);line-height:1}.policy-window small{font-family:var(--font-body);font-style:normal;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);display:block;margin-top:8px}.policy-card h5{font-family:var(--font-heading);font-weight:400;font-size:20px;margin:0}.policy-card p{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.55}.cta{padding:clamp(70px,10vw,130px) 0;text-align:center;position:relative}.cta h2{font-size:clamp(40px,6vw,80px);font-weight:300;line-height:1;letter-spacing:-.025em;margin-bottom:16px}.cta h2 em{font-style:italic;color:var(--accent-deep)}.cta p{color:var(--ink-soft);max-width:48ch;margin:0 auto 36px;font-size:17px}.cta .btn-primary{font-size:15px;padding:20px 36px}.cta-deco{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:36px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}.cta-deco:before,.cta-deco:after{content:"";width:40px;height:1px;background:var(--line)}footer{background:var(--ink);color:var(--bg);padding:60px 0 32px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:48px}@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}}footer h6{font-family:var(--font-body);font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;margin:0 0 20px;opacity:.6}.footer-brand{font-family:var(--font-heading);font-size:28px;margin-bottom:12px}.footer-brand em{font-style:italic}footer p,footer a{margin:0 0 8px;font-size:14px;opacity:.8;display:block}footer a:hover{opacity:1}.footer-bottom{padding-top:28px;border-top:1px solid color-mix(in oklch,var(--bg) 15%,transparent);display:flex;justify-content:space-between;font-size:12px;opacity:.55;letter-spacing:.05em}@media(max-width:600px){.footer-bottom{flex-direction:column;gap:8px}}:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px;border-radius:2px}
