:root{--ink:#181b1c;--paper:#f4f1eb;--white:#fff;--brass:#b8965a;--mist:#d9d7d0;--muted:#686a68;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}
a{color:inherit}
.skip{position:absolute;left:-9999px;z-index:100}
.skip:focus{left:1rem;top:1rem;background:#fff;padding:.7rem 1rem}
.site-header{height:84px;padding:0 clamp(1.2rem,4vw,4.5rem);display:flex;align-items:center;justify-content:space-between;background:rgba(244,241,235,.96);position:relative;z-index:20;border-bottom:1px solid rgba(24,27,28,.1)}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--brass);font:600 .9rem var(--serif);letter-spacing:.08em}
.brand strong,.brand small{display:block}
.brand strong{font:600 1.05rem var(--serif);letter-spacing:.02em}
.brand small{text-transform:uppercase;font-size:.65rem;letter-spacing:.18em;color:var(--muted);margin-top:.1rem}
nav{display:flex;align-items:center;gap:1.8rem}
nav a{text-decoration:none;font-size:.82rem;letter-spacing:.07em}
nav a:not(.nav-cta):hover{color:var(--brass)}
.nav-dropdown{position:relative}
.nav-dropdown summary{display:flex;align-items:center;gap:.35rem;cursor:pointer;list-style:none;font-size:.82rem;letter-spacing:.07em}
.nav-dropdown summary::-webkit-details-marker{display:none}
.nav-dropdown summary span{font-size:.8rem;transition:transform .2s}
.nav-dropdown[open] summary span{transform:rotate(180deg)}
.nav-dropdown-menu{display:none;position:absolute;z-index:30;top:calc(100% + .8rem);left:-1rem;min-width:190px;padding:.65rem;background:#f4f1eb;border:1px solid rgba(24,27,28,.12);box-shadow:0 16px 36px rgba(18,22,22,.16)}
.nav-dropdown-menu:before{content:"";position:absolute;left:0;right:0;top:-.85rem;height:.85rem}
.nav-dropdown-menu a{display:block;padding:.72rem .85rem;white-space:nowrap}
.nav-dropdown-menu a:hover{background:#e9e4da}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown[open] .nav-dropdown-menu{display:block}
.nav-cta{border:1px solid var(--ink);padding:.65rem 1.05rem}
.menu-button{display:none;background:none;border:0;font:500 .8rem var(--sans);text-transform:uppercase;letter-spacing:.1em}
.hero{height:calc(100vh - 84px);min-height:680px;position:relative;color:#fff;display:flex;align-items:center;padding:clamp(2rem,6vw,7rem)}
.hero-image,.hero-shade{position:absolute;inset:0}
.hero-image{background:url('assets/entrance.jpg') center 40%/cover no-repeat}
.hero-shade{background:linear-gradient(90deg,rgba(10,13,14,.82) 0%,rgba(10,13,14,.5) 45%,rgba(10,13,14,.12) 75%)}
.hero-content{position:relative;z-index:2;max-width:880px;margin-top:-4vh}
.eyebrow,.section-number{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:600}
.eyebrow{color:#e4d3b0}
.hero h1,.cta h2{font:500 clamp(3rem,7vw,6.6rem)/.98 var(--serif);letter-spacing:-.035em;margin:1.2rem 0 1.5rem}
.hero h1 em,.cta h2 em{font-weight:500;color:#e6d2aa}
.hero-copy{max-width:640px;font-size:clamp(1.05rem,1.6vw,1.3rem);color:rgba(255,255,255,.86)}
.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:2rem}
.button{display:inline-block;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600;padding:1rem 1.35rem}
.button.primary{background:var(--brass);color:#111}
.text-link{text-decoration:none;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:.3rem}
.hero-signature{position:absolute;z-index:2;right:clamp(1.2rem,4vw,4.5rem);bottom:2.2rem;text-align:right}
.hero-signature span,.hero-signature small{display:block}
.hero-signature span{font:500 1.35rem var(--serif)}
.hero-signature small{font-size:.63rem;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.72)}
.section{padding:clamp(5rem,9vw,9rem) clamp(1.2rem,7vw,8rem)}
.section-number{color:#887149;margin:0 0 2rem}
.intro-grid,.proof-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,8vw,9rem);align-items:start}
.section h2{font:500 clamp(2.4rem,4.7vw,5rem)/1.08 var(--serif);letter-spacing:-.035em;margin:0}
.lead{font-size:1.25rem;line-height:1.55}
.intro-grid>div:last-child{max-width:570px}
.underlined{display:inline-block;margin-top:1rem;text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:.25rem}
.dark{background:var(--ink);color:#f3f0e9}
.section-heading{max-width:900px}
.section-heading h2{max-width:800px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#3a3d3d;margin-top:5rem;border:1px solid #3a3d3d}
.steps article{background:var(--ink);padding:2.2rem 1.4rem;min-height:270px}
.steps span{color:var(--brass);font-size:.7rem;letter-spacing:.15em}
.steps h3{font:500 1.6rem var(--serif);margin:2.5rem 0 1rem}
.steps p{font-size:.86rem;color:#b9bcba;line-height:1.6}
.gallery{display:grid;grid-template-columns:1.4fr .8fr;grid-template-rows:auto auto;gap:1.4rem;align-items:end}
.gallery img,.about img,.featured-community img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-main{height:640px}
.gallery-copy{padding:2rem clamp(1rem,3vw,3.5rem)}
blockquote{font:500 clamp(2rem,3vw,3.2rem)/1.2 var(--serif);margin:0 0 2rem}
.gallery-secondary{height:360px;grid-column:2}
.proof{background:#dedbd4}
.proof-list{border-top:1px solid #9e9b94}
.proof-list>div{display:grid;grid-template-columns:150px 1fr;gap:1rem;align-items:center;padding:1.6rem 0;border-bottom:1px solid #9e9b94}
.proof-list strong{font:500 2.8rem var(--serif);color:#745e39}
.proof-list span{font-size:.88rem;text-transform:uppercase;letter-spacing:.08em}
.source-note{font-size:.72rem;color:#777;margin-top:1rem}
.testimonials{background:#fff}
.testimonial-heading{align-items:start}
.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#c9c4ba;border:1px solid #c9c4ba;margin-top:4rem}
.testimonial-card{background:#f7f4ee;padding:clamp(2rem,4vw,3.6rem);min-height:350px;display:flex;flex-direction:column;position:relative}
.testimonial-card:before{content:"\201C";position:absolute;right:1.6rem;top:.5rem;font:500 5rem var(--serif);color:rgba(184,150,90,.22)}
.testimonial-card blockquote{font-size:clamp(1.35rem,2vw,2rem);line-height:1.35;margin:0 0 2rem;max-width:780px}
.testimonial-card>p{margin:auto 0 0;display:flex;flex-direction:column;border-top:1px solid #c9c4ba;padding-top:1.1rem}
.testimonial-card strong{font:500 1.05rem var(--serif)}
.testimonial-card span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:.2rem}
.testimonial-featured{background:var(--ink);color:#f4f1eb;min-height:460px}
.testimonial-featured:before{color:rgba(230,210,170,.2)}
.testimonial-featured>p{border-color:#444849}
.testimonial-featured span{color:#adb1af}
.client-portrait{width:94px;height:94px;border-radius:50%;overflow:hidden;border:2px solid var(--brass);margin-bottom:2rem;background:#d7d3ca}
.client-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 32%;filter:grayscale(1) contrast(1.05);display:block}
.client-portrait-pair img{object-position:center center}
.client-portrait-small{width:76px;height:76px;margin-bottom:1.5rem}
.testimonial-wide{grid-column:1/-1;min-height:330px}
.testimonial-wide blockquote{max-width:1000px}
.testimonial-note{font-size:.75rem;color:var(--muted);margin:1.3rem 0 0}
.split{display:grid;grid-template-columns:1.3fr .7fr;gap:5rem;align-items:end;max-width:none}
.split>p{max-width:500px}
.community-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:2rem;margin-top:4rem}
.featured-community{height:570px;position:relative;overflow:hidden}
.featured-community:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.featured-community div{position:absolute;z-index:2;left:2rem;bottom:2rem;color:#fff}
.featured-community p{text-transform:uppercase;font-size:.68rem;letter-spacing:.18em;color:#dbc99f}
.featured-community h3{font:500 3.2rem var(--serif);margin:.2rem 0}
.community-list{border-top:1px solid #a5a29b}
.community-list a{display:flex;justify-content:space-between;gap:1rem;padding:1.6rem .5rem;text-decoration:none;border-bottom:1px solid #a5a29b;transition:.2s}
.community-list a:hover{padding-left:1rem;background:#ebe7de}
.community-list span{font:500 1.5rem var(--serif)}
.community-list small{color:var(--muted);text-align:right}
.about{display:grid;grid-template-columns:1fr 1fr;padding:0}
.about-image{min-height:720px}
.about-copy{padding:clamp(4rem,8vw,8rem);align-self:center}
.about-copy dl{margin-top:3rem;border-top:1px solid #bbb8b1}
.about-copy dl div{display:flex;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid #bbb8b1}
.about-copy dt{text-transform:uppercase;font-size:.68rem;letter-spacing:.16em;color:var(--muted)}
.about-copy dd{margin:0}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:4rem}
.article-grid article{border-top:2px solid var(--ink);padding:1.5rem 0;min-height:240px;display:flex;flex-direction:column}
.article-grid p,.article-grid span{text-transform:uppercase;font-size:.67rem;letter-spacing:.14em;color:#806942}
.article-grid h3{font:500 1.75rem/1.25 var(--serif);margin:.8rem 0 2rem}
.article-grid span{margin-top:auto;color:var(--muted)}
.cta{text-align:center;background:#765e39;color:#fff}
.cta .eyebrow{color:#e8d8b8}
.cta h2{font-size:clamp(2.7rem,5.5vw,5.8rem)}
.cta>p:not(.eyebrow){max-width:620px;margin:1.5rem auto 2rem;color:#eee7db}
.button.light{background:#f4f1eb;color:#1b1d1d}
footer{background:#111415;color:#d6d4cf;padding:4rem clamp(1.2rem,6vw,7rem) 2rem;display:grid;grid-template-columns:1.2fr .7fr .7fr;gap:3rem;font-size:.82rem}
footer .footer-brand{display:flex;align-items:center;gap:1rem}
footer strong,footer small{display:block}
footer strong{font:500 1.2rem var(--serif);color:#fff}
footer small{color:#8f9492}
footer>div:nth-child(2) p{margin:0 0 .3rem}
footer>div:nth-child(3){display:flex;flex-direction:column;align-items:flex-end}
footer>div:nth-child(3) a{margin-bottom:.4rem}
.legal{grid-column:1/-1;border-top:1px solid #353839;margin-top:2rem;padding-top:1.5rem;font-size:.68rem;color:#777d7a}
.reveal{animation:rise .9s ease-out both}
@keyframes rise{from{opacity:0;transform:translateY(24px)}
to{opacity:1;transform:none}
}
@media(max-width:900px){.menu-button{display:block}
nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--paper);padding:1.5rem;flex-direction:column;align-items:stretch;border-bottom:1px solid #bbb}
nav.open{display:flex}
.nav-dropdown{width:100%}
.nav-dropdown summary{justify-content:space-between;padding:.25rem 0}
.nav-dropdown-menu{position:static;min-width:0;margin:.45rem 0 0;padding:.25rem 0 .15rem .8rem;background:transparent;border:0;border-left:1px solid #c7b58f;box-shadow:none}
.nav-dropdown-menu:before{display:none}
.nav-dropdown-menu a{padding:.55rem .6rem}
.nav-dropdown:hover:not([open]) .nav-dropdown-menu,.nav-dropdown:focus-within:not([open]) .nav-dropdown-menu{display:none}
.hero{min-height:650px}
.hero h1 br{display:none}
.hero-signature{left:1.2rem;right:auto;text-align:left}
.intro-grid,.proof-grid,.split,.community-grid,.about{grid-template-columns:1fr}
.steps{grid-template-columns:1fr 1fr}
.gallery{grid-template-columns:1fr}
.gallery-main{height:500px}
.gallery-secondary{grid-column:1;height:360px}
.about-image{min-height:540px}
.article-grid{grid-template-columns:1fr}
.article-grid article{min-height:160px}
.testimonial-grid{grid-template-columns:1fr}
footer{grid-template-columns:1fr 1fr}
footer>div:nth-child(3){align-items:flex-start}
.legal{grid-column:1/-1}
}
@media(max-width:560px){.site-header{height:72px}
.brand small{display:none}
nav{top:72px}
.hero{height:calc(100vh - 72px);padding-bottom:7rem}
.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}
.steps{grid-template-columns:1fr}
.steps article{min-height:auto}
.gallery-main{height:390px}
.proof-list>div{grid-template-columns:100px 1fr}
.featured-community{height:430px}
.about-image{min-height:430px}
footer{grid-template-columns:1fr}
}

/* Video and expanded portfolio */
.hero-image{background-image:url('assets/hero-golden-gate.jpg');background-position:center 48%}
.hero-shade{background:linear-gradient(90deg,rgba(10,13,14,.84) 0%,rgba(10,13,14,.56) 47%,rgba(10,13,14,.16) 78%)}
.video-section{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(3rem,7vw,7rem);align-items:center}
.video-copy{max-width:610px}
.video-copy h2{font-size:clamp(2.5rem,4.5vw,4.8rem)}
.video-copy .lead{color:#e2ddd3}
.video-copy>p:not(.section-number):not(.lead){color:#b9bcba}
.light-link{color:#f1e7d2}
.video-frame{position:relative;aspect-ratio:16/9;background:#090b0b;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.portfolio-grid{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:repeat(2,280px);gap:1.2rem;margin-top:4rem}
.portfolio-grid figure{position:relative;margin:0;overflow:hidden;background:#d7d3ca}
.portfolio-grid .portfolio-wide{grid-row:1/3}
.portfolio-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}
.portfolio-grid figure:hover img{transform:scale(1.025)}
.portfolio-grid figure:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.68))}
.portfolio-grid figcaption{position:absolute;z-index:1;left:1.4rem;bottom:1.1rem;color:#fff;font:500 1.2rem var(--serif)}
@media(max-width:900px){
.video-section{grid-template-columns:1fr}
.portfolio-grid{grid-template-columns:1fr 1fr;grid-template-rows:430px 260px}
.portfolio-grid .portfolio-wide{grid-column:1/-1;grid-row:auto}
}
@media(max-width:560px){
.portfolio-grid{grid-template-columns:1fr;grid-template-rows:390px 260px 260px}
.portfolio-grid .portfolio-wide{grid-column:auto}
}

/* Right-aligned hero composition */
.hero-shade{background:linear-gradient(270deg,rgba(10,13,14,.84) 0%,rgba(10,13,14,.56) 47%,rgba(10,13,14,.12) 78%)}
.hero-content{width:min(920px,62vw);max-width:none;margin-left:auto;margin-right:0;text-align:right}
.hero h1{font-size:clamp(2.8rem,4vw,4.6rem);line-height:1.02}
.hero h1 br{display:block}
.hero-copy{margin-left:auto}
.hero-actions{justify-content:flex-end}
@media(max-width:900px){
.hero-content{width:100%;max-width:100%;margin-left:0;text-align:right}
.hero-actions{align-items:flex-end;justify-content:flex-end}
.hero-signature{left:auto;right:1.2rem;text-align:right}
}
@media(max-width:560px){
.hero h1{font-size:1.8rem;line-height:1.08}
}

/* About page */
.about-page-hero{min-height:720px;display:grid;grid-template-columns:1.08fr .92fr;background:var(--ink);color:#fff}
.about-page-hero-copy{padding:clamp(4rem,8vw,9rem);align-self:center}
.about-page-hero-copy h1{font:500 clamp(3.4rem,6vw,6.5rem)/1 var(--serif);letter-spacing:-.04em;margin:1.2rem 0 1.8rem}
.about-page-hero-copy h1 em{font-weight:500;color:#e6d2aa}
.about-page-hero-copy>p:not(.eyebrow){max-width:640px;font-size:1.22rem;color:#d6d4cf}
.about-page-hero-image{min-height:720px;overflow:hidden}
.about-page-hero-image img,.about-story-image img,.community-service-image img,.personal-photo img{width:100%;height:100%;object-fit:cover;display:block}
.about-page-hero-image img,.about-story-image img,.community-service-image img,.personal-photo img{filter:saturate(.92) contrast(1.015);transition:transform .7s ease,filter .7s ease}
.about-page-hero-image img{object-position:center 24%}
.about-story-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,8vw,9rem);align-items:center}
.about-story-image{height:650px;overflow:hidden}
.about-story-image img{object-position:center 20%}
.about-story-copy h2{font-size:clamp(2.6rem,4.6vw,4.9rem)}
.about-quote{border-left:1px solid var(--brass);padding-left:1.5rem;font-size:clamp(1.55rem,2.4vw,2.4rem);margin-top:2.5rem}
.about-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #aaa69d;border-bottom:1px solid #aaa69d;margin-top:5rem}
.about-facts div{padding:2rem;border-right:1px solid #aaa69d;display:flex;flex-direction:column}
.about-facts div:last-child{border-right:0}
.about-facts strong{font:500 2.4rem var(--serif);color:#745e39}
.about-facts span{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;margin-top:.4rem}
.community-service{display:grid;grid-template-columns:1.05fr .95fr;min-height:720px}
.community-service-image{min-height:720px;overflow:hidden}
.community-service-image img{object-position:center 42%}
.community-service-wedding{display:flex;align-items:center;justify-content:center;background:#222525;padding:clamp(1rem,2vw,2rem)}
.community-service-wedding img{width:min(82%,650px);height:auto;aspect-ratio:9/10;object-fit:cover;object-position:center center}
.community-service-copy{padding:clamp(4rem,8vw,8rem);align-self:center}
.community-service-copy h2{font:500 clamp(2.8rem,5vw,5rem)/1.08 var(--serif);letter-spacing:-.035em;margin:0 0 2rem}
.community-service-copy .lead{color:#e2ddd3}
.community-service-copy>p:not(.section-number):not(.lead){color:#b9bcba}
.rotary-highlight{margin-top:3rem;padding-top:1.5rem;border-top:1px solid #494c4c;display:flex;flex-direction:column}
.rotary-highlight span{font-size:.7rem;letter-spacing:.17em;text-transform:uppercase;color:var(--brass)}
.rotary-highlight strong{font:500 1.8rem var(--serif);margin-top:.35rem}
.rotary-highlight small{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#adb1af;margin-top:.45rem}
.service-list{list-style:none;padding:0;margin:2.5rem 0 0;display:grid;gap:0}
.service-list li{padding:1rem 0;border-top:1px solid #494c4c;color:#b9bcba;line-height:1.55}
.service-list strong{display:block;color:#f3f0e9;font-weight:500;margin-bottom:.2rem}
.foundation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#b8b3aa;border:1px solid #b8b3aa;margin-top:4rem}
.foundation-grid article{background:#f4f1eb;padding:2.4rem;min-height:300px}
.foundation-grid article>span{font-size:.7rem;letter-spacing:.15em;color:#806942}
.foundation-grid h3{font:500 1.75rem var(--serif);margin:2.4rem 0 1rem}
.personal-note{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(3rem,8vw,9rem);align-items:center;background:#dedbd4}
.personal-note-copy{max-width:620px}
.personal-note-gallery{height:600px;display:grid;grid-template-rows:1fr 1fr;gap:1rem}
.personal-photo{position:relative;margin:0;overflow:hidden;background:#c8c3ba}
.personal-photo::after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(transparent,rgba(20,25,24,.72));pointer-events:none}
.personal-photo figcaption{position:absolute;z-index:1;left:1.35rem;right:1.35rem;bottom:1.1rem;color:#fff;font:500 1.2rem var(--serif);letter-spacing:.01em;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.personal-photo-flowers img{object-position:62% 48%;transform:scale(1.12)}
.personal-photo-dogs img{object-position:center 56%}
nav a[aria-current="page"]{color:var(--brass)}
@media(max-width:900px){
.about-page-hero,.about-story-layout,.community-service,.personal-note{grid-template-columns:1fr}
.about-page-hero-copy{order:2}
.about-page-hero-image{order:1;min-height:560px;height:70vh}
.about-story-image{height:560px}
.community-service-image{min-height:600px;height:70vh}
.about-facts{grid-template-columns:1fr}
.about-facts div{border-right:0;border-bottom:1px solid #aaa69d}
.about-facts div:last-child{border-bottom:0}
.foundation-grid{grid-template-columns:1fr}
.foundation-grid article{min-height:auto}
.personal-note-gallery{height:620px}
}
@media(max-width:560px){
.about-page-hero{min-height:auto}
.about-page-hero-image{min-height:430px;height:58vh}
.about-page-hero-copy{padding:4rem 1.2rem}
.about-page-hero-copy h1{font-size:2.7rem}
.about-story-image{height:430px}
.community-service-image{min-height:500px;height:62vh}
.about-facts div{padding:1.5rem .4rem}
.personal-note-gallery{height:auto;grid-template-rows:none}
.personal-photo{height:280px}
}

/* Calculators */
.calculator-hero{min-height:520px;padding:clamp(4rem,8vw,8rem) clamp(1.2rem,7vw,8rem);display:grid;grid-template-columns:1.15fr .55fr;gap:clamp(3rem,8vw,9rem);align-items:end}
.calculator-hero-copy h1{font:500 clamp(3.2rem,6vw,6.4rem)/1 var(--serif);letter-spacing:-.04em;margin:1rem 0 1.8rem}
.calculator-hero-copy h1 em{font-weight:500;color:#e6d2aa}
.calculator-hero-copy>p:last-child{max-width:750px;font-size:1.2rem;color:#d6d4cf}
.calculator-hero-note{border-top:1px solid #555a59;padding-top:1.4rem;color:#b9bcba}
.calculator-hero-note span{text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;color:var(--brass)}
.calculator-intro{max-width:900px}
.calculator-intro h2{max-width:800px}
.calculator-tabs{display:flex;border-bottom:1px solid #aaa69d;margin:4rem 0 3rem}
.calculator-tab{appearance:none;border:0;background:transparent;padding:1rem 1.4rem;font:600 .75rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#767873;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px}
.calculator-tab.active{color:var(--ink);border-bottom-color:var(--brass)}
.calculator-help-note{display:flex;align-items:center;gap:.65rem;margin:-1.5rem 0 2rem;color:var(--muted);font-size:.82rem}
.calculator-help-note>span,.help-trigger{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;border:1px solid var(--brass);border-radius:50%;color:#725b31;font:600 .72rem/1 var(--sans);flex:0 0 auto}
.calculator-panel[hidden]{display:none}
.calculator-layout,.investment-calculator{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.65fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.calculator-inputs{background:#fff;border:1px solid #d0cbc1;padding:clamp(1.5rem,3vw,2.5rem)}
.calculator-group-heading{display:flex;gap:1rem;align-items:flex-start;border-bottom:1px solid #d0cbc1;padding-bottom:1.4rem;margin-bottom:1.8rem}
.calculator-group-heading>span{color:var(--brass);font-size:.72rem;letter-spacing:.14em;margin-top:.4rem}
.calculator-group-heading h3{font:500 1.8rem var(--serif);margin:0}
.calculator-group-heading p{margin:.25rem 0 0;color:var(--muted);font-size:.86rem}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.field-grid label{display:flex;flex-direction:column;gap:.45rem;position:relative}
.field-grid label>span:first-child{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#5d605d}
.field-label{padding-right:1.85rem}
.help-trigger{position:absolute;right:0;top:-.15rem;cursor:help;background:#fff;text-transform:none;letter-spacing:0;transition:background .18s ease,color .18s ease}
.help-trigger:hover,.help-trigger:focus-visible,.help-open .help-trigger{background:var(--brass);color:#fff;outline:none}
.field-help{position:absolute;z-index:20;top:1.65rem;right:0;width:min(310px,calc(100vw - 3rem));padding:1rem 1.05rem;background:#202525;color:#f4f1eb;box-shadow:0 14px 35px rgba(21,24,23,.22);font-size:.78rem;line-height:1.45;text-transform:none;letter-spacing:0;opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;pointer-events:none}
.field-help::before{content:"";position:absolute;right:.38rem;top:-.4rem;width:.8rem;height:.8rem;background:#202525;transform:rotate(45deg)}
.field-help>span{display:block;position:relative}
.field-help-values{margin-top:.55rem;color:#e6d2aa}
.help-trigger:hover+.field-help,.help-trigger:focus+.field-help,.help-open .field-help{opacity:1;visibility:visible;transform:translateY(0)}
.input-wrap{position:relative;display:block}
.input-wrap input{width:100%;border:1px solid #b9b4aa;background:#fbfaf7;border-radius:0;padding:.85rem 2.4rem .85rem 1rem;font:500 1rem var(--sans);color:var(--ink)}
.input-wrap input:focus{outline:2px solid rgba(184,150,90,.4);border-color:#8b713f}
.input-wrap.currency:before{content:"$";position:absolute;left:1rem;top:50%;transform:translateY(-50%);z-index:1;color:#777}
.input-wrap.currency input{padding-left:2rem}
.input-wrap.percent:after{content:"%";position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#777}
.input-wrap.years:after{content:"yrs";position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#777;font-size:.78rem}
.calculator-results{position:sticky;top:1.5rem;background:var(--ink);color:#f4f1eb;padding:clamp(2rem,4vw,3.2rem)}
.results-label{text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;color:var(--brass);margin:0}
.primary-result{display:block;font:500 clamp(3rem,5vw,5.3rem)/1 var(--serif);letter-spacing:-.035em;margin:.8rem 0;color:#fff}
.result-context{display:block;color:#adb1af;font-size:.78rem;line-height:1.5}
.payment-bar{display:flex;height:8px;margin:2rem 0;background:#4a4d4c;overflow:hidden}
.payment-bar span{display:block;transition:width .25s ease}
.payment-bar [data-bar="principal"]{background:#caa86c}.payment-bar [data-bar="tax"]{background:#8e7650}.payment-bar [data-bar="insurance"]{background:#7f8a87}.payment-bar [data-bar="hoa"]{background:#b9bcba}
.result-list{margin:1.2rem 0 2rem;border-top:1px solid #454948}
.result-list div{display:flex;justify-content:space-between;gap:1.5rem;padding:.8rem 0;border-bottom:1px solid #454948}
.result-list dt{color:#b9bcba;font-size:.78rem}.result-list dd{margin:0;font-weight:500;text-align:right}
.result-list .result-emphasis{padding-top:1.1rem}.result-list .result-emphasis dt,.result-list .result-emphasis dd{color:#e6d2aa}
.investment-input-column{display:grid;gap:1.4rem}
.investment-results{top:1rem}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#454948;margin:2rem 0}
.metric-grid div{background:#242829;padding:1rem;display:flex;flex-direction:column}
.metric-grid span{font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;color:#9ea3a1}.metric-grid strong{font:500 1.5rem var(--serif);margin-top:.25rem}
.negative{color:#e1a39c!important}.positive{color:#bcd2b8!important}
.annual-summary-wrap{margin-top:4rem;border-top:1px solid #aaa69d;padding-top:3rem}
.annual-summary-heading{display:grid;grid-template-columns:1fr .6fr;gap:3rem;align-items:end;margin-bottom:2rem}
.annual-summary-heading h3{font:500 clamp(2rem,3.5vw,3.5rem)/1.1 var(--serif);margin:0}.annual-summary-heading>p{color:var(--muted)}
.table-scroll{overflow-x:auto;background:#fff;border:1px solid #c8c3ba}
.annual-summary-table{width:100%;border-collapse:collapse;min-width:880px;font-size:.8rem}
.annual-summary-table th,.annual-summary-table td{padding:1rem;text-align:right;border-bottom:1px solid #ddd8cf;white-space:nowrap}
.annual-summary-table thead th{background:#222626;color:#fff;text-transform:uppercase;letter-spacing:.07em;font-size:.65rem}
.annual-summary-table th:first-child,.annual-summary-table td:first-child{text-align:left}.annual-summary-table tbody tr:last-child th,.annual-summary-table tbody tr:last-child td{border-bottom:0}
.calculator-disclaimer{margin-top:3rem;border-left:2px solid var(--brass);padding:1rem 1.4rem;max-width:1050px;color:#676965}
.calculator-disclaimer strong{color:var(--ink)}.calculator-disclaimer p{margin:.4rem 0 0;font-size:.78rem}
.calculator-teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#464a49;border:1px solid #464a49;margin-top:4rem}
.calculator-teaser-grid a{background:var(--ink);color:#f4f1eb;text-decoration:none;padding:clamp(2rem,4vw,3.5rem);display:flex;flex-direction:column;min-height:260px;transition:background .2s ease}
.calculator-teaser-grid a:hover{background:#242829}.calculator-teaser-grid span{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--brass)}
.calculator-teaser-grid strong{font:500 clamp(1.8rem,3vw,2.8rem)/1.15 var(--serif);margin:2rem 0 1rem}.calculator-teaser-grid small{color:#b9bcba;max-width:500px;font-size:.86rem}
@media(max-width:900px){
.calculator-hero,.calculator-layout,.investment-calculator{grid-template-columns:1fr}
.calculator-results{position:static}
.annual-summary-heading{grid-template-columns:1fr}
}
@media(max-width:560px){
.calculator-hero{min-height:auto;padding:4rem 1.2rem}.calculator-hero-copy h1{font-size:2.8rem}
.calculator-tabs{overflow-x:auto}.calculator-tab{white-space:nowrap;padding:.9rem .8rem}
.field-grid,.calculator-teaser-grid{grid-template-columns:1fr}
.calculator-shell{padding-left:1rem;padding-right:1rem}
.calculator-inputs{padding:1.2rem}.metric-grid{grid-template-columns:1fr 1fr}
}
