/* Ark Home Improvements — architectural calm, forward-looking detail. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/dm-sans-400.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/dm-sans-500.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/dm-sans-600.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/dm-sans-700.ttf') format('truetype')}
@font-face{font-family:'Italiana';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/italiana-400.ttf') format('truetype')}
@font-face{font-family:'ARK Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/eb-garamond-400.ttf') format('truetype')}
:root{--ink:#202c25;--forest:#1c2924;--forest-deep:#15201b;--paper:#f5f5ee;--stone:#eaece3;--sage:#d1dfb8;--sage-deep:#a8bc8e;--muted:#667065;--line:#d6d9ce;--pad:clamp(24px,5.5vw,100px);--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #86a46a;outline-offset:6px}button{border:0}::selection{background:var(--sage);color:var(--forest)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;background:var(--sage);padding:12px 20px;z-index:1000}.skip-link:focus{top:20px}.section-pad{padding:112px var(--pad)}.scroll-progress{position:fixed;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--sage);z-index:101;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:600;text-transform:uppercase;display:flex;align-items:center;gap:12px}.tiny-cross{font-size:19px;font-weight:400;line-height:1}.live-dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;box-shadow:0 0 0 4px rgb(209 223 184 / 10%)}h2{font-size:clamp(42px,4.6vw,72px);font-weight:450;line-height:1.07;letter-spacing:-2.7px}em{font-family:'Italiana',Georgia,serif;font-weight:400;font-style:normal}h2 em{font-size:1.08em}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:55px}.section-index{font-size:9px;letter-spacing:1.6px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;min-height:58px;padding:8px 10px 8px 24px;font-weight:550;font-size:12px;transition:background .3s,transform .3s,box-shadow .3s;border-radius:3px}.button:hover{transform:translateY(-3px)}.button-arrow{display:grid;place-items:center;height:40px;width:40px;font-size:24px;font-weight:400;border-left:1px solid rgb(32 44 37 / 18%)}.button-sage{background:var(--sage);color:var(--forest)}.button-sage:hover{background:#e0ebce;box-shadow:0 8px 30px #0002}.button-dark{background:var(--forest);color:var(--paper)}.button-dark:hover{background:#334638}.button-dark .button-arrow{border-color:#ffffff30}.text-link{font-size:12px;display:inline-flex;gap:42px;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--ink);font-weight:550}.text-link span{font-size:22px;transition:transform .3s}.text-link:hover span{transform:translate(3px,-3px)}.text-link.light{color:var(--sage);border-color:#d1dfb850}
/* Header */
.header{position:absolute;z-index:60;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;height:105px;padding:0 var(--pad);color:white;border-bottom:1px solid #ffffff24;transition:background .4s,height .4s,box-shadow .4s}.header.is-scrolled{position:fixed;background:rgb(28 41 36 / 96%);height:80px;backdrop-filter:blur(16px);box-shadow:0 2px 20px #0001;animation:header-in .4s var(--ease)}.brand{display:inline-flex;align-items:center;gap:10px}.brand-symbol{width:34px;height:39px}.brand-name{font-size:48px;line-height:.78;font-weight:450;letter-spacing:-3.5px}.brand-name>span{display:block;font-size:6.5px;line-height:1;letter-spacing:1.8px;font-weight:500;padding-top:9px;padding-left:3px}.desktop-nav{display:flex;gap:35px;align-items:center;padding-left:8vw}.desktop-nav a{font-size:11px;position:relative;padding:12px 0}.desktop-nav a::after{content:'';position:absolute;bottom:6px;left:0;width:100%;height:1px;transform:scaleX(0);transform-origin:left;transition:transform .3s;background:var(--sage)}.desktop-nav a:hover::after{transform:scaleX(1)}.header-cta{font-size:11px;display:flex;align-items:center;gap:35px;border:1px solid #ffffff60;padding:11px 15px 11px 20px;border-radius:3px;transition:background .3s}.header-cta span{font-size:22px;line-height:1}.header-cta:hover{background:#ffffff14}.menu-toggle{display:none;background:transparent;width:44px;height:44px;position:relative}.menu-toggle span{display:block;width:24px;height:1px;background:white;margin:7px auto;transition:transform .3s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:fixed;z-index:55;inset:0;background:var(--forest);color:var(--paper);padding:125px 28px 50px}.mobile-nav a{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-bottom:1px solid #ffffff20;font-size:27px;letter-spacing:-.7px}.mobile-nav a span{font-size:12px;color:var(--sage)}.mobile-nav p{margin-top:45px;color:var(--sage);font-size:12px}.header.menu-open{position:fixed;background:var(--forest)}
/* Full-bleed architectural opening */
.hero{position:relative;color:var(--paper);height:100svh;min-height:720px;max-height:1100px;background:#374037;overflow:hidden}.hero-media,.hero-shade,.hero-grid{position:absolute;inset:0}.hero-media{overflow:hidden}.hero-image{width:100%;height:100%;object-fit:cover;object-position:50% 58%;position:absolute;inset:0;opacity:0;transform:scale(1.06);transition:opacity 1.2s ease;animation:hero-drift 24s ease-in-out infinite alternate}.hero-image.is-active{opacity:1}.hero-shade{background:linear-gradient(90deg,rgba(9,22,15,.70) 0%,rgba(14,27,17,.32) 48%,rgba(12,25,17,.02) 100%),linear-gradient(0deg,#0c1b13b5 0%,transparent 30%,transparent 65%,#13201580 100%)}.hero-grid{pointer-events:none;background:linear-gradient(90deg,transparent calc(50% - .5px),#ffffff09 50%,transparent calc(50% + .5px));border-left:1px solid #ffffff12;border-right:1px solid #ffffff12;margin:0 var(--pad)}.hero-content{position:relative;z-index:2;padding:clamp(185px,25vh,280px) var(--pad) 160px}.hero-content .eyebrow{color:var(--sage);margin-bottom:32px}.hero h1{font-size:clamp(82px,8.7vw,137px);font-weight:450;letter-spacing:-5px;line-height:.95}.hero h1 em{font-size:1.18em;letter-spacing:-5px;line-height:.8}.hero-description{margin:30px 0 29px;color:#f4f5e9d6;line-height:1.8;font-size:13px}.hero .button{min-width:250px}.hero-note{position:absolute;right:var(--pad);bottom:170px;z-index:2;display:flex;align-items:center;gap:20px;line-height:1.65;font-size:11px}.hero-note-icon{border:1px solid #ffffff50;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;font-size:26px;transition:transform .4s,background .4s}.hero-note:hover .hero-note-icon{transform:rotate(45deg);background:#ffffff18}.hero-bottom{position:absolute;bottom:39px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:flex-end;z-index:2;padding-top:24px;border-top:1px solid #ffffff36}.hero-slides{display:flex;gap:36px}.hero-slides button{color:#ffffff9c;background:transparent;font-size:11px;padding:8px 0;position:relative;transition:color .3s}.hero-slides button::before{content:'';height:2px;background:var(--sage);position:absolute;left:0;right:0;top:-25px;transform:scaleX(0);transform-origin:left;transition:transform .6s}.hero-slides button span{font-size:9px;opacity:.6;margin-right:9px}.hero-slides button.is-active{color:var(--sage)}.hero-slides button.is-active::before{transform:scaleX(1)}.scroll-cue{display:flex;gap:25px;font-size:8px;letter-spacing:1.6px;align-items:center;padding-bottom:6px}.scroll-cue span{font-size:20px;animation:scroll-nudge 2s ease-in-out infinite}.concept-label{position:absolute;bottom:10px;left:var(--pad);font-size:8px;letter-spacing:.7px;color:#ffffff9c}.hero-enter{animation:rise-in 1.2s var(--ease) both}.hero .eyebrow{animation-delay:.1s}.hero h1{animation-delay:.22s}.hero-description{animation-delay:.35s}.hero .button{animation-delay:.48s}.hero-note{animation-delay:.65s}

/* A small services row and a picture-led gallery. */
.hero{height:90svh;min-height:680px;max-height:960px}.hero-content{padding-top:clamp(175px,23vh,235px)}.hero-description{font-size:14px}.desktop-nav{padding-left:0}.services{padding:42px var(--pad);background:var(--paper);border-bottom:1px solid var(--line)}.services>.eyebrow{font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:20px;line-height:1.6}.service-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;gap:25px}.service-row li{font-size:17px;font-weight:450;display:flex;align-items:center;gap:14px;letter-spacing:-.3px}.service-row li>span{font-size:8px;letter-spacing:1px;color:var(--muted)}
.spaces{padding:75px var(--pad) 45px;background:var(--stone)}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.gallery-heading h2{font-size:clamp(38px,4.1vw,62px);letter-spacing:-2px}.gallery-heading p{font-size:12px;color:var(--muted);padding-bottom:5px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 25px}.project-card{background:none;padding:0;text-align:left;min-width:0}.project-image{position:relative;display:block;aspect-ratio:1.58;overflow:hidden;border-radius:3px;background:#c7cbbc}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .6s}.project-card:hover img{transform:scale(1.025)}.project-view{position:absolute;top:18px;right:18px;width:40px;height:40px;display:grid;place-items:center;border:1px solid #ffffffaa;border-radius:50%;font-size:23px;color:white;background:#15201b30;transition:background .3s,transform .3s}.project-card:hover .project-view{background:var(--sage);color:var(--ink);transform:rotate(45deg);border-color:var(--sage)}.project-meta{display:flex;justify-content:space-between;gap:15px;align-items:center;padding-top:15px}.project-meta strong{font-size:19px;font-weight:450;letter-spacing:-.4px}.project-meta>span{font-size:9px;color:var(--muted)}.image-note{margin-top:30px;font-size:10px;color:var(--muted)}
/* One compact footer. */
.footer{background:var(--forest-deep);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:30px;padding:32px var(--pad)}.footer .brand-symbol{width:25px;height:30px}.footer .brand-name{font-size:35px}.footer .brand-name>span{font-size:5px;letter-spacing:1.2px;padding-top:7px}.footer>p{font-size:10px;color:#b7c4b0}.back-top{display:flex;align-items:center;gap:20px;font-size:11px}.back-top>span{width:36px;height:36px;display:grid;place-items:center;border:1px solid #ffffff40;border-radius:50%;font-size:18px}
/* Full-size images, without additional content panels. */
.gallery-dialog{border:0;border-radius:4px;background:var(--forest);color:var(--paper);padding:0;width:min(1100px,92vw);max-height:92svh;overflow:auto;box-shadow:0 30px 140px #0006}.gallery-dialog::backdrop{background:#08150ed9;backdrop-filter:blur(10px)}.gallery-dialog[open]{animation:rise-in .4s var(--ease)}.gallery-dialog>img{display:block;width:100%;max-height:76svh;object-fit:contain;background:var(--forest-deep)}.dialog-close{position:absolute;right:15px;top:15px;z-index:2;width:38px;height:38px;border-radius:50%;background:var(--paper);color:var(--ink);font-size:25px}.dialog-close:hover{background:var(--sage)}.dialog-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 25px}.dialog-bar h2{font:450 18px 'DM Sans',sans-serif;letter-spacing:-.3px}.dialog-controls{display:flex;gap:20px;align-items:center;flex-shrink:0}.dialog-controls button{width:38px;height:38px;border:1px solid #ffffff45;background:transparent;color:var(--paper);border-radius:50%;font-size:18px}.dialog-controls button:hover{background:#ffffff15}.dialog-controls>span{font-size:10px;color:var(--sage)}
.js .reveal{opacity:0;transform:translateY(25px);transition:opacity .85s var(--ease),transform .85s var(--ease)}.js .reveal.is-visible{opacity:1;transform:translateY(0)}
@keyframes rise-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-drift{from{transform:scale(1.04)}to{transform:scale(1.11) translate(-.7%,-.4%)}}@keyframes scroll-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes header-in{from{transform:translateY(-100%)}to{transform:translateY(0)}}
@media(min-width:1700px){:root{--pad:max(100px,calc((100vw - 1500px)/2))}.hero-content{padding-top:240px}}
@media(max-width:1000px){.header-cta{gap:20px}.hero h1{font-size:100px}.service-row{grid-template-columns:1fr 1fr;gap:18px 30px}.gallery-heading{display:block}.gallery-heading p{margin-top:15px}.project-meta strong{font-size:17px}}
@media(max-width:850px){:root{--pad:32px}.header{height:88px}.header.is-scrolled{height:76px}.brand-symbol{width:30px}.brand-name{font-size:43px}.desktop-nav{display:none}.header-cta{margin-left:auto;margin-right:20px}.menu-toggle{display:block}.hero h1{font-size:98px}.hero-content{padding-top:185px}.hero{min-height:710px}.project-grid{gap:28px 20px}.project-image{aspect-ratio:1.3}.footer>p{font-size:9px}.footer{gap:20px}}
@media(max-width:600px){:root{--pad:24px}html{scroll-padding-top:76px}.header{height:82px}.header.is-scrolled{height:72px}.header-cta{display:none}.brand-symbol{width:28px;height:34px}.brand-name{font-size:40px}.brand-name>span{font-size:5.7px;letter-spacing:1.5px;padding-top:8px}.hero{height:90svh;min-height:670px;max-height:850px}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(90deg,#0a1a11b0,#0e1b1240),linear-gradient(0deg,#0a1a12dc,transparent 40%,transparent 70%,#10211866)}.hero-content{padding-top:165px;padding-bottom:140px}.hero-content .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:25px}.hero h1{font-size:clamp(68px,17.4vw,100px);letter-spacing:-4px;line-height:.97}.hero h1 em{letter-spacing:-4px}.hero-description{font-size:12px;line-height:1.8;margin:24px 0}.hero .button{min-width:230px;min-height:54px;font-size:11px}.hero-bottom{bottom:32px;padding-top:20px}.hero-slides{width:100%;justify-content:space-between;gap:12px}.hero-slides button{font-size:10px}.hero-slides button span{font-size:7px;margin-right:5px}.hero-slides button::before{top:-21px}.scroll-cue{display:none}.concept-label{font-size:7px;bottom:9px}.services{padding:30px var(--pad)}.services>.eyebrow{font-size:8px;margin-bottom:18px}.service-row{gap:15px 18px;grid-template-columns:1fr 1fr}.service-row li{font-size:13px;gap:8px;letter-spacing:-.2px;align-items:baseline}.service-row li>span{font-size:7px}.spaces{padding:44px var(--pad) 30px}.gallery-heading{margin-bottom:28px}.gallery-heading h2{font-size:39px;line-height:1.1;letter-spacing:-1.8px}.gallery-heading p{font-size:11px;margin-top:13px}.project-grid{grid-template-columns:1fr;gap:25px}.project-image{aspect-ratio:1.4}.project-meta{padding-top:12px}.project-meta strong{font-size:18px}.project-view{width:36px;height:36px;right:14px;top:14px;font-size:21px}.image-note{font-size:9px;margin-top:25px}.footer{padding:26px var(--pad);flex-wrap:wrap;gap:22px}.footer>p{order:3;width:100%;font-size:9px}.back-top{font-size:10px;gap:12px}.footer .brand-name{font-size:32px}.footer .brand-symbol{width:23px}.dialog-bar{padding:15px;gap:14px;flex-wrap:wrap}.dialog-bar h2{font-size:16px}.dialog-controls{width:100%;justify-content:space-between;gap:15px}.gallery-dialog>img{max-height:65svh}.dialog-close{width:34px;height:34px;top:10px;right:10px}}
@media(max-width:360px){:root{--pad:20px}.hero h1{font-size:65px}.hero-description{font-size:11px}.gallery-heading h2{font-size:35px}.service-row li{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.hero-image{transform:none}}

/* Real project photos: consistent, gentle display correction; originals untouched. */
.photo-indoor{--photo-grade:brightness(1.12) contrast(1.03) saturate(.84)}
.photo-neutral{--photo-grade:brightness(1.045) contrast(1.035) saturate(.94)}
.photo-garden{--photo-grade:brightness(1.015) contrast(1.06) saturate(.95)}
.hero-image,.project-image img,.gallery-dialog>img{filter:var(--photo-grade,none)}
.hero-image:nth-child(2){object-position:50% 55%}
.hero-image:nth-child(3){object-position:50% 65%}
.gallery-more{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:30px}
.gallery-more>button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:48px;padding:10px 18px;background:var(--forest);color:var(--paper);border-radius:3px;font-size:12px;transition:background .2s}
.gallery-more>button:hover{background:#334638}
.gallery-more>button span{font-size:20px}
.gallery-hint{font-size:10px;color:var(--muted)}
@media(max-width:600px){.gallery-more{align-items:start;flex-direction:column;gap:16px}.gallery-more>button{width:100%}.hero-image:first-child{object-position:46% center}.hero-image:nth-child(3){object-position:55% 65%}}

/* A quiet, image-free opening. Normal flow keeps the CTA clear of the footer line. */
.hero{height:auto;min-height:min(800px,94svh);max-height:none;display:flex;flex-direction:column;background:var(--forest);isolation:isolate}
.hero-content{flex:1;padding:clamp(160px,21vh,220px) var(--pad) 64px}
.hero h1{font-size:clamp(78px,8.3vw,132px);line-height:1.02;letter-spacing:-4.5px}
.hero h1 em{line-height:1;letter-spacing:-4px}
.hero-description{margin:28px 0 30px}
.hero-grid{z-index:-1;background:linear-gradient(90deg,transparent calc(50% - .5px),#ffffff08 50%,transparent calc(50% + .5px))}
.hero-arch{position:absolute;right:10%;top:24%;width:clamp(200px,23vw,390px);height:65%;border:1px solid #d1dfb81a;border-radius:220px 220px 0 0;z-index:-1;pointer-events:none}
.hero-arch span{position:absolute;inset:24px;border:1px solid #d1dfb815;border-bottom:0;border-radius:inherit}
.hero-arch span+span{inset:48px;border-color:#d1dfb810}
.hero-bottom{position:relative;inset:auto;margin:0 var(--pad) 28px;padding-top:20px;gap:24px;align-items:center}
.hero-signoff{font-size:11px;letter-spacing:.5px;color:#d1dfb8b5}
/* Individual photo grades keep white walls clearer and garden colours natural. */
.photo-kitchen{--photo-grade:brightness(1.1) contrast(1.035) saturate(.91)}
.photo-lawn{--photo-grade:brightness(1.015) contrast(1.075) saturate(.9)}
.photo-decorating{--photo-grade:brightness(1.065) contrast(1.04) saturate(.78)}
.photo-flooring{--photo-grade:brightness(1.17) contrast(1.035) saturate(.76)}
.photo-tiling{--photo-grade:brightness(1.145) contrast(1.035) saturate(.72)}
.photo-hallway{--photo-grade:brightness(1.055) contrast(1.035) saturate(.9)}
.photo-paving{--photo-grade:brightness(1.025) contrast(1.06) saturate(.9)}
.photo-planting{--photo-grade:brightness(1.035) contrast(1.045) saturate(.96)}
.project-image{aspect-ratio:4/3}
.project-image img{image-orientation:from-image}
@media(max-width:1000px){.hero-arch{right:6%;opacity:.65}}
@media(max-width:600px){.hero{min-height:650px}.hero-content{padding-top:152px;padding-bottom:52px}.hero h1{font-size:clamp(64px,17.2vw,96px);letter-spacing:-3.5px}.hero h1 em{letter-spacing:-3px}.hero-description{margin:24px 0 28px}.hero-arch{display:none}.hero-bottom{margin-bottom:24px;padding-top:18px}.hero-signoff{font-size:10px}.project-image{aspect-ratio:1.18}}
@media(max-width:360px){.hero h1{font-size:clamp(56px,17.5vw,63px)}}

/* Brand-led opening: the full wordmark leads, with the slogan directly below. */
.hero .hero-logo{--logo-size:clamp(148px,18vw,280px);display:flex;align-items:center;gap:clamp(16px,2vw,30px);width:fit-content;max-width:100%;margin:0 0 34px;font-size:var(--logo-size);line-height:1;letter-spacing:normal}
.hero-logo-symbol{display:block;width:.74em;height:.82em;flex-shrink:0}
.hero-logo-name{display:block;font-size:inherit;font-weight:450;line-height:.78;letter-spacing:-.065em}
.hero-logo-name>span{display:block;font-size:.058em;font-weight:500;line-height:1.3;letter-spacing:.24em;padding-top:.95em;padding-left:.22em;white-space:nowrap}
.hero-slogan{font-size:clamp(28px,3.6vw,52px);font-weight:450;line-height:1.2;letter-spacing:-1.4px;animation-delay:.3s}
.hero-slogan em{font-size:1.12em}
.hero-description{margin:18px 0 30px}
@media(max-width:600px){.hero .hero-logo{--logo-size:clamp(110px,31vw,174px);gap:16px;margin-bottom:28px}.hero-slogan{font-size:clamp(27px,6.8vw,40px);letter-spacing:-.8px}.hero-description{margin:16px 0 28px}}

/* Ivory marble with natural mineral veining, saved as a local background asset. */
.hero{background:#eee5d5 url('assets/ivory-marble.png') center/cover no-repeat;color:var(--forest)}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#fffdf638,#fffdf605)}
.header{color:var(--forest);border-bottom-color:#24352b26}
.header-cta{border-color:#24352b66}
.header-cta:hover{background:#24352b0b}
.desktop-nav a::after{background:currentColor}
.menu-toggle span{background:var(--forest)}
.header.is-scrolled,.header.menu-open{color:var(--paper)}
.header.is-scrolled .header-cta{border-color:#ffffff60}
.header.is-scrolled .header-cta:hover{background:#ffffff14}
.header.is-scrolled .menu-toggle span,.header.menu-open .menu-toggle span{background:var(--paper)}
.hero-description{color:#38463bd9}
.hero-slogan em{color:#455640}
.hero-bottom{border-top-color:#24352b40}
.hero-signoff{color:#455442}
.hero .button-sage{background:var(--forest);color:var(--paper)}
.hero .button-sage:hover{background:#334638;box-shadow:0 8px 24px #17231b1a}
.hero .button-arrow{border-left-color:#ffffff30}
@media(max-width:600px){.hero{background-size:cover;background-position:25% center}}

/* Bundled vintage Garamond keeps the wordmark consistent across devices. */
.brand-name,.hero-logo-name{font-family:'ARK Garamond',Garamond,'Baskerville Old Face','Times New Roman',serif;font-weight:400;letter-spacing:.035em;line-height:.82}
.brand-name>span,.hero-logo-name>span{font-family:'DM Sans',sans-serif;text-align:center;padding-left:0}
.hero .hero-logo{--logo-size:clamp(132px,16.5vw,260px)}
@media(max-width:600px){.hero .hero-logo{--logo-size:clamp(88px,25vw,148px)}}

/* Dark sage branding over marble; a lighter sage maintains contrast on dark surfaces. */
.header .brand,.hero .hero-logo{color:#52684e}
.header.is-scrolled .brand,.header.menu-open .brand,.footer .brand{color:#b0c0a3}

/* A compact consultation request, opened from the main call to action. */
.header-cta{background:transparent;color:inherit}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;animation-delay:.48s}
.hero-actions .button{gap:24px;background:#52684e;color:#fffdf6}
.hero-actions .button:hover{background:#40553d}
.hero-gallery-link{display:inline-flex;align-items:center;gap:18px;font-size:12px;border-bottom:1px solid #52684e70;padding:10px 0}
.hero-gallery-link:hover{border-color:var(--forest)}
.mobile-nav>[data-open-quote]{display:flex;width:100%;justify-content:space-between;align-items:center;padding:22px 0;border-bottom:1px solid #ffffff20;background:none;color:inherit;text-align:left;font-size:27px;letter-spacing:-.7px}
.mobile-nav>[data-open-quote]>span{font-size:12px;color:var(--sage)}
.quote-dialog{width:min(660px,calc(100vw - 32px));max-height:90svh;padding:40px;border:1px solid #d6d9ce;border-radius:5px;background:var(--paper);color:var(--ink);overflow:auto;box-shadow:0 24px 100px #0005}
.quote-dialog::backdrop{background:#15201bbd;backdrop-filter:blur(6px)}
.quote-dialog>.eyebrow{color:#52684e;font-size:9px;margin-right:25px;margin-bottom:20px}
.quote-dialog>h2{font-size:clamp(36px,5vw,48px);letter-spacing:-1.8px;line-height:1.08}
.quote-dialog>p#quote-intro{font-size:13px;color:#596353;margin:18px 0 25px;max-width:440px}
.quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.quote-fields label{display:block;font-size:11px;font-weight:550}
.quote-fields label>span{color:#68755e}
.quote-fields label .field-optional{font-size:10px;font-weight:400}
.quote-fields input,.quote-fields select,.quote-fields textarea{display:block;width:100%;min-width:0;margin-top:7px;border:1px solid #c7cdbf;border-radius:3px;background:#fffef9;color:var(--ink);padding:11px 12px;font-size:14px;font-weight:400;line-height:1.5}
.quote-fields textarea{resize:vertical;min-height:115px}
.quote-fields input:focus,.quote-fields select:focus,.quote-fields textarea:focus{border-color:#52684e}
.quote-field-wide{grid-column:1/-1}
.quote-note{font-size:11px;color:#596353;line-height:1.6;margin:20px 0}
.quote-save{width:100%;background:#52684e;color:#fffdf6}
.quote-save:hover{background:#40553d}
.quote-save .button-arrow{border-left-color:#ffffff30}
.quote-status{font-size:12px;color:#40553d;line-height:1.6;margin-top:14px}
.quote-status:empty{display:none}
@media(max-width:600px){.hero-actions{gap:16px;align-items:flex-start;flex-direction:column}.hero-actions .button{width:100%;max-width:350px;font-size:11px;padding-left:16px;gap:12px}.quote-dialog{padding:32px 22px 24px}.quote-fields{grid-template-columns:1fr;gap:16px}.quote-dialog>.eyebrow{font-size:8px;letter-spacing:1.4px}.mobile-nav>[data-open-quote]{font-size:24px}}
.quote-note a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.quote-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.quote-actions .quote-save{width:auto;flex:1;min-width:200px}
.quote-copy{min-height:44px;padding:10px 0;background:none;font-size:12px;border-bottom:1px solid #52684e80;display:inline-flex;gap:14px;align-items:center}
.quote-copy:hover{border-color:var(--forest)}
@media(max-width:600px){.quote-actions{gap:14px}.quote-actions .quote-save{width:100%;flex:auto}}
.consultation-note{max-width:52ch;margin-top:16px;font-size:12px;line-height:1.65;color:#44533f}
.quote-consultation-note{max-width:none;margin:0 0 24px;padding:14px 16px;border-left:2px solid #52684e;border-radius:2px;background:#e8ecdf}
.quote-fields .field-hint{display:block;margin-top:6px;font-size:10px;line-height:1.5;font-weight:400;color:#596353}
.quote-fields input[aria-invalid="true"]{border-color:#a34531}
