@font-face{font-family:'DM Serif';src:url('assets/dm-serif.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:'DM Sans';src:url('assets/dm-sans.ttf') format('truetype');font-display:swap;font-weight:400}
:root{--ink:#29241e;--muted:#5c5348;--accent:#7c5a32;--gold:#b7966f;--paper:#eee7dd;--line:#ded4c6;--serif:'DM Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.025em;text-wrap:balance}h1{font-size:clamp(38px,3.6vw,50px)}h2{font-size:clamp(30px,3.2vw,42px)}h3{font-size:20px;line-height:1.35}h4{font-size:17px;line-height:1.4}em{font-style:normal;color:var(--accent)}[hidden]{display:none!important}:focus-visible{outline:3px solid #89643b;outline-offset:4px}.container{width:min(1120px,calc(100% - 64px));margin-inline:auto}.section{padding-block:48px}main>section{position:relative;scroll-margin-top:102px}.anchor-alias{position:absolute;top:0;left:0;scroll-margin-top:102px;pointer-events:none}.eyebrow{font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.12em;color:#725331;margin-bottom:15px}.skip{position:fixed;top:-100px;left:20px;background:#fff;padding:14px;z-index:200}.skip:focus{top:8px}
/* Navigation */
.site-header{position:sticky;top:0;z-index:50;background:#fffffff5;border-bottom:1px solid #e7e1d8;backdrop-filter:blur(12px)}.site-header.is-scrolled{box-shadow:0 4px 20px #29241e0c}.header-inner{width:min(1200px,calc(100% - 64px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:84px}.brand{display:block;width:205px;padding-block:18px;flex-shrink:0}nav{display:flex;align-items:center;gap:20px;font-size:13px}nav a{display:inline-flex;align-items:center;min-height:44px}nav a:hover{color:var(--accent)}.nav-cta{border:1px solid #9d7b50;border-radius:5px;padding:10px 17px;gap:16px;white-space:nowrap}.menu-toggle{display:none;border:0;background:transparent;min-width:44px;min-height:44px;padding:10px}.menu-toggle span{display:block;height:2px;background:var(--ink);width:24px;margin:5px 0}.reading-progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:100;background:var(--gold);transform:scaleX(0);transform-origin:left;pointer-events:none}
/* Actions */
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:56px;padding:16px 24px;border:0;border-radius:6px;font-size:15px;font-weight:600;line-height:1.4;transition:transform .2s,box-shadow .2s,background .2s}.button span{font-size:23px;line-height:1}.gold{background:#b7966f;color:#211b13;box-shadow:0 5px 16px #4e351b18}.dark{background:#2c261e;color:#fff;box-shadow:0 4px 12px #29241e12}.full{width:100%}.button:disabled{opacity:.55;cursor:wait}.text-link,.hero-direct{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:14px;border-bottom:1px solid #a78b66}.hero-direct{display:flex;width:fit-content;margin-top:12px;color:#725331}.inline-link{border:0;background:none;padding:0;color:inherit;text-decoration:underline;text-underline-offset:3px}.back-button{display:block;border:0;background:none;min-height:44px;margin:10px auto 0;color:var(--muted);font-size:14px}.floating-contact{position:fixed;right:20px;bottom:20px;z-index:20;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--gold);border-radius:50%;background:#2c261e;box-shadow:0 5px 20px #21170c25}.floating-contact svg{width:24px;height:24px;color:#fff}
/* Opening */
.hero{background:var(--paper);overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center;padding-block:38px}.hero-copy{position:relative;z-index:2}.hero h1 em{display:block}.hero .eyebrow{display:flex;align-items:center;gap:12px}.hero .eyebrow:before{content:'';width:28px;height:1px;background:#aa8a60}.audience-line{font-size:15px;line-height:1.65;color:#5d5245;max-width:470px;margin:22px 0 26px}.hero-art{aspect-ratio:1.22;min-width:0;overflow:hidden;pointer-events:none;display:flex;align-items:center;justify-content:center}.hero-art img{width:100%;max-width:none;height:100%;object-fit:cover;object-position:50% 40%;-webkit-mask-image:linear-gradient(180deg,#000 88%,transparent);mask-image:linear-gradient(180deg,#000 88%,transparent)}
/* Calculator */
.explanation{background:#f7f4ef}.example-grid{display:grid;grid-template-columns:1fr;gap:22px;max-width:760px}.section-description{font-size:15px;color:var(--muted);margin-top:14px}.calculator-card,.form-shell{padding:28px 30px;border:1px solid #d8cbb8;border-radius:12px;background:#fff;box-shadow:0 8px 26px #3d2a130a}.calculator-card{border-top:3px solid var(--gold)}.calculator-card:focus-within,.form-shell:focus-within{border-color:#a78b66}.example-label{font-size:11px;letter-spacing:.1em;color:#705331;margin-bottom:18px;line-height:1.6}#income-calculator{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}label[for=income-a]{grid-area:1/1}#income-a{grid-area:2/1}label[for=income-b]{grid-area:1/2}#income-b{grid-area:2/2}.input-label{display:block;font-size:14px;line-height:1.5;margin:0 0 8px}input:not([type=radio]):not([type=checkbox]){display:block;width:100%;min-height:50px;padding:12px 14px;border:1px solid #cfc8bc;border-radius:5px;background:#fdfcf9;color:var(--ink);font-size:16px;line-height:1.4}input::placeholder{color:#746e65}input:not([type=radio]):not([type=checkbox]):focus{outline:2px solid #b7966f70;outline-offset:2px;background:#fff;border-color:#89643b}input[aria-invalid=true]{border-color:#9a3030!important}.calculator-more,.calculator-help,#calculator-error,#income-calculator>.button{grid-column:1/-1}.calculator-more{margin-top:8px}.calculator-more summary{min-height:44px;padding-block:12px;font-size:13px;color:#705331;cursor:pointer}.calculator-more .input-label{margin-top:10px}.field-help,.example-note,.consent,.form-footnote{font-size:13px;line-height:1.6;color:var(--muted)}.calculator-help{margin:8px 0 18px}.example-note{margin-top:18px}.form-error{font-size:14px;line-height:1.5;color:#9a3030;margin:12px 0}.form-error:empty{display:none}.calculator-result{border-top:1px solid var(--line);padding-top:20px;margin-top:22px;scroll-margin-top:110px}.money-row,.limit-row{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px}.money-row strong{font-size:24px;font-variant-numeric:tabular-nums}.limit-row{padding:12px 14px;background:#f1e8da;border-radius:6px;margin-top:14px}.limit-row strong{white-space:nowrap}.calculator-result h4{margin:20px 0 10px}.calculator-result>p{font-size:14px;color:var(--muted)}.calculator-cta{margin-top:20px;font-size:14px}.official-sources{max-width:760px;margin-top:14px;color:var(--muted);font-size:13px}.official-sources summary{min-height:44px;padding-block:10px;cursor:pointer}.source-links{display:flex;flex-wrap:wrap;gap:4px 24px}.source-links a,.source-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:3px}
/* Professional */
.team-section{background:var(--paper);padding-block:36px}.team-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:38px;align-items:center;max-width:900px}.team-grid>img{width:220px;height:275px;object-fit:cover;object-position:50% 20%;border-radius:10px;border:1px solid #d5c5b0;background:var(--paper)}.team-grid h2{font-size:clamp(29px,3vw,38px)}.team-grid>div>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:14px;max-width:530px}.team-grid .professional-id{font-size:13px;line-height:1.7;padding-top:12px;border-top:1px solid #d5c5b0}.team-grid .text-link{margin-top:10px}
/* Contact */
.form-section{background:#fffdf9;border-block:1px solid #e7dfd3}.form-layout{max-width:760px}.form-intro{margin-bottom:22px}.form-intro>p:not(.eyebrow){margin-top:14px;font-size:15px;color:var(--muted)}.step-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.5;color:var(--muted)}.progress{height:3px;background:#eee9e0;margin:16px 0 25px}.progress span{display:block;width:50%;height:100%;background:var(--gold);transition:width .2s}fieldset{min-width:0;border:0;padding:0;margin:0 0 24px}legend{padding:0;max-width:100%;font-size:15px;line-height:1.6}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.choices label{position:relative;cursor:pointer}.choices input{position:absolute;opacity:0;width:1px;height:1px}.choices span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 5px;border:1px solid #ccc7bf;border-radius:5px;font-size:14px;background:#fff}.choices input:checked+span{background:#f0e5d5;border-color:#89643b;box-shadow:inset 0 0 0 1px #89643b}.choices input:focus-visible+span{outline:3px solid #89643b;outline-offset:3px}#step-2 h3,#handoff h3{margin-bottom:18px}#step-2 .input-label{margin-top:18px}#phone-help{margin-top:8px}.consent{display:flex;align-items:flex-start;gap:10px;margin:20px 0}.consent input{width:20px;height:20px;flex-shrink:0;margin:2px 0;accent-color:#89643b}.consent button{font-size:inherit}.form-footnote{text-align:center;margin-top:12px}#handoff>p{font-size:14px;margin-bottom:20px;color:var(--muted)}
/* FAQ and closing */
.faq-section{background:#fff}.faq-layout{display:grid;grid-template-columns:1fr;gap:28px;max-width:800px}.faq-layout>div:first-child{text-align:center}.questions .source-link{display:flex;justify-content:center;text-align:center}.questions details{border-bottom:1px solid var(--line)}.questions details:first-child{border-top:1px solid var(--line)}.questions summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:66px;padding:18px 0;list-style:none;font-size:15px;cursor:pointer}.questions summary::-webkit-details-marker{display:none}.questions summary span{font-size:22px;color:#75603d;flex-shrink:0}.questions details[open] summary span{transform:rotate(45deg)}.questions details[open] summary{color:var(--accent)}.questions details>p{font-size:14px;line-height:1.7;padding:0 22px 20px 0;color:var(--muted)}.source-link{margin-top:14px;color:var(--muted)}.closing{padding-block:38px;background:var(--paper);text-align:center}.closing h2{font-size:clamp(30px,3vw,38px);margin-bottom:22px}.closing p:not(.eyebrow){color:#51483e;font-size:15px;line-height:1.65;margin:16px 0 22px}.closing small{display:block;max-width:480px;margin:17px auto 0;color:#51483e;font-size:12px;line-height:1.6}
/* Footer and modal */
 .office-address span{display:block}
.footer-main{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:40px;padding-block:34px}.footer-main>div{display:grid;grid-template-rows:36px auto;gap:14px;align-content:start;min-width:0}.footer-brand img{width:220px;max-height:36px;object-fit:contain;object-position:left center;align-self:center}.footer-main p,.footer-main a{font-size:13px;line-height:26px;color:var(--muted);overflow-wrap:anywhere}.footer-main .footer-title{display:flex;align-items:center;font-size:11px;line-height:18px;letter-spacing:.1em;color:var(--ink);margin:0}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:0}.footer-links a{display:flex;align-items:center;min-height:26px;line-height:26px;padding:0}.office-address{margin:0}.office-address span{min-height:26px;line-height:26px}.footer-bottom{display:flex;align-items:center;gap:20px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-block:14px}.footer-bottom>a,.footer-bottom>button{display:inline-flex;align-items:center;min-height:44px}.footer-bottom>button{font-size:inherit}.footer-bottom p:last-child{margin-left:auto;max-width:300px}
dialog{border:1px solid var(--line);border-radius:12px;padding:38px;max-width:640px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;color:var(--ink);background:#fffdf9;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#211b1380}dialog h2{font-size:32px;margin-right:20px}dialog>p:not(.eyebrow){font-size:14px;line-height:1.7;margin-top:18px}dialog a{text-decoration:underline;overflow-wrap:anywhere}.dialog-close{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:0;background:none;font-size:28px;color:var(--ink)}.dialog-done{margin-top:22px}
@media(hover:hover) and (pointer:fine){.button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 7px 20px #21170c25}.gold:hover{background:#c5a47e}.dark:hover{background:#44382a}.text-link:hover,.hero-direct:hover{color:#3b2b19}.choices label:hover span{border-color:#89643b}}
@media(min-width:761px) and (max-width:1050px){.header-inner{gap:15px}.brand{width:155px}nav{gap:11px;font-size:11px}.nav-cta{padding:10px 12px;gap:10px}.hero-grid{gap:18px}.hero h1{font-size:37px}.audience-line{font-size:14px}}
@media(max-width:760px){.container,.header-inner{width:calc(100% - 40px)}.section{padding-block:32px}main>section,.anchor-alias{scroll-margin-top:92px}.header-inner{min-height:74px;gap:16px}.brand{width:180px;padding-block:15px}.menu-toggle{display:block;flex-shrink:0}nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 74px);overflow:auto;padding:14px 20px 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #21170c0d;font-size:14px}nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:10px 0;min-height:46px}.nav-cta{padding:12px 16px;justify-content:space-between;margin-top:8px}.hero-grid{grid-template-columns:1fr;gap:0;padding-block:28px 0}.hero h1{font-size:35px}.hero .eyebrow{font-size:11px;letter-spacing:.08em;gap:9px}.hero .eyebrow:before{width:18px}.audience-line{font-size:14px;max-width:340px;margin:18px 0 22px}.hero-copy>.button{width:100%;font-size:15px}.hero-art{margin:4px -20px 0;aspect-ratio:1.22}.hero-direct{font-size:14px;margin-top:12px}.floating-contact{display:none}h2{font-size:31px}.section-description{font-size:14px;margin-top:12px}.example-grid{gap:18px}.calculator-card,.form-shell{padding:22px 19px}.example-label{letter-spacing:.06em}#income-calculator{display:block}.input-label{font-size:14px;margin-bottom:8px}label[for=income-b]{margin-top:18px}.calculator-more{margin-top:8px}.calculator-more summary{font-size:13px}.official-sources{margin-top:8px}.source-links{display:block}.money-row{align-items:flex-start}.money-row strong{font-size:21px;white-space:nowrap}.limit-row{font-size:13px;padding:12px}.calculator-cta{font-size:14px;gap:12px}.team-section{padding-block:28px}.team-grid{grid-template-columns:1fr;gap:20px;align-items:center;text-align:center}.team-grid>img{width:180px;height:225px;border-radius:10px;margin-inline:auto;object-position:50% 18%}.team-grid>div>p:not(.eyebrow){margin-inline:auto}.team-grid .professional-id{max-width:300px}.team-grid .text-link{justify-content:center}.team-grid .eyebrow{font-size:10px;margin-bottom:10px}.team-grid h2{font-size:27px}.team-grid>div>p:not(.eyebrow){font-size:13px;margin-top:12px}.team-grid .professional-id{font-size:12px}.team-grid .text-link{font-size:13px;gap:9px}.form-intro>p:not(.eyebrow){font-size:14px}.step-label{font-size:11px}.form-shell .button{font-size:14px;gap:12px}.choices span{font-size:13px}.progress{margin:14px 0 22px}.faq-layout{grid-template-columns:1fr;gap:22px}.questions summary{font-size:14px;min-height:64px}.closing{padding-block:32px}.closing .button{width:100%;max-width:360px}.closing h2{font-size:31px}.closing p:not(.eyebrow){font-size:14px}.footer-main{grid-template-columns:1fr;gap:24px;padding-block:28px}.footer-main>div{grid-template-rows:auto auto;gap:8px}.footer-main .footer-brand{gap:14px}.footer-brand img{width:190px;max-height:none}.footer-main .footer-title{min-height:20px;font-size:12px}.footer-main p,.footer-main a{font-size:13px;line-height:24px}.footer-links{gap:0}.footer-links a{min-height:40px;line-height:24px;width:fit-content}.office-address span{min-height:24px;line-height:24px}.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:4px 20px;padding-block:16px 24px}.footer-bottom>p:first-child{width:100%;margin-bottom:4px}.footer-bottom p:last-child{width:100%;max-width:none;margin:8px 0 0;line-height:1.6}.footer-bottom>a,.footer-bottom>button{min-height:40px}dialog{padding:32px 22px}dialog h2{font-size:29px}}
@media(max-width:350px){.hero h1{font-size:32px}.hero .eyebrow{font-size:10px}.button{padding-inline:16px;gap:14px}.team-grid{grid-template-columns:1fr;gap:18px}.team-grid>img{width:160px;height:200px}.team-grid h2{font-size:24px}.team-grid .text-link{font-size:12px}.money-row{font-size:13px}.money-row strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:hover{transform:none!important}}

/* Public reviews: editorial excerpts, no carousel or external tracking embed. */
.reviews-section{background:#f7f4ef}.reviews-layout{max-width:1120px}.reviews-heading{text-align:center;max-width:760px;margin:0 auto 24px}.reviews-heading h2{font-size:clamp(30px,3vw,40px)}.reviews-rating{margin-top:16px;color:var(--muted);font-size:14px}.reviews-rating strong{color:var(--ink)}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;box-shadow:0 6px 20px #3d2a1306}.review-stars{font-size:18px;letter-spacing:3px;color:#806035;line-height:1.5}.review-card blockquote{margin:16px 0 22px;color:var(--ink);font-size:16px;line-height:1.65}.review-credit{margin-top:auto;border-top:1px solid #eee7dd;padding-top:14px}.review-credit p{font-size:14px;font-weight:600}.review-credit a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--accent);font-size:12px;text-decoration:underline;text-underline-offset:3px}.reviews-note{max-width:800px;margin:18px auto 0;text-align:center;color:var(--muted);font-size:12px;line-height:1.6}
@media(max-width:760px){.reviews-grid{grid-template-columns:1fr;gap:14px}.review-card{padding:20px}.review-card blockquote{margin-block:12px 16px;font-size:15px}.review-credit{padding-top:10px}.reviews-heading{margin-bottom:20px}.reviews-heading h2{font-size:31px}.reviews-rating{font-size:13px}.reviews-note{text-align:left}}
