/* Golden Rock — shared styles */
:root{
  --ink:#0d0e11;--ink-2:#14161b;--ink-3:#21242b;--ink-0:#08090b;
  --paper:#fbf9f4;--ivory:#f4f0e7;--white:#fff;
  --gold:#c8a35a;--gold-hi:#e9d29a;--gold-lo:#987634;--gold-grad:linear-gradient(135deg,#f0d998 0%,#c8a35a 48%,#a5803a 100%);
  --text:#191b20;--muted:#64676e;--muted-2:#8c8f96;
  --line:rgba(25,27,32,.11);--line-d:rgba(255,255,255,.09);
  --display:"Cormorant Garamond",Garamond,"Times New Roman",serif;
  --sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.22,.7,.2,1);
  --wrap:1180px;--util:36px;--nav:80px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font:16px/1.65 var(--sans);color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding-top:calc(var(--util) + var(--nav))}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.wrap{width:min(var(--wrap),100% - 40px);margin-inline:auto;position:relative}
.ico{width:16px;height:16px;flex:none}
.center{text-align:center}

/* type */
.label{display:inline-block;font:600 11.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-lo)}
.label.dim{color:var(--muted-2)}
.display{font:400 clamp(46px,6.4vw,88px)/.98 var(--display);letter-spacing:-.015em;margin:22px 0 22px;text-wrap:balance}
.display.xl{font-size:clamp(58px,9vw,128px);line-height:.92}
.display em,.title em{font-style:italic;color:var(--gold)}
.title{font:400 clamp(34px,4vw,54px)/1.05 var(--display);letter-spacing:-.01em;text-wrap:balance}
.lede{font-size:clamp(17px,1.45vw,19.5px);line-height:1.55;color:var(--muted);max-width:560px;text-wrap:balance}
.roman{font:italic 500 18px/1 var(--display);color:var(--gold-lo);letter-spacing:.04em}
.fine{font-size:13.5px;color:var(--muted-2);margin-top:36px}
.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;border-bottom:1px solid var(--gold);padding-bottom:3px}
.text-link.light{color:#fff}

/* gem ornaments */
.gemrule{display:flex;align-items:center;gap:12px;width:140px;margin:18px 0 6px}
.gemrule i{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.gemrule i:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.gemrule svg{width:9px;height:9px;fill:var(--gold);flex:none}
.khead.center .gemrule,.cta-band .gemrule,.sent .gemrule,.mb-in .gemrule,.statement .gemrule,.book-card .gemrule{margin-inline:auto}
.orn{position:absolute;pointer-events:none;overflow:visible}
.orn .ln{fill:none;stroke:var(--gold);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1}
.orn .ln.faint{stroke-opacity:.45}
.orn .ln.gem{stroke-width:1.2}
.orn .glint path{fill:var(--gold-hi);opacity:0}
.orn.in .ln{animation:draw 2.8s var(--ease) forwards}
.orn.in .ln.faint{animation-duration:3.6s;animation-delay:.3s}
.orn.in .glint path{animation:glint 4.5s ease-in-out 2.6s infinite}
.orn .spin{transform-origin:50% 50%;transform-box:view-box;animation:spin 140s linear infinite}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes glint{0%,100%{opacity:0;transform:scale(.4)}12%{opacity:1;transform:scale(1)}26%{opacity:0;transform:scale(.6)}}
@keyframes spin{to{transform:rotate(360deg)}}
.orn-hero{right:max(-60px,calc((100vw - var(--wrap)) / 2 - 140px));top:40px;width:min(560px,50vw);opacity:.42}
.orn-side{right:max(-120px,calc((100vw - var(--wrap)) / 2 - 200px));top:50%;transform:translateY(-50%);width:420px;opacity:.28}
.phero.dark .orn-side{opacity:.36}
@media (max-width:760px){.orn-hero{opacity:.16;width:90vw;right:-30vw}.orn-side{opacity:.12;right:-160px}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 28px;border-radius:999px;font:600 14.5px var(--sans);letter-spacing:.02em;border:1px solid transparent;transition:background .3s var(--ease),color .3s,border-color .3s,box-shadow .3s,transform .3s var(--ease);white-space:nowrap}
.btn .ico{transition:transform .3s var(--ease)}
.btn:hover .ico{transform:translateX(3px)}
.btn-gold{background:var(--gold-grad);color:var(--ink);box-shadow:0 8px 24px rgba(200,163,90,.22),inset 0 1px 0 rgba(255,255,255,.4)}
.btn-gold:hover{box-shadow:0 10px 30px rgba(200,163,90,.35),inset 0 1px 0 rgba(255,255,255,.5);transform:translateY(-1px)}
.btn-line{border-color:rgba(255,255,255,.26);color:#fff}
.btn-line:hover{border-color:rgba(255,255,255,.7)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:var(--ink-3)}
.btn-ink .ico,.btn-line .ico{color:var(--gold)}
.ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

/* utility bar + header */
.util{position:fixed;inset:0 0 auto;z-index:51;height:var(--util);background:var(--ink-0);border-bottom:1px solid rgba(200,163,90,.18);font-size:12.5px;color:rgba(255,255,255,.62)}
.util-in{height:100%;display:flex;align-items:center;gap:28px}
.util-in>*{display:inline-flex;align-items:center;gap:8px}
.util .ico{width:14px;height:14px;color:var(--gold)}
.util em{font-style:normal;font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:10.5px;color:var(--gold);margin-right:8px}
.util a:hover{color:#fff}
.util-login{margin-left:auto;letter-spacing:.06em}
@media (max-width:700px){.util .hide-sm{display:none}.util-login{display:none}.util-in{justify-content:center}}
.hdr{position:fixed;top:var(--util);inset-inline:0;z-index:50;height:var(--nav);background:rgba(13,14,17,.94);backdrop-filter:saturate(1.3) blur(14px);-webkit-backdrop-filter:saturate(1.3) blur(14px)}
.hdr-line{position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(200,163,90,.55) 30%,rgba(200,163,90,.55) 70%,transparent)}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:13px;color:#fff}
.brand .mark{width:38px;height:38px;filter:drop-shadow(0 2px 8px rgba(200,163,90,.28));transition:transform .6s var(--ease)}
.brand:hover .mark{transform:rotate(-8deg) scale(1.05)}
.wm b{display:block;font:500 25px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(180deg,#fff 30%,#e9dcc0);-webkit-background-clip:text;background-clip:text;color:transparent}
.wm small{display:flex;align-items:center;gap:7px;margin-top:6px;font:500 9px/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.wm small i{height:1px;width:14px;background:var(--gold);opacity:.7}
.menu{display:flex;align-items:center;gap:28px;font-size:14px;color:rgba(255,255,255,.68)}
.menu a:not(.btn){position:relative;padding:6px 0;transition:color .2s;letter-spacing:.02em}
.menu a:not(.btn)::after{content:"";position:absolute;left:50%;bottom:-2px;width:5px;height:5px;background:var(--gold);transform:translateX(-50%) rotate(45deg) scale(0);transition:transform .3s var(--ease)}
.menu a:not(.btn):hover,.menu a[aria-current]{color:#fff}
.menu a[aria-current]::after,.menu a:not(.btn):hover::after{transform:translateX(-50%) rotate(45deg) scale(1)}
.btn-prime{height:44px;padding:0 20px 0 16px;font-size:13.5px;background:var(--gold-grad);color:var(--ink);position:relative;overflow:hidden;box-shadow:0 6px 20px rgba(200,163,90,.25),inset 0 1px 0 rgba(255,255,255,.45)}
.btn-prime .ico{width:17px;height:17px}
.btn-prime::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .7s var(--ease)}
.btn-prime:hover::after{left:120%}
.btn-prime:hover .ico{transform:rotate(-10deg)}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--line-d);position:relative}
.burger i{position:absolute;left:14px;right:14px;height:1.5px;background:#fff;transition:transform .3s var(--ease)}
.burger i:first-child{top:18px}.burger i:last-child{top:26px}
.burger[aria-expanded=true] i:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded=true] i:last-child{transform:translateY(-4px) rotate(-45deg)}
@media (max-width:1100px){
  .burger{display:block}
  .menu{position:fixed;inset:calc(var(--util) + var(--nav)) 0 auto;flex-direction:column;align-items:stretch;gap:0;background:var(--ink);padding:10px 24px 28px;border-bottom:1px solid var(--line-d);opacity:0;transform:translateY(-10px);pointer-events:none;transition:.3s var(--ease)}
  .menu.open{opacity:1;transform:none;pointer-events:auto}
  .menu a:not(.btn){padding:15px 0;font:400 25px var(--display);color:#fff;border-bottom:1px solid var(--line-d)}
  .menu a:not(.btn)::after{display:none}
  .menu .btn{margin-top:22px;height:52px}
}
@media (max-width:480px){.wm b{font-size:21px}.wm small{letter-spacing:.24em}}

/* reveal */
.rv{opacity:0;transform:translateY(16px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.in{opacity:1;transform:none}

/* sections */
.sec{padding:112px 0;position:relative;overflow:hidden}
.sec.tight-top{padding-top:56px}
.sec.ivory{background:var(--ivory)}
.sec.dark{background:var(--ink);color:#fff}
.khead{max-width:680px;margin-bottom:56px}
.khead .title{margin-top:16px}
.khead p{color:var(--muted);font-size:17px;margin-top:16px;max-width:560px;text-wrap:balance}
.khead.center{text-align:center;margin-inline:auto}
.khead.center p{margin-inline:auto}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.split .khead{margin-bottom:0}
.split-top{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.split-top .khead{margin-bottom:32px}
@media (max-width:900px){.split,.split-top{grid-template-columns:1fr;gap:36px}}

/* page hero */
.phero{position:relative;overflow:hidden;padding:104px 0 68px;border-bottom:1px solid var(--line)}
.phero.dark{background:var(--ink);color:#fff;border-bottom-color:var(--line-d)}
.phero.dark .lede{color:rgba(255,255,255,.62)}
.phero.dark .label{color:var(--gold)}

/* home hero + showcase */
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:104px 0 0;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(1000px 560px at 85% 8%,rgba(200,163,90,.13),transparent 62%),radial-gradient(800px 600px at 10% 90%,rgba(200,163,90,.05),transparent 60%)}
.hero .label{color:var(--gold)}
.hero .lede{color:rgba(255,255,255,.62)}
.showcase{margin-top:80px;padding-bottom:44px}
.browser{border-radius:16px;overflow:hidden;background:#1b1d22;box-shadow:0 50px 100px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.06)}
.bar{height:38px;display:flex;align-items:center;gap:7px;padding:0 16px;background:#1f2127;border-bottom:1px solid rgba(255,255,255,.05)}
.bar i{width:10px;height:10px;border-radius:50%;background:#3a3d45}
.addr{margin-left:16px;font-size:12px;color:rgba(255,255,255,.38);background:rgba(255,255,255,.05);padding:5px 14px;border-radius:999px}
.slides{position:relative;aspect-ratio:16/9;background:#111}
.slide{position:absolute;inset:0;opacity:0;transform:scale(1.025);transition:opacity 1.2s var(--ease),transform 6s linear}
.slide.on{opacity:1;transform:scale(1)}
.slide img{width:100%;height:100%;object-fit:cover;object-position:top}
.show-meta{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;margin-top:26px}
.show-n{font:400 44px/1 var(--display);color:#fff}
.show-of{font:400 18px var(--display);color:rgba(255,255,255,.4);margin-left:6px}
.show-cap b{display:block;font:400 26px/1.2 var(--display)}
.show-cap span{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.show-cap{transition:opacity .4s}
.show-cap.fade{opacity:0}
.show-ctl{display:flex;gap:10px}
.arrow-btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--line-d);display:grid;place-items:center;transition:border-color .2s,background .2s}
.arrow-btn:hover{border-color:var(--gold);background:rgba(200,163,90,.08)}
.arrow-btn .ico{width:18px;height:18px}
.dots{display:flex;gap:6px;margin-top:22px}
.dot{flex:1;height:2px;background:rgba(255,255,255,.14);border-radius:2px;position:relative;overflow:hidden;padding:0}
.dot::after{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left}
.dot.done::after{transform:scaleX(1)}
.dot.on::after{animation:fill var(--dur,5s) linear forwards}
.showcase.paused .dot.on::after{animation-play-state:paused}
@keyframes fill{to{transform:scaleX(1)}}
.show-note{margin-top:20px;font-size:13.5px;color:rgba(255,255,255,.42);display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.show-note a{color:var(--gold-hi);display:inline-flex;align-items:center;gap:6px}
@media (max-width:700px){.show-meta{grid-template-columns:1fr auto;gap:16px}.show-meta>div:first-child{display:none}.hero{padding-top:80px}.showcase{margin-top:56px}}

/* standards strip */
.standards{background:var(--ink);color:#fff;border-top:1px solid var(--line-d)}
.stds{display:grid;grid-template-columns:repeat(4,1fr)}
.stds div{padding:30px 22px 34px 0}
.stds div+div{padding-left:26px;border-left:1px solid var(--line-d)}
.stds b{display:block;font:500 22px/1.2 var(--display);color:var(--gold-hi)}
.stds span{font-size:13.5px;color:rgba(255,255,255,.5)}
@media (max-width:860px){.stds{grid-template-columns:1fr 1fr}.stds div:nth-child(3){padding-left:0;border-left:0}.stds div:nth-child(n+3){border-top:1px solid var(--line-d)}}

/* tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.tile{padding:36px 26px 38px 0;display:flex;flex-direction:column;gap:12px;border-right:1px solid var(--line);position:relative}
.tile+.tile{padding-left:26px}
.tile:last-child{border-right:0}
.tile::before{content:"";position:absolute;top:-1px;left:0;height:1px;width:0;background:var(--gold);transition:width .6s var(--ease)}
.tile+.tile::before{left:0}
.tile:hover::before{width:100%}
.tile h3{font:400 30px/1.1 var(--display);margin-top:16px}
.tile p{color:var(--muted);font-size:15.5px}
.tile .more{margin-top:auto;padding-top:20px;display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--gold-lo)}
.tile .more .ico{transition:transform .3s var(--ease)}
.tile:hover .more .ico{transform:translateX(4px)}
@media (max-width:960px){.tiles{grid-template-columns:1fr 1fr}.tile:nth-child(2){border-right:0}.tile:nth-child(3){padding-left:0}.tile:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:560px){.tiles{grid-template-columns:1fr}.tile,.tile+.tile{padding:28px 0;border-right:0;border-top:1px solid var(--line)}.tile:first-child{border-top:0}}

/* mission */
.mission-band{background:var(--ivory);padding:104px 0;text-align:center;border-top:1px solid var(--line)}
.mb-in blockquote{font:italic 400 clamp(28px,3.2vw,42px)/1.25 var(--display);max-width:900px;margin:20px auto 28px;text-wrap:balance}
.statement{text-align:center;max-width:900px}
.big-quote{font:400 clamp(28px,3.1vw,40px)/1.3 var(--display);margin:22px 0 26px;text-wrap:balance}
.sig{font:italic 400 22px/1.5 var(--display);color:var(--gold-lo);text-wrap:balance}
.vals{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}
.val{border-top:1px solid var(--line);padding-top:26px}
.val h3{font:400 30px/1.1 var(--display);margin:14px 0 10px}
.val p{color:var(--muted);font-size:15px}
@media (max-width:960px){.vals{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.vals{grid-template-columns:1fr}}

/* CTA band */
.cta-band{background:var(--ink);color:#fff;text-align:center;padding:108px 0 116px;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;width:900px;height:900px;left:50%;top:-560px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(200,163,90,.13),transparent 62%)}
.cta-band .title{max-width:820px;margin:16px auto 14px}
.cta-band p{color:rgba(255,255,255,.58)}
.cta-band .ctas{justify-content:center}

/* tabs */
.tablist{display:flex;gap:6px;flex-wrap:wrap;padding:6px;border:1px solid var(--line);border-radius:999px;width:max-content;max-width:100%;margin-bottom:44px;background:var(--white)}
.tablist button{height:42px;padding:0 20px;border-radius:999px;font-size:14px;font-weight:500;color:var(--muted);transition:background .3s var(--ease),color .3s}
.tablist button:hover{color:var(--text)}
.tablist button[aria-selected=true]{background:var(--ink);color:#fff;box-shadow:inset 0 -2px 0 var(--gold)}
.tabs.dark .tablist{background:rgba(255,255,255,.04);border-color:var(--line-d)}
.tabs.dark .tablist button{color:rgba(255,255,255,.6)}
.tabs.dark .tablist button:hover{color:#fff}
.tabs.dark .tablist button[aria-selected=true]{background:var(--gold-grad);color:var(--ink);box-shadow:none}
[role=tabpanel]{animation:panel .55s var(--ease)}
@keyframes panel{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:760px){.tablist{border-radius:18px;width:100%}.tablist button{flex:1 1 auto;padding:0 14px}}
.panel-lede{color:rgba(255,255,255,.62);max-width:680px;margin-bottom:36px;font-size:16.5px}

/* services */
.svc{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;min-height:330px}
.svc h3{font:400 clamp(36px,3.6vw,48px)/1.05 var(--display);margin:14px 0 12px}
.svc-lede{color:var(--muted);font-size:17px}
.hood{margin-top:30px;padding:24px 26px;border-left:2px solid var(--gold);background:var(--ivory);border-radius:0 14px 14px 0}
.hood p{margin-top:10px;font-size:15px;color:var(--text)}
.ticks{list-style:none;display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}
.ticks li{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.ticks .ico{width:17px;height:17px;margin-top:3px;color:var(--gold-lo)}
.sec.dark .ticks,.dark-f .ticks{border-top-color:var(--line-d)}
.sec.dark .ticks li,.dark-f .ticks li{border-bottom-color:var(--line-d)}
@media (max-width:860px){.svc{grid-template-columns:1fr;gap:28px;min-height:0}}
.cases{display:grid;grid-template-columns:1fr 1fr;gap:0 56px;border-top:1px solid var(--line)}
.case{padding:26px 0;border-bottom:1px solid var(--line)}
.case .q{font:400 24px/1.25 var(--display)}
.case .a{display:flex;gap:10px;color:var(--muted);margin-top:8px;font-size:15px}
.case .a .ico{color:var(--gold-lo);margin-top:4px}
@media (max-width:860px){.cases{grid-template-columns:1fr}}

/* security */
.grid6{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-d);border-left:1px solid var(--line-d)}
.g6{padding:30px 30px 34px;border-right:1px solid var(--line-d);border-bottom:1px solid var(--line-d);transition:background .3s}
.g6:hover{background:rgba(200,163,90,.05)}
.g6 .roman,.grid4 .roman,.thr .roman{color:var(--gold)}
.g6 h4,.thr h4{font:400 27px/1.15 var(--display);margin:12px 0 8px;color:#fff}
.g6 p{color:rgba(255,255,255,.58);font-size:15px}
.threats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.thr{padding:28px 26px;border:1px solid var(--line-d);border-radius:16px;background:rgba(255,255,255,.025)}
.thr h4{margin-top:0}
.thr p{color:rgba(255,255,255,.55);font-size:14.5px}
.thr .fix{display:flex;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-d);color:#fff}
.thr .fix .ico{color:var(--gold);margin-top:3px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-d)}
.grid4>div{padding:28px 24px 0 0}
.grid4 h4{font:400 27px/1.15 var(--display);margin:12px 0 8px}
.grid4 p{font-size:15px;color:rgba(255,255,255,.58)}
.sec.ivory .grid4{border-top-color:var(--line)}
.sec.ivory .grid4 .roman{color:var(--gold-lo)}
.sec.ivory .grid4 p{color:var(--muted)}
.asm-cta{display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;justify-content:space-between;margin-top:44px;padding:26px 30px;border:1px solid rgba(200,163,90,.35);border-radius:18px;background:rgba(200,163,90,.06)}
.asm-cta p{font:400 23px/1.3 var(--display)}
@media (max-width:960px){.grid6,.threats{grid-template-columns:1fr 1fr}.grid4{grid-template-columns:1fr 1fr;row-gap:28px}}
@media (max-width:600px){.grid6,.threats,.grid4{grid-template-columns:1fr}}

/* AI */
.ai-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ai-card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:32px 30px 34px;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s}
.ai-card:hover{transform:translateY(-3px);box-shadow:0 24px 48px rgba(13,14,17,.08);border-color:rgba(200,163,90,.45)}
.ai-card h3{font:400 28px/1.15 var(--display);margin:16px 0 8px}
.ai-card p{color:var(--muted);font-size:15px}
@media (max-width:960px){.ai-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.ai-grid{grid-template-columns:1fr}}
.sec.dark .khead .label{color:var(--gold)}
.offers{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.offer{display:flex;flex-direction:column;padding:40px 38px;border:1px solid var(--line-d);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));position:relative;overflow:hidden}
.offer:first-child{border-color:rgba(200,163,90,.45);background:radial-gradient(circle at 85% 0%,rgba(200,163,90,.16),transparent 55%),rgba(255,255,255,.02)}
.offer .label{color:var(--gold)}
.offer h3{font:400 clamp(32px,3vw,40px)/1.1 var(--display);margin:14px 0 18px}
.o-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.o-price b{font:400 clamp(44px,4.4vw,58px)/1 var(--display);background:linear-gradient(180deg,#fff,#e6d2a2);-webkit-background-clip:text;background-clip:text;color:transparent}
.o-price span{color:rgba(255,255,255,.55);font-size:14.5px}
.offer .ticks{border-top-color:var(--line-d);margin-bottom:28px}
.offer .ticks li{border-bottom-color:var(--line-d);color:rgba(255,255,255,.88)}
.offer .ticks .ico{color:var(--gold)}
.o-foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.soon{font-size:13px;letter-spacing:.06em;color:rgba(255,255,255,.5)}
@media (max-width:860px){.offers{grid-template-columns:1fr}.offer{padding:32px 24px}}
.how{border-top:1px solid var(--line)}
.how-i{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:22px 0;border-bottom:1px solid var(--line)}
.how-i .roman{padding-top:6px}
.how-i h4{font:400 26px/1.15 var(--display);margin-bottom:4px}
.how-i p{color:var(--muted);font-size:15px}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.feature .title{margin:16px 0 18px}
.feature p{color:var(--muted);margin-bottom:30px;max-width:520px}
.dark-f p{color:rgba(255,255,255,.62)}
.dark-f .label{color:var(--gold)}
.illo-wrap{border:1px solid var(--line-d);border-radius:22px;background:radial-gradient(circle at 50% 40%,rgba(200,163,90,.08),transparent 70%),var(--ink-2);padding:24px}
@media (max-width:860px){.feature{grid-template-columns:1fr;gap:36px}}

/* work */
.caps{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cap{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--white);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.cap:hover{transform:translateY(-3px);box-shadow:0 26px 54px rgba(13,14,17,.1)}
.cap-art{background:radial-gradient(circle at 50% 35%,rgba(200,163,90,.1),transparent 70%),var(--ink);padding:22px 26px 14px;border-bottom:1px solid rgba(200,163,90,.25)}
.illo{width:100%;height:auto;display:block}
.cap-body{padding:28px 30px 30px}
.cap-body h3{font:400 30px/1.1 var(--display);margin:12px 0 16px}
.cap dl{display:grid;gap:12px}
.cap dt{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2)}
.cap dd{font-size:15px;color:var(--text);margin-top:3px}
.cap-out{display:flex;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font:500 19px/1.3 var(--display)}
.cap-out .ico{color:var(--gold-lo);margin-top:3px}
@media (max-width:860px){.caps{grid-template-columns:1fr}}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 28px}
.cw-img{border-radius:14px;overflow:hidden;background:#ddd;box-shadow:0 1px 2px rgba(13,14,17,.06),0 20px 44px rgba(13,14,17,.11);aspect-ratio:16/10}
.cw-img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1.2s var(--ease)}
.card-work:hover .cw-img img{transform:scale(1.04)}
.cw-meta{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:baseline;margin-top:18px}
.cw-meta .roman{grid-row:span 2;font-style:normal;font-size:16px}
.cw-meta b{font:400 24px/1.2 var(--display)}
.cw-meta span:last-child{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2)}
@media (max-width:960px){.work-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.work-grid{grid-template-columns:1fr}}

/* websites */
.plan{display:grid;grid-template-columns:1fr 1fr;border-radius:26px;overflow:hidden;border:1px solid var(--line);background:var(--white)}
.plan-l{background:var(--ink);color:#fff;padding:52px;position:relative;overflow:hidden}
.plan-l::after{content:"";position:absolute;width:520px;height:520px;right:-240px;bottom:-280px;border-radius:50%;background:radial-gradient(circle,rgba(200,163,90,.22),transparent 65%)}
.plan-l .label{color:var(--gold)}
.price{display:flex;align-items:flex-end;gap:14px;margin:30px 0 6px;flex-wrap:wrap}
.price b{font:400 96px/.85 var(--display);letter-spacing:-.02em}
.price span{color:rgba(255,255,255,.55);padding-bottom:10px}
.price-2{font-size:17px;color:rgba(255,255,255,.8)}
.price-2 b{font:400 28px var(--display);color:var(--gold)}
.plan-sub{color:rgba(255,255,255,.5);font-size:14.5px;margin:18px 0 30px;max-width:340px}
.plan-r{padding:52px}
.inc{list-style:none;margin-top:16px}
.inc li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.inc li:last-child{border-bottom:0}
.inc .ico{width:18px;height:18px;margin-top:3px;color:var(--gold-lo)}
.inc b{display:block;font-weight:600}
.inc span{color:var(--muted);font-size:14.5px}
@media (max-width:860px){.plan{grid-template-columns:1fr}.plan-l,.plan-r{padding:36px 26px}.price b{font-size:76px}}
.minis{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:56px 0 32px}
.mini{border-radius:12px;overflow:hidden;box-shadow:0 14px 34px rgba(13,14,17,.12);transition:transform .5s var(--ease)}
.mini:hover{transform:translateY(-4px)}
@media (max-width:760px){.minis{grid-template-columns:1fr 1fr}}

/* contact */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.book-card{display:block;text-align:center;padding:34px 28px;border-radius:22px;background:var(--ink);color:#fff;position:relative;overflow:hidden;box-shadow:0 24px 50px rgba(13,14,17,.16)}
.book-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(200,163,90,.22),transparent 60%)}
.book-card .label{color:var(--gold);position:relative}
.book-card b{position:relative;display:block;font:500 clamp(24px,2.4vw,31px)/1.2 var(--display);margin:6px 0 10px;word-break:break-word;background:linear-gradient(180deg,#fff,#ead9b0);-webkit-background-clip:text;background-clip:text;color:transparent}
.bc-sub{position:relative;display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:rgba(255,255,255,.6)}
.book-card:hover .bc-sub{color:var(--gold-hi)}
.direct{border-top:1px solid var(--line);margin-top:26px}
.direct>*{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.direct span{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2)}
.direct b{font:400 22px var(--display);text-align:right}
.direct a:hover b{color:var(--gold-lo)}
.faq-mini{margin-top:30px}
form{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;box-shadow:0 30px 70px rgba(13,14,17,.07)}
.form-h{font:400 28px/1.1 var(--display);margin-bottom:4px}
form .full{grid-column:1/-1}
form label{display:grid;gap:8px;font-size:12.5px;font-weight:600;letter-spacing:.04em;align-content:start}
form label em{font-style:normal;font-weight:400;color:var(--muted-2)}
input,select,textarea{font:15px var(--sans);color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:13px 15px;width:100%;transition:border-color .2s,box-shadow .2s,background .2s}
textarea{min-height:130px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold-lo);background:#fff;box-shadow:0 0 0 4px rgba(200,163,90,.16)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
form .btn{width:100%;height:56px}
form .fine{margin:0;text-align:center}
.form-msg{display:none;padding:13px 16px;border-radius:12px;font-size:14.5px;background:#fbeeee;color:#8a2a2a}
.form-msg.show{display:block}
.sent{display:none;text-align:center;padding:60px 20px;background:var(--white);border:1px solid var(--line);border-radius:24px}
.sent h3{font:400 44px/1.1 var(--display);margin:14px 0 10px}
.sent p{color:var(--muted)}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px}form{grid-template-columns:1fr;padding:28px 22px}}
details{border-bottom:1px solid var(--line)}
details:first-of-type{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font:400 21px/1.3 var(--display)}
summary::-webkit-details-marker{display:none}
.pm{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:transform .3s var(--ease),background .3s,color .3s}
.pm .ico{width:13px;height:13px}
details[open] .pm{transform:rotate(45deg);background:var(--ink);color:#fff;border-color:var(--ink)}
details p{padding:0 40px 20px 0;color:var(--muted);font-size:15px}

/* footer */
.ftr{background:var(--ink);color:rgba(255,255,255,.5);font-size:14px;padding-top:44px}
.ftr .gemrule{margin:0 auto}
.ftr-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:48px;padding:44px 0 52px}
.ftr-tag{margin-top:18px;max-width:320px;line-height:1.6}
.ftr nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;align-content:start}
.ftr nav a:hover,.ftr-contact a:hover{color:#fff}
.ftr-contact{display:grid;gap:10px;align-content:start}
.ftr-contact .label{color:var(--gold)}
.ftr-mail{font:500 21px var(--display);color:#fff}
.ftr-base{display:flex;justify-content:space-between;gap:16px;padding:22px 0 30px;border-top:1px solid var(--line-d);font-size:12.5px;letter-spacing:.06em}
@media (max-width:860px){.ftr-grid{grid-template-columns:1fr;gap:32px}}

/* AI assistant */
.gra{position:fixed;right:22px;bottom:22px;z-index:60;font-size:15px}
.gra-fab{display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 22px 0 18px;border-radius:999px;background:var(--ink);color:#fff;border:1px solid rgba(200,163,90,.5);box-shadow:0 14px 36px rgba(13,14,17,.32);font-weight:600;font-size:14px;transition:transform .3s var(--ease),box-shadow .3s}
.gra-fab .ico{width:20px;height:20px;color:var(--gold);animation:twinkle 3.2s ease-in-out infinite}
.gra-fab:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(13,14,17,.4)}
@keyframes twinkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.18) rotate(20deg)}}
.gra-panel{position:absolute;right:0;bottom:70px;width:min(390px,calc(100vw - 32px));height:min(560px,calc(100vh - 150px));display:flex;flex-direction:column;background:var(--paper);border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:0 40px 90px rgba(13,14,17,.3);animation:pop .35s var(--ease)}
.gra-panel[hidden]{display:none}
@keyframes pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.gra-panel header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:var(--ink);color:#fff;border-bottom:1px solid rgba(200,163,90,.3)}
.gra-id{display:flex;gap:12px;align-items:center}
.gra-id .mark{width:34px;height:34px}
.gra-id b{display:block;font:500 20px/1.1 var(--display)}
.gra-id span{display:flex;align-items:center;gap:7px;font-size:11.5px;color:rgba(255,255,255,.55)}
.live{width:7px;height:7px;border-radius:50%;background:#5bd18b;box-shadow:0 0 0 3px rgba(91,209,139,.18)}
.gra-x{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:rgba(255,255,255,.7)}
.gra-x:hover{background:rgba(255,255,255,.08);color:#fff}
.gra-log{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:12px}
.msg{max-width:88%;padding:11px 14px;border-radius:16px;font-size:14.5px;line-height:1.55}
.msg.ai{background:var(--white);border:1px solid var(--line);border-bottom-left-radius:5px;align-self:flex-start}
.msg.me{background:var(--ink);color:#fff;border-bottom-right-radius:5px;align-self:flex-end}
.msg p+p{margin-top:8px}
.msg a{color:var(--gold-lo);font-weight:600;border-bottom:1px solid rgba(200,163,90,.5)}
.msg .go{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:7px 13px;border-radius:999px;background:var(--ink);color:#fff;border:0;font-size:13px}
.msg .go .ico{width:14px;height:14px;color:var(--gold)}
.typing{display:inline-flex;gap:4px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.gra-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}
.gra-chips button{padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--white);font-size:13px;color:var(--text);transition:border-color .2s,background .2s}
.gra-chips button:hover{border-color:var(--gold);background:#fffaf0}
.gra-form{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--line);background:var(--white)}
.gra-form input{flex:1;padding:12px 14px;border-radius:999px;background:var(--paper)}
.gra-form button{width:46px;height:46px;flex:none;border-radius:50%;background:var(--gold-grad);color:var(--ink);display:grid;place-items:center}
.gra-form button .ico{width:18px;height:18px}
.gra-fine{padding:0 16px 12px;font-size:11.5px;color:var(--muted-2);background:var(--white)}
.gra-fine a{color:var(--gold-lo)}
@media (max-width:520px){.gra{right:14px;bottom:14px}.gra-fab span{display:none}.gra-fab{width:54px;padding:0;justify-content:center}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .orn .ln{stroke-dashoffset:0;animation:none!important}
  .orn .spin,.gra-fab .ico{animation:none}
  .slide{transition:opacity .01s}
  [role=tabpanel]{animation:none}
}

/* mission button on the ivory band */
.mission-btn{margin-top:8px}
.mission-btn .ico{color:var(--gold)}

/* themed hero art (shared) */
.orn-theme{opacity:.55}
.orn .pad{fill:var(--gold);opacity:0}
.orn.in .pad{animation:bloom .8s var(--ease) 1.6s forwards}
@keyframes bloom{to{opacity:.9}}

/* ===== Security theme: the vault (midnight navy, steel cyan, blueprint grid) ===== */
.pg-security{--sec:#6cc4d4;--sec-lo:#3f8fa0;--vault:#0a111c;--vault-2:#0f1826}
.pg-security .phero.dark,.pg-security .sec.dark{background:var(--vault)}
.pg-security .phero.dark{background:radial-gradient(900px 520px at 80% 20%,rgba(108,196,212,.12),transparent 60%),var(--vault)}
.pg-security .phero.dark::before,.pg-security .sec.dark::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(108,196,212,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(108,196,212,.06) 1px,transparent 1px);
  background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at 70% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 70% 40%,#000 20%,transparent 75%)}
.pg-security .phero .wrap,.pg-security .sec.dark .wrap{position:relative;z-index:1}
.pg-security .orn .ln{stroke:var(--sec)}
.pg-security .orn .ln.gem{stroke:var(--gold)}
.pg-security .orn .pad{fill:var(--sec)}
.pg-security .orn .scan{fill:none;stroke:var(--sec);stroke-width:1;vector-effect:non-scaling-stroke;opacity:0;transform-origin:260px 263px;animation:scan 4.5s ease-out 2s infinite}
@keyframes scan{0%{opacity:.5;transform:scale(.3)}100%{opacity:0;transform:scale(1.05)}}
.pg-security .phero.dark .label,.pg-security .sec.dark .label{color:var(--sec);font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;letter-spacing:.14em}
.pg-security .phero.dark .label::before,.pg-security .sec.dark .khead .label::before{content:"// "}
.pg-security .display em{color:var(--sec)}
.pg-security .tabs.dark .tablist{border-color:rgba(108,196,212,.22);background:rgba(108,196,212,.04)}
.pg-security .tabs.dark .tablist button[aria-selected=true]{background:linear-gradient(135deg,#8fd6e2,#4fa8ba);color:#06121a}
.pg-security .g6 .roman,.pg-security .grid4 .roman{color:var(--sec);font-family:ui-monospace,Consolas,monospace;font-style:normal;font-size:13px;letter-spacing:.1em}
.pg-security .grid6{border-color:rgba(108,196,212,.16)}
.pg-security .g6{border-color:rgba(108,196,212,.16)}
.pg-security .g6:hover{background:rgba(108,196,212,.06)}
.pg-security .thr{border-color:rgba(108,196,212,.16);border-left:2px solid var(--sec);background:rgba(108,196,212,.03)}
.pg-security .thr .fix .ico{color:var(--sec)}
.pg-security .asm-cta{border-color:rgba(108,196,212,.35);background:rgba(108,196,212,.06)}
.pg-security .panel-lede{border-left:2px solid var(--sec);padding-left:18px}
.pg-security .sec.ivory{background:#eef2f4}
.pg-security .sec.ivory .ticks .ico{color:var(--sec-lo)}
.pg-security .cta-band{background:radial-gradient(900px 500px at 50% 0%,rgba(108,196,212,.12),transparent 60%),var(--vault)}
.pg-security .cta-band::before{display:none}

/* ===== AI theme: the network (deep ink-violet, lavender glow, dot grid) ===== */
.pg-ai{--ai:#ab9cff;--ai-lo:#6f5fd6;--deep:#0d0b16}
.pg-ai .phero.dark{background:radial-gradient(800px 480px at 78% 30%,rgba(171,156,255,.18),transparent 60%),radial-gradient(600px 400px at 15% 100%,rgba(200,163,90,.08),transparent 60%),var(--deep)}
.pg-ai .phero.dark::before,.pg-ai .sec.dark::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(171,156,255,.22) 1px,transparent 1.4px);background-size:26px 26px;
  -webkit-mask-image:radial-gradient(ellipse at 70% 40%,#000 15%,transparent 70%);mask-image:radial-gradient(ellipse at 70% 40%,#000 15%,transparent 70%)}
.pg-ai .phero .wrap,.pg-ai .sec.dark .wrap{position:relative;z-index:1}
.pg-ai .sec.dark{background:var(--deep)}
.pg-ai .orn .ln{stroke:var(--ai)}
.pg-ai .orn .ring{fill:none;stroke:var(--ai);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.35}
.pg-ai .orn .node{fill:var(--gold);opacity:0;transform-box:fill-box;transform-origin:center}
.pg-ai .orn.in .node{animation:nodeIn .6s var(--ease) calc(1s + var(--i) * 70ms) forwards,pulse 3.2s ease-in-out calc(2.4s + var(--i) * 230ms) infinite}
@keyframes nodeIn{to{opacity:1}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.35)}}
.pg-ai .phero.dark .label,.pg-ai .sec.dark .label{color:var(--ai)}
.pg-ai .display em{background:linear-gradient(90deg,var(--gold-hi),var(--ai));-webkit-background-clip:text;background-clip:text;color:transparent}
.pg-ai .ai-card{position:relative;overflow:hidden}
.pg-ai .ai-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--gold),var(--ai))}
.pg-ai .ai-card .roman{color:var(--ai-lo)}
.pg-ai .ai-card:hover{border-color:rgba(171,156,255,.5);box-shadow:0 24px 48px rgba(111,95,214,.12)}
.pg-ai .offer{border-color:rgba(171,156,255,.2);background:linear-gradient(180deg,rgba(171,156,255,.06),rgba(255,255,255,.01))}
.pg-ai .offer:first-child{border-color:rgba(200,163,90,.45)}
.pg-ai .offer .ticks .ico{color:var(--ai)}
.pg-ai .offer:first-child .ticks .ico{color:var(--gold)}
.pg-ai .sec.ivory{background:#f3f1fa}
.pg-ai .how-i .roman{color:var(--ai-lo)}
.pg-ai .illo-wrap{border-color:rgba(171,156,255,.22);background:radial-gradient(circle at 50% 40%,rgba(171,156,255,.12),transparent 70%),#120f1e}
.pg-ai .cta-band{background:radial-gradient(900px 500px at 50% 0%,rgba(171,156,255,.16),transparent 60%),var(--deep)}
.pg-ai .cta-band::before{display:none}

@media (prefers-reduced-motion:reduce){
  .orn .pad,.pg-ai .orn .node{opacity:1;animation:none!important}
  .pg-security .orn .scan{animation:none}
}

/* ===== Page themes: Services (operations), Websites (studio), Work (gallery), Mission (heritage) ===== */
.pg-services{--acc:#5ccf95;--acc-hi:#8fe3b8;--acc-lo:#2b8a5f;--bg:#09130f;--tint:#eef5f1}
.pg-websites{--acc:#e8a07f;--acc-hi:#f2c1a8;--acc-lo:#b0603f;--bg:#160f0c;--tint:#f8efe9}
.pg-work{--acc:#d7dde6;--acc-hi:#f1f4f8;--acc-lo:#66717f;--bg:#0f1012;--tint:#f0f1f3}
.pg-mission{--acc:#d68f99;--acc-hi:#ebb6bd;--acc-lo:#8e3d4a;--bg:#140a0d;--tint:#f6eeee}
:is(.pg-services,.pg-websites,.pg-work,.pg-mission) .phero.dark{background:radial-gradient(900px 520px at 80% 25%,color-mix(in srgb,var(--acc) 15%,transparent),transparent 60%),var(--bg)}
:is(.pg-services,.pg-websites,.pg-work,.pg-mission) .phero.dark::before{content:"";position:absolute;inset:0;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse at 70% 40%,#000 15%,transparent 72%);mask-image:radial-gradient(ellipse at 70% 40%,#000 15%,transparent 72%)}
:is(.pg-services,.pg-websites,.pg-work,.pg-mission) .phero .wrap{position:relative;z-index:1}
:is(.pg-services,.pg-websites,.pg-work,.pg-mission) .phero.dark .label{color:var(--acc)}
:is(.pg-services,.pg-websites,.pg-work,.pg-mission) .display em{color:var(--acc-hi)}
:is(.pg-services,.pg-websites,.pg-work,.pg-mission) .orn .ln{stroke:var(--acc)}
:is(.pg-services,.pg-websites,.pg-mission) .orn .ln.gem{stroke:var(--gold)}
.pg-work .orn .ln.gem{stroke:var(--acc-hi)}
:is(.pg-services,.pg-websites,.pg-work,.pg-mission) .orn .pad{fill:var(--acc)}
:is(.pg-services,.pg-websites,.pg-work,.pg-mission) .sec.ivory,.pg-mission .mission-band{background:var(--tint)}
:is(.pg-services,.pg-websites,.pg-work,.pg-mission) .roman{color:var(--acc-lo)}
:is(.pg-services,.pg-websites,.pg-work,.pg-mission) .ticks .ico,:is(.pg-services,.pg-websites,.pg-work,.pg-mission) .inc .ico,:is(.pg-services,.pg-websites,.pg-work,.pg-mission) .case .a .ico,.pg-work .cap-out .ico{color:var(--acc-lo)}
:is(.pg-services,.pg-websites,.pg-work,.pg-mission) .tablist button[aria-selected=true]{background:var(--bg);box-shadow:inset 0 -2px 0 var(--acc)}
:is(.pg-services,.pg-websites,.pg-work,.pg-mission) .cta-band{background:radial-gradient(900px 500px at 50% 0%,color-mix(in srgb,var(--acc) 14%,transparent),transparent 60%),var(--bg)}
:is(.pg-services,.pg-websites,.pg-work,.pg-mission) .cta-band::before{display:none}
:is(.pg-services,.pg-websites,.pg-work,.pg-mission) .gemrule svg{fill:var(--acc)}

/* Services: circuit-board traces + blinking status LEDs */
.pg-services .phero.dark::before{background-image:linear-gradient(90deg,rgba(92,207,149,.08) 1px,transparent 1px),linear-gradient(rgba(92,207,149,.05) 1px,transparent 1px);background-size:60px 60px,60px 20px}
.pg-services .orn .led{fill:var(--acc);opacity:0}
.pg-services .orn.in .led{animation:led 2.4s ease-in-out calc(1.4s + var(--i) * .37s) infinite}
@keyframes led{0%,100%{opacity:.25}45%{opacity:1}55%{opacity:.85}}
.pg-services .hood{border-left-color:var(--acc);background:var(--tint)}
.pg-services .svc h3{position:relative}
.pg-services [role=tabpanel] .roman::after{content:" \25CF  online";font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--acc-lo);margin-left:10px;font-style:normal}

/* Websites: designer's canvas */
.pg-websites .phero.dark::before{background-image:linear-gradient(rgba(232,160,127,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(232,160,127,.07) 1px,transparent 1px);background-size:24px 24px}
.pg-websites .plan-l{background:radial-gradient(circle at 100% 100%,rgba(232,160,127,.2),transparent 55%),var(--bg)}
.pg-websites .plan-l::after{display:none}
.pg-websites .price-2 b{color:var(--acc-hi)}
.pg-websites .mini{outline:1px solid rgba(232,160,127,.35);outline-offset:4px}

/* Work: spotlight gallery */
.pg-work .orn .beam{fill:url(#beam);opacity:0}
.pg-work .orn.in .beam{animation:beamOn 2.4s ease-out .6s forwards}
@keyframes beamOn{to{opacity:1}}
.pg-work .phero.dark{background:radial-gradient(500px 420px at 78% 10%,rgba(240,244,248,.12),transparent 65%),var(--bg)}
.pg-work .cap-art{background:radial-gradient(circle at 50% 0%,rgba(240,244,248,.1),transparent 60%),var(--bg);border-bottom-color:rgba(215,221,230,.25)}
.pg-work .cap .label{color:var(--acc-lo)}
.pg-work .card-work .cw-img{outline:1px solid rgba(15,16,18,.08)}

/* Mission: heritage compass */
.pg-mission .phero.dark::before{background-image:repeating-radial-gradient(circle at 78% 45%,rgba(214,143,153,.07) 0 1px,transparent 1px 34px)}
.pg-mission .orn .nmark{font:500 30px var(--display);fill:var(--gold);opacity:0}
.pg-mission .orn.in .nmark{animation:bloom 1s var(--ease) 1.8s forwards}
.pg-mission .orn-theme{opacity:.6}
.pg-mission .big-quote{color:var(--text)}
.pg-mission .sig{color:var(--acc-lo)}
.pg-mission .val{border-top-color:color-mix(in srgb,var(--acc-lo) 40%,transparent)}

/* Contact: concierge (royal sapphire + gold wax seal) */
.pg-contact{--acc:#8fa8f5;--acc-hi:#b9c9fa;--acc-lo:#3f5bb8;--bg:#0b0f1d;--tint:#eff2fb}
.pg-contact .phero.dark{background:radial-gradient(900px 520px at 78% 30%,rgba(143,168,245,.16),transparent 60%),var(--bg)}
.pg-contact .phero.dark::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(135deg,rgba(143,168,245,.05) 0 1px,transparent 1px 22px);-webkit-mask-image:radial-gradient(ellipse at 70% 40%,#000 15%,transparent 72%);mask-image:radial-gradient(ellipse at 70% 40%,#000 15%,transparent 72%)}
.pg-contact .phero .wrap{position:relative;z-index:1}
.pg-contact .phero.dark .label{color:var(--acc)}
.pg-contact .display em{color:var(--acc-hi)}
.pg-contact .orn .ln{stroke:var(--acc)}
.pg-contact .orn .ln.gem{stroke:var(--gold)}
.pg-contact .orn .pad{fill:var(--gold)}
.pg-contact .orn .seal{fill:url(#gold);opacity:0;transform-box:fill-box;transform-origin:center}
.pg-contact .orn .seal-mark{fill:none;stroke:#5a3f12;stroke-width:1.4;stroke-linejoin:round;opacity:0}
.pg-contact .orn.in .seal{animation:stamp .7s cubic-bezier(.3,1.6,.5,1) 2s forwards}
.pg-contact .orn.in .seal-mark{animation:bloom .6s ease 2.5s forwards}
@keyframes stamp{0%{opacity:0;transform:scale(1.8)}100%{opacity:1;transform:scale(1)}}
.pg-contact .book-card{background:radial-gradient(circle at 50% 0%,rgba(143,168,245,.22),transparent 60%),var(--bg)}
.pg-contact .book-card::before{background:radial-gradient(circle at 50% 120%,rgba(200,163,90,.18),transparent 60%)}
.pg-contact .sec.ivory{background:var(--tint)}
.pg-contact form{border-top:3px solid var(--acc-lo)}
.pg-contact input:focus,.pg-contact select:focus,.pg-contact textarea:focus{border-color:var(--acc-lo);box-shadow:0 0 0 4px rgba(143,168,245,.2)}
.pg-contact .direct a:hover b{color:var(--acc-lo)}
.pg-contact details[open] .pm{background:var(--acc-lo);border-color:var(--acc-lo)}
.pg-contact .gemrule svg{fill:var(--gold)}
@media (prefers-reduced-motion:reduce){.pg-contact .orn .seal,.pg-contact .orn .seal-mark{opacity:1;animation:none!important}}

/* promo video */
.promo{background:var(--ink);color:#fff;padding:96px 0 104px;border-top:1px solid var(--line-d)}
.promo.light{background:var(--ivory);color:var(--text);border-top:0}
.promo-in{display:grid;grid-template-columns:.75fr 1.25fr;gap:56px;align-items:center}
.promo .label{color:var(--gold)}
.promo.light .label{color:var(--acc-lo,var(--gold-lo))}
.promo .title{margin:14px 0 14px}
.promo p{color:rgba(255,255,255,.62)}
.promo.light p{color:var(--muted)}
.promo-frame{border-radius:18px;overflow:hidden;background:#000;box-shadow:0 40px 80px rgba(0,0,0,.4),0 0 0 1px rgba(200,163,90,.35)}
.promo.light .promo-frame{box-shadow:0 30px 60px rgba(13,14,17,.18),0 0 0 1px rgba(13,14,17,.08)}
.promo video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000}
@media (max-width:900px){.promo-in{grid-template-columns:1fr;gap:28px}.promo{padding:72px 0 80px}}
.promo-offer{margin-top:18px;padding:14px 18px;border-left:2px solid var(--gold);background:rgba(200,163,90,.08);border-radius:0 12px 12px 0;font-size:14.5px}
.promo .promo-offer{color:rgba(255,255,255,.8)}
.promo.light .promo-offer{color:var(--text)}
.promo-offer b{color:var(--gold-hi);font-weight:600}
.promo.light .promo-offer b{color:var(--gold-lo)}
