:root {
  --black: #050506;
  --ink: #0a0b0d;
  --charcoal: #111317;
  --charcoal-2: #181b20;
  --paper: #f4efe4;
  --white: #fffdfa;
  --muted: #a7a39b;
  --silver: #c7cbd0;
  --silver-dark: #727880;
  --gold: #d4a62a;
  --gold-deep: #8b5b0f;
  --gold-pale: #f3d172;
  --line: rgba(255,255,255,.10);
  --line-gold: rgba(212,166,42,.38);
  --shell: min(1180px, calc(100% - 48px));
  --shadow: 0 28px 90px rgba(0,0,0,.45);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); }
body { margin: 0; background: var(--black); color: var(--white); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
img { display: block; max-width: 100%; }
.shell { width: var(--shell); margin-inline: auto; }
.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; z-index: 1000; top: 10px; left: 10px; padding: 10px 14px; background: var(--gold); color: #000; transform: translateY(-200%); }
.skip-link:focus { transform: none; }

.site-header { position: fixed; z-index: 100; top: 0; left: 0; right: 0; height: 82px; transition: background .25s ease, border-color .25s ease, height .25s ease; border-bottom: 1px solid transparent; }
.site-header.is-scrolled { background: rgba(5,5,6,.93); backdrop-filter: blur(18px); border-color: rgba(212,166,42,.18); height: 70px; }
.nav-shell { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { width: 190px; flex: 0 0 auto; align-self:center; filter: drop-shadow(0 7px 16px rgba(0,0,0,.48)); }
.brand img { width:100%; height:auto; }
.desktop-nav { display: flex; align-items: center; gap: 11px; font-size: .66rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.desktop-nav a, .desktop-nav .nav-contact {
  min-height: 38px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(243,209,114,.54); border-radius:7px; padding:0 15px;
  background:linear-gradient(180deg,rgba(255,255,255,.105) 0%,rgba(255,255,255,.025) 45%,rgba(0,0,0,.26) 46%,rgba(0,0,0,.54) 100%),linear-gradient(135deg,#191a1d,#090a0b);
  color:#f2eee6; cursor:pointer; font-weight:900; letter-spacing:.09em; text-transform:uppercase;
  text-shadow:0 1px 1px #000;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.17),inset 0 -1px 0 rgba(0,0,0,.85),0 3px 0 #5d3a08,0 7px 16px rgba(0,0,0,.34);
  transform:translateY(0); transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,color .14s ease,filter .14s ease;
}
.desktop-nav a:hover { color:var(--gold-pale); border-color:#e1b542; transform:translateY(-1px); box-shadow:inset 0 1px 0 rgba(255,255,255,.20),inset 0 -1px 0 rgba(0,0,0,.85),0 4px 0 #70470b,0 9px 20px rgba(0,0,0,.42); }
.desktop-nav a:active { transform:translateY(2px); box-shadow:inset 0 2px 5px rgba(0,0,0,.55),0 1px 0 #5d3a08,0 3px 9px rgba(0,0,0,.35); }
.desktop-nav .nav-contact {
  border-color:#f2d375; color:#080808; text-shadow:0 1px 0 rgba(255,255,255,.30);
  background:linear-gradient(180deg,#f5d77d 0%,#d6a52f 48%,#b77a14 49%,#95600c 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.46),inset 0 -1px 0 rgba(77,42,0,.72),0 3px 0 #694008,0 8px 18px rgba(0,0,0,.38);
}
.desktop-nav .nav-contact:hover { color:#000; border-color:#ffe59b; filter:brightness(1.06); transform:translateY(-1px); box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(77,42,0,.72),0 4px 0 #70470b,0 10px 22px rgba(0,0,0,.44); }
.desktop-nav .nav-contact:active { transform:translateY(2px); box-shadow:inset 0 2px 5px rgba(82,47,0,.42),0 1px 0 #694008,0 3px 8px rgba(0,0,0,.34); }
.menu-button { display: none; width: 42px; height: 42px; background: transparent; border: 1px solid var(--line-gold); padding: 10px; cursor: pointer; }
.menu-button span { display: block; height: 2px; background: var(--gold-pale); margin: 5px 0; transition: transform .2s ease, opacity .2s ease; }
.mobile-menu { display: none; }

.hero { position: relative; min-height: 100svh; display: grid; align-items: center; overflow: hidden; background:
  radial-gradient(circle at 75% 35%, rgba(212,166,42,.20), transparent 25%),
  radial-gradient(circle at 92% 70%, rgba(149,154,162,.09), transparent 28%),
  linear-gradient(125deg, #050506 0%, #08090b 46%, #0f1012 100%); }
.hero::before { content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(5,5,6,.98) 0%, rgba(5,5,6,.90) 40%, rgba(5,5,6,.36) 72%, rgba(5,5,6,.68) 100%); z-index:1; }
.hero-grid { position:absolute; inset:0; opacity:.14; background-image: linear-gradient(rgba(212,166,42,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(212,166,42,.18) 1px, transparent 1px); background-size: 68px 68px; mask-image: linear-gradient(to right, transparent, #000 38%, #000); }
.hero-orbit { position:absolute; width: 820px; aspect-ratio:1; right:-250px; top:50%; transform:translateY(-48%); border:1px solid rgba(212,166,42,.18); border-radius:50%; box-shadow: inset 0 0 0 90px rgba(212,166,42,.015), inset 0 0 0 180px rgba(212,166,42,.012); }
.hero-orbit::before, .hero-orbit::after { content:""; position:absolute; inset:14%; border:1px solid rgba(199,203,208,.11); border-radius:50%; transform:rotate(24deg) scaleY(.55); }
.hero-orbit::after { transform:rotate(-32deg) scaleX(.58); }
.hero-crest { position:absolute; z-index:0; width:min(760px, 58vw); right:-4vw; top:50%; transform:translateY(-46%); opacity:.53; filter: drop-shadow(0 36px 50px rgba(0,0,0,.60)); }
.hero-inner { position:relative; z-index:2; padding-top: 94px; }
.hero-copy { max-width: 790px; }
.eyebrow, .section-kicker { margin:0 0 24px; color:var(--gold-pale); font-size:.69rem; font-weight:900; letter-spacing:.22em; text-transform:uppercase; }
.hero h1 {
  margin:0; max-width:900px; font-size:clamp(4.4rem,8.2vw,8.6rem); line-height:.82; letter-spacing:-.035em; font-weight:950; text-transform:uppercase; text-wrap:balance;
  color:var(--white);
  text-shadow:
    0 1px 0 #eee9df,
    0 2px 0 #d3cec3,
    0 3px 0 #aca79e,
    0 4px 0 #76736d,
    0 5px 0 #44423f,
    0 7px 0 #191a1b,
    0 11px 14px rgba(0,0,0,.78),
    0 20px 38px rgba(0,0,0,.42),
    0 0 22px rgba(255,255,255,.06);
}
.hero h1 span {
  color:var(--gold);
  -webkit-text-stroke:1px #f5d77c;
  text-shadow:
    0 1px 0 #c58c18,
    0 2px 0 #a96f10,
    0 3px 0 #8a570b,
    0 4px 0 #664007,
    0 5px 0 #3f2805,
    0 7px 0 #1d160a,
    0 11px 15px rgba(0,0,0,.82),
    0 20px 40px rgba(0,0,0,.46),
    0 0 32px rgba(212,166,42,.14);
}
.hero-lead { max-width:700px; margin:34px 0 0; color:#c2beb5; font-size:clamp(1.02rem, 1.5vw, 1.25rem); line-height:1.7; }
.hero-actions { display:flex; gap:13px; flex-wrap:wrap; margin-top:36px; }
.button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; border:1px solid transparent; padding:0 22px; font-size:.72rem; font-weight:950; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-gold { color:#080808; background:linear-gradient(110deg, #f0cb65, #c89119 60%, #9c6710); border-color:#f2d375; box-shadow:0 18px 45px rgba(196,139,20,.18); }
.button-gold:hover { background:linear-gradient(110deg, #f7dc87, #dda92c 62%, #ae7716); }
.button-ghost { border-color:rgba(255,255,255,.24); background:rgba(255,255,255,.025); color:var(--white); }
.button-ghost:hover { border-color:var(--gold); color:var(--gold-pale); }
.hero-contact-row { display:flex; gap:26px; flex-wrap:wrap; margin-top:28px; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.hero-contact-row button, .hero-contact-row a { background:none; border:0; padding:0 0 6px; color:#b5b1a8; cursor:pointer; border-bottom:1px solid rgba(212,166,42,.32); }
.hero-contact-row button:hover, .hero-contact-row a:hover { color:var(--gold-pale); border-color:var(--gold); }
.hero-statement { position:absolute; right:0; bottom:34px; display:flex; gap:18px; align-items:center; color:#c5c1b8; text-transform:uppercase; letter-spacing:.09em; }
.hero-statement__number { color:var(--gold); font:900 3.6rem/1 Georgia, serif; opacity:.65; }
.hero-statement p { margin:0 0 4px; font-size:.62rem; }
.hero-statement strong { font-size:.78rem; color:#fff; }
.hero-scroll { position:absolute; z-index:3; bottom:32px; left:50%; width:32px; height:50px; border:1px solid rgba(255,255,255,.22); border-radius:20px; transform:translateX(-50%); }
.hero-scroll span { position:absolute; left:50%; top:10px; width:4px; height:8px; border-radius:4px; background:var(--gold); transform:translateX(-50%); animation:scrollDot 1.7s infinite; }
@keyframes scrollDot { 0%{opacity:0;transform:translate(-50%,0)} 30%{opacity:1} 100%{opacity:0;transform:translate(-50%,18px)} }

.trust-strip { background:var(--paper); color:#0b0b0b; border-top:1px solid var(--gold); border-bottom:1px solid rgba(0,0,0,.16); }
.trust-grid { display:grid; grid-template-columns:1fr 1fr 1fr auto; align-items:stretch; }
.trust-grid > div { padding:27px 28px 26px 0; margin-right:28px; border-right:1px solid rgba(0,0,0,.12); }
.trust-grid strong { display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
.trust-grid span { display:block; margin-top:7px; color:#5f5c55; font-size:.78rem; line-height:1.45; }
.trust-grid button { border:0; background:#0a0a0a; color:#fff; padding:0 24px; font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.trust-grid button:hover { background:var(--gold); color:#000; }

.section { padding:120px 0; }
.section-head { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); gap:70px; align-items:end; margin-bottom:60px; }
.section-head h2 { margin:0; font-size:clamp(3rem, 6vw, 6.2rem); line-height:.9; letter-spacing:-.055em; text-transform:uppercase; }
.section-head > p { margin:0 0 4px; color:#aaa69e; font-size:1rem; line-height:1.7; }

.services { background:#08090a; border-bottom:1px solid rgba(212,166,42,.15); }
.service-showcase { display:grid; gap:1px; background:rgba(212,166,42,.18); border:1px solid rgba(212,166,42,.20); }
.service-panel { display:grid; grid-template-columns:1fr 1fr; min-height:520px; background:#0c0d0f; overflow:hidden; }
.service-panel:nth-child(even) .service-visual { order:2; }
.service-panel:nth-child(even) .service-copy { order:1; }
.service-visual { position:relative; overflow:hidden; min-height:420px; background:#101216; }
.service-visual::after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 90px rgba(0,0,0,.58); pointer-events:none; }
.service-copy { padding:58px; display:flex; flex-direction:column; justify-content:center; }
.service-copy > span { color:var(--gold); font:700 1rem Georgia,serif; }
.service-copy > p:first-of-type { margin:10px 0 24px; color:#b9b5ac; font-size:.68rem; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.service-copy h3 { margin:0; max-width:570px; font-size:clamp(2.2rem, 4vw, 4.4rem); line-height:.96; letter-spacing:-.045em; text-transform:uppercase; }
.service-copy h3 + p { max-width:580px; margin:28px 0 34px; color:#a9a59d; line-height:1.7; }
.service-copy button { align-self:flex-start; background:none; border:0; border-bottom:1px solid var(--gold); color:var(--gold-pale); padding:0 0 7px; font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.service-copy button b { margin-left:8px; }
.epoxy-visual { background:radial-gradient(circle at 20% 30%, rgba(244,238,224,.85), transparent 14%), linear-gradient(135deg,#111214,#e8e2d5 31%,#1a1c20 32%,#111216 46%,#d1c7b6 48%,#0b0c0e 51%,#181a1d 66%,#d6a82e 67%,#0b0c0e 71%); }
.epoxy-visual i { position:absolute; width:72%; height:9px; background:linear-gradient(90deg,transparent,#d8b44a,#fff1af,#8b5b0f,transparent); filter:blur(1px); transform:rotate(-18deg); left:10%; }
.epoxy-visual i:nth-child(1){top:30%}.epoxy-visual i:nth-child(2){top:52%;left:28%;width:55%;transform:rotate(22deg)}.epoxy-visual i:nth-child(3){top:72%;left:5%;transform:rotate(-7deg)}
.cabinetry-visual { background:linear-gradient(115deg,#111 0 9%,#5b2d18 10% 12%,#151515 13% 27%,#6c391d 28% 30%,#111 31% 49%,#744225 50% 52%,#131313 53% 72%,#5a2b17 73% 75%,#0b0b0c 76%); }
.cabinetry-visual i { position:absolute; width:34%; height:34%; border:2px solid rgba(233,196,98,.32); box-shadow:inset 0 0 0 8px rgba(0,0,0,.25); }
.cabinetry-visual i:nth-child(1){left:9%;top:10%}.cabinetry-visual i:nth-child(2){right:11%;top:10%}.cabinetry-visual i:nth-child(3){left:9%;bottom:10%}.cabinetry-visual i:nth-child(4){right:11%;bottom:10%}
.finish-visual { background:linear-gradient(135deg,#121315 0 38%,#b78d46 38% 39%,#ece6da 39% 42%,#121315 42% 66%,#b78d46 66% 67%,#2a2d31 67% 72%,#0d0e10 72%); }
.finish-visual i { position:absolute; background:linear-gradient(90deg,#a97224,#f0cf78,#855716); box-shadow:0 10px 24px rgba(0,0,0,.35); }
.finish-visual i:first-child{height:26px;width:76%;left:12%;top:38%;transform:rotate(-13deg)}.finish-visual i:last-child{width:30px;height:74%;top:13%;left:48%;transform:rotate(18deg)}
.custom-visual { display:grid; place-items:center; background:radial-gradient(circle at center,rgba(212,166,42,.16),transparent 33%), repeating-radial-gradient(circle at center,rgba(255,255,255,.045) 0 1px,transparent 1px 38px),#0a0b0d; }
.custom-visual img { width:60%; opacity:.78; filter:drop-shadow(0 28px 40px rgba(0,0,0,.55)); }

.contact-break { background:linear-gradient(100deg,#c6961d,#f0cf72 43%,#b47512); color:#080808; }
.contact-break__inner { min-height:240px; display:flex; align-items:center; justify-content:space-between; gap:36px; }
.contact-break p { margin:0 0 8px; font-size:.72rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.contact-break h2 { margin:0; font-size:clamp(2.2rem,4vw,4.4rem); text-transform:uppercase; letter-spacing:-.045em; }
.contact-break .button-gold { background:#0a0a0b; color:#fff; border-color:#0a0a0b; box-shadow:none; }
.contact-break .button-gold:hover { background:#fff; color:#000; }

.work { background:var(--paper); color:#0b0b0b; }
.section-head--work > p { color:#68645d; }
.work .section-kicker { color:#9d7113; }
.portfolio-grid { display:grid; grid-template-columns:1.35fr .65fr; grid-template-rows:1fr 1fr; min-height:760px; gap:14px; }
.portfolio-card { position:relative; border:0; padding:0; overflow:hidden; cursor:pointer; color:#fff; background:#111; text-align:left; min-height:360px; }
.portfolio-card--hero { grid-row:1 / 3; }
.portfolio-placeholder { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; background:radial-gradient(circle at 38% 38%,#cdbfa6 0 5%,transparent 6%),linear-gradient(125deg,#16171a,#4a4b4c 28%,#efe7d9 29%,#121316 35%,#25282d 49%,#d9af4b 50%,#111316 56%,#292b30 74%,#101113); transition:transform .5s ease; }
.portfolio-placeholder--cab { background:linear-gradient(115deg,#161616,#633a22 20%,#181818 21% 42%,#7c4a28 43% 45%,#141414 46% 70%,#b18a4b 71% 72%,#101010 73%); }
.portfolio-placeholder--wood { background:repeating-linear-gradient(9deg,#3e2112 0 5px,#5c351c 6px 10px,#2b160d 11px 14px); }
.portfolio-placeholder b { padding:9px 12px; border:1px solid rgba(255,255,255,.35); background:rgba(0,0,0,.44); font-size:.72rem; letter-spacing:.18em; }
.portfolio-placeholder small { color:#e5e0d7; text-transform:uppercase; letter-spacing:.12em; font-size:.55rem; }
.portfolio-caption { position:absolute; left:0; right:0; bottom:0; display:flex; justify-content:space-between; gap:15px; align-items:end; padding:26px; background:linear-gradient(transparent,rgba(0,0,0,.92)); }
.portfolio-caption strong { font-size:clamp(1.5rem,2.4vw,3rem); text-transform:uppercase; letter-spacing:-.03em; }
.portfolio-caption i { font-style:normal; font-size:.62rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:var(--gold-pale); }
.portfolio-card:hover .portfolio-placeholder { transform:scale(1.035); }

.why { background:#090a0c; }
.why-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:center; }
.why-mark { min-height:640px; display:grid; place-items:center; position:relative; background:radial-gradient(circle,rgba(212,166,42,.13),transparent 40%); }
.why-mark::before { content:""; position:absolute; width:78%; aspect-ratio:1; border-radius:50%; border:1px solid rgba(212,166,42,.20); box-shadow:0 0 0 70px rgba(212,166,42,.018),0 0 0 140px rgba(212,166,42,.012); }
.why-mark img { width:62%; position:relative; filter:drop-shadow(0 35px 42px rgba(0,0,0,.7)); }
.why-copy h2 { margin:0; font-size:clamp(3.4rem,6vw,6.7rem); line-height:.88; letter-spacing:-.06em; text-transform:uppercase; }
.why-lead { color:#c3bfb6; font-size:1.15rem; line-height:1.7; max-width:700px; }
.why-points { margin-top:36px; border-top:1px solid var(--line); }
.why-points article { display:grid; grid-template-columns:52px 1fr; gap:20px; padding:24px 0; border-bottom:1px solid var(--line); }
.why-points span { color:var(--gold); font:700 1rem Georgia,serif; }
.why-points h3 { margin:0 0 7px; font-size:1.1rem; text-transform:uppercase; }
.why-points p { margin:0; color:#99958d; line-height:1.6; }
.text-link { margin-top:32px; background:none; border:0; border-bottom:1px solid var(--gold); color:var(--gold-pale); padding:0 0 7px; font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.text-link--head { margin:0 0 5px; justify-self:end; }

.process { background:#0d0f11; }
.process-row { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line-gold); border-bottom:1px solid var(--line-gold); }
.process-row li { padding:40px 34px; border-right:1px solid var(--line); }
.process-row li:last-child { border-right:0; }
.process-row span { color:var(--gold); font:700 2rem Georgia,serif; }
.process-row h3 { margin:28px 0 12px; font-size:1.55rem; text-transform:uppercase; }
.process-row p { margin:0; color:#99958e; line-height:1.7; }

.final-cta { min-height:780px; display:grid; place-items:center; position:relative; overflow:hidden; background:#050506; text-align:center; border-top:1px solid rgba(212,166,42,.2); }
.final-cta::before { content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(212,166,42,.24) 1px,transparent 1px); background-size:42px 42px; opacity:.13; }
.final-cta__glow { position:absolute; width:900px; height:500px; border-radius:50%; background:rgba(212,166,42,.12); filter:blur(110px); top:20%; }
.final-cta__inner { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; }
.final-cta img { width:108px; opacity:.72; margin-bottom:25px; }
.final-cta p { margin:0 0 20px; color:#ada9a1; }
.final-cta h2 { margin:0; font-size:clamp(5rem,10vw,10rem); line-height:.77; letter-spacing:-.075em; text-transform:uppercase; }
.final-cta h2 span { color:var(--gold); }
.button-large { min-height:60px; padding-inline:34px; margin-top:38px; }
.final-socials { display:flex; flex-wrap:wrap; justify-content:center; gap:24px; margin-top:26px; font-size:.65rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:#a6a29a; }
.final-socials a { border-bottom:1px solid rgba(212,166,42,.35); padding-bottom:5px; }
.final-socials a:hover { color:var(--gold-pale); border-color:var(--gold); }

.site-footer { background:#020203; border-top:1px solid var(--line-gold); padding:58px 0 26px; }
.footer-main { display:grid; grid-template-columns:320px 1fr auto; align-items:center; gap:48px; }
.footer-wordmark { width:300px; }
.footer-copy { display:flex; flex-direction:column; gap:8px; color:#9f9b94; }
.footer-copy strong { color:var(--gold-pale); text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; }
.footer-copy span { font-size:.8rem; }
.footer-actions { display:flex; gap:10px; }
.footer-actions button,.footer-actions a { border:1px solid rgba(212,166,42,.45); background:transparent; color:#fff; padding:12px 15px; font-size:.64rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.footer-actions button:hover,.footer-actions a:hover { background:var(--gold); color:#000; }
.footer-bottom { display:flex; justify-content:space-between; margin-top:42px; padding-top:20px; border-top:1px solid rgba(255,255,255,.07); color:#5f5f60; text-transform:uppercase; letter-spacing:.1em; font-size:.58rem; }
.footer-bottom i { font-style:normal; }

.contact-fab { position:fixed; z-index:90; right:22px; bottom:22px; height:62px; display:flex; align-items:center; gap:10px; border:1px solid var(--gold); border-radius:40px; padding:5px 20px 5px 7px; background:rgba(7,7,8,.92); backdrop-filter:blur(15px); color:var(--gold-pale); box-shadow:0 16px 45px rgba(0,0,0,.42); cursor:pointer; font-size:.64rem; font-weight:950; letter-spacing:.12em; }
.contact-fab img { width:48px; height:48px; object-fit:contain; }
.contact-fab:hover { background:#0c0c0d; transform:translateY(-2px); }

.contact-modal { position:fixed; z-index:300; inset:0; display:none; }
.contact-modal.is-open { display:block; }
.contact-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.78); backdrop-filter:blur(8px); }
.contact-panel { position:absolute; top:0; right:0; width:min(660px,100%); height:100%; overflow:auto; background:linear-gradient(160deg,#0b0c0e,#101217 62%,#08090a); border-left:1px solid var(--gold); box-shadow:-36px 0 90px rgba(0,0,0,.65); padding:46px 48px 64px; }
.contact-close { position:absolute; top:20px; right:20px; width:42px; height:42px; border:1px solid rgba(255,255,255,.16); background:transparent; color:#fff; font-size:1.6rem; cursor:pointer; }
.contact-close:hover { border-color:var(--gold); color:var(--gold-pale); }
.contact-panel__brand { display:flex; align-items:center; gap:13px; margin-bottom:44px; }
.contact-panel__brand img { width:54px; height:54px; object-fit:contain; }
.contact-panel__brand div { display:flex; flex-direction:column; gap:3px; }
.contact-panel__brand span { font-size:.86rem; font-weight:950; letter-spacing:.12em; }
.contact-panel__brand small { color:var(--gold); font-size:.52rem; letter-spacing:.18em; }
.contact-panel h2 { margin:0; max-width:540px; font-size:clamp(3rem,6vw,5rem); line-height:.9; letter-spacing:-.055em; text-transform:uppercase; }
.contact-intro { max-width:550px; color:#a9a59d; line-height:1.7; }
.contact-methods { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; margin:30px 0; }
.contact-methods a { display:flex; align-items:center; gap:12px; padding:12px; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.025); }
.contact-methods a:hover { border-color:var(--gold); }
.contact-methods b { width:36px; height:36px; display:grid; place-items:center; border:1px solid rgba(212,166,42,.45); color:var(--gold-pale); }
.contact-methods span { display:flex; flex-direction:column; font-size:.71rem; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.contact-methods small { margin-top:3px; color:#858179; text-transform:none; letter-spacing:0; font-weight:500; }
.contact-form { border-top:1px solid rgba(212,166,42,.20); padding-top:28px; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.field-grid--small { grid-template-columns:1fr 1fr; }
.contact-form label { display:block; margin:0 0 14px; }
.contact-form label > span { display:block; margin:0 0 7px; color:#d7d2c9; font-size:.62rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; border:1px solid rgba(255,255,255,.13); background:#15171b; color:#fff; border-radius:0; padding:13px 14px; outline:none; transition:border-color .2s, box-shadow .2s; }
.contact-form textarea { resize:vertical; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(212,166,42,.10); }
.contact-submit { width:100%; margin-top:4px; }
.contact-submit span { margin-left:8px; }
.form-status { min-height:22px; margin:12px 0 0; font-size:.78rem; color:#b8b4ac; }
.form-status.success { color:#a9d8a8; }
.form-status.error { color:#f0a9a3; }
.form-fineprint { margin:10px 0 0; color:#67676a; font-size:.67rem; line-height:1.5; }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
body.modal-open { overflow:hidden; }
.toast { position:fixed; z-index:500; left:50%; bottom:26px; transform:translate(-50%,140%); opacity:0; padding:13px 17px; background:var(--gold); color:#000; font-size:.72rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; box-shadow:var(--shadow); transition:.3s ease; }
.toast.is-visible { transform:translate(-50%,0); opacity:1; }

:focus-visible { outline:2px solid var(--gold-pale); outline-offset:4px; }

@media (max-width: 980px) {
  :root { --shell:min(100% - 34px,1180px); }
  .desktop-nav { display:none; }
  .menu-button { display:block; }
  .mobile-menu { position:fixed; z-index:99; top:70px; left:17px; right:17px; display:grid; gap:1px; background:#0b0c0e; border:1px solid var(--line-gold); padding:10px; transform:translateY(-140%); opacity:0; visibility:hidden; transition:.25s ease; }
  .mobile-menu.is-open { transform:none; opacity:1; visibility:visible; }
  .mobile-menu a,.mobile-menu button { border:0; border-bottom:1px solid var(--line); background:transparent; color:#fff; padding:15px 10px; text-align:left; font-size:.7rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
  .brand { width:190px; }
  .hero-crest { width:650px; right:-250px; opacity:.36; }
  .hero h1 { font-size:clamp(4.4rem,11vw,7.5rem); }
  .hero-statement { display:none; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .trust-grid > div { border-right:0; margin:0; border-bottom:1px solid rgba(0,0,0,.12); }
  .trust-grid button { min-height:66px; }
  .section-head { grid-template-columns:1fr; gap:25px; }
  .service-panel { grid-template-columns:1fr; }
  .service-panel:nth-child(even) .service-visual,.service-panel:nth-child(even) .service-copy { order:initial; }
  .service-visual { min-height:390px; }
  .contact-break__inner { min-height:280px; align-items:flex-start; justify-content:center; flex-direction:column; }
  .portfolio-grid { min-height:0; grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .portfolio-card--hero { grid-column:1 / -1; grid-row:auto; min-height:520px; }
  .why-grid { grid-template-columns:1fr; gap:20px; }
  .why-mark { min-height:470px; }
  .why-mark img { width:min(330px,55vw); }
  .process-row { grid-template-columns:1fr; }
  .process-row li { border-right:0; border-bottom:1px solid var(--line); }
  .process-row li:last-child { border-bottom:0; }
  .footer-main { grid-template-columns:1fr; gap:25px; }
  .footer-wordmark { width:280px; }
}

@media (max-width: 680px) {
  :root { --shell:calc(100% - 26px); }
  .site-header { height:70px; background:rgba(5,5,6,.86); backdrop-filter:blur(14px); }
  .brand { width:168px; }
  .hero { min-height:860px; }
  .hero::before { background:linear-gradient(180deg,rgba(5,5,6,.7),rgba(5,5,6,.88) 50%,#050506 100%); }
  .hero-grid { opacity:.10; }
  .hero-crest { width:520px; right:-175px; top:30%; opacity:.26; }
  .hero-inner { padding-top:90px; align-self:start; }
  .hero h1 { font-size:clamp(3.7rem,18vw,6.2rem); line-height:.84; }
  .hero-lead { font-size:.98rem; margin-top:25px; }
  .hero-actions .button { width:100%; }
  .hero-contact-row { gap:17px; font-size:.64rem; }
  .hero-scroll { display:none; }
  .trust-grid { grid-template-columns:1fr; }
  .section { padding:82px 0; }
  .section-head h2 { font-size:clamp(2.9rem,14vw,4.7rem); }
  .service-copy { padding:34px 26px 40px; }
  .service-copy h3 { font-size:clamp(2.4rem,11vw,3.8rem); }
  .service-visual { min-height:315px; }
  .contact-break__inner { padding:44px 0; }
  .portfolio-grid { grid-template-columns:1fr; }
  .portfolio-card--hero { grid-column:auto; min-height:440px; }
  .portfolio-card { min-height:360px; }
  .portfolio-caption { flex-direction:column; align-items:flex-start; }
  .why-mark { min-height:360px; }
  .why-copy h2 { font-size:clamp(3rem,14vw,5rem); }
  .final-cta { min-height:650px; }
  .final-cta h2 { font-size:clamp(4.5rem,22vw,7rem); }
  .footer-actions { flex-direction:column; align-items:stretch; }
  .footer-bottom { flex-direction:column; gap:7px; }
  .contact-fab { right:14px; bottom:14px; height:54px; padding-right:16px; }
  .contact-fab img { width:42px; height:42px; }
  .contact-panel { padding:34px 20px 55px; }
  .contact-panel h2 { font-size:clamp(2.8rem,15vw,4.4rem); }
  .contact-methods,.field-grid,.field-grid--small { grid-template-columns:1fr; }
  .contact-methods { gap:7px; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}


/* v4.0.2 FLOATING CANVAS LAYOUT
   Fixed Southbound background canvas; all page content scrolls above it and behind the pinned banner. */
body {
  position:relative;
  min-height:100%;
  background:#050506;
}
.site-canvas {
  position:fixed;
  z-index:0;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  background:
    radial-gradient(circle at 75% 35%, rgba(212,166,42,.20), transparent 25%),
    radial-gradient(circle at 92% 70%, rgba(149,154,162,.09), transparent 28%),
    linear-gradient(125deg,#050506 0%,#08090b 46%,#0f1012 100%);
}
.site-canvas::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(5,5,6,.96) 0%,rgba(5,5,6,.86) 39%,rgba(5,5,6,.28) 72%,rgba(5,5,6,.58) 100%);
}
.site-canvas__grid {
  position:absolute;
  inset:0;
  opacity:.14;
  background-image:
    linear-gradient(rgba(212,166,42,.18) 1px,transparent 1px),
    linear-gradient(90deg,rgba(212,166,42,.18) 1px,transparent 1px);
  background-size:68px 68px;
  mask-image:linear-gradient(to right,transparent,#000 38%,#000);
}
.site-canvas__orbit {
  position:absolute;
  width:820px;
  aspect-ratio:1;
  right:-250px;
  top:50%;
  transform:translateY(-48%);
  border:1px solid rgba(212,166,42,.18);
  border-radius:50%;
  box-shadow:inset 0 0 0 90px rgba(212,166,42,.015),inset 0 0 0 180px rgba(212,166,42,.012);
}
.site-canvas__orbit::before,.site-canvas__orbit::after {
  content:"";
  position:absolute;
  inset:14%;
  border:1px solid rgba(199,203,208,.11);
  border-radius:50%;
  transform:rotate(24deg) scaleY(.55);
}
.site-canvas__orbit::after { transform:rotate(-32deg) scaleX(.58); }
.site-canvas__crest {
  position:absolute;
  width:min(760px,58vw);
  right:-4vw;
  top:50%;
  transform:translateY(-46%);
  opacity:.53;
  filter:drop-shadow(0 36px 50px rgba(0,0,0,.60));
}
main,.site-footer { position:relative; z-index:2; }

/* The banner is a permanent top layer. It does not shrink or visually change on scroll. */
.site-header,
.site-header.is-scrolled {
  height:82px;
  background:rgba(5,5,6,.95);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(212,166,42,.18);
}
#services,#work,#why { scroll-margin-top:105px; }

/* Hero decorations are now supplied by the fixed site canvas. */
.hero {
  background:transparent;
  overflow:visible;
}
.hero::before { background:linear-gradient(90deg,rgba(5,5,6,.30),transparent 58%); }
.hero-grid,.hero-orbit,.hero-crest { display:none; }
.hero-copy { text-shadow:0 3px 24px rgba(0,0,0,.78); }
.hero-lead { color:#d2cec5; }

/* All full-width section slabs become transparent. The content itself floats above the fixed canvas. */
.trust-strip,.services,.contact-break,.work,.why,.process,.final-cta,.site-footer {
  background:transparent;
}
.services,.why,.final-cta,.site-footer { border-color:transparent; }
.section { position:relative; }

/* Floating trust bar. */
.trust-strip { padding:34px 0 12px; color:var(--white); border:0; }
.trust-grid {
  overflow:hidden;
  border:1px solid rgba(212,166,42,.34);
  border-radius:18px;
  background:rgba(8,9,10,.78);
  backdrop-filter:blur(16px);
  box-shadow:0 24px 70px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.05);
}
.trust-grid > div { border-right-color:rgba(212,166,42,.17); }
.trust-grid span { color:#aaa69e; }
.trust-grid button { background:linear-gradient(180deg,#e9c259,#b77a14); color:#060606; }
.trust-grid button:hover { background:linear-gradient(180deg,#f5d77d,#ca901e); }

/* Service cards float independently rather than forming an opaque wall. */
.service-showcase { gap:26px; background:transparent; border:0; }
.service-panel {
  border:1px solid rgba(212,166,42,.28);
  border-radius:20px;
  background:rgba(10,11,13,.82);
  backdrop-filter:blur(15px);
  box-shadow:0 28px 80px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.035);
}
.service-visual { background-color:rgba(16,18,22,.84); }

/* Gold contact break becomes a floating plate. */
.contact-break { padding:20px 0; color:#080808; }
.contact-break__inner {
  padding-inline:42px;
  border:1px solid #f0cf72;
  border-radius:20px;
  background:linear-gradient(100deg,rgba(198,150,29,.94),rgba(240,207,114,.93) 43%,rgba(180,117,18,.94));
  box-shadow:0 24px 70px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.42);
}

/* Work section now uses dark floating typography over the persistent canvas. */
.work { color:var(--white); }
.work .section-kicker { color:var(--gold-pale); }
.work .section-head > p { color:#aaa69e; }
.portfolio-grid { gap:18px; }
.portfolio-card {
  border:1px solid rgba(212,166,42,.30);
  border-radius:18px;
  box-shadow:0 24px 68px rgba(0,0,0,.42);
}

/* Why Southbound becomes one large floating glass panel. */
.why-grid {
  padding:48px;
  border:1px solid rgba(212,166,42,.27);
  border-radius:24px;
  background:rgba(8,9,11,.76);
  backdrop-filter:blur(16px);
  box-shadow:0 30px 90px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.035);
}

/* Process stays readable without covering the persistent artwork. */
.process-row {
  overflow:hidden;
  border:1px solid rgba(212,166,42,.30);
  border-radius:18px;
  background:rgba(9,10,12,.78);
  backdrop-filter:blur(15px);
  box-shadow:0 24px 70px rgba(0,0,0,.38);
}

/* Final CTA floats directly over the canvas. */
.final-cta { border-top:0; }
.final-cta::before { opacity:.08; }
.final-cta__inner {
  width:min(980px,calc(100% - 48px));
  padding:70px 34px;
  border:1px solid rgba(212,166,42,.20);
  border-radius:28px;
  background:rgba(5,5,6,.46);
  backdrop-filter:blur(10px);
  box-shadow:0 35px 100px rgba(0,0,0,.36);
}

/* Footer floats over the same background instead of replacing it. */
.site-footer {
  margin:0;
  padding:26px 0 24px;
  border-top:0;
}
.footer-main {
  padding:28px 30px;
  border:1px solid rgba(212,166,42,.24);
  border-radius:18px;
  background:rgba(5,5,6,.78);
  backdrop-filter:blur(14px);
  box-shadow:0 22px 60px rgba(0,0,0,.36);
}
.footer-bottom { padding-inline:10px; }

/* Permanent 3D floating Contact control from the background study. */
.contact-fab {
  border:1px solid #f0cf6e;
  background:
    linear-gradient(180deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.025) 42%,rgba(0,0,0,.18) 43%,rgba(0,0,0,.48) 100%),
    linear-gradient(135deg,#17181a,#08090a);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(0,0,0,.9),
    0 4px 0 #70470b,
    0 12px 28px rgba(0,0,0,.48),
    0 0 22px rgba(212,166,42,.08);
  text-shadow:0 1px 1px #000;
  transition:transform .14s ease,box-shadow .14s ease,filter .14s ease,background .14s ease;
}
.contact-fab:hover {
  background:
    linear-gradient(180deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.04) 42%,rgba(0,0,0,.16) 43%,rgba(0,0,0,.44) 100%),
    linear-gradient(135deg,#1b1c1f,#0a0b0c);
  transform:translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(0,0,0,.9),
    0 6px 0 #7d500d,
    0 16px 34px rgba(0,0,0,.52),
    0 0 28px rgba(212,166,42,.12);
}
.contact-fab:active {
  transform:translateY(3px);
  box-shadow:inset 0 3px 8px rgba(0,0,0,.58),0 1px 0 #70470b,0 5px 14px rgba(0,0,0,.38);
}

@media (max-width:980px) {
  .site-canvas__crest { width:650px; right:-250px; opacity:.38; }
  .trust-grid { border-radius:16px; }
  .why-grid { padding:34px; }
  .contact-break__inner { padding-inline:30px; }
}

@media (max-width:680px) {
  .site-header,.site-header.is-scrolled { height:70px; background:rgba(5,5,6,.92); }
  .site-canvas::after { background:linear-gradient(180deg,rgba(5,5,6,.62),rgba(5,5,6,.84) 48%,rgba(5,5,6,.70)); }
  .site-canvas__grid { opacity:.09; }
  .site-canvas__orbit { width:560px; right:-330px; top:43%; opacity:.65; }
  .site-canvas__crest { width:520px; right:-175px; top:40%; opacity:.24; }
  .hero::before { background:linear-gradient(180deg,rgba(5,5,6,.18),rgba(5,5,6,.42)); }
  .trust-strip { padding-top:22px; }
  .service-showcase { gap:18px; }
  .service-panel,.portfolio-card,.process-row,.footer-main { border-radius:14px; }
  .contact-break__inner { padding:34px 24px; }
  .why-grid { padding:24px 20px; border-radius:18px; }
  .final-cta__inner { width:calc(100% - 26px); padding:52px 18px; border-radius:20px; }
  .footer-main { padding:24px 20px; }
}

/* v4.0.4 — closing conversion card: full 3D treatment */
.final-cta__inner{isolation:isolate;overflow:hidden;border:1px solid #d8a82e;background:radial-gradient(circle at 50% -8%,rgba(246,210,105,.16),transparent 42%),linear-gradient(180deg,rgba(16,17,19,.76),rgba(3,3,4,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -2px 0 rgba(90,52,0,.72),0 4px 0 #68420b,0 16px 0 rgba(0,0,0,.24),0 42px 110px rgba(0,0,0,.56),0 0 80px rgba(212,166,42,.12)}
.final-cta__inner::before{content:"";position:absolute;inset:10px;z-index:-1;border:1px solid rgba(244,206,104,.18);border-radius:22px;box-shadow:inset 0 0 42px rgba(212,166,42,.045);pointer-events:none}
.final-cta img{opacity:.94;filter:drop-shadow(0 2px 0 #6b4309) drop-shadow(0 7px 8px rgba(0,0,0,.72)) drop-shadow(0 0 18px rgba(212,166,42,.16))}
.final-cta p{color:#f6f4ef;font-weight:800;letter-spacing:.025em;text-shadow:0 1px 0 #fff,0 2px 0 #999,0 3px 0 #444,0 6px 10px rgba(0,0,0,.72)}
.final-cta h2{color:#f8f8f6;text-shadow:0 1px 0 #fff,0 2px 0 #d7d7d5,0 3px 0 #a9aaa8,0 4px 0 #696b6b,0 5px 0 #3a3b3c,0 7px 0 #151617,0 12px 16px rgba(0,0,0,.82)}
.final-cta h2 span{color:#edc657;text-shadow:0 1px 0 #fff0ad,0 2px 0 #dcae3c,0 3px 0 #bc861d,0 4px 0 #925f0c,0 5px 0 #684006,0 7px 0 #342000,0 12px 16px rgba(0,0,0,.84),0 0 30px rgba(212,166,42,.15)}
.final-cta .button-large{min-height:66px;padding-inline:44px;border:1px solid #ffe08a;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,.04) 39%,rgba(0,0,0,.08) 40%,rgba(0,0,0,.22) 100%),linear-gradient(135deg,#f1c859 0%,#c58c1e 52%,#e1b044 100%);color:#060606;font-weight:950;letter-spacing:.095em;text-shadow:0 1px 0 rgba(255,244,197,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.62),inset 0 -2px 0 rgba(101,57,0,.52),0 5px 0 #73480a,0 11px 0 rgba(0,0,0,.25),0 20px 34px rgba(0,0,0,.48),0 0 24px rgba(212,166,42,.15);transition:.14s ease}
.final-cta .button-large:hover{filter:brightness(1.09);transform:translateY(-3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),inset 0 -2px 0 rgba(101,57,0,.52),0 8px 0 #73480a,0 15px 0 rgba(0,0,0,.22),0 26px 42px rgba(0,0,0,.52),0 0 34px rgba(212,166,42,.22)}
.final-cta .button-large:active{transform:translateY(5px);box-shadow:inset 0 3px 8px rgba(72,39,0,.42),0 1px 0 #73480a,0 5px 12px rgba(0,0,0,.45)}
.final-socials{gap:14px;margin-top:30px}.final-socials a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 16px 9px;border:1px solid rgba(238,196,82,.78);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.015) 43%,rgba(0,0,0,.25) 44%),linear-gradient(145deg,#17191c,#08090a);color:#f1cf73;text-decoration:none;text-shadow:0 1px 0 #000,0 2px 3px rgba(0,0,0,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -1px 0 #000,0 3px 0 #66410a,0 8px 16px rgba(0,0,0,.42);transition:.13s ease}.final-socials a:hover{color:#ffe39a;border-color:#f5cc61;filter:brightness(1.10);transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 #000,0 5px 0 #70470b,0 12px 22px rgba(0,0,0,.48),0 0 18px rgba(212,166,42,.12)}.final-socials a:active{transform:translateY(3px);box-shadow:inset 0 3px 7px rgba(0,0,0,.48),0 1px 0 #66410a,0 4px 10px rgba(0,0,0,.38)}
@media(max-width:680px){.final-cta p{font-size:.92rem;line-height:1.5}.final-cta .button-large{width:100%;padding-inline:20px}.final-socials{width:100%}.final-socials a{flex:1 1 100%}}

/* v4.0.6 Final CTA lead size polish: another +20% from v4.0.5 */
.final-cta p{font-size:1.44rem}
@media(max-width:680px){.final-cta p{font-size:1.3248rem}}

/* v4.0.7 — site-wide 3D control language ----------------------------------
   Carries the approved black / metallic-gold raised-button treatment across
   every conventional CTA/control while preserving hierarchy: gold = primary,
   black/gold = secondary. Portfolio tiles retain their image-card identity but
   gain a restrained physical lift/press response. */

/* Shared secondary button face. */
.hero-contact-row button,
.hero-contact-row a,
.service-copy button,
.text-link,
.footer-actions button,
.footer-actions a,
.contact-methods a,
.mobile-menu a,
.mobile-menu button,
.menu-button,
.contact-close {
  border:1px solid rgba(239,197,83,.76);
  border-radius:8px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,.025) 40%,rgba(0,0,0,.18) 41%,rgba(0,0,0,.42) 100%),
    linear-gradient(145deg,#1a1b1e,#08090a);
  color:#f1d078;
  text-shadow:0 1px 0 #000,0 2px 3px rgba(0,0,0,.82);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 -1px 0 rgba(0,0,0,.92),
    0 4px 0 #654009,
    0 9px 18px rgba(0,0,0,.42),
    0 0 16px rgba(212,166,42,.06);
  transform:translateY(0);
  transition:transform .13s ease,box-shadow .13s ease,border-color .13s ease,color .13s ease,filter .13s ease,background .13s ease;
}
.hero-contact-row button:hover,
.hero-contact-row a:hover,
.service-copy button:hover,
.text-link:hover,
.footer-actions button:hover,
.footer-actions a:hover,
.contact-methods a:hover,
.mobile-menu a:hover,
.mobile-menu button:hover,
.menu-button:hover,
.contact-close:hover {
  color:#ffe39a;
  border-color:#f5cc61;
  filter:brightness(1.08);
  transform:translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    inset 0 -1px 0 rgba(0,0,0,.92),
    0 6px 0 #744a0b,
    0 13px 24px rgba(0,0,0,.48),
    0 0 22px rgba(212,166,42,.11);
}
.hero-contact-row button:active,
.hero-contact-row a:active,
.service-copy button:active,
.text-link:active,
.footer-actions button:active,
.footer-actions a:active,
.contact-methods a:active,
.mobile-menu a:active,
.mobile-menu button:active,
.menu-button:active,
.contact-close:active {
  transform:translateY(3px);
  box-shadow:inset 0 3px 7px rgba(0,0,0,.52),0 1px 0 #654009,0 4px 10px rgba(0,0,0,.38);
}

/* Give previously text-only CTAs a real button footprint. */
.hero-contact-row button,
.hero-contact-row a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-bottom-width:1px;
}
.service-copy button,
.text-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-bottom-width:1px;
}
.text-link--head { justify-self:end; }
.footer-actions button,
.footer-actions a { min-height:42px; }
.contact-methods a { min-height:62px; }
.contact-methods b {
  border-color:rgba(243,209,114,.62);
  border-radius:6px;
  background:linear-gradient(180deg,rgba(243,209,114,.12),rgba(0,0,0,.12));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 2px 0 rgba(101,64,9,.7);
}

/* General hero/mid-page buttons that were flatter than the approved CTA. */
.button:not(.button-large) {
  border-radius:9px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(0,0,0,.78),
    0 4px 0 #624009,
    0 10px 20px rgba(0,0,0,.40);
  transition:transform .13s ease,box-shadow .13s ease,filter .13s ease,border-color .13s ease,color .13s ease,background .13s ease;
}
.button:not(.button-large):hover {
  transform:translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    inset 0 -1px 0 rgba(0,0,0,.78),
    0 6px 0 #70480b,
    0 14px 26px rgba(0,0,0,.46),
    0 0 22px rgba(212,166,42,.10);
}
.button:not(.button-large):active {
  transform:translateY(3px);
  box-shadow:inset 0 3px 7px rgba(0,0,0,.38),0 1px 0 #624009,0 5px 12px rgba(0,0,0,.38);
}
.button-gold:not(.button-large) {
  border-color:#ffe08a;
  background:
    linear-gradient(180deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,.05) 39%,rgba(0,0,0,.07) 40%,rgba(0,0,0,.20) 100%),
    linear-gradient(135deg,#f2cb5f 0%,#c48a1d 53%,#e1b246 100%);
  color:#060606;
  text-shadow:0 1px 0 rgba(255,244,197,.82);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.60),
    inset 0 -2px 0 rgba(101,57,0,.50),
    0 5px 0 #74490a,
    0 11px 0 rgba(0,0,0,.18),
    0 19px 30px rgba(0,0,0,.42),
    0 0 20px rgba(212,166,42,.12);
}
.button-gold:not(.button-large):hover {
  filter:brightness(1.08);
  background:
    linear-gradient(180deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,.07) 39%,rgba(0,0,0,.06) 40%,rgba(0,0,0,.17) 100%),
    linear-gradient(135deg,#f8d87b 0%,#d69d26 53%,#eabd55 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.68),
    inset 0 -2px 0 rgba(101,57,0,.50),
    0 7px 0 #74490a,
    0 14px 0 rgba(0,0,0,.16),
    0 24px 36px rgba(0,0,0,.48),
    0 0 28px rgba(212,166,42,.18);
}
.button-ghost:not(.button-large) {
  border-color:rgba(239,197,83,.72);
  background:
    linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.02) 42%,rgba(0,0,0,.25) 43%),
    linear-gradient(145deg,#17191c,#08090a);
  color:#f2eee6;
}

/* Trust-strip primary CTA keeps the gold plate hierarchy but gains depth. */
.trust-grid button {
  border:1px solid #f5d271;
  border-radius:0 16px 16px 0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.26) 0%,rgba(255,255,255,.04) 40%,rgba(0,0,0,.08) 41%,rgba(0,0,0,.20) 100%),
    linear-gradient(135deg,#efc85b,#b97b14 58%,#dba731);
  color:#050505;
  text-shadow:0 1px 0 rgba(255,245,199,.75);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.58),inset 0 -2px 0 rgba(105,58,0,.46),0 5px 0 #74480a,0 12px 24px rgba(0,0,0,.28);
  transform:translateY(0);
  transition:.13s ease;
}
.trust-grid button:hover {
  color:#000;
  filter:brightness(1.08);
  transform:translateY(-2px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.68),inset 0 -2px 0 rgba(105,58,0,.46),0 7px 0 #74480a,0 16px 30px rgba(0,0,0,.34);
}
.trust-grid button:active {
  transform:translateY(3px);
  box-shadow:inset 0 3px 8px rgba(92,52,0,.38),0 1px 0 #74480a,0 5px 12px rgba(0,0,0,.28);
}

/* The button on the gold mid-page plate stays dark so it reads instantly. */
.contact-break .button-gold:not(.button-large) {
  border-color:#111;
  background:
    linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.02) 42%,rgba(0,0,0,.22) 43%),
    linear-gradient(145deg,#202124,#070809);
  color:#fff;
  text-shadow:0 1px 1px #000;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 #000,0 5px 0 #050505,0 12px 22px rgba(0,0,0,.34);
}
.contact-break .button-gold:not(.button-large):hover {
  color:#ffe39a;
  border-color:#2d210a;
  background:
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.035) 42%,rgba(0,0,0,.20) 43%),
    linear-gradient(145deg,#26272b,#090a0b);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.27),inset 0 -1px 0 #000,0 7px 0 #050505,0 16px 28px rgba(0,0,0,.40);
}

/* Clickable portfolio work remains visual-first, with subtle physical lift. */
.portfolio-card {
  transform:translateY(0);
  box-shadow:0 4px 0 #5e3b08,0 18px 44px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.04);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,filter .16s ease;
}
.portfolio-card:hover {
  transform:translateY(-3px);
  border-color:rgba(239,197,83,.58);
  box-shadow:0 7px 0 #70470b,0 26px 56px rgba(0,0,0,.50),0 0 24px rgba(212,166,42,.08),inset 0 1px 0 rgba(255,255,255,.05);
}
.portfolio-card:active {
  transform:translateY(3px);
  box-shadow:0 1px 0 #5e3b08,0 8px 20px rgba(0,0,0,.42),inset 0 2px 7px rgba(0,0,0,.32);
}

/* Square utility controls are visibly pressable too. */
.menu-button,.contact-close {
  display:grid;
  place-items:center;
  padding:8px;
}
.menu-button span { width:100%; }

@media(max-width:980px) {
  .mobile-menu { gap:9px; padding:12px; }
  .mobile-menu a,.mobile-menu button { border-bottom-width:1px; text-align:left; }
  .trust-grid button { border-radius:0 0 16px 16px; }
}
@media(max-width:680px) {
  .hero-contact-row button,.hero-contact-row a { min-height:40px; }
  .service-copy button,.text-link { width:100%; }
  .text-link--head { justify-self:stretch; }
}

/* v4.0.8 — desktop/mobile menu visibility hotfix ---------------------------
   v4.0.7's site-wide 3D utility-control rule set .menu-button to display:grid
   after the base desktop display:none declaration. Keep the 3D styling, but
   restore the responsive contract: hidden on full desktop, visible only at
   the mobile/tablet navigation breakpoint. */
.menu-button { display:none; }
@media (max-width:980px) {
  .menu-button { display:grid; }
}

/* v4.0.9 — Real Southbound project photography */
.portfolio-grid--real {
  grid-template-columns:1.35fr .65fr .65fr;
  grid-template-rows:1fr 1fr;
  min-height:760px;
}
.portfolio-grid--real .portfolio-card--hero { grid-row:1 / 3; }
.portfolio-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .55s cubic-bezier(.2,.65,.2,1),filter .3s ease;
}
.portfolio-grid--real .portfolio-card:nth-child(1) .portfolio-image { object-position:52% 50%; }
.portfolio-grid--real .portfolio-card:nth-child(2) .portfolio-image { object-position:50% 49%; }
.portfolio-grid--real .portfolio-card:nth-child(3) .portfolio-image { object-position:50% 50%; }
.portfolio-grid--real .portfolio-card:nth-child(4) .portfolio-image { object-position:50% 52%; }
.portfolio-grid--real .portfolio-card:nth-child(5) .portfolio-image { object-position:50% 48%; }
.portfolio-card:hover .portfolio-image { transform:scale(1.035); filter:brightness(1.04); }
.portfolio-grid--real .portfolio-caption {
  padding:24px;
  background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.18) 34%,rgba(0,0,0,.94) 100%);
}
.portfolio-grid--real .portfolio-caption strong { text-shadow:0 3px 13px rgba(0,0,0,.9); }
.portfolio-grid--real .portfolio-caption i { text-shadow:0 2px 8px rgba(0,0,0,.9); }

@media (max-width:980px) {
  .portfolio-grid--real { grid-template-columns:1fr 1fr; grid-template-rows:auto; min-height:0; }
  .portfolio-grid--real .portfolio-card--hero { grid-column:1 / -1; grid-row:auto; min-height:520px; }
}
@media (max-width:680px) {
  .portfolio-grid--real { grid-template-columns:1fr; }
  .portfolio-grid--real .portfolio-card--hero { grid-column:auto; min-height:390px; }
  .portfolio-grid--real .portfolio-card { min-height:330px; }
}

/* v4.1.0 — Real-work portfolio group heading styles (surface mosaic retained) */
.portfolio-group-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:28px;
  margin:0 0 16px;
  padding:0 2px 12px;
  border-bottom:1px solid rgba(212,166,42,.24);
}
.portfolio-group-head--secondary { margin-top:34px; }
.portfolio-group-head span {
  color:var(--gold-pale);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.portfolio-group-head p {
  max-width:620px;
  margin:0;
  color:#9f9b93;
  font-size:.78rem;
  line-height:1.5;
  text-align:right;
}
.portfolio-strip {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.portfolio-card--compact { min-height:320px; border-radius:14px; border:1px solid rgba(212,166,42,.20); }
.portfolio-card--compact .portfolio-caption { padding:20px 18px 18px; }
.portfolio-card--compact .portfolio-caption strong { font-size:clamp(1.05rem,1.55vw,1.6rem); }
.portfolio-card--compact .portfolio-caption i { max-width:120px; text-align:right; }
.portfolio-restoration-note {
  margin:16px 2px 0;
  color:#77736c;
  font-size:.64rem;
  line-height:1.5;
}
@media (max-width:980px) {
  .portfolio-strip { grid-template-columns:1fr 1fr; }
  .portfolio-card--compact { min-height:360px; }
}
@media (max-width:680px) {
  .portfolio-group-head { align-items:flex-start; flex-direction:column; gap:7px; }
  .portfolio-group-head p { text-align:left; }
  .portfolio-strip { grid-template-columns:1fr; }
  .portfolio-card--compact { min-height:390px; }
}


/* v4.1.1 — Cabinetry portfolio moved directly into service card 02 */
.cabinetry-work-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:2px;
  padding:2px;
  background:#070809;
  min-height:520px;
}
.cabinetry-work-grid::after {
  box-shadow:inset 0 0 72px rgba(0,0,0,.34);
}
.cabinetry-work-tile {
  position:relative;
  display:block;
  width:100%;
  min-height:0;
  padding:0;
  border:0;
  overflow:hidden;
  background:#0a0b0d;
  cursor:pointer;
  color:#fff;
  text-align:left;
}
.cabinetry-work-tile img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .28s ease,filter .28s ease;
}
.cabinetry-work-tile span {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:10px;
  padding:16px 14px 13px;
  background:linear-gradient(transparent,rgba(0,0,0,.90));
  color:#fff;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.065em;
  line-height:1.25;
  text-transform:uppercase;
  text-shadow:0 2px 7px rgba(0,0,0,.95);
}
.cabinetry-work-tile span i { color:var(--gold-pale); font-style:normal; flex:none; }
.cabinetry-work-tile::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  border:1px solid rgba(212,166,42,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  pointer-events:none;
}
.cabinetry-work-tile:hover img { transform:scale(1.045); filter:brightness(1.07); }
.cabinetry-work-tile:focus-visible { outline:2px solid var(--gold-pale); outline-offset:-3px; z-index:3; }
.cabinetry-work-tile:active img { transform:scale(1.015); }
.cabinetry-restoration-note {
  display:block;
  max-width:560px;
  margin-top:22px;
  color:#77736c;
  font-size:.58rem;
  line-height:1.45;
}
@media (max-width:980px) {
  .cabinetry-work-grid { min-height:720px; }
}
@media (max-width:680px) {
  .cabinetry-work-grid { min-height:620px; }
  .cabinetry-work-tile span { padding:13px 11px 11px; font-size:.58rem; }
}

/* v4.1.4 — Sink-aligned before/after composition inside service card 01 */
.service-before-after {
  appearance:none;
  width:100%;
  border:0;
  padding:0;
  color:#fff;
  cursor:pointer;
  text-align:left;
  background:#070809;
}
.service-before-after img {
  display:block;
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
  object-position:center;
  transition:transform .45s ease, filter .45s ease;
}
.service-before-after__hint {
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;
  z-index:2;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:12px 14px;
  border:1px solid rgba(212,166,42,.68);
  background:rgba(5,5,6,.84);
  box-shadow:0 10px 30px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.06);
  color:#f4efe5;
  font-size:.62rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.service-before-after__hint b {
  color:var(--gold-pale);
  white-space:nowrap;
}
.service-before-after:hover img { transform:scale(1.018); filter:brightness(1.05); }
.service-before-after:active img { transform:scale(1.005); }
@media (max-width:980px) {
  .service-before-after img { min-height:390px; }
}
@media (max-width:680px) {
  .service-before-after img { min-height:315px; }
  .service-before-after__hint { left:12px; right:12px; bottom:12px; flex-direction:column; align-items:flex-start; gap:4px; }
}

/* v4.1.6 Box 03 real-work visual */
.finish-visual--photo { background:#0b0c0e; }
.finish-visual--photo img { width:100%; height:100%; min-height:inherit; object-fit:cover; object-position:center center; display:block; }

/* v4.1.7 Box 04 real-work visual */
.custom-visual--photo { display:block; background:#0b0c0e; }
.custom-visual--photo img { width:100%; height:100%; min-height:inherit; object-fit:cover; object-position:center center; display:block; filter:none; opacity:1; }

/* v4.1.8 Hero letter-spacing polish: loosened hero headline tracking to prevent 3D faces/extrusion from visually touching. */

/* v4.1.9 — centered compass + ~30% desktop density reduction -----------------
   The page keeps its full-width responsive composition, but the visible UI
   footprint is reduced instead of relying on browser zoom/transform scaling. */
@media (min-width:981px) {
  .site-header,.site-header.is-scrolled { height:58px; }
  .nav-shell { gap:20px; }
  .brand { width:133px; }
  .desktop-nav { gap:8px; font-size:.58rem; }
  .desktop-nav a,.desktop-nav .nav-contact { min-height:27px; padding:0 11px; border-radius:5px; }
  #services,#work,#why { scroll-margin-top:74px; }

  .hero { min-height:70svh; }
  .hero-inner { padding-top:66px; }
  .hero-copy { max-width:650px; }
  .eyebrow,.section-kicker { margin-bottom:17px; font-size:.58rem; letter-spacing:.20em; }
  .hero h1 { max-width:720px; font-size:clamp(3.1rem,5.75vw,6.05rem); }
  .hero-lead { max-width:600px; margin-top:24px; font-size:clamp(.82rem,1.05vw,.90rem); line-height:1.62; }
  .hero-actions { gap:9px; margin-top:25px; }
  .button { min-height:36px; padding:0 15px; font-size:.60rem; }
  .hero-contact-row { gap:18px; margin-top:20px; font-size:.59rem; }
  .hero-contact-row button,.hero-contact-row a { min-height:27px; padding:0 10px; }
  .hero-statement { bottom:24px; gap:13px; }
  .hero-statement__number { font-size:2.5rem; }
  .hero-statement p { font-size:.54rem; }
  .hero-statement strong { font-size:.62rem; }
  .hero-scroll { bottom:22px; width:23px; height:35px; }

  .trust-strip { padding:24px 0 8px; }
  .trust-grid { border-radius:13px; }
  .trust-grid > div { padding:19px 20px 18px 0; margin-right:20px; }
  .trust-grid strong { font-size:.60rem; }
  .trust-grid span { margin-top:5px; font-size:.65rem; }
  .trust-grid button { padding:0 17px; font-size:.58rem; }

  .section { padding:84px 0; }
  .section-head { gap:49px; margin-bottom:42px; }
  .section-head h2 { font-size:clamp(2.1rem,4.2vw,4.35rem); }
  .section-head > p { font-size:.82rem; line-height:1.6; }

  .service-showcase { gap:18px; }
  .service-panel { min-height:364px; border-radius:14px; }
  .service-visual { min-height:294px; }
  .service-copy { padding:41px; }
  .service-copy > span { font-size:.75rem; }
  .service-copy > p:first-of-type { margin:7px 0 17px; font-size:.58rem; }
  .service-copy h3 { font-size:clamp(1.55rem,2.8vw,3.08rem); }
  .service-copy h3 + p { margin:20px 0 24px; font-size:.82rem; line-height:1.62; }
  .service-copy button,.text-link { min-height:30px; padding:0 11px; font-size:.58rem; }

  .contact-break { padding:14px 0; }
  .contact-break__inner { min-height:168px; gap:25px; padding-inline:29px; border-radius:14px; }
  .contact-break p { font-size:.60rem; }
  .contact-break h2 { font-size:clamp(1.55rem,2.8vw,3.08rem); }

  .portfolio-grid { min-height:532px; gap:13px; }
  .portfolio-card { min-height:252px; border-radius:13px; }
  .portfolio-caption { padding:18px; }
  .portfolio-caption strong { font-size:clamp(1.05rem,1.7vw,2.1rem); }
  .portfolio-caption i { font-size:.54rem; }

  .why-grid { gap:63px; padding:34px; border-radius:17px; }
  .why-mark { min-height:448px; background:none; }
  .why-mark::before { display:none; }
  .why-mark img { width:43.4%; filter:drop-shadow(0 24px 30px rgba(0,0,0,.7)); }
  .why-copy h2 { font-size:clamp(2.38rem,4.2vw,4.69rem); }
  .why-lead { font-size:.86rem; line-height:1.62; }
  .why-points { margin-top:25px; }
  .why-points article { grid-template-columns:36px 1fr; gap:14px; padding:17px 0; }
  .why-points span { font-size:.75rem; }
  .why-points h3 { margin-bottom:5px; font-size:.88rem; }
  .why-points p { font-size:.80rem; line-height:1.55; }
  .text-link { margin-top:22px; }

  .process-row { border-radius:13px; }
  .process-row li { padding:28px 24px; }
  .process-row span { font-size:1.4rem; }
  .process-row h3 { margin:20px 0 8px; font-size:1.08rem; }
  .process-row p { font-size:.80rem; line-height:1.6; }

  .final-cta { min-height:546px; }
  .final-cta__glow { width:630px; height:350px; filter:blur(77px); }
  .final-cta__inner { width:min(686px,calc(100% - 34px)); padding:49px 24px; border-radius:20px; }
  .final-cta__inner::before { inset:7px; border-radius:15px; }
  .final-cta img { width:76px; margin-bottom:18px; }
  .final-cta p { margin-bottom:14px; font-size:1.0rem; }
  .final-cta h2 { font-size:clamp(3.5rem,7vw,7rem); }
  .final-cta .button-large { min-height:46px; padding-inline:31px; margin-top:27px; }
  .final-socials { gap:10px; margin-top:21px; font-size:.55rem; }
  .final-socials a { min-height:28px; padding:7px 11px 6px; border-radius:6px; }

  .site-footer { padding:18px 0 17px; }
  .footer-main { grid-template-columns:224px 1fr auto; gap:34px; padding:20px 21px; border-radius:13px; }
  .footer-wordmark { width:210px; }
  .footer-copy strong { font-size:.60rem; }
  .footer-copy span { font-size:.67rem; }
  .footer-actions { gap:7px; }
  .footer-actions button,.footer-actions a { min-height:30px; padding:8px 11px; font-size:.54rem; }
  .footer-bottom { margin-top:29px; padding-top:14px; font-size:.52rem; }

  .contact-fab { right:15px; bottom:15px; height:43px; gap:7px; padding:4px 14px 4px 5px; font-size:.54rem; }
  .contact-fab img { width:34px; height:34px; }

  .contact-panel { width:min(462px,100%); padding:32px 34px 45px; }
  .contact-close { top:14px; right:14px; width:30px; height:30px; font-size:1.15rem; }
  .contact-panel__brand { gap:9px; margin-bottom:31px; }
  .contact-panel__brand img { width:38px; height:38px; }
  .contact-panel__brand span { font-size:.68rem; }
  .contact-panel__brand small { font-size:.48rem; }
  .contact-panel h2 { font-size:clamp(2.1rem,4.2vw,3.5rem); }
  .contact-intro { font-size:.82rem; line-height:1.6; }
  .contact-methods { gap:6px; margin:21px 0; }
  .contact-methods a { min-height:44px; gap:8px; padding:8px; }
  .contact-methods b { width:25px; height:25px; }
  .contact-methods span { font-size:.58rem; }
  .contact-form { padding-top:20px; }
  .field-grid { gap:8px; }
  .contact-form label { margin-bottom:10px; }
  .contact-form label > span { margin-bottom:5px; font-size:.54rem; }
  .contact-form input,.contact-form select,.contact-form textarea { padding:9px 10px; font-size:.78rem; }
  .form-status { font-size:.64rem; }
  .form-fineprint { font-size:.57rem; }
}

/* v4.2.0 Hero Rebuild: simplify first viewport and let real Southbound work do the selling. */
@media (min-width:981px) {
  .hero { min-height: 76svh; }
  .hero::before { background:linear-gradient(90deg,rgba(5,5,6,.42) 0%,rgba(5,5,6,.16) 48%,rgba(5,5,6,.28) 100%); }
  .hero-inner--study {
    display:grid;
    grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);
    gap:54px;
    align-items:center;
    padding-top:76px;
    padding-bottom:48px;
  }
  .hero-copy--study { max-width:650px; }
  .hero-copy--study h1 { font-size:clamp(3rem,5.25vw,5.65rem); line-height:.84; }
  .hero-copy--study .hero-lead { max-width:560px; }
  .hero-project {
    position:relative;
    display:block;
    width:100%;
    min-height:430px;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(232,190,75,.72);
    border-radius:16px;
    background:#08090a;
    cursor:pointer;
    box-shadow:0 26px 70px rgba(0,0,0,.52),0 5px 0 #6e480c,inset 0 1px 0 rgba(255,255,255,.13);
    transform:translateY(0);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  }
  .hero-project::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 58%,rgba(2,2,3,.88) 100%);
    pointer-events:none;
  }
  .hero-project img { width:100%; height:100%; min-height:430px; object-fit:cover; display:block; }
  .hero-project span {
    position:absolute;
    z-index:2;
    left:22px; right:22px; bottom:20px;
    display:flex; justify-content:space-between; align-items:end; gap:20px;
    color:#fff; text-align:left; text-transform:uppercase;
  }
  .hero-project b { font-size:.66rem; letter-spacing:.13em; color:var(--gold-pale); }
  .hero-project i { max-width:250px; font-style:normal; font-size:.61rem; line-height:1.35; letter-spacing:.07em; color:#d0cbc1; text-align:right; }
  .hero-project:hover { transform:translateY(-3px); border-color:#f5cf69; box-shadow:0 32px 84px rgba(0,0,0,.58),0 8px 0 #76500e,inset 0 1px 0 rgba(255,255,255,.16); }
  .hero-project:active { transform:translateY(3px); box-shadow:0 13px 32px rgba(0,0,0,.48),0 2px 0 #68440b; }
  .site-canvas__crest { opacity:.18; right:-8vw; }
}
@media (max-width:980px) {
  .hero-inner--study { display:block; }
  .hero-project { margin-top:34px; width:100%; min-height:300px; border:1px solid rgba(232,190,75,.55); border-radius:14px; overflow:hidden; background:#08090a; }
  .hero-project img { display:block; width:100%; min-height:300px; height:100%; object-fit:cover; }
  .hero-project span { display:none; }
}

/* v4.2.1 — 40% card transparency + remove gold CTA halo
   Keep the Southbound gold edging and 3D controls, but let the fixed canvas
   show through the floating panels more strongly. 40% transparent = 60% opaque. */
.trust-grid,
.service-panel,
.why-grid,
.process-row,
.footer-main {
  background:rgba(7,8,10,.60);
}

/* Gold mid-page contact plate remains gold, but becomes 40% transparent. */
.contact-break__inner {
  background:linear-gradient(100deg,
    rgba(198,150,29,.60),
    rgba(240,207,114,.60) 43%,
    rgba(180,117,18,.60));
}

/* Final conversion card: remove gold haze/halo while retaining its gold trim. */
.final-cta__glow { display:none; }
.final-cta__inner {
  background:rgba(5,5,6,.60);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -2px 0 rgba(0,0,0,.55),
    0 24px 70px rgba(0,0,0,.48);
}
.final-cta__inner::before {
  box-shadow:none;
}

/* Contact drawer is also a card/panel; match the same 40% transparency. */
.contact-panel {
  background:rgba(7,8,10,.60);
  backdrop-filter:blur(18px);
}

/* Hero real-work card follows the same glass density without muting the image. */
.hero-project {
  background:rgba(8,9,10,.60);
}

/* v4.2.2 — Low-blur glass polish
   Keep v4.2.1's 40% transparency while reducing backdrop blur so the
   fixed Southbound canvas remains crisp and recognizable through panels. */
.trust-grid,
.service-panel,
.why-grid,
.process-row,
.footer-main {
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.final-cta__inner {
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
.contact-panel {
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.contact-fab {
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.service-before-after__hint {
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
/* Keep the pinned banner slightly softened, but far less frosted than before. */
.site-header,
.site-header.is-scrolled {
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
@media (max-width:980px) {
  .site-header {
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
  }
}

/* v4.2.3 WHITE CANVAS STUDY -------------------------------------------------
   Temporary visual study: preserve the approved black/gold floating UI,
   40% transparency and low-blur glass, but move the persistent site canvas
   onto a warm-white field with light gold/silver geometry. */
html,
body {
  background:#f7f6f2;
}
.site-canvas {
  background:
    radial-gradient(circle at 74% 32%, rgba(212,166,42,.12), transparent 27%),
    radial-gradient(circle at 93% 72%, rgba(103,109,118,.07), transparent 30%),
    linear-gradient(125deg,#ffffff 0%,#f8f7f3 48%,#f1efe8 100%);
}
.site-canvas::after {
  background:linear-gradient(90deg,
    rgba(255,255,255,.94) 0%,
    rgba(255,255,255,.78) 42%,
    rgba(255,255,255,.34) 72%,
    rgba(255,255,255,.58) 100%);
}
.site-canvas__grid {
  opacity:.10;
  background-image:
    linear-gradient(rgba(150,108,20,.20) 1px,transparent 1px),
    linear-gradient(90deg,rgba(150,108,20,.20) 1px,transparent 1px);
}
.site-canvas__orbit {
  border-color:rgba(139,91,15,.14);
  box-shadow:inset 0 0 0 90px rgba(212,166,42,.012),inset 0 0 0 180px rgba(212,166,42,.008);
}
.site-canvas__orbit::before,
.site-canvas__orbit::after {
  border-color:rgba(78,83,91,.10);
}
.site-canvas__crest {
  opacity:.10 !important;
  filter:grayscale(.04) drop-shadow(0 24px 42px rgba(120,88,20,.10));
}

/* Hero remains unboxed, but shifts to charcoal/gold so it reads on white. */
.hero::before {
  background:linear-gradient(90deg,rgba(255,255,255,.18),transparent 62%);
}
.hero-copy { text-shadow:none; }
.eyebrow,
.hero .section-kicker { color:#8b5b0f; }
.hero h1 {
  color:#111317;
  -webkit-text-stroke:1px rgba(0,0,0,.08);
  text-shadow:
    0 1px 0 #3a3b3d,
    0 2px 0 #2e3033,
    0 3px 0 #242629,
    0 4px 0 #1c1e20,
    0 5px 0 #141517,
    0 7px 0 #08090a,
    0 11px 18px rgba(0,0,0,.22),
    0 18px 34px rgba(0,0,0,.12);
}
.hero h1 span {
  color:var(--gold);
  -webkit-text-stroke:1px #9b6811;
  text-shadow:
    0 1px 0 #c58c18,
    0 2px 0 #a96f10,
    0 3px 0 #8a570b,
    0 4px 0 #664007,
    0 5px 0 #3f2805,
    0 7px 0 #1d160a,
    0 11px 16px rgba(0,0,0,.25),
    0 18px 30px rgba(139,91,15,.16);
}
.hero-lead { color:#4f4c47; }
.hero-contact-row button,
.hero-contact-row a {
  color:#4e4a43;
  text-shadow:none;
}
.hero-contact-row button:hover,
.hero-contact-row a:hover { color:#7d510d; }
.button-ghost {
  border-color:rgba(20,20,20,.36);
  background:rgba(255,255,255,.52);
  color:#111317;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 3px 0 rgba(88,61,12,.42),0 8px 18px rgba(0,0,0,.10);
  text-shadow:none;
}
.button-ghost:hover { color:#6e480c; border-color:#b17b17; }

/* Section copy outside dark floating cards flips to dark ink. */
.services .section-head h2,
.work .section-head h2,
.process .section-head h2 {
  color:#111317;
  text-shadow:0 2px 0 rgba(255,255,255,.75);
}
.services .section-head > p,
.work .section-head > p,
.process .section-head > p {
  color:#5f5b54;
}
.services .section-kicker,
.work .section-kicker,
.process .section-kicker { color:#8b5b0f; }
.work { color:#111317; }
.work .section-head > p { color:#5f5b54; }

/* Keep floating panels as smoked glass, but lighten exterior shadows for white. */
.trust-grid,
.service-panel,
.why-grid,
.process-row,
.footer-main,
.final-cta__inner {
  box-shadow:0 20px 52px rgba(26,24,20,.20),inset 0 1px 0 rgba(255,255,255,.08);
}
.portfolio-card { box-shadow:0 20px 50px rgba(26,24,20,.20); }
.hero-project {
  box-shadow:0 22px 58px rgba(26,24,20,.22),0 5px 0 #6e480c,inset 0 1px 0 rgba(255,255,255,.13);
}

/* Final section/footer no longer paint a black full-width slab; cards do the work. */
.final-cta,
.site-footer { background:transparent; }
.footer-bottom { color:#6a665f; }

/* Contact FAB retains its black/gold identity but gets a lighter exterior shadow. */
.contact-fab {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(0,0,0,.9),
    0 4px 0 #70470b,
    0 12px 25px rgba(30,27,20,.24);
}

@media (max-width:680px) {
  .site-canvas::after {
    background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(248,247,243,.90) 48%,rgba(255,255,255,.76));
  }
  .site-canvas__grid { opacity:.07; }
  .site-canvas__crest { opacity:.07 !important; }
  .hero::before { background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.38)); }
}

/* v4.2.4 — GOLD GLASS CARD SYSTEM ------------------------------------------
   Use the approved mid-page contact plate as the visual template for the
   primary content cards on the white-canvas study. Photo tiles remain photo-
   first; the surrounding content plates use warm translucent gold, low blur,
   black copy and dark 3D actions. */
:root {
  --gold-card-a: rgba(214,166,42,.58);
  --gold-card-b: rgba(248,220,138,.58);
  --gold-card-c: rgba(190,122,18,.56);
  --gold-card-border: rgba(230,180,52,.92);
  --gold-card-ink: #0b0b0c;
  --gold-card-muted: #383228;
  --gold-card-rule: rgba(42,31,12,.20);
}

/* Shared plate recipe, intentionally close to the approved contact-break. */
.service-panel,
.why-grid,
.process-row,
.final-cta__inner {
  border:1px solid var(--gold-card-border);
  background:
    linear-gradient(100deg,
      var(--gold-card-a) 0%,
      var(--gold-card-b) 43%,
      var(--gold-card-c) 100%);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.58),
    0 18px 44px rgba(45,34,12,.18);
  color:var(--gold-card-ink);
}

/* Service cards: photos stay untouched; copy adopts the gold-card language. */
.service-copy { color:var(--gold-card-ink); }
.service-copy > span { color:#7b4c08; text-shadow:0 1px 0 rgba(255,242,190,.72); }
.service-copy > p:first-of-type { color:#29251d; }
.service-copy h3 { color:#070708; text-shadow:0 1px 0 rgba(255,255,255,.50); }
.service-copy h3 + p,
.cabinetry-restoration-note { color:var(--gold-card-muted); }
.service-copy button {
  min-height:38px;
  padding:0 15px;
  border:1px solid #111214;
  border-radius:9px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,0) 34%),
    linear-gradient(180deg,#24272b,#090a0b 72%);
  color:#fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 -1px 0 rgba(0,0,0,.95),
    0 4px 0 #050505,
    0 10px 18px rgba(52,37,8,.20);
  text-shadow:0 1px 0 #000;
}
.service-copy button:hover {
  color:#f4d270;
  border-color:#2b2c2f;
  transform:translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(0,0,0,.95),
    0 6px 0 #050505,
    0 13px 22px rgba(52,37,8,.22);
}
.service-copy button:active {
  transform:translateY(3px);
  box-shadow:inset 0 3px 7px rgba(0,0,0,.52),0 1px 0 #050505,0 5px 10px rgba(52,37,8,.18);
}

/* Why Southbound plate. */
.why-copy .section-kicker { color:#704608; }
.why-copy h2 { color:#080809; text-shadow:0 1px 0 rgba(255,255,255,.48); }
.why-lead { color:#29251d; }
.why-points { border-top-color:var(--gold-card-rule); }
.why-points article { border-bottom-color:var(--gold-card-rule); }
.why-points span { color:#754907; }
.why-points h3 { color:#0b0b0c; }
.why-points p { color:#373128; }
.why-grid .text-link {
  border-color:#111214;
  background:linear-gradient(180deg,#24272b,#090a0b 72%);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 4px 0 #050505,0 10px 18px rgba(52,37,8,.18);
}
.why-grid .text-link:hover { color:#f4d270; transform:translateY(-2px); }

/* Process becomes one long gold plate, just like the template. */
.process-row li { border-right-color:var(--gold-card-rule); }
.process-row span { color:#754907; text-shadow:0 1px 0 rgba(255,242,190,.68); }
.process-row h3 { color:#09090a; }
.process-row p { color:#373128; }

/* Final contact card follows the same plate but keeps its oversized 3D punch. */
.final-cta__inner {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.60),
    0 22px 54px rgba(45,34,12,.20);
}
.final-cta__inner::before {
  border-color:rgba(255,237,178,.42);
  box-shadow:none;
}
.final-cta p {
  color:#12110e;
  text-shadow:0 1px 0 rgba(255,255,255,.70),0 2px 0 rgba(94,73,23,.22);
}
.final-cta h2 {
  color:#f8f7f2;
  text-shadow:
    0 1px 0 #fff,
    0 2px 0 #d7d7d3,
    0 3px 0 #9a9a96,
    0 4px 0 #565754,
    0 6px 0 #171819,
    0 12px 18px rgba(67,44,5,.34);
}
.final-cta h2 span {
  color:#111214;
  -webkit-text-stroke:1px rgba(255,222,116,.75);
  text-shadow:
    0 1px 0 #5e4a1d,
    0 2px 0 #3f3215,
    0 3px 0 #28210f,
    0 5px 0 #0b0c0d,
    0 11px 17px rgba(67,44,5,.32);
}
.final-cta img { filter:drop-shadow(0 3px 5px rgba(61,42,10,.24)); }
.final-cta .button-large {
  border-color:#111214;
  background:
    linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0) 35%),
    linear-gradient(180deg,#25282c,#08090a 72%);
  color:#fff;
  text-shadow:0 1px 0 #000;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 -1px 0 rgba(0,0,0,.96),
    0 5px 0 #050505,
    0 13px 24px rgba(52,37,8,.24);
}
.final-cta .button-large:hover { color:#f4d270; filter:none; }
.final-socials a {
  border-color:#17181a;
  background:linear-gradient(180deg,#24272b,#090a0b 72%);
  color:#f7f5ef;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 3px 0 #050505,0 8px 14px rgba(52,37,8,.18);
}
.final-socials a:hover { color:#f4d270; }

/* Preserve photo fidelity inside gold service plates. */
.service-visual,
.cabinetry-work-grid,
.finish-visual,
.custom-visual { backdrop-filter:none; -webkit-backdrop-filter:none; }

@media (max-width:980px) {
  .service-copy button,
  .why-grid .text-link { min-height:44px; }
}

/* v4.2.6 — REAL WORK TEMPLATE SYSTEM ---------------------------------------
   The approved "Real Southbound Work" section becomes the page's primary
   visual language: warm-white canvas, black oversized typography, gold eyebrow
   labels/rules, photo-first content, thin gold outlines and restrained shadows.
   The high-conversion contact plate remains intentionally stronger. */

/* Main sections return to the clean white-work-canvas language. */
.services,
.why,
.final-cta,
.site-footer {
  background: transparent;
  color: #111317;
}

/* Shared section header rhythm copied from the Work section. */
.services .section-head,
.why .section-head,
.final-cta .section-head {
  color:#111317;
}
.services .section-kicker,
.why .section-kicker {
  color:#8b5b0f;
}
.services .section-head h2,
.why-copy h2 {
  color:#111317;
  text-shadow:none;
}
.services .section-head > p,
.why-lead {
  color:#5f5b54;
}

/* Services become clean editorial/project cards, not gold glass slabs. */
.service-showcase {
  gap:18px;
  background:transparent;
  border:0;
}
.service-panel {
  overflow:hidden;
  border:1px solid rgba(189,132,24,.48);
  border-radius:15px;
  background:rgba(255,255,255,.88);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:0 16px 38px rgba(38,32,22,.10);
  color:#111317;
}
.service-panel:hover {
  border-color:rgba(176,116,12,.72);
  box-shadow:0 20px 46px rgba(38,32,22,.14);
}
.service-copy {
  color:#111317;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(249,247,241,.92));
}
.service-copy > span {
  color:#8b5b0f;
  text-shadow:none;
}
.service-copy > p:first-of-type {
  color:#a97716;
}
.service-copy h3 {
  color:#111317;
  text-shadow:none;
}
.service-copy h3 + p,
.cabinetry-restoration-note {
  color:#5f5b54;
}

/* Make service imagery feel like the Work tiles. */
.service-visual,
.cabinetry-work-grid,
.finish-visual,
.custom-visual {
  background:#101113;
  border:0;
}
.service-visual img,
.finish-visual img,
.custom-visual img,
.cabinetry-work-tile img {
  filter:none;
}

/* Service actions become compact black/gold controls like the work captions. */
.service-copy button {
  min-height:36px;
  padding:0 15px;
  border:1px solid rgba(164,111,14,.82);
  border-radius:8px;
  background:linear-gradient(180deg,#232529,#08090a 72%);
  color:#f4d270;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 3px 0 #5d3b07,0 9px 16px rgba(35,28,17,.14);
  text-shadow:0 1px 0 #000;
}
.service-copy button:hover {
  color:#fff3c5;
  border-color:#d2a02c;
  transform:translateY(-2px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 5px 0 #5d3b07,0 12px 20px rgba(35,28,17,.18);
}
.service-copy button:active {
  transform:translateY(2px);
  box-shadow:inset 0 3px 7px rgba(0,0,0,.5),0 1px 0 #5d3b07,0 5px 10px rgba(35,28,17,.14);
}

/* Why Southbound becomes a clean white editorial block with a faint compass. */
.why-grid {
  border:0;
  border-top:1px solid rgba(189,132,24,.36);
  border-bottom:1px solid rgba(189,132,24,.36);
  border-radius:0;
  background:rgba(255,255,255,.60);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none;
  color:#111317;
}
.why-mark {
  background:radial-gradient(circle,rgba(212,166,42,.08),transparent 48%);
}
.why-mark img {
  filter:drop-shadow(0 18px 28px rgba(50,38,15,.18));
}
.why-points {
  border-top-color:rgba(125,91,24,.20);
}
.why-points article {
  border-bottom-color:rgba(125,91,24,.20);
}
.why-points span { color:#8b5b0f; }
.why-points h3 { color:#111317; }
.why-points p { color:#5f5b54; }
.why-grid .text-link {
  border-color:#9b6c12;
  background:linear-gradient(180deg,#24272b,#090a0b 72%);
  color:#f4d270;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 3px 0 #5d3b07,0 8px 14px rgba(35,28,17,.14);
}

/* Final CTA keeps punch, but drops the gold-glass slab in favor of the clean
   white Work-section frame plus black/gold type/actions. */
.final-cta__inner {
  border:1px solid rgba(189,132,24,.52);
  background:rgba(255,255,255,.88);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:0 18px 46px rgba(38,32,22,.14);
  color:#111317;
}
.final-cta__inner::before {
  border-color:rgba(189,132,24,.14);
  box-shadow:none;
}
.final-cta p {
  color:#111317;
  text-shadow:none;
}
.final-cta h2 {
  color:#111317;
  -webkit-text-stroke:0;
  text-shadow:0 2px 0 #e2e2de,0 4px 0 #a8a9a5,0 7px 0 #4d4e4c,0 12px 18px rgba(0,0,0,.16);
}
.final-cta h2 span {
  color:#d7a727;
  -webkit-text-stroke:1px #9b6811;
  text-shadow:0 1px 0 #f6d675,0 2px 0 #bc8618,0 4px 0 #79500c,0 7px 0 #332309,0 11px 16px rgba(78,52,9,.20);
}
.final-cta img {
  filter:drop-shadow(0 5px 10px rgba(58,42,12,.18));
}

/* Footer adopts the white editorial base and thin gold rules. */
.site-footer {
  border-top:1px solid rgba(189,132,24,.34);
}
.footer-main {
  border:0;
  border-radius:0;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none;
  color:#111317;
}
.footer-copy strong { color:#111317; }
.footer-copy span,
.footer-bottom { color:#6a665f; }
.footer-actions button,
.footer-actions a {
  color:#111317;
  border-color:rgba(139,91,15,.45);
}

/* Keep the approved gold mid-page contact plate as the intentional contrast
   beat between the clean editorial sections. */
.contact-break__inner {
  box-shadow:0 18px 42px rgba(58,42,12,.17),inset 0 1px 0 rgba(255,255,255,.60);
}

@media (max-width:980px) {
  .service-panel { border-radius:13px; }
  .why-grid { border-radius:0; }
}


/* v4.3.2 · verified account option retained */
.account-option{display:flex!important;gap:12px;align-items:flex-start;margin:18px 0!important;padding:16px;border:1px solid rgba(212,166,42,.28);background:rgba(212,166,42,.055)}
.account-option input{width:18px!important;height:18px;margin:2px 0 0;accent-color:var(--gold);flex:0 0 auto}
.account-option>span{display:block!important;margin:0!important;color:#eee!important;font-size:inherit!important;font-weight:inherit!important;letter-spacing:0!important;text-transform:none!important}
.account-option strong{display:block;color:#f4ead1;font-size:.86rem;letter-spacing:.02em}
.account-option small{display:block;margin-top:5px;color:#aaa69d;font-size:.76rem;line-height:1.5;text-transform:none;letter-spacing:0;font-weight:500}
/* v4.3.2 · footer contrast + deterministic public-site asset hotfix */
.footer-actions button,
.footer-actions a {
  color:#f4d270;
}
.footer-actions button:hover,
.footer-actions a:hover {
  color:#000;
}

