:root{--ink:#182523;--ink-2:#293a36;--paper:#f5f2ec;--white:#fff;--line:#d7d8d1;--muted:#5d6863;--accent:#d3bb8a;--serif:"Iowan Old Style",Baskerville,"Times New Roman",serif;--sans:"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{margin:0;color:var(--ink);background:#fff;font:400 1rem/1.58 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
:focus-visible{outline:3px solid #9d865b;outline-offset:4px}
.skip-link{position:absolute;left:1rem;top:-4rem;background:#fff;color:#111;padding:.6rem 1rem;z-index:100}
.skip-link:focus{top:1rem}
.wrap{width:min(100% - 3rem,1240px);margin-inline:auto}
.site-header{background:#111c1b;color:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(255,255,255,.12)}
.header-inner{height:79px;display:flex;align-items:center;gap:2.5rem}
.brand{display:inline-flex;align-items:center;flex:none}.brand img{width:123px;height:auto;mix-blend-mode:screen}
.main-nav{display:flex;gap:2.15rem;margin-left:auto;align-items:center}
.main-nav a{font-size:.88rem;letter-spacing:.02em;color:#e7eae6;transition:color .2s}.main-nav a:hover{color:var(--accent)}
.header-cta{border:1px solid #c7b389;padding:.7rem 1rem;display:inline-flex;gap:1.2rem;align-items:center;font-size:.88rem;font-weight:650;white-space:nowrap;transition:background .2s,color .2s}
.header-cta:hover{background:var(--accent);color:var(--ink)}
.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:48% 52%;background:var(--ink);color:#fff;min-height:660px}
.hero-copy{display:flex;align-items:center;justify-content:flex-end;padding:5.5rem 4.5rem 4.5rem max(1.5rem,calc((100vw - 1240px)/2))}
.hero-copy-inner{width:min(100%,570px)}
.eyebrow{font-size:.77rem;letter-spacing:.17em;font-weight:720;line-height:1.4;color:#687b72;text-transform:uppercase;margin:0 0 1.15rem}.eyebrow.light{color:var(--accent)}
h1,h2,h3,p,figure{margin-top:0}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.037em;line-height:1.07}
h1{font-size:clamp(3.5rem,5vw,6rem);max-width:660px;margin-bottom:1.55rem}
h1 em,h2 em{font-weight:400;color:var(--accent)}
h2{font-size:clamp(2.65rem,4vw,4.25rem);margin-bottom:1.4rem}
h3{font-family:var(--serif);font-weight:400;line-height:1.13;letter-spacing:-.025em}
.hero-intro{max-width:530px;color:#d4ddd6;font-size:1.12rem;line-height:1.7;margin-bottom:2.1rem}
.hero-actions{display:flex;align-items:center;gap:2.2rem;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.2rem;padding:1rem 1.3rem;font-size:.94rem;font-weight:700;border:1px solid transparent;min-height:54px;transition:transform .2s,background .2s,color .2s}
.button:hover{transform:translateY(-2px)}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#e2d3b7}
.text-link{font-weight:650;font-size:.92rem;display:inline-flex;gap:.8rem;align-items:center;border-bottom:1px solid;padding-bottom:.3rem}.light-link{color:#e3e9e5;border-color:#8b9b91}
.hero-foot{font-size:.79rem;letter-spacing:.02em;color:#aebbb2;margin:4.2rem 0 0}.hero-foot span{padding:0 .5rem;color:var(--accent)}
.hero-image{position:relative;min-height:560px;overflow:hidden;margin:0}
.hero-image img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:48% center}
.hero-image:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.35))}
.hero-image figcaption{position:absolute;bottom:2rem;right:2.6rem;color:#fff;z-index:1;font-family:var(--serif);font-style:italic;font-size:1.16rem;text-shadow:0 1px 6px #0008}
.section-space{padding-block:6.5rem}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:2.5rem}
.section-head>p{max-width:400px;color:var(--muted);margin:0 0 .4rem}
.section-head h2{margin-bottom:0;max-width:700px}
.section-head.narrow{display:block;max-width:790px}.section-head.narrow p:not(.eyebrow){margin:.8rem 0 0;color:var(--muted);max-width:650px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.choice-card{min-height:300px;padding:2.4rem;display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;transition:background .2s,border-color .2s,transform .2s}
.choice-card:hover{background:var(--paper);border-color:#aeb4a6;transform:translateY(-3px)}
.choice-no{font-size:.78rem;font-weight:750;letter-spacing:.12em;color:#6a776e}.choice-card h3{font-size:2.3rem;margin:1.8rem 0 .8rem}.choice-card p{max-width:450px;color:var(--muted);margin:0 0 1.7rem}.choice-link{font-size:.9rem;font-weight:750;margin-top:auto;display:flex;justify-content:space-between;max-width:240px;border-bottom:1px solid #687b72;padding-bottom:.45rem}
.work{background:var(--paper)}.work-head{align-items:end}.work-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1rem}
.work-card{margin:0;position:relative;overflow:hidden;aspect-ratio:4/5;background:#d9d6d0}.work-card-tall{aspect-ratio:4/5}
.work-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.work-card:hover img{transform:scale(1.035)}
.work-card:nth-child(1) img{object-position:center}.work-card:nth-child(2) img{object-position:55% center}.work-card:nth-child(3) img{object-position:55% center}
.work-card:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#091b19a8)}
.work-card figcaption{position:absolute;z-index:1;bottom:1.6rem;left:1.6rem;color:#fff;display:flex;flex-direction:column;line-height:1.4;text-shadow:0 1px 5px #0005}
.work-card strong{font:400 1.7rem/1.1 var(--serif)}.work-card span{font-size:.82rem;margin-top:.3rem}
.underlined-link{display:inline-flex;align-items:center;gap:2.5rem;font-weight:700;font-size:.92rem;border-bottom:1px solid;padding:.35rem 0;margin-top:2rem}.underlined-link:hover{color:#566f63}
.services-head{align-items:end}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:6% 1fr 28%;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--line);scroll-margin-top:6rem}
.service-number{font-size:.82rem;color:#718078}.service-row h3{font-size:2.2rem;margin:0 0 .5rem}.service-row p{color:var(--muted);max-width:570px;margin:0}.service-row ul{padding:0;margin:0;list-style:none;color:var(--ink-2);font-size:.94rem;line-height:1.9}
.service-link{display:inline-flex;gap:1rem;align-items:center;margin-top:.8rem;padding-bottom:.2rem;border-bottom:1px solid #637b6a;color:#2e5840;font-weight:700;font-size:.91rem}.service-link:hover{color:#162f23}
.approach{background:var(--ink);color:#fff}.approach-head p{color:#b5c4ba}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;list-style:none;padding:2rem 0 0;margin:0;border-top:1px solid #5b6a62}.steps li{padding-right:1rem}.steps li>span{color:var(--accent);font:400 1.6rem var(--serif)}.steps h3{font-size:1.62rem;margin:2.8rem 0 .7rem}.steps p{color:#bdc9bf;font-size:.94rem;line-height:1.65;margin:0}
.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.about h2{max-width:520px}.about h2 em{color:#7c8d76}.about-details{padding-top:2rem}.about-details p{font-size:1.08rem;line-height:1.85;color:#45534d}.local-pills{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2rem}.local-pills span{border:1px solid #c9d1ca;color:#44554c;font-size:.82rem;padding:.44rem .8rem;border-radius:30px}
.faq{background:#f5f6f2}.faq-grid{display:grid;grid-template-columns:36% 1fr;gap:10%}.faq-intro{color:var(--muted);max-width:350px}.faq-list{border-top:1px solid #cbd3ca}.faq-list details{border-bottom:1px solid #cbd3ca;padding:1.2rem 0}.faq-list summary{font-weight:650;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:start;gap:1rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font:400 1.6rem/1 var(--serif)}.faq-list details[open] summary:after{content:"−"}.faq-list details p{max-width:650px;color:var(--muted);margin:.85rem 2rem .3rem 0;line-height:1.7}
.contact{background:#1c302b;color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.contact-copy{padding-top:1.4rem}.contact-copy h2{max-width:580px}.contact-copy>p:not(.eyebrow){color:#cad6ce;max-width:480px;font-size:1.05rem;line-height:1.75}.contact-direct{display:flex;flex-direction:column;gap:1rem;margin-top:3rem}.contact-direct a{width:fit-content;border-bottom:1px solid #84998b;padding-bottom:.3rem;font-weight:650}.contact-direct span{padding-left:2rem}.contact-direct a:hover{color:var(--accent)}
.project-form{background:#f9f8f4;color:var(--ink);padding:2.5rem;box-shadow:0 20px 35px #0c231c22}.project-form h3{font-size:2rem;margin:0 0 .25rem}.project-form>p{color:var(--muted);font-size:.91rem}.form-row{display:flex;flex-direction:column;margin-top:1.1rem}.form-row label{font-size:.87rem;font-weight:650;margin-bottom:.35rem}.form-row input,.form-row select,.form-row textarea{width:100%;border:1px solid #cbd2ca;background:#fff;color:#1c302b;border-radius:0;padding:.75rem .8rem;min-height:46px;font-size:.95rem}.form-row textarea{resize:vertical}.form-row input::placeholder,.form-row textarea::placeholder{color:#78847c}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.button-dark{background:var(--ink);color:#fff;width:100%;margin-top:1.5rem}.button-dark:hover{background:#3c5549}.project-form .form-note{font-size:.76rem;line-height:1.5;color:#66736a;margin:1rem 0 0}
.site-footer{background:#101b1a;color:#edf1ec;padding:4.5rem 0 1.3rem}.footer-top{display:grid;grid-template-columns:1.6fr .7fr 1.3fr .7fr;gap:2.5rem}.footer-top img{width:123px;mix-blend-mode:screen}.footer-top p{color:#9dab9f;font-size:.92rem;line-height:1.6;margin-top:1.5rem}.footer-top h3{font:700 .79rem var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin:0 0 1.1rem}.footer-top a{display:block;color:#d6dfd8;font-size:.88rem;line-height:1.9}.footer-top a:hover{text-decoration:underline}.footer-top address{font-size:.88rem;line-height:1.7;font-style:normal;color:#d6dfd8;margin-bottom:.7rem}.footer-bottom{border-top:1px solid #45534e;margin-top:4rem;padding-top:1.2rem;display:flex;justify-content:space-between;color:#9dab9f;font-size:.76rem}
@media(max-width:1050px){.header-inner{gap:1.4rem}.main-nav{gap:1rem}.hero-copy{padding-right:2.5rem}.hero{grid-template-columns:50% 50%}.hero-foot{margin-top:3rem}.section-space{padding-block:5.2rem}.footer-top{grid-template-columns:1fr 1fr;row-gap:2.5rem}}
@media(max-width:760px){.wrap{width:min(100% - 2rem,600px)}.header-inner{height:66px}.brand img{width:105px}.header-cta{margin-left:auto;padding:.5rem .65rem;font-size:.76rem;gap:.4rem}.menu-toggle{display:inline-flex;gap:.3rem;align-items:center;background:none;border:0;color:#fff;font-size:.84rem;padding:.5rem 0}.main-nav{display:none;position:absolute;top:66px;left:0;right:0;background:#111c1b;border-top:1px solid #44534b;padding:1rem;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 15px 20px #0003}.main-nav.open{display:flex}.main-nav a{padding:.65rem .5rem;font-size:1rem}.hero{display:flex;flex-direction:column}.hero-copy{padding:4rem 1.5rem 3rem;justify-content:center}.hero-copy-inner{width:min(100%,600px)}.hero-image{min-height:420px;max-height:550px;aspect-ratio:4/3}.hero-image figcaption{right:1.3rem;bottom:1.3rem}.hero-foot{margin-top:2.5rem}.section-space{padding-block:4.4rem}.section-head,.services-head,.approach-head{display:block}.section-head>p{margin-top:1.1rem}.choice-grid,.contact-grid,.about,.faq-grid{grid-template-columns:1fr;gap:1rem}.choice-card{min-height:260px;padding:1.8rem}.choice-card h3{margin-top:1.3rem}.work-grid{grid-template-columns:1fr 1fr}.work-card-tall{grid-row:span 2;aspect-ratio:auto}.work-card{aspect-ratio:1}.work-card figcaption{left:1rem;bottom:1rem}.work-card strong{font-size:1.3rem}.service-row{grid-template-columns:2rem 1fr;gap:1rem}.service-row ul{grid-column:2}.steps{grid-template-columns:1fr 1fr;row-gap:2rem}.steps h3{margin-top:1.4rem}.about-details{padding-top:0}.faq-list{margin-top:2rem}.contact-grid{gap:2.5rem}.contact-copy{padding:0}.contact-direct{margin-top:2rem}.project-form{padding:1.6rem}}
@media(max-width:480px){h1{font-size:3.65rem}h2{font-size:2.65rem}.hero-copy{padding:3.5rem 1rem 2.6rem}.hero-intro{font-size:1.03rem}.hero-actions{gap:1.5rem}.hero-foot{line-height:1.8}.hero-foot span{padding:0 .25rem}.hero-image{min-height:350px}.choice-grid{gap:.7rem}.work-grid{grid-template-columns:1fr}.work-card,.work-card-tall{grid-row:auto;aspect-ratio:4/3}.service-row h3{font-size:1.85rem}.steps{grid-template-columns:1fr 1fr;gap:1.5rem}.steps h3{font-size:1.4rem}.steps p{font-size:.87rem}.form-pair{grid-template-columns:1fr;gap:0}.footer-top{grid-template-columns:1fr 1fr;gap:2rem}.footer-top>div:first-child,.footer-top>div:nth-child(3){grid-column:span 2}.footer-bottom{gap:1rem;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.logo-frame{display:block;position:relative;overflow:hidden;width:130px;height:62px;flex:none}
.logo-frame img,.brand .logo-frame img,.footer-top .logo-frame img{position:absolute;left:-52.5px;top:-7.5px;width:230px;height:auto;max-width:none;mix-blend-mode:screen}
@media(max-width:760px){.header-inner .logo-frame{width:112px;height:53px}.header-inner .logo-frame img{width:197px;left:-44.5px;top:-6px}}
.hero-image img{object-position:50% 49%}
.gallery-accordion{border-top:1px solid #b9c2b7}
.gallery-category{border-bottom:1px solid #b9c2b7}
.gallery-category summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 0;cursor:pointer;color:var(--ink);font:400 clamp(1.7rem,2.5vw,2.25rem)/1.2 var(--serif)}
.gallery-category summary::-webkit-details-marker{display:none}
.gallery-category summary:hover{color:#536a5d}
.gallery-category summary:focus-visible{outline:2px solid #536a5d;outline-offset:3px}
.gallery-chevron{display:grid;place-items:center;flex:none;width:2.4rem;height:2.4rem;border:1px solid #a9b5a7;border-radius:50%;transition:transform .2s}
.gallery-chevron svg{display:block;width:1.2rem;height:1.2rem}
.gallery-category[open] .gallery-chevron{transform:rotate(180deg)}
.gallery-grid{columns:3;column-gap:1rem;padding-bottom:1.5rem}.gallery-grid-office{columns:3}
.gallery-card{display:block;break-inside:avoid;width:100%;margin:0 0 1rem;padding:0;border:1px solid #d7d9d2;background:#fff;color:var(--ink);overflow:hidden}
.gallery-card img{display:block;width:100%;height:auto;pointer-events:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}.gallery-card figcaption{display:block;padding:.76rem 1rem .88rem;font-size:.87rem;font-weight:650}
@media(max-width:900px){.gallery-grid{columns:2}.gallery-grid-office{columns:2}}
@media(max-width:600px){.gallery-grid,.gallery-grid-office{columns:1}.gallery-category summary{min-height:64px;padding:1rem 0}.gallery-card{margin-bottom:.8rem}}
.main-nav .nav-contact{display:none}
@media(max-width:760px){.header-cta{display:none}.menu-toggle{margin-left:auto;min-height:44px;padding:.5rem .35rem}.main-nav .nav-contact{display:block;border-top:1px solid #44534b;margin-top:.45rem;padding-top:.85rem;color:var(--accent)}}

.subhero{display:grid;grid-template-columns:52% 48%;min-height:560px;background:var(--ink);color:#fff}.subhero-copy{display:flex;justify-content:flex-end;align-items:center;padding:4.5rem 4.5rem 4.5rem max(1.5rem,calc((100vw - 1240px)/2))}.subhero-inner{width:min(100%,620px)}.subhero h1{font-size:clamp(3.25rem,4.6vw,5.6rem)}.subhero-image{position:relative;min-height:470px;margin:0;overflow:hidden}.subhero-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.breadcrumb{display:flex;align-items:center;gap:.7rem;padding-block:1.2rem;color:#65756c;font-size:.83rem}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.breadcrumb span:last-child{color:var(--ink)}
.subsection{display:grid;grid-template-columns:.84fr 1.16fr;gap:9%;align-items:start}.subsection-lead>p:not(.eyebrow),.subfeature-grid>div>p:not(.eyebrow){color:var(--muted);font-size:1.05rem;line-height:1.8;max-width:600px}.subsection-list h3{font-size:2rem;margin:0 0 1.2rem}.subitems{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.subitems article{border-top:1px solid var(--line);padding:1.1rem 1rem .8rem 0}.subitems h3{font-size:1.42rem;margin:0 0 .6rem}.subitems p{color:var(--muted);margin:0;font-size:.91rem;line-height:1.7}
.subfeature{background:var(--paper);padding-block:5.5rem}.subfeature-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.subfeature figure{margin:0}.subfeature img{width:100%;max-height:570px;object-fit:cover}.subfeature figcaption{font-size:.82rem;color:var(--muted);padding-top:.7rem}.subfeature .underlined-link{margin-top:1.5rem}.subfaq{display:grid;grid-template-columns:35% 1fr;gap:10%}.subcta{background:#1c302b;color:#fff;padding-block:5.5rem}.subcta .wrap{max-width:990px}.subcta p:not(.eyebrow){color:#cad6ce;max-width:690px;font-size:1.05rem;line-height:1.75;margin-bottom:2rem}.subcta h2{max-width:750px}
@media(max-width:900px){.subhero{grid-template-columns:1fr 1fr}.subhero-copy{padding:3.5rem 2rem}.subsection{gap:5%}.subfeature-grid{gap:5%}}
@media(max-width:760px){.subhero{display:flex;flex-direction:column}.subhero-copy{padding:3.5rem 1.5rem 3rem}.subhero-inner{width:min(100%,600px);margin-inline:auto}.subhero-image{height:clamp(280px,65vw,470px);min-height:0}.subsection,.subfeature-grid,.subfaq{grid-template-columns:1fr;gap:2rem}.subsection-lead>p:not(.eyebrow){max-width:650px}.subfeature{padding-block:4rem}.subfeature-grid figure{max-width:600px}.subfaq .faq-list{margin-top:0}.subcta{padding-block:4.5rem}}
@media(max-width:480px){.subhero h1{font-size:clamp(2.7rem,12vw,3.5rem)}.subhero-copy{padding:3rem 1rem}.subitems{grid-template-columns:1fr;gap:0}.subfeature img{max-height:420px}.subcta .hero-actions{align-items:flex-start}.subcta .button{width:100%}}

/* A quiet, on-page planning experience that matches the studio's existing palette. */
.imagine{background:#eceee8;scroll-margin-top:5rem}
.imagine-head{align-items:end}.imagine-head h2{max-width:700px}
.imagine-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);box-shadow:0 25px 50px #14251d12}
.imagine-form{background:#fff;padding:clamp(1.4rem,3.2vw,3rem)}
.imagine-form h3{font-size:2rem;margin:0 0 1.25rem}
.imagine-form .form-row{margin-top:1rem;min-width:0}
.imagine-form .form-row label{font-size:.9rem}
.imagine-form input,.imagine-form select,.imagine-form textarea{width:100%;min-width:0;border:1px solid #bac8ba;border-radius:0;padding:.72rem .8rem;min-height:48px;color:var(--ink);background:#fff}
.imagine-form textarea{resize:vertical}
.imagine-form .button{margin-top:1.6rem}
.imagine-privacy{font-size:.82rem;line-height:1.6;color:#57685d;margin:1rem 0 0}
.imagine-result{min-width:0;background:#f8f7f1;padding:clamp(1.4rem,3.2vw,3rem);border-left:1px solid #d5dcd2}
.imagine-empty{min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:1.5rem 0}
.imagine-step{font-size:.83rem;letter-spacing:.13em;font-weight:700;color:#62796b;margin-bottom:3rem}
.imagine-empty h3{font-size:clamp(2.2rem,4vw,3.6rem);max-width:470px;margin:0 0 1rem}
.imagine-empty>p{color:var(--muted);font-size:1.06rem;max-width:430px;line-height:1.75}
.imagine-empty-rule{display:flex;gap:.5rem;flex-wrap:wrap;border-top:1px solid #bfcabf;padding-top:1rem;margin-top:3rem;color:#536a5c;font-size:.69rem;font-weight:700;letter-spacing:.11em}
.imagine-empty-rule span:not(:last-child):after{content:"/";margin-left:.5rem;color:#aeb8ad}
.imagine-visual{position:relative;height:clamp(240px,27vw,380px);margin:0;background:#d5d8d0;overflow:hidden}
.imagine-visual img{width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}
.imagine-visual:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0e1b19b8);pointer-events:none}
.imagine-visual figcaption{position:absolute;z-index:1;bottom:1.15rem;left:1.2rem;color:#fff;display:flex;flex-direction:column;gap:.15rem;pointer-events:none;text-shadow:0 1px 5px #0009}
.imagine-visual figcaption strong{font:400 1.45rem var(--serif)}.imagine-visual figcaption span{font-size:.8rem}
.imagine-honesty{font-size:.8rem;line-height:1.55;color:#5b6960;margin:1rem 0 1.4rem}
.estimate-area{border-top:1px solid #bac9ba;padding:1rem 0;display:flex;justify-content:space-between;gap:.7rem;flex-wrap:wrap;font-size:.86rem;font-weight:700;color:#516455}
.estimate-figures{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.estimate-figures>div{display:flex;flex-direction:column;gap:.25rem;border:1px solid #ccd6cc;background:#fff;padding:1.05rem;min-width:0}.estimate-figures span{font-size:.79rem;font-weight:700;color:#4f6253}.estimate-figures strong{font:400 clamp(1.45rem,2.3vw,2rem)/1.15 var(--serif);overflow-wrap:anywhere}.estimate-figures small{font-size:.72rem;line-height:1.4;color:#66746a}
.estimate-spec{margin-top:1.3rem;padding:1rem 1.1rem;background:#e6ebe4}.estimate-spec strong{font-size:.84rem}.estimate-spec p{font-size:.85rem;line-height:1.6;margin:.35rem 0 0;color:#45574a}
.estimate-details{font-size:.82rem;line-height:1.6;color:#56685a;border-bottom:1px solid #cad6ca;padding:1.05rem 0}.estimate-details summary{cursor:pointer;font-weight:700;color:#213a2b}.estimate-details p{margin:.6rem 0}
.imagine-next{padding-top:1.5rem}.imagine-next h3{font-size:1.9rem;margin:0 0 .4rem}.imagine-next p{font-size:.91rem;color:#526256;line-height:1.65;margin-bottom:1.1rem}.imagine-next .button{margin-top:0}
.imagine-next .button:disabled{opacity:.55;cursor:not-allowed}
.imagine [hidden]{display:none!important}
@media(max-width:900px){.imagine-layout{grid-template-columns:1fr}.imagine-result{border-left:0;border-top:1px solid #d5dcd2}.imagine-empty{min-height:230px}.imagine-visual{height:clamp(260px,50vw,420px)}}
@media(max-width:480px){.imagine-head h2{font-size:2.55rem}.imagine-form,.imagine-result{padding:1.25rem}.imagine-form h3{font-size:1.75rem}.imagine-form .form-pair{grid-template-columns:1fr 1fr;gap:.7rem}.estimate-figures{grid-template-columns:1fr}.imagine-empty{min-height:200px}.imagine-step{margin-bottom:1.5rem}.imagine-empty-rule{margin-top:1.5rem}.imagine-next .button{width:100%}}
