/* Golden City Plastering — chrome on black marmorino */
@font-face{font-family:"Oswald";src:url(/fonts/oswald-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Oswald";src:url(/fonts/oswald-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url(/fonts/hanken-grotesk-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url(/fonts/hanken-grotesk-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url(/fonts/hanken-grotesk-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  --ink:#0a0a0a; --char:#141414; --graphite:#2b2b2b; --chrome:#d6d6d6;
  --chrome-grad:linear-gradient(100deg,#8a8a8a 0%,#f4f4f4 38%,#a3a3a3 62%,#e6e6e6 82%,#8f8f8f 100%);
  --chrome-dark:linear-gradient(100deg,#3a3a3a 0%,#9a9a9a 40%,#2e2e2e 70%,#7d7d7d 100%);
  --lime:#ece7df; --stone:#d9d1c5; --tape:#efe3b4;
  --text-dark:#1a1a1a; --text-light:#bdbdbd; --muted-dark:#5d574f;
  --f-display:"Oswald","Arial Narrow",sans-serif;
  --f-serif:"Cormorant Garamond",Georgia,serif;
  --f-body:"Hanken Grotesk",system-ui,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --gutter:clamp(16px,4vw,56px);
  --pad:clamp(64px,8vw,120px);
  --header-h:84px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--ink);color:var(--text-light);font:400 17px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:clip}
main{overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:inherit}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
figure{margin:0}
.skip{position:absolute;left:-999px;top:8px;z-index:10000;background:#fff;color:#000;padding:8px 14px}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--chrome);outline-offset:3px}
.wrap{width:100%;max-width:1440px;margin:0 auto;padding:0 var(--gutter)}

/* type */
.eyebrow{font:600 13px/1.2 var(--f-serif);letter-spacing:.34em;text-transform:uppercase;color:#cfcfcf;margin:0 0 20px;font-size:15px}
.eyebrow.on-light{color:var(--muted-dark)}
.h2{font:600 clamp(2.6rem,6.2vw,5.6rem)/.95 var(--f-display);text-transform:uppercase;letter-spacing:-.005em;color:#f2f2f2}
.light .h2{color:var(--text-dark)}
.hl{font-style:normal;display:inline-block;padding:.12em .05em .08em;margin:-.12em -.05em -.08em;background:var(--chrome-grad);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.light .hl{background-image:var(--chrome-dark);background-size:200% 100%}
.cap{font:600 13px/1.3 var(--f-body);letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px}
.lead{font-size:clamp(1.12rem,1.5vw,1.3rem);line-height:1.5}
.small{font-size:15px;opacity:.8}
.sec-head{margin-bottom:clamp(40px,5vw,72px);max-width:900px}

/* buttons: never move, colour swap only */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border-radius:2px;font:600 15px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.btn svg{width:17px;height:17px;fill:currentColor}
.btn-chrome{background:#f1f1f1;color:#0a0a0a;border:1px solid #f1f1f1;background-image:linear-gradient(100deg,#bdbdbd,#fafafa 45%,#c8c8c8)}
.btn-chrome:hover{background:#0a0a0a;color:var(--chrome);border-color:var(--chrome);background-image:none}
.btn-ghost{border:1px solid rgba(255,255,255,.35);color:#f2f2f2}
.btn-ghost:hover{background:var(--chrome);border-color:var(--chrome);color:#0a0a0a}

/* header */
.site-header{position:absolute;top:0;left:0;right:0;z-index:9999;height:var(--header-h);transform:translate3d(0,0,0);will-change:transform;transition:transform .6s var(--ease),opacity .6s var(--ease),background-color .4s var(--ease)}
.header-inner{position:relative;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);max-width:1600px;margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{height:44px;width:auto}
.brand-word{height:34px;width:auto}
.nav{position:fixed;left:50%;transform:translateX(-50%);display:flex;gap:clamp(20px,2.6vw,40px)}
.site-header .nav{position:absolute}
.nav a{font:500 16px/1 var(--f-display);text-transform:uppercase;letter-spacing:.12em;text-decoration:none;color:#e9e9e9;padding:10px 0;transition:color .35s var(--ease)}
.nav a:hover{color:#8f8f8f}
.header-call{min-height:46px;padding:0 20px}
.burger{display:none}
.site-header.is-fixed{position:fixed}
.site-header.is-hidden{transform:translate3d(0,calc(-100% - 24px),0);opacity:0;pointer-events:none}
.site-header.is-solid{background:#0a0a0a}

/* mobile menu */
.menu{position:fixed;inset:0;z-index:9998;visibility:hidden;pointer-events:none;transition:visibility 0s linear 1.2s}
.menu.is-open{visibility:visible;pointer-events:auto;transition:visibility 0s linear 0s}
.menu-bg{position:absolute;inset:0;background:#0d0d0d url(/img/hero-marmorino-sm.webp?v=1) center/cover;clip-path:inset(0 0 100% 0);transition:clip-path .7s cubic-bezier(.76,0,.24,1)}
.menu.is-open .menu-bg{clip-path:inset(0 0 0 0)}
.menu-nav{position:relative;display:flex;flex-direction:column;padding:calc(var(--header-h) + 28px) var(--gutter) 0;gap:6px}
.menu-nav a{font:600 clamp(2.6rem,11vw,3.6rem)/1.08 var(--f-display);text-transform:uppercase;color:#fff;text-decoration:none;display:flex;align-items:baseline;gap:14px;opacity:0;transform:translate3d(0,24px,0);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.menu-nav small{font:500 13px/1 var(--f-body);color:#9b9b9b;letter-spacing:.1em}
.menu.is-open .menu-nav a{opacity:1;transform:none}
.menu-foot{position:absolute;left:var(--gutter);right:var(--gutter);bottom:calc(32px + env(safe-area-inset-bottom));opacity:0;transform:translate3d(0,24px,0);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.menu-foot .btn{width:100%;justify-content:center}
.menu-foot p{margin:14px 0 0;text-align:center;color:#cfcfcf;font-size:15px}
.menu.is-open .menu-foot{opacity:1;transform:none}

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;background:#0b0b0b;display:flex;flex-direction:column;isolation:isolate}
.hero-layer{will-change:transform}
.hero-bg{position:absolute;inset:-8% 0 -8% 0;z-index:-3}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,8,.92) 0%,rgba(8,8,8,.62) 42%,rgba(8,8,8,.1) 75%),linear-gradient(0deg,rgba(8,8,8,.85) 0%,rgba(8,8,8,0) 30%)}
.hero-mark{position:absolute;z-index:-2;right:-6vw;top:12%;width:min(62vw,980px);opacity:.13;mix-blend-mode:screen}
.hero-inner{flex:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center;gap:var(--gutter);width:100%;max-width:1600px;margin:0 auto;padding:calc(var(--header-h) + 32px) var(--gutter) 40px}
.hero-title{font:700 clamp(3.6rem,9.6vw,10rem)/.86 var(--f-display);text-transform:uppercase;color:#f3f3f3;letter-spacing:-.012em;margin:0 0 28px}
.hero-title .line{display:block;overflow:hidden;padding-bottom:.04em;margin-bottom:-.04em}
.hero-title .line>span{display:block}
.hero-title .hl{background-size:220% 100%}
.hero-lede{max-width:540px;font-size:clamp(1.05rem,1.35vw,1.22rem);color:#cfcfcf;margin-bottom:32px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px}
.hero-board{justify-self:center;width:min(100%,400px);position:relative}
.arch{border-radius:999px 999px 0 0;overflow:hidden;position:relative;background:#222}
.arch img{width:100%;height:100%;object-fit:cover}
.hero-board .arch{aspect-ratio:3/4.4;box-shadow:0 0 0 1px rgba(255,255,255,.35),0 0 0 9px #0d0d0d,0 0 0 10px rgba(220,220,220,.4),0 40px 80px rgba(0,0,0,.6)}
.hero-board figcaption{display:flex;justify-content:space-between;margin-top:22px;font:500 13px/1 var(--f-serif);letter-spacing:.3em;text-transform:uppercase;color:#bdbdbd}
.hero-facts{display:flex;gap:clamp(18px,4vw,64px);padding:22px var(--gutter) 30px;max-width:1600px;margin:0 auto;width:100%;border-top:1px solid rgba(255,255,255,.12);font-size:15px;color:#a9a9a9}
.hero-facts b{font-weight:600;color:#ededed}

/* marquee */
.marquee{background:linear-gradient(100deg,#a9a9a9,#efefef 40%,#b5b5b5 70%,#e2e2e2);color:#0a0a0a;overflow:hidden;padding:20px 0;position:relative;z-index:2}
.marquee-track{display:flex;align-items:center;gap:34px;width:max-content;animation:marquee 38s linear infinite}
.marquee span{font:600 clamp(1.4rem,2.4vw,2rem)/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}
.marquee i{width:10px;height:10px;background:#0a0a0a;transform:rotate(45deg);flex:none}
@keyframes marquee{to{transform:translate3d(-50%,0,0)}}

/* light sections: lime plaster */
.light{background:var(--lime);color:#2f2b26;position:relative}
.light::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background:radial-gradient(120% 80% at 20% 10%,rgba(255,255,255,.7),transparent 60%),radial-gradient(90% 70% at 90% 90%,rgba(196,186,170,.35),transparent 60%)}
.light>*{position:relative}
.dark{background:var(--char);color:var(--text-light)}

/* about */
.about{padding:var(--pad) 0}
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,100px);align-items:center}
.about-copy .h2{margin-bottom:28px}
.about-copy p{max-width:560px}
.about-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:40px 0 0;padding-top:28px;border-top:1px solid var(--stone)}
.about-stats dt{font:700 clamp(3.4rem,6vw,5.6rem)/1 var(--f-display);color:var(--text-dark);font-variant-numeric:tabular-nums;white-space:nowrap}
.about-stats dd{margin:10px 0 0;font-size:15px;color:var(--muted-dark)}
.about-visual{position:relative;min-height:620px}
.board{position:absolute}
.board-sheet{position:relative;background:#f6f3ee;padding:16px;box-shadow:0 1px 0 #fff inset,0 30px 60px rgba(60,48,30,.22);border:1px solid #d8d0c4}
/* screw dots along the sheet edges, like a hung plasterboard sheet */
.board-sheet::before,.board-sheet::after{content:"";position:absolute;left:16px;right:16px;height:4px;background:radial-gradient(circle,#9b958c 1.6px,transparent 2px) 0 0/34px 4px repeat-x}
.board-sheet::before{top:6px}.board-sheet::after{bottom:6px}
.board-sheet img{width:100%;aspect-ratio:4/3;object-fit:cover}
.board-a{top:0;left:0;width:78%;transform:rotate(-1.5deg)}
.board-b{right:0;bottom:0;width:46%;transform:rotate(2deg)}
.board-b .board-sheet img{aspect-ratio:3/4}
.tape{position:absolute;left:24px;bottom:-14px;background:var(--tape);color:#3d3524;font:600 12px/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;padding:9px 14px;transform:rotate(-2deg);box-shadow:0 4px 10px rgba(0,0,0,.08);opacity:.96}
.board-b .tape{left:auto;right:18px;transform:rotate(2deg)}

/* services */
.services{padding:var(--pad) 0}
.svc-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px)}
.svc-stage{position:relative}
.svc-frame{position:sticky;top:12vh;aspect-ratio:4/5;overflow:hidden;background:#1d1d1d;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 0 0 10px #0f0f0f,0 0 0 11px rgba(255,255,255,.1)}
.svc-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .7s var(--ease),transform 1.2s var(--ease)}
.svc-frame img.is-on{opacity:1;transform:scale(1)}
.svc-count{position:absolute;left:18px;bottom:16px;font:500 14px/1 var(--f-display);letter-spacing:.14em;color:#e8e8e8;background:rgba(10,10,10,.7);padding:9px 12px}
.svc-list{counter-reset:none}
.svc{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;padding:30px 0;border-top:1px solid rgba(255,255,255,.12);cursor:default}
.svc:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.svc-n{font:500 15px/1.9 var(--f-display);letter-spacing:.12em;color:#7b7b7b;transition:color .4s var(--ease)}
.svc h3{font:600 clamp(1.7rem,2.8vw,2.6rem)/1.02 var(--f-display);text-transform:uppercase;color:#8e8e8e;margin-bottom:12px;transition:color .4s var(--ease)}
.svc p{margin:0;max-width:560px;color:#a5a5a5}
.svc.is-on h3{color:#f4f4f4}
.svc.is-on .svc-n{color:var(--chrome)}
.svc-thumb{display:none}
.commercial{margin-top:clamp(56px,7vw,96px)}
.commercial .cap{color:#e0e0e0}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips li{border:1px solid rgba(255,255,255,.2);padding:10px 16px;font-size:15px;color:#d8d8d8}

/* work: pinned horizontal */
.work{position:relative;z-index:1;overflow:hidden}
.work-pin{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,7vh,90px) 0 clamp(36px,5vh,60px)}
.work-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:clamp(28px,4vh,48px)}
.work-head .h2 .amp{font-family:var(--f-serif);font-style:italic;font-weight:500;text-transform:none}
.work-desc{max-width:400px;margin:0;color:#a9a9a9}
.work-viewport{overflow:visible}
.work-track{display:flex;gap:clamp(28px,3vw,48px);padding:0 var(--gutter);width:max-content;will-change:transform}
.job{position:relative;flex:none;width:clamp(300px,34vh + 8vw,520px);height:min(58vh,560px);display:block}
.job-after{position:absolute;right:0;top:0;width:72%;height:80%;background:#efefef;padding:10px;box-shadow:0 30px 60px rgba(0,0,0,.5)}
.job-before{position:absolute;left:0;bottom:4%;width:44%;height:50%;background:#efefef;padding:8px;transform:rotate(-3deg);box-shadow:0 20px 40px rgba(0,0,0,.55);filter:grayscale(.25)}
.job figure img{width:100%;height:100%;object-fit:cover}
.tag{position:absolute;top:-12px;left:16px;background:var(--tape);color:#3d3524;font:600 11px/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;padding:8px 12px;transform:rotate(-2deg)}
.job-before .tag{background:#cfcfcf;color:#1a1a1a}
.job-label{position:absolute;right:0;bottom:0;width:50%;min-height:15%;justify-content:flex-end;text-align:right;display:flex;flex-direction:column;gap:4px}
.job-label b{font:600 1.35rem/1 var(--f-display);text-transform:uppercase;color:#f2f2f2;letter-spacing:.02em}
.job-label span{font-size:14px;color:#a3a3a3}
.job-cta{display:flex;flex-direction:column;justify-content:center;gap:18px;text-decoration:none;border:1px solid rgba(255,255,255,.18);padding:40px;background:#101010 url(/img/hero-marmorino-sm.webp?v=1) center/cover;transition:border-color .35s var(--ease)}
.job-cta:hover{border-color:var(--chrome)}
.job-cta .cap{color:#bdbdbd;margin:0}
.job-cta-big{font:700 clamp(3rem,5vw,4.6rem)/.92 var(--f-display);text-transform:uppercase;color:#f3f3f3}
.job-cta-sub{color:#cfcfcf;max-width:280px}
.work-progress{margin:clamp(28px,4vh,44px) var(--gutter) 0;height:2px;background:rgba(255,255,255,.12);position:relative}
.work-progress span{position:absolute;inset:0;background:var(--chrome-grad);transform-origin:left;transform:scaleX(0)}

/* venetian */
.venetian{padding:var(--pad) 0}
.ven-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(40px,6vw,100px);align-items:center}
.ven-copy .h2{margin-bottom:28px}
.finishes{margin:32px 0 24px;border-top:1px solid var(--stone)}
.finishes li{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--stone)}
.finishes b{font:600 1.25rem/1.2 var(--f-display);text-transform:uppercase;color:var(--text-dark);letter-spacing:.01em;white-space:nowrap}
.finishes span{color:var(--muted-dark);text-align:right;font-size:15px}
.ven-visual{position:relative;height:clamp(520px,46vw,700px)}
.ven-arch{position:absolute}
.ven-arch .arch{aspect-ratio:3/5.2;box-shadow:0 0 0 1px rgba(140,128,110,.5),0 0 0 8px var(--lime),0 0 0 9px rgba(120,110,95,.35),0 30px 60px rgba(60,48,30,.2)}
.ven-arch figcaption{margin-top:16px;font:500 13px/1 var(--f-serif);letter-spacing:.3em;text-transform:uppercase;color:var(--muted-dark);text-align:center}
.ven-a{left:0;top:14%;width:31.5%}
.ven-b{left:34.25%;top:0;width:31.5%}
.ven-c{right:0;top:26%;width:31.5%}

/* promise / highlights */
.promise{padding:var(--pad) 0;background:#0e0e0e url(/img/hero-marmorino.webp?v=1) center/cover;position:relative}
.promise::before{content:"";position:absolute;inset:0;background:rgba(10,10,10,.72)}
.promise>*{position:relative}
.promise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.quote{position:relative;padding:44px 34px 34px;border:1px solid rgba(255,255,255,.16);background:rgba(16,16,16,.6);display:flex;flex-direction:column}
.q-mark{font:600 6rem/.6 var(--f-serif);background:var(--chrome-grad);-webkit-background-clip:text;background-clip:text;color:transparent;height:44px}
.quote blockquote{margin:0 0 28px;flex:1}
.quote blockquote p{font:500 clamp(1.4rem,1.9vw,1.75rem)/1.3 var(--f-serif);color:#efefef;margin:0}
.q-foot{margin:0;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font:600 12px/1.4 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:#a9a9a9}

/* areas */
.areas{padding:var(--pad) 0}
.areas-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,5vw,80px)}
.areas .cap{color:var(--muted-dark)}
.suburbs{display:flex;flex-wrap:wrap;gap:4px 0;margin-bottom:40px}
.suburbs li{font:500 clamp(1.3rem,2.1vw,1.85rem)/1.35 var(--f-display);text-transform:uppercase;color:var(--text-dark)}
.suburbs li:not(:last-child)::after{content:"/";margin:0 .45em;color:#b3a998;font-weight:400}
.towns{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.towns li{border:1px solid #bfb5a6;padding:9px 16px;color:#2f2b26;font-size:15px}
.visit{display:flex;flex-direction:column;gap:20px}
.card{background:#f6f3ee;border:1px solid var(--stone);padding:28px}
.hours table{width:100%;border-collapse:collapse}
.hours th,.hours td{padding:12px 0;border-bottom:1px solid var(--stone);text-align:left;font-weight:500;color:var(--text-dark)}
.hours td{text-align:right}
.open-now{margin:14px 0 0;font-size:14px;color:var(--muted-dark)}
.open-now::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#7a9a6a;margin-right:8px}
.open-now.closed::before{background:#a8a39b}
.loc-link{font:600 1.5rem/1.2 var(--f-display);text-transform:uppercase;text-decoration:none;color:var(--text-dark);display:inline-block;margin-bottom:18px;transition:color .35s var(--ease)}
.loc-link:hover{color:#8a8a8a}
.map{position:relative;aspect-ratio:16/11;background:#ddd6cb;overflow:hidden}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none}
.map.is-active iframe{pointer-events:auto}

/* faq */
.faq{padding:var(--pad) 0}
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,100px);align-items:start}
.faq-note{color:#a5a5a5;max-width:340px;margin-top:24px}
.qa{border-top:1px solid rgba(255,255,255,.14)}
.qa:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font:500 clamp(1.25rem,1.8vw,1.6rem)/1.2 var(--f-display);text-transform:uppercase;color:#ececec;transition:color .35s var(--ease)}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:#9c9c9c}
.qa summary i{position:relative;flex:none;width:18px;height:18px}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;left:0;top:8px;width:18px;height:2px;background:var(--chrome);transition:transform .5s var(--ease)}
.qa summary i::after{transform:rotate(90deg)}
.qa[open] summary i::after{transform:rotate(0)}
.qa-body{overflow:hidden}
.qa-body p{margin:0;padding:0 48px 28px 0;color:#b5b5b5;max-width:640px}

/* footer */
.footer{background:var(--ink);color:#a9a9a9;padding-top:var(--pad)}
.foot-cta{text-align:center;padding-bottom:clamp(56px,7vw,100px)}
.foot-title{font:700 clamp(3.2rem,10vw,9.5rem)/.88 var(--f-display);text-transform:uppercase;color:#f3f3f3;margin-bottom:28px}
.foot-phone{display:inline-block;font:500 clamp(1.8rem,4vw,3.2rem)/1 var(--f-display);letter-spacing:.04em;color:#e6e6e6;text-decoration:none;border-bottom:2px solid rgba(255,255,255,.25);padding-bottom:8px;transition:color .35s var(--ease),border-color .35s var(--ease)}
.foot-phone:hover{color:#8f8f8f;border-color:#8f8f8f}
.foot-cols{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px;padding-top:56px;padding-bottom:56px;border-top:1px solid rgba(255,255,255,.1)}
.foot-brand img{width:150px;margin-bottom:18px}
.foot-brand p{max-width:280px}
.foot-h{font:600 1.5rem/1 var(--f-display);text-transform:uppercase;letter-spacing:.04em;margin-bottom:20px;background:var(--chrome-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.foot-cols li{margin-bottom:10px;font-size:15px}
.foot-cols a{text-decoration:none;transition:color .35s var(--ease)}
.foot-cols a:hover{color:#f2f2f2}
.foot-base{display:flex;justify-content:space-between;gap:20px;padding-top:24px;padding-bottom:calc(28px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.1);font-size:14px}
.foot-base p{margin:0}
.foot-watermark{display:none;pointer-events:none}
.foot-cta-logo{display:none}

/* trowel-skim reveal: wet plaster swept off the photo */
.skim{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(120% 90% at 30% 20%,rgba(246,242,236,.75),transparent 60%),url(/img/hero-marmorino-sm.webp?v=1) center/cover,#e4ddd2;background-blend-mode:normal,soft-light,normal}
.board-sheet .skim{inset:16px}
.dark .skim{background:#161616 url(/img/hero-marmorino-sm.webp?v=1) center/cover}
.skim i{position:absolute;top:-15%;bottom:-15%;left:-12.5%;width:3px;margin-left:-1.5px;background:linear-gradient(180deg,transparent,#fff 25%,#bdbdbd 60%,#fff 80%,transparent);box-shadow:0 0 16px 3px rgba(255,255,255,.5);transform:skewX(var(--sk,-10deg))}
.foot-base a{color:var(--chrome);text-decoration:none}

/* reveal helpers (set by JS only) */
.js .rv{opacity:0;transform:translate3d(0,40px,0)}

/* responsive */
@media (max-width:1100px){
  .nav{display:none}
}
@media (max-width:899px){
  :root{--header-h:68px}
  .header-call{display:none}
  .burger{display:flex;flex-direction:column;justify-content:center;gap:7px;width:48px;height:48px;background:none;border:0;padding:0 10px;cursor:pointer}
  .burger span{display:block;height:2px;background:#eee;transition:transform .7s var(--ease)}
  .burger[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}
  .burger[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
  .site-header{position:fixed}
  .brand-mark{height:36px}.brand-word{height:27px}
  .hero-inner{grid-template-columns:minmax(0,1fr);align-content:start;padding-top:calc(var(--header-h) + 36px);gap:36px}
  .hero-title{font-size:clamp(3.4rem,17vw,6.4rem)}
  .hero-board{justify-self:end;width:min(56vw,320px);margin-top:-8px}
  .hero-mark{width:120vw;right:-40vw;top:auto;bottom:6%}
  .hero-facts{display:none}
  .about-grid,.ven-grid,.areas-grid,.faq-grid{grid-template-columns:minmax(0,1fr)}
  .about-visual{min-height:0;height:min(118vw,620px)}
  .about-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .svc-grid{grid-template-columns:minmax(0,1fr)}
  .svc-stage{display:none}
  .svc{grid-template-columns:minmax(0,1fr)}
  .svc h3{color:#f2f2f2}
  .svc-n{color:var(--chrome)}
  .svc-thumb{display:block;margin-top:20px;width:100%;aspect-ratio:16/10;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 0 0 7px #0f0f0f,0 0 0 8px rgba(255,255,255,.1)}
  .work-pin{justify-content:flex-start;padding-top:clamp(56px,9vh,80px)}
  .work-head{flex-direction:column;align-items:flex-start;gap:20px}
  .work-desc{padding-bottom:50px}
  .work-head{margin-bottom:0}
  .job{width:min(78vw,380px);height:min(54vh,470px)}
  .ven-visual{height:min(112vw,640px)}
  .promise-grid{grid-template-columns:minmax(0,1fr)}
  .foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-brand{display:none}
  .footer{overflow:hidden}
  .foot-watermark{display:block;padding:8px var(--gutter) 0;margin-bottom:-14%}
  .foot-watermark img{width:100%;opacity:.2}
  .foot-cta-logo{display:block;width:140px;margin:0 auto 28px}
  .foot-base{flex-direction:column}
  .finishes li{flex-direction:column;gap:4px}
  .finishes span{text-align:left}
  .h2,.hero-title,.foot-title{width:100%}
}
@media (max-width:520px){
  .about-stats dd{font-size:13px}
  .quote{padding:36px 24px 26px}
  .hero-ctas .btn{flex:1 1 100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .marquee-track{animation-duration:90s}
  .js .rv{opacity:1;transform:none}
  .work-viewport{overflow-x:auto}
}

/* ---------- picked options: hero 2, header 3, footer 1, button 1, Antonio headings, Hanken body ---------- */
@font-face{font-family:"Antonio";src:url(/fonts/antonio-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Antonio";src:url(/fonts/antonio-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--f-display:"Antonio","Arial Narrow",sans-serif}

/* hero: chrome wordmark + job strip */
.hero-b{justify-content:space-between;padding:calc(var(--header-h) + 24px) 0 0}
.hb-bg{position:absolute;inset:-8% 0;z-index:-2}
.hb-bg img{width:100%;height:100%;object-fit:cover}
.hb-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 30%,rgba(8,8,8,.2),rgba(8,8,8,.85))}
.hb-top{text-align:center;padding:0 var(--gutter)}
.hb-top .eyebrow{margin-bottom:clamp(18px,3vh,32px)}
.hb-word img{width:auto;height:min(30vh,300px);max-width:86vw;object-fit:contain;margin:0 auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,.5))}
.hb-strip{overflow:hidden;margin:clamp(18px,3vh,36px) 0}
.hb-strip-track{display:flex;gap:18px;width:max-content;animation:marquee 60s linear infinite}
.hb-strip-track img{height:clamp(110px,16vh,180px);width:auto;aspect-ratio:4/3;object-fit:cover;border:6px solid #eeeae4;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.hb-strip-track img:nth-child(odd){transform:rotate(-1.2deg)}.hb-strip-track img:nth-child(even){transform:rotate(1deg)}
.hb-foot{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--gutter);align-items:end;padding:0 var(--gutter) 40px;max-width:1600px;margin:0 auto;width:100%}
.hb-title{font:700 clamp(2.6rem,min(5.4vw,9vh),5.8rem)/.9 var(--f-display);text-transform:uppercase;color:#f3f3f3}
.hb-side p{color:#cfcfcf;margin-bottom:22px;max-width:440px}


/* header: marmorino capsule nav */
.site-header .nav{top:50%;transform:translate(-50%,-50%);padding:6px 10px;gap:4px;border:1px solid rgba(230,230,230,.35);background:rgba(14,14,14,.85) url(/img/hero-marmorino-sm.webp?v=1) center/cover;border-radius:999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
.nav a{padding:12px 18px;border-radius:999px;transition:background-color .35s var(--ease),color .35s var(--ease)}
.nav a:hover{background:var(--chrome);color:#0a0a0a}
.header-call{width:52px;height:52px;min-height:0;padding:0;justify-content:center;border-radius:50%}
.header-call span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.header-call svg{width:20px;height:20px}

@media (max-width:899px){
  .hb-foot{grid-template-columns:minmax(0,1fr)}
  .hb-word img{height:auto;width:90vw}
}
