/* Private IT Support v2 layer. Loads after site.css. */
:root{
 /* Palette A, Old Gold on Midnight (Oct 26). Values mirrored in site.css */
 --ink:#03060F;--ink2:#0A0F1C;--line:rgba(125,135,150,.24);--gold:#C9A45C;--gold-soft:rgba(201,164,92,.38);
 --ivory:#F6F1E7;--ivory2:#EDE6D8;--text:#ECE7DC;--muted:#A8B0BC;--bronze:#7A5A2B;--ink-muted:#4F5562;
 /* proposed v2 additions */
 --ink3:#0F1525;--line-soft:rgba(201,164,92,.18);--gold-hi:#E4CF9C;--ivory-line:rgba(166,124,46,.28);
 --r-sm:4px;--r-md:10px;--r-lg:16px;
 --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;
 --maxw:1240px;--ease-out:cubic-bezier(.22,1,.36,1);--dur-1:180ms;--dur-2:320ms;--dur-3:600ms;
}
.wrap{max-width:var(--maxw);padding:0 clamp(20px,4vw,40px)}
body{font-size:17px}
h1,h2,h3{text-transform:none}
.v2 h1{font-family:Manrope,Inter,sans-serif;font-weight:300;font-size:clamp(42px,6.2vw,84px);line-height:1.04;letter-spacing:-.015em;text-transform:none}
.v2 h2{font-weight:300;font-size:clamp(30px,3.8vw,50px);line-height:1.12;letter-spacing:-.01em;text-transform:none}
.v2 h3{font-family:Manrope,Inter,sans-serif;font-weight:600;font-size:21px;line-height:1.3;letter-spacing:0;text-transform:none}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:Manrope,Inter,sans-serif;font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 var(--s5)}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--gold)}
.ivory .eyebrow{color:var(--bronze)}.ivory .eyebrow::before{background:var(--bronze)}
.v2 .lead{font-size:clamp(18px,1.5vw,20px);line-height:1.6;max-width:600px}
.sec-head{display:grid;gap:var(--s4);margin-bottom:clamp(40px,5vw,64px);max-width:760px}
.sec-head p{margin:0}
.rule{height:1px;background:var(--line-soft);border:0;margin:0}
/* underline marker */
.ph{box-shadow:inset 0 -1px 0 rgba(201,164,92,.55)}
.ph-tag{display:inline-block;vertical-align:middle;margin-left:8px;padding:2px 7px;border:1px dashed var(--gold-soft);border-radius:3px;font:600 10px/1.4 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.ivory .ph-tag{color:var(--bronze);border-color:rgba(166,124,46,.5)}
.ivory .ph{box-shadow:inset 0 -1px 0 rgba(166,124,46,.5)}
/* header */
.v2 header{background:linear-gradient(180deg,rgba(3,6,15,.7),rgba(3,6,15,0))}
.v2 header.solid{background:rgba(3,6,15,.94)}
.v2 .nav nav{gap:28px}
.v2 .nav nav a{font-size:12px;letter-spacing:.18em}
.mnav{position:relative}
.mnav summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--gold-soft);border-radius:2px;font:600 12px Manrope,Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--text)}
.mnav summary::-webkit-details-marker{display:none}
.mnav[open] summary{border-color:var(--gold);color:var(--gold)}
.mnav .panel{position:absolute;right:0;top:54px;width:min(86vw,320px);background:var(--ink2);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 20px 18px;display:grid}
.mnav .panel a{color:var(--text);padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.mnav .panel a:last-child{border-bottom:0}
.mnav .panel .grp{font:600 11px Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);padding:14px 0 2px}
@media(min-width:1000px){.mnav{display:none}.v2 .nav nav{display:flex}}
@media(max-width:999px){.v2 .nav nav{display:none}.v2 .nav .tel{display:none}}
@media(max-width:420px){.v2 .nav .right{gap:10px}.v2 .nav .btn{padding:0 14px}}
/* hero with video slot */
.hero2{position:relative;min-height:min(100svh,860px);display:flex;align-items:flex-end;padding:150px 0 clamp(56px,7vw,96px);overflow:hidden;background:var(--ink)}
.hero2 .hero-media{position:absolute;inset:0;z-index:0}
.hero2 .hero-media img,.hero2 .hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.hero2 .hero-media video{opacity:0;transition:opacity var(--dur-3) var(--ease-out)}
.hero2 .hero-media video.is-playing{opacity:1}
.hero2::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(3,6,15,.96) 0%,rgba(3,6,15,.82) 45%,rgba(3,6,15,.25) 100%),linear-gradient(0deg,rgba(3,6,15,.9),transparent 45%)}
.hero2 .wrap{position:relative;z-index:1;width:100%}
.hero2 .copy{max-width:720px}
.hero2 .cta{display:flex;flex-wrap:wrap;gap:16px;margin:36px 0 32px}
.hero2 .facts{max-width:720px;border-top:1px solid var(--line-soft)}
@media(max-width:800px){
 .hero2{align-items:flex-end;padding-top:56vh}
 .hero2 .hero-media img,.hero2 .hero-media video{object-position:center top;height:62%;bottom:auto}
 .hero2::after{background:linear-gradient(180deg,rgba(3,6,15,0) 0%,rgba(3,6,15,.2) 30%,rgba(3,6,15,.92) 55%,var(--ink) 66%)}
}
/* service menu */
.svc-grid{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:700px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1080px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
.card{position:relative;display:flex;flex-direction:column;background:var(--ink2);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;color:var(--text);transition:transform var(--dur-2) var(--ease-out),border-color var(--dur-2)}
.card:hover{text-decoration:none;border-color:var(--gold-soft)}
.card-clip{position:relative;margin:0;aspect-ratio:4/3;background:var(--ink3);border-bottom:1px solid var(--line);overflow:hidden}
.card-clip img,.card-clip video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card-clip video{opacity:0;transition:opacity var(--dur-2)}
.card-clip video.is-playing{opacity:1}
.card-art{aspect-ratio:4/3;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,#141B2C,var(--ink2) 70%);border-bottom:1px solid var(--line)}
.card-art svg{width:42%;height:auto}
.card-body{padding:26px 26px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.card-body .kicker{font:600 11px Inter,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.card-body p{color:var(--muted);margin:0;font-size:16px}
.card-body .more{margin-top:auto;padding-top:14px;color:var(--gold);font:600 13px Manrope,Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.card-body .more::after{content:" \2192"}
/* audience split */
.aud{display:grid;gap:20px}
@media(min-width:900px){.aud{grid-template-columns:1fr 1fr}}
.aud-col{background:#fff;border:1px solid var(--ivory-line);border-radius:var(--r-lg);padding:clamp(28px,3.4vw,44px)}
.aud-col h3{color:var(--ink);margin-bottom:10px}
.aud-col p{color:var(--ink-muted)}
.aud-col ul{list-style:none;padding:0;margin:20px 0 0;border-top:1px solid var(--ivory-line)}
.aud-col li{border-bottom:1px solid var(--ivory-line)}
.aud-col li a{display:flex;justify-content:space-between;gap:12px;padding:14px 0;color:var(--ink);font-weight:500}
.aud-col li a::after{content:"\2192";color:var(--bronze)}
.aud-col li a:hover{color:var(--bronze);text-decoration:none}
/* sample project / case study */
.case{display:grid;gap:clamp(32px,5vw,72px);align-items:start}
@media(min-width:1000px){.case{grid-template-columns:5fr 7fr}}
.sample-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--gold);border-radius:999px;font:700 11px Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.case h2{margin-bottom:18px}
.case .note{font-size:14px;color:var(--muted);border-left:1px solid var(--gold-soft);padding-left:14px;margin-top:24px}
.flow{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:f}
.flow li{counter-increment:f;display:grid;grid-template-columns:56px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--line)}
.flow li:last-child{border-bottom:1px solid var(--line)}
.flow li::before{content:counter(f,decimal-leading-zero);font:300 28px/1 Manrope,Inter,sans-serif;color:var(--gold);padding-top:2px}
.flow h3{font-size:18px;margin-bottom:4px}
.flow p{margin:0;color:var(--muted);font-size:16px}
.flow-diagram{margin:0 0 28px;padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--ink2)}
.flow-diagram svg{width:100%;height:auto;display:block}
/* process */
.process{display:grid;gap:20px;list-style:none;padding:0;margin:0;counter-reset:p}
@media(min-width:900px){.process{grid-template-columns:repeat(4,1fr)}}
.process li{counter-increment:p;border-top:1px solid var(--bronze);padding-top:22px}
.process li::before{content:counter(p,decimal-leading-zero);display:block;font:300 34px/1 Manrope,Inter,sans-serif;color:var(--bronze);margin-bottom:16px}
.process h3{color:var(--ink);margin-bottom:8px}
.process p{margin:0;font-size:16px}
/* plans */
.plans{display:grid;gap:20px}
@media(min-width:900px){.plans{grid-template-columns:repeat(3,1fr)}}
.plan{border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 28px;background:var(--ink2);display:flex;flex-direction:column;gap:12px}
.plan.feature{border-color:var(--gold)}
.plan .tier{font:600 12px Inter,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.plan .price{font:300 34px/1.1 Manrope,Inter,sans-serif;color:var(--text)}
.plan ul{list-style:none;padding:0;margin:8px 0 0;border-top:1px solid var(--line)}
.plan li{padding:12px 0 12px 22px;border-bottom:1px solid var(--line);position:relative;color:var(--muted);font-size:15px}
.plan li::before{content:"";position:absolute;left:2px;top:21px;width:8px;height:1px;background:var(--gold)}
.plan .btn{margin-top:auto}
/* booking CTA band (v2) */
.cta-band{padding:clamp(56px,7vw,96px) 0;background:var(--ink2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.cta-band .wrap{display:grid;gap:28px;align-items:center}
@media(min-width:900px){.cta-band .wrap{grid-template-columns:1fr auto;gap:64px}}
.cta-band h2{font-size:clamp(28px,3vw,40px)}
.cta-band p{color:var(--muted);margin:12px 0 0}
.cta-band .cta{display:flex;flex-wrap:wrap;gap:16px}
.cta-band.slim{padding:40px 0}
@media(max-width:600px){.cta-band .cta{flex-direction:column}.cta-band .cta .btn{width:100%;min-height:52px}}
/* FAQ on dark */
.faq.dark summary{color:var(--text)}
.faq.dark details{border-color:var(--line)}
.faq.dark details p{color:var(--muted)}
.faq.dark summary::after{border-color:var(--gold)}
/* footer v2 */
.v2 footer .top{grid-template-columns:1fr}
@media(min-width:700px){.v2 footer .top{grid-template-columns:1fr 1fr}}
@media(min-width:1080px){.v2 footer .top{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr}}
/* service page v2 */
.sp2-hero{padding:150px 0 clamp(56px,7vw,96px);border-bottom:1px solid var(--line)}
.sp2-hero .wrap{display:grid;gap:40px;align-items:center}
@media(min-width:1000px){.sp2-hero .wrap{grid-template-columns:7fr 5fr;gap:72px}}
.sp2-hero h1{font-size:clamp(38px,5vw,68px)!important}
.sp2-hero .cta{display:flex;flex-wrap:wrap;gap:16px;margin:32px 0 18px}
.sp2-hero .card-clip,.sp2-hero .card-art{border:1px solid var(--line);border-radius:var(--r-lg)}
.feat{display:grid;gap:20px}
@media(min-width:800px){.feat{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.feat{grid-template-columns:repeat(3,1fr)}}
.feat > div{border-top:1px solid var(--gold-soft);padding-top:20px}
.feat h3{margin-bottom:8px}
.feat p{color:var(--muted);margin:0;font-size:16px}
.ivory .feat > div{border-color:var(--ivory-line)}.ivory .feat h3{color:var(--ink)}.ivory .feat p{color:var(--ink-muted)}
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.chips li{border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:14px;color:var(--text)}
/* motion hooks: transform and opacity only */
.js .m-rise{opacity:0;transform:translateY(16px);transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out)}
.js .m-rise.in{opacity:1;transform:none}
.m-stagger > *:nth-child(2){transition-delay:60ms}.m-stagger > *:nth-child(3){transition-delay:120ms}.m-stagger > *:nth-child(4){transition-delay:180ms}.m-stagger > *:nth-child(5){transition-delay:240ms}.m-stagger > *:nth-child(6){transition-delay:300ms}
@media(hover:hover) and (pointer:fine){.m-card:hover{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){
 .js .m-rise{opacity:1;transform:none;transition:none}
 .m-card,.m-card:hover{transform:none;transition:none}
 .hero2 .hero-media video,.card-clip video{display:none}
}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:50;background:var(--gold);color:var(--ink);padding:10px 16px}
/* mobile header fit (390 check) */
@media(max-width:520px){.v2 .nav .right > .btn{display:none}.v2 .nav .logo img{height:32.69px;margin:-4.13px 0 2.64px}.mnav .panel .book-link{display:block}}
.mnav .panel .book-link{display:none;margin-top:10px;text-align:center;background:var(--gold);color:var(--ink);border-radius:2px;font:600 12px Manrope,Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;padding:14px 0;border-bottom:0}
.eyebrow{flex-wrap:wrap;row-gap:8px}
@media(max-width:600px){.flow-diagram{display:none}}
.rel-grid .card-body{padding:22px 24px}
.rel-grid h3{font-size:18px}
.sp2 .crumbs{margin-bottom:22px}
@media(min-width:1080px){.rel-grid{grid-template-columns:repeat(5,1fr)}}
/* header carries Get a quote + Book now */

@media(max-width:1279px){.v2 .nav .tel{display:none}}
@media(max-width:760px){.v2 .nav .right > .btn.hq{display:none}.mnav .panel .quote-link{display:block}}
.mnav .panel .quote-link{display:none;margin-top:10px;text-align:center;border:1px solid var(--gold);color:var(--gold);border-radius:2px;font:600 12px Manrope,Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;padding:14px 0}
/* hero dual CTA + small line */
.hero2 .cta .tlink{align-self:center;color:var(--text);font-size:15px;border-bottom:1px solid var(--gold-soft);padding-bottom:2px}
.hero2 .cta .tlink:hover{color:var(--gold);text-decoration:none}
.hero2 .small{margin-top:22px;font-size:13px;letter-spacing:.08em;color:var(--muted)}
/* five-step process */
@media(min-width:1080px){.process.five{grid-template-columns:repeat(5,1fr)}}
/* aud panels with action links */
.aud-col .acts{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:24px;align-items:center}
.aud-col .acts a.lnk{color:var(--bronze);font-weight:600;font-size:15px}
.aud-col .fine{font-size:14px;margin-top:16px}
/* home IT list */
.homelist{display:grid;gap:0 48px;margin:28px 0 0;padding:0;list-style:none}
@media(min-width:900px){.homelist{grid-template-columns:1fr 1fr}}
.homelist li{border-top:1px solid var(--ivory-line);padding:18px 0}
.homelist b{display:block;color:var(--ink);font:600 17px/1.35 Manrope,Inter,sans-serif;margin-bottom:4px}
.homelist b a{color:var(--ink);border-bottom:1px solid var(--bronze)}
.homelist p{margin:0;font-size:15.5px;color:var(--ink-muted)}
.ivory .flag{font-size:14px;color:var(--ink-muted);margin-top:18px}
/* sample cards */
.samples{display:grid;gap:20px}
@media(min-width:900px){.samples{grid-template-columns:repeat(3,1fr)}}
.sample-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;background:var(--ink2);display:flex;flex-direction:column;gap:12px}
.sample-card h3{margin:0}
.sample-card .note{font-size:14px;color:var(--gold);margin:0}
.sample-card p{margin:0;color:var(--muted);font-size:15.5px}
.sample-card .used{font-size:13px;letter-spacing:.06em;color:var(--text);border-top:1px solid var(--line);padding-top:12px;margin-top:auto}
/* two-column closing */
.close2{padding:clamp(64px,8vw,112px) 0;background:var(--ink2);border-top:1px solid var(--line-soft)}
.close2 .wrap{display:grid;gap:48px}
@media(min-width:900px){.close2 .wrap{grid-template-columns:1fr 1fr;gap:0}.close2 .col+.col{border-left:1px solid var(--line-soft);padding-left:64px}.close2 .col:first-child{padding-right:64px}}
.close2 h2{font-size:clamp(28px,3vw,40px);margin-bottom:12px}
.close2 p{color:var(--muted)}
.close2 .cta{display:flex;flex-wrap:wrap;gap:14px;margin:24px 0 16px}
.close2 .fine{font-size:14px}
@media(max-width:600px){.close2 .cta{flex-direction:column}.close2 .cta .btn{width:100%;min-height:52px}}
.own{display:grid;gap:28px}
@media(min-width:1000px){.own{grid-template-columns:5fr 7fr;gap:72px}}.hqw{position:relative;display:inline-flex}@media(max-width:760px){.hqw{display:none}}.btn.ghost.dark{color:var(--ink);border-color:var(--bronze)}
.btn.ghost.dark:hover{color:var(--bronze);border-color:var(--bronze)}
.ivory .btn:not(.ghost){border-color:var(--bronze)}
/* quote form */
.qform fieldset{border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,3vw,36px);margin:24px 0 0;display:grid;gap:20px;background:var(--ink2)}
.qform label{display:grid;gap:8px;font-size:14px;color:var(--text);font-weight:500}
.qform input[type=text],.qform input[type=email],.qform input[type=tel],.qform textarea{font:16px Inter,sans-serif;color:var(--text);background:var(--ink);border:1px solid var(--line);border-radius:4px;padding:12px 14px;width:100%;box-sizing:border-box}
.qform .row2{display:grid;gap:20px}
@media(min-width:700px){.qform .row2{grid-template-columns:1fr 1fr}}
.qform .lbl{display:block;font-size:14px;font-weight:500;margin-bottom:10px}
.qform .chips2{display:flex;flex-wrap:wrap;gap:10px}
.qform label.chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--muted)}
.qform .chips2 label.chk{border:1px solid var(--line);border-radius:999px;padding:8px 14px;align-items:center;color:var(--text)}
.qform input[type=checkbox]{accent-color:#C9A45C;width:18px;height:18px;margin:0;flex:none}
.qform fieldset[disabled]{opacity:.85}
.qform .btn{justify-self:start}
/* header fit with two buttons (1440 review fix) */
.v2 .nav nav{gap:24px}
.v2 .nav nav a{letter-spacing:.14em;white-space:nowrap}
.v2 .nav .btn{white-space:nowrap}
@media(max-width:1499px){.v2 .nav .tel{display:none}}
@media(min-width:1000px) and (max-width:1179px){.v2 .nav nav{display:none}.mnav{display:block}}
/* buttons on ivory keep ink labels */
.ivory .btn:not(.ghost),.ivory .btn:not(.ghost):hover{color:var(--ink)}.sample-card .sample-badge{align-self:flex-start}
.qform input:focus-visible,.qform textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.v2 footer h2.fh{font-family:Manrope,Inter,sans-serif;font-size:12px;line-height:1.4;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:500;margin:0 0 14px}
/* phase 2 */
.plan .pbtn{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.plan .rec{display:inline-block;margin-left:10px;padding:2px 8px;border:1px solid var(--gold);border-radius:999px;font-size:10px;letter-spacing:.18em;vertical-align:middle}
.cases .case-row{padding:clamp(56px,7vw,96px) 0;border-top:1px solid var(--line)}
.cases .case-row:first-child{border-top:0;padding-top:0}
.note-gold{color:var(--gold)}
.ivory .note-gold{color:var(--bronze)}
.used2{font-size:15px;color:var(--muted);margin-top:18px}
.lnk2{color:var(--gold);font-weight:600;font-size:15px}
.scope{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.scope li{padding:14px 0 14px 26px;border-bottom:1px solid var(--line);position:relative;color:var(--text)}
.scope li::before{content:"";position:absolute;left:4px;top:24px;width:10px;height:1px;background:var(--gold)}
.scope.dark{border-color:var(--ivory-line)}.scope.dark li{color:var(--ink);border-color:var(--ivory-line)}.scope.dark li::before{background:var(--bronze)}
.areas{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.areas li{border:1px solid var(--ivory-line);background:#fff;border-radius:999px;padding:8px 16px;color:var(--ink);font-size:15px}
.doc2 h2{font-size:clamp(24px,2.4vw,30px);margin:48px 0 14px}
.doc2 p,.doc2 li{color:var(--text);font-size:16.5px;line-height:1.7}
.doc2 ul{padding-left:20px}
.doc2 li{margin-bottom:10px}
.v2 .sp .crumbs a,.v2 .sp2 .crumbs a{color:var(--muted)}
.qform .help{display:block;font-size:13.5px;color:var(--muted);margin-top:6px;font-weight:400}
.consent-links{font-size:14px;margin:4px 0 0 30px}.v2 .wrap.prose{max-width:820px}
.v2 .prose p a,.v2 .doc p a,.v2 .doc2 p a,.v2 .doc2 li a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}

/* ===== Palette A, Old Gold on Midnight (Oct 26, local preview) =====
   navy #03060F, panel #0A0F1C, gold #C9A45C, deep gold #A67C2E, light tint #E4CF9C, slate #7D8796.
   --muted is a lighter slate (#A8B0BC) for paragraph-length secondary text; pure slate is kept for small meta and dividers. */
:root{--gold-deep:#A67C2E;--gold-tint:#E4CF9C;--slate:#7D8796;--field-line:#646D7C;
 --gold-metal:linear-gradient(135deg,#A67C2E 0%,#C9A45C 34%,#E4CF9C 50%,#C9A45C 66%,#A67C2E 100%);
 --gold-metal-hover:linear-gradient(135deg,#A67C2E 0%,#C9A45C 55%,#A67C2E 100%)}
/* gold buttons: metallic, navy label */
.btn:not(.ghost){background:var(--gold-metal);background-color:var(--gold);border-color:var(--gold-deep);color:var(--ink)}
@media(hover:hover){.btn:not(.ghost):hover{background:var(--gold-metal-hover);background-color:var(--gold-deep);border-color:var(--gold-deep);color:var(--ink);filter:none;box-shadow:0 0 0 1px rgba(201,164,92,.28),0 0 18px rgba(201,164,92,.22)}}
.btn:not(.ghost):focus-visible{color:var(--ink);filter:none}
@media(hover:none){.btn:not(.ghost):hover:not(:active):not(.is-pressed){background:var(--gold-metal);border-color:var(--gold-deep);color:var(--ink)}}
.btn:active,.btn.is-pressed,.btn.ghost:active,.btn.ghost.is-pressed{background:var(--gold-deep);border-color:var(--gold-deep);color:var(--ink);box-shadow:0 0 0 2px rgba(201,164,92,.3),0 0 20px rgba(201,164,92,.3)}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold)}
.ivory .btn:not(.ghost){border-color:var(--gold-deep)}
.btn.ghost.dark{border-color:var(--gold-deep)}
.mnav .panel .book-link{background:var(--gold-metal);color:var(--ink)}
.skip:focus{background:var(--gold-tint);color:var(--ink)}
/* slate for small meta and dividers */
.crumbs,.crumbs a,.v2 .sp .crumbs a,.v2 .sp2 .crumbs a{color:var(--slate)}
.crumbs a:hover{color:var(--gold)}
footer .legal{color:var(--slate)}
.hero2 .small{color:var(--slate)}
.v2 footer .top{border-bottom-color:rgba(125,135,150,.24)}
.qform input[type=text],.qform input[type=email],.qform input[type=tel],.qform textarea{border-color:var(--field-line)}
.plan.feature{border-color:var(--gold-deep)}
.process li{border-top-color:var(--gold-deep)}
/* hero: CSS/SVG motif instead of a photo poster (keyhole in fine rings over a faint line grid) */
.hero2{background:radial-gradient(ellipse 60% 70% at 72% 46%,rgba(201,164,92,.07),transparent 70%),var(--ink)}
.hero2 .hero-motif{position:absolute;top:50%;right:clamp(-120px,-4vw,0px);width:min(62vw,880px);height:auto;transform:translateY(-50%);opacity:.95}
.hero2::after{background:linear-gradient(90deg,rgba(3,6,15,.94) 0%,rgba(3,6,15,.6) 42%,rgba(3,6,15,0) 72%),linear-gradient(0deg,rgba(3,6,15,.85),transparent 40%)}
@media(max-width:800px){
 .hero2 .hero-motif{top:64px;right:auto;left:50%;width:min(118vw,620px);transform:translateX(-50%);opacity:.8}
 .hero2::after{background:linear-gradient(180deg,rgba(3,6,15,0) 0%,rgba(3,6,15,.15) 30%,rgba(3,6,15,.9) 55%,var(--ink) 66%)}
}
/* ===== Glow + security pass (Oct 26). Palette A only. Motion: transform/opacity only; reduced motion = static locked state ===== */
:root{--glow-gold:rgba(201,164,92,.22);--glow-deep:rgba(166,124,46,.30);--rim:rgba(228,207,156,.42)}
/* hero: halo, dial, padlock that unlocks and relocks on a slow 10s loop, ambient light sweep */
.hero2 .hero-motif .hm-halo{transform-box:view-box;transform-origin:400px 380px;animation:hm-halo 10s ease-in-out infinite}
.hero2 .hero-motif .hm-dial{transform-box:view-box;transform-origin:400px 400px;animation:hm-dial 10s cubic-bezier(.45,0,.2,1) infinite}
.hero2 .hero-motif .hm-dial2{transform-box:view-box;transform-origin:400px 400px;animation:hm-dial2 10s cubic-bezier(.45,0,.2,1) infinite}
.hero2 .hero-motif .hm-shackle{animation:hm-shackle 10s cubic-bezier(.6,0,.2,1) infinite}
.hero2 .hero-motif .hm-kh-glow{opacity:.35;animation:hm-khglow 10s ease-in-out infinite}
@keyframes hm-halo{0%,100%{opacity:.72}45%,62%{opacity:1}}
@keyframes hm-dial{0%,6%{transform:rotate(0)}22%{transform:rotate(38deg)}30%{transform:rotate(30deg)}66%{transform:rotate(30deg)}84%,100%{transform:rotate(0)}}
@keyframes hm-dial2{0%,6%{transform:rotate(0)}22%{transform:rotate(-24deg)}30%,66%{transform:rotate(-18deg)}84%,100%{transform:rotate(0)}}
@keyframes hm-shackle{0%,30%{transform:translateY(0)}40%,66%{transform:translateY(-30px)}76%,100%{transform:translateY(0)}}
@keyframes hm-khglow{0%,30%{opacity:.35}42%,64%{opacity:1}76%,100%{opacity:.35}}
.hero2 .hm-sweep{position:absolute;top:0;bottom:0;left:56%;right:0;overflow:hidden;pointer-events:none}
.hero2 .hm-sweep::before{content:"";position:absolute;top:-10%;bottom:-10%;left:0;width:34%;background:linear-gradient(100deg,rgba(228,207,156,0) 0%,rgba(228,207,156,.055) 45%,rgba(201,164,92,.09) 50%,rgba(228,207,156,.055) 55%,rgba(228,207,156,0) 100%);transform:translateX(-110%) skewX(-12deg);opacity:0;animation:hm-sweep 12s ease-in-out 1.2s infinite}
@keyframes hm-sweep{0%{transform:translateX(-110%) skewX(-12deg);opacity:0}8%{opacity:1}42%{transform:translateX(320%) skewX(-12deg);opacity:1}48%,100%{transform:translateX(320%) skewX(-12deg);opacity:0}}
@media(max-width:800px){.hero2 .hm-sweep{left:0;bottom:48%}}
/* section security visuals: key slides into the keyhole, padlock locks, on scroll into view */
.sec-vis{margin-top:32px;max-width:100%}
.sec-vis svg{display:block;width:100%;height:auto}
.key-vis{width:min(360px,100%)}
.lock-vis{width:120px}
.js .key-vis .kv-key{transform:translateX(-46px);transition:transform 1.6s var(--ease-out) .25s}
.js .key-vis.in .kv-key{transform:none}
.key-vis .kv-glow,.lock-vis .lv-glow{opacity:.35;transition:opacity 1.2s ease 1.3s}
.key-vis.in .kv-glow,.lock-vis.in .lv-glow{opacity:1}
.js .lock-vis .lv-shackle{transform:translateY(-16px);transition:transform 1.1s cubic-bezier(.6,0,.2,1) .5s}
.js .lock-vis.in .lv-shackle{transform:none}
/* cards and panels: warm edge light, gold halo behind art, glow on hover */
.card,.sample-card,.plan{box-shadow:inset 0 1px 0 rgba(228,207,156,.09)}
.card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(110% 46% at 50% 0%,rgba(201,164,92,.13),rgba(201,164,92,0) 70%);opacity:0;transition:opacity var(--dur-2) var(--ease-out)}
.card:hover::after,.card:focus-visible::after{opacity:1}
.card{transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-2)}
@media(hover:hover){.card:hover{box-shadow:inset 0 1px 0 rgba(228,207,156,.16),0 22px 60px -30px rgba(201,164,92,.42)}}
.card-art{background:radial-gradient(circle at 50% 50%,rgba(201,164,92,.14),rgba(201,164,92,0) 46%),radial-gradient(circle at 50% 50%,#141B2C,var(--ink2) 70%)}
.plan.feature{box-shadow:inset 0 1px 0 rgba(228,207,156,.16),0 0 0 1px rgba(201,164,92,.18),0 26px 70px -34px rgba(201,164,92,.45)}
/* buttons: metallic rim light, warmer glow on hover/focus */
.btn:not(.ghost){box-shadow:inset 0 1px 0 rgba(255,246,226,.45),inset 0 -1px 0 rgba(122,90,43,.35),0 8px 24px -14px rgba(201,164,92,.6)}
@media(hover:hover){.btn:not(.ghost):hover{box-shadow:inset 0 1px 0 rgba(255,246,226,.5),0 0 0 1px rgba(228,207,156,.32),0 10px 30px -10px rgba(201,164,92,.58)}
 .btn.ghost:hover{box-shadow:inset 0 0 0 1px rgba(201,164,92,.28),0 0 24px -8px rgba(201,164,92,.4)}}
.btn:not(.ghost):focus-visible{box-shadow:inset 0 1px 0 rgba(255,246,226,.5),0 0 0 1px rgba(228,207,156,.32),0 10px 30px -10px rgba(201,164,92,.58)}
/* service page hero: soft gold light behind the art (desktop: right column only) */
.sp2-hero .card-clip,.sp2-hero .card-art{box-shadow:0 0 0 1px rgba(201,164,92,.10),0 34px 80px -44px rgba(201,164,92,.5)}
@media(min-width:1000px){.sp2-hero{background:radial-gradient(ellipse 34% 62% at 80% 52%,rgba(201,164,92,.09),rgba(201,164,92,0) 70%)}}
/* CTA band: faint padlock watermark that unlocks as the band comes into view (desktop) */
.cta-band{position:relative;overflow:hidden}
.cta-band .wrap{position:relative}
.cta-band .cta{position:relative;z-index:1}
.cb-lock{display:none}
@media(min-width:900px){.cb-lock{display:block;position:absolute;right:clamp(260px,24vw,340px);top:50%;width:120px;height:auto;margin-top:-75px;opacity:.55;pointer-events:none}}
.js .cta-band .cb-shackle{transform:translateY(0);transition:transform 1.2s cubic-bezier(.6,0,.2,1) .6s}
.js .cta-band .wrap.in .cb-shackle{transform:translateY(-14px)}
/* gold horizon lines */
.close2,.cta-band{background-image:linear-gradient(90deg,rgba(201,164,92,0),rgba(201,164,92,.55) 50%,rgba(201,164,92,0)),radial-gradient(ellipse 50% 100% at 50% 0%,rgba(201,164,92,.07),rgba(201,164,92,0) 70%);background-size:100% 1px,100% 72px;background-repeat:no-repeat;background-position:top,top}
.v2 footer{background-image:linear-gradient(90deg,rgba(201,164,92,0),rgba(201,164,92,.4) 50%,rgba(201,164,92,0));background-size:100% 1px;background-repeat:no-repeat}
@media(prefers-reduced-motion:reduce){
 .hero2 .hero-motif .hm-halo,.hero2 .hero-motif .hm-dial,.hero2 .hero-motif .hm-dial2,.hero2 .hero-motif .hm-shackle,.hero2 .hero-motif .hm-kh-glow,.hero2 .hm-sweep::before{animation:none}
 .hero2 .hm-sweep{display:none}
 .js .key-vis .kv-key,.js .key-vis.in .kv-key,.js .lock-vis .lv-shackle,.js .lock-vis.in .lv-shackle{transform:none;transition:none}
 .key-vis .kv-glow,.lock-vis .lv-glow{opacity:1;transition:none}
 .js .cta-band .cb-shackle,.js .cta-band .wrap.in .cb-shackle{transform:none;transition:none}
 .card,.card::after{transition:none}
}
/* CTA band padlock: its own column between copy and buttons (desktop), never under the buttons */
@media(min-width:900px){.cta-band .wrap{grid-template-columns:1fr auto auto;gap:48px}.cta-band .wrap > div:first-child{order:0}.cb-lock{order:1;position:static;margin:0;width:64px;opacity:.85}.cta-band .cta{order:2}}
/* Buttons pass (2026-10-26): Book now = primary metallic gold, Get a quote = secondary panel + gold border, click effect on both */
.v2 .btn{position:relative;overflow:hidden;isolation:isolate}
.v2 .btn.ghost:not(.dark){background:#0A0F1C;border:1.5px solid #C9A45C;color:#E4CF9C;box-shadow:none;filter:none}
@media(hover:hover){.v2 .btn.ghost:not(.dark):hover:not(:active){background:#0A0F1C linear-gradient(rgba(201,164,92,.10),rgba(201,164,92,.10));border-color:#C9A45C;color:#E4CF9C;box-shadow:inset 0 0 0 1px rgba(201,164,92,.22),0 0 22px -6px rgba(201,164,92,.55);filter:none}}
@media(hover:none){.v2 .btn.ghost:not(.dark):hover:not(:active):not(.is-pressed){background:#0A0F1C;border-color:#C9A45C;color:#E4CF9C}}
.v2 .btn.ghost:not(.dark):focus-visible{background:#0A0F1C linear-gradient(rgba(201,164,92,.10),rgba(201,164,92,.10));color:#E4CF9C;box-shadow:0 0 22px -6px rgba(201,164,92,.55)}
.v2 .btn:focus-visible{outline:2px solid #E4CF9C;outline-offset:3px}
.v2 .btn:active{transform:translateY(1px) scale(.98);transition-duration:.06s}
.v2 .btn:not(.ghost):active{background:var(--gold-metal-hover);background-color:var(--gold-deep);border-color:var(--gold-deep);color:#03060F;box-shadow:inset 0 0 0 1px rgba(255,246,226,.55),inset 0 2px 10px rgba(122,90,43,.45),0 2px 8px -4px rgba(201,164,92,.6)}
.v2 .btn.ghost:not(.dark):active{background:#0A0F1C linear-gradient(rgba(201,164,92,.16),rgba(201,164,92,.16));border-color:#E4CF9C;color:#E4CF9C;box-shadow:inset 0 0 12px rgba(201,164,92,.45),0 0 8px -2px rgba(201,164,92,.5)}
.v2 .btn.ghost.dark:active{background:rgba(122,90,43,.10);border-color:var(--bronze);color:var(--ink);box-shadow:inset 0 0 10px rgba(122,90,43,.3)}
.v2 .btn.flash{animation:btn-flash .42s ease-out}
.v2 .btn.ghost.flash{animation-name:btn-flash2}
@keyframes btn-flash{0%{box-shadow:inset 0 0 0 2px rgba(255,246,226,.9),inset 0 0 18px rgba(255,246,226,.7),0 2px 8px -4px rgba(201,164,92,.6)}100%{box-shadow:inset 0 0 0 0 rgba(255,246,226,0),inset 0 0 0 rgba(255,246,226,0),0 8px 24px -14px rgba(201,164,92,.6)}}
@keyframes btn-flash2{0%{box-shadow:inset 0 0 0 1px rgba(228,207,156,.9),inset 0 0 22px rgba(201,164,92,.6),0 0 8px -2px rgba(201,164,92,.5)}100%{box-shadow:inset 0 0 0 0 rgba(228,207,156,0),inset 0 0 0 rgba(201,164,92,0),0 0 0 0 rgba(201,164,92,0)}}
.btn .rp{position:absolute;left:var(--x);top:var(--y);width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;pointer-events:none;z-index:-1;background:radial-gradient(circle,rgba(255,246,226,.75) 0,rgba(228,207,156,.4) 40%,rgba(201,164,92,0) 70%);transform:scale(0);opacity:1;animation:btn-rp .6s ease-out forwards}
.btn.ghost .rp{background:radial-gradient(circle,rgba(228,207,156,.45) 0,rgba(201,164,92,.22) 42%,rgba(201,164,92,0) 70%)}
@keyframes btn-rp{to{transform:scale(var(--s,20));opacity:0}}
.mnav .panel .quote-link{background:#0A0F1C;border:1.5px solid #C9A45C;color:#E4CF9C}
.mnav .panel .book-link:active,.mnav .panel .quote-link:active{transform:translateY(1px) scale(.98)}
.mnav .panel .quote-link:active{background:#0A0F1C linear-gradient(rgba(201,164,92,.16),rgba(201,164,92,.16));box-shadow:inset 0 0 12px rgba(201,164,92,.45)}
.mnav .panel .book-link:active{background:var(--gold-metal-hover);box-shadow:inset 0 2px 10px rgba(122,90,43,.45)}
.sp2-hero .cta .tlink{align-self:center;color:var(--text);font-size:15px;border-bottom:1px solid var(--gold-soft);padding-bottom:2px}
.sp2-hero .cta .tlink:hover{color:var(--gold);text-decoration:none}
@media(prefers-reduced-motion:reduce){
 .v2 .btn,.v2 .btn:active,.mnav .panel .book-link:active,.mnav .panel .quote-link:active{transform:none;transition:background-color .01s,box-shadow .01s}
 .v2 .btn.flash{animation:none}
 .btn .rp{display:none}
}
.v2 .ivory .btn:focus-visible{outline-color:#7A5A2B}
