/* ================================================================
   استاد بولت بهمنی — v2 design system
   Editorial-industrial luxury. Warm ink × machined brass.
   Flat surfaces, chamfered corners, foil type, drawing-in-gold.
   ================================================================ */

@font-face{font-family:'Morabba';src:url('../fonts/MorabbaVF.woff2') format('woff2-variations');font-weight:100 900;font-display:swap;}
@font-face{font-family:'Vazirmatn';src:url('../fonts/Vazirmatn-Regular.woff2') format('woff2');font-weight:400;font-display:swap;}
@font-face{font-family:'Vazirmatn';src:url('../fonts/Vazirmatn-Medium.woff2') format('woff2');font-weight:500;font-display:swap;}
@font-face{font-family:'Vazirmatn';src:url('../fonts/Vazirmatn-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap;}
@font-face{font-family:'Vazirmatn';src:url('../fonts/Vazirmatn-Bold.woff2') format('woff2');font-weight:700;font-display:swap;}
@font-face{font-family:'Mono';src:url('../fonts/JetBrainsMono-Bold.woff2') format('woff2');font-weight:700;font-display:swap;}

:root{
  --ink:#0B0906;
  --ink2:#110E08;
  --plate:#171208;
  --gold:#C9A227;
  --gold2:#EFCF6F;
  --bronze:#8A6D1E;
  --paper:#F4ECD9;
  --mute:#B0A587;
  --dim:#7A7158;
  --line:rgba(206,166,60,.15);
  --line2:rgba(206,166,60,.36);
  --foil:linear-gradient(105deg,#8A6D1E 0%,#E9C864 28%,#C9A227 52%,#F5E3A0 74%,#93741F 100%);
  --disp:'Morabba','Vazirmatn',sans-serif;
  --body:'Vazirmatn',sans-serif;
  --mono:'Mono','Courier New',monospace;
  --wrap:1240px;
  --pad:26px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
html,body{overflow-x:clip;}
body{background:var(--ink);color:var(--paper);font-family:var(--body);font-size:16.5px;line-height:1.95;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
::selection{background:var(--gold);color:var(--ink);}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px;}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--pad);}
.mono{font-family:var(--mono);font-weight:700;direction:ltr;unicode-bidi:isolate;letter-spacing:.05em;}

/* machined chamfer */
.cut{clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);}
.cut-s{clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);}

/* foil text */
.foil{background:var(--foil);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:foil 2.6s ease .3s 1 both;}
@keyframes foil{from{background-position:130% 0;}to{background-position:0% 0;}}

/* drafting grid */
.grid-bg{background-image:
  repeating-linear-gradient(0deg, rgba(206,166,60,.05) 0 1px, transparent 1px 90px),
  repeating-linear-gradient(90deg, rgba(206,166,60,.05) 0 1px, transparent 1px 90px);}

/* gold duotone photo */
.duo{filter:grayscale(1) sepia(.55) hue-rotate(-12deg) saturate(1.55) brightness(.72) contrast(1.08);}

/* thread divider */
.thread-div{height:14px;margin:0;border:0;position:relative;overflow:hidden;}
.thread-div::before{content:"";position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14' viewBox='0 0 28 14'%3E%3Cpath d='M0 13 L7 3 L14 13 L21 3 L28 13' fill='none' stroke='%23C9A227' stroke-opacity='.4' stroke-width='1.1'/%3E%3C/svg%3E") repeat-x center/28px 14px;}

/* ghost display type */
.ghost{position:absolute;z-index:0;font-family:var(--mono);font-weight:700;font-size:clamp(80px,11vw,170px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(206,166,60,.14);letter-spacing:.04em;pointer-events:none;user-select:none;direction:ltr;white-space:nowrap;}

/* ================= header ================= */
.topline{border-bottom:1px solid var(--line);}
.topline .wrap{display:flex;justify-content:space-between;align-items:center;min-height:34px;font-size:12px;color:var(--dim);}
.topline .tl-a{display:flex;gap:18px;align-items:center;}
.topline a:hover{color:var(--gold2);}
.hdr{position:sticky;top:0;z-index:60;background:var(--ink);border-bottom:1px solid var(--line);}
.hdr .wrap{display:flex;align-items:center;gap:36px;min-height:78px;}
.brand{display:flex;align-items:center;gap:13px;}
.brand .b-col{display:flex;flex-direction:column;gap:1px;}
.b-logo{width:46px;height:auto;flex:none;filter:drop-shadow(0 4px 16px rgba(201,162,39,.28));transition:transform .5s cubic-bezier(.2,.9,.3,1.4);}
.brand:hover .b-logo{transform:rotate(-8deg) scale(1.06);}
.brand .b-fa{font-family:var(--disp);font-weight:850;font-size:25px;line-height:1.3;color:var(--paper);}
.brand .b-fa i{font-style:normal;color:var(--gold);}
.brand .b-r2{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--dim);}
.brand .b-r2 .fa{font-size:11px;color:var(--gold);font-weight:600;letter-spacing:.32em;}
.brand .b-r2 .mono{font-size:8.5px;letter-spacing:.3em;}
.nav{display:flex;gap:30px;margin-inline-start:auto;}
.nav a{font-size:14.5px;font-weight:500;color:var(--mute);position:relative;padding-block:8px;}
.nav a:hover,.nav a.on{color:var(--paper);}
.nav a.on::after{content:"";position:absolute;inset-inline:0;bottom:-4px;height:2px;background:var(--gold);}
.hdr .cta{margin-inline-start:6px;}
.burger{display:none;margin-inline-start:auto;background:none;border:1px solid var(--line2);width:44px;height:44px;cursor:pointer;position:relative;}
.burger span,.burger span::before,.burger span::after{content:"";position:absolute;left:11px;right:11px;height:2px;background:var(--gold);transition:.25s;}
.burger span{top:21px;}
.burger span::before{content:"";top:-7px;left:0;right:0;}
.burger span::after{content:"";top:7px;left:0;right:0;}
.mnav{display:none;}

/* buttons — machined */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--body);font-weight:700;font-size:15px;padding:14px 30px;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);}
.btn-g{background:var(--gold);color:#171204;}
.btn-g:hover{background:var(--gold2);}
.btn-o{background:rgba(206,166,60,.05);color:var(--paper);border-color:var(--line2);}
.btn-o:hover{border-color:var(--gold);color:var(--gold2);}
.btn-s{padding:11px 20px;font-size:14px;}

/* ================= hero v2 ================= */
.hero2{position:relative;isolation:isolate;border-bottom:1px solid var(--line2);overflow:hidden;}
.hv-bg{position:absolute;inset:0;z-index:-2;}
.hv-bg img{width:100%;height:100%;object-fit:cover;object-position:22% center;}
.hero2::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(262deg, rgba(11,9,6,.985) 0%, rgba(11,9,6,.93) 34%, rgba(11,9,6,.72) 62%, rgba(11,9,6,.55) 100%),
             linear-gradient(0deg, var(--ink) 0%, transparent 22%);}
.hv-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center;min-height:calc(100dvh - 190px);padding-block:84px 110px;position:relative;}
.hv-copy{position:relative;z-index:2;}
.hv-copy .ghost{top:-58px;inset-inline-end:-14px;font-size:clamp(64px,7.6vw,118px);}
.h-kick{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-weight:700;font-size:11.5px;color:var(--gold);letter-spacing:.22em;margin-bottom:26px;}
.h-kick::before{content:"";width:46px;height:1px;background:var(--gold);}
.hero2 h1{font-family:var(--disp);font-weight:900;font-size:clamp(54px,7.4vw,108px);line-height:1.08;letter-spacing:-.015em;margin-bottom:14px;position:relative;}
.h-sub{font-family:var(--disp);font-weight:600;font-size:clamp(19px,2.1vw,26px);color:var(--paper);max-width:30ch;margin-bottom:24px;line-height:1.7;}
.h-sub .gl{color:var(--gold2);}
.h-lead{max-width:54ch;color:var(--mute);font-size:16.5px;margin-bottom:38px;}
.h-lead b{color:var(--paper);font-weight:600;}
.h-cta{display:flex;gap:14px;flex-wrap:wrap;}
.hv-meta{display:flex;gap:34px;margin-top:46px;padding-top:22px;border-top:1px solid var(--line);}
.hv-meta .m{font-size:12.5px;color:var(--dim);}
.hv-meta .m b{display:block;font-family:var(--disp);font-weight:800;font-size:21px;color:var(--paper);line-height:1.5;}
.hv-meta .m b i{font-style:normal;color:var(--gold);}

/* hero drawing — borderless, over photo */
.hv-draw{position:relative;z-index:1;}
.hv-draw svg{width:100%;height:auto;display:block;}
.hv-cap{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:var(--dim);}
.hv-cap .mono{font-size:10px;color:var(--gold);}

/* marquee */
.mq{border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);background:var(--ink);overflow:hidden;direction:ltr;position:relative;z-index:3;}
.mq .mq-t{display:flex;align-items:center;width:max-content;animation:mqm 30s linear infinite;}
.mq .mi{display:flex;align-items:center;gap:26px;padding:15px 13px;font-family:var(--mono);font-weight:700;font-size:12.5px;letter-spacing:.22em;color:var(--mute);white-space:nowrap;}
.mq .mi svg{width:11px;height:11px;color:var(--gold);flex:none;}
.mq.rev .mq-t{animation-direction:reverse;}
@keyframes mqm{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* big statement marquee */
.mq-big{border-block:1px solid var(--line2);padding-block:8px;background:var(--ink2);}
.mq-big .mi{font-family:var(--disp);font-weight:900;font-size:clamp(44px,5.4vw,78px);letter-spacing:0;color:transparent;-webkit-text-stroke:1.5px rgba(226,190,92,.85);padding:0 28px;direction:rtl;}
.mq-big .mi.solid{color:var(--gold);-webkit-text-stroke:0;text-shadow:0 0 34px rgba(201,162,39,.25);}

/* ================= sections ================= */
.sec{padding-block:118px;position:relative;}
.sec-t{margin-bottom:60px;max-width:760px;position:relative;z-index:1;}
.eyebrow{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:600;color:var(--gold);letter-spacing:.12em;margin-bottom:18px;}
.eyebrow::before{content:"";width:36px;height:1px;background:var(--gold);}
.eyebrow .mono{font-size:10.5px;color:var(--dim);letter-spacing:.2em;}
.sec-t h2{font-family:var(--disp);font-weight:900;font-size:clamp(34px,4.6vw,58px);line-height:1.22;letter-spacing:-.012em;}
.sec-t h2 em{font-style:normal;color:var(--gold);}
.sec-t .dek{margin-top:16px;color:var(--mute);font-size:16.5px;max-width:60ch;}

/* ---- stamps split ---- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;position:relative;}
.split .ghost{top:-30px;inset-inline-start:-10px;}
.stamps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.stamp{aspect-ratio:1;border:1px solid var(--line2);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:radial-gradient(circle at 50% 40%, #1D1709 0%, var(--ink2) 70%);position:relative;transition:border-color .25s,transform .25s;}
.stamp::after{content:"";position:absolute;inset:9px;border:1px dashed rgba(206,166,60,.26);border-radius:50%;}
.stamp .s-g{font-family:var(--mono);font-weight:700;font-size:clamp(19px,2vw,27px);color:var(--gold);letter-spacing:.04em;text-shadow:0 1px 0 rgba(0,0,0,.95),0 -1px 0 rgba(239,207,111,.22);}
.stamp .s-l{font-size:11px;color:var(--dim);}
.stamp:hover{border-color:var(--gold);transform:translateY(-3px);}
.split .im{position:relative;overflow:hidden;border:1px solid var(--line2);}
.split .im img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;}
.im-cap{position:absolute;bottom:0;inset-inline:0;background:linear-gradient(0deg,rgba(8,6,3,.92),rgba(8,6,3,0));padding:34px 18px 12px;font-size:11.5px;color:var(--mute);display:flex;gap:12px;align-items:center;}
.im-cap .mono{color:var(--gold);font-size:10px;}

/* ---- category cards v2: image-led ---- */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative;z-index:1;}
.cat2{position:relative;aspect-ratio:4/4.6;overflow:hidden;border:1px solid var(--line2);isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;
  clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px);
  transition:border-color .3s,transform .35s cubic-bezier(.2,.8,.25,1),filter .35s;}
.cat2 img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;
  filter:grayscale(.2) sepia(.3) hue-rotate(-16deg) saturate(1.45) brightness(.78) contrast(1.05);
  transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s;}
.cat2::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(0deg, rgba(9,7,4,.97) 0%, rgba(9,7,4,.6) 40%, rgba(9,7,4,.16) 70%, rgba(9,7,4,.45) 100%);transition:background .3s;}
.cat2:hover{border-color:var(--gold);transform:translateY(-6px);filter:drop-shadow(0 22px 44px rgba(201,162,39,.16));}
.cat2:hover img{transform:scale(1.07);filter:grayscale(.05) sepia(.22) hue-rotate(-12deg) saturate(1.5) brightness(.88) contrast(1.06);}
.cat2 .c-std{position:absolute;top:14px;inset-inline-start:14px;background:rgba(9,7,4,.88);border:1px solid rgba(201,162,39,.45);color:var(--gold2);padding:5px 13px;font-family:var(--mono);font-weight:700;font-size:10.5px;letter-spacing:.14em;direction:ltr;
  clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);}
.cat2 .c-idx{position:absolute;top:6px;inset-inline-end:14px;z-index:1;font-family:var(--disp);font-weight:900;font-size:64px;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(201,162,39,.35);pointer-events:none;transition:color .35s,-webkit-text-stroke .35s;}
.cat2:hover .c-idx{color:rgba(201,162,39,.25);-webkit-text-stroke:1px rgba(230,197,100,.7);}
.cat2 .c-bd{padding:22px 22px 20px;}
.cat2 h3{font-family:var(--disp);font-weight:850;font-size:24px;margin-bottom:6px;}
.cat2 p{font-size:13.5px;color:var(--mute);line-height:1.85;max-height:0;opacity:0;overflow:hidden;transition:max-height .45s cubic-bezier(.2,.7,.2,1),opacity .35s;}
.cat2:hover p{max-height:120px;opacity:1;}
.cat2 .c-ft{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);}
.cat2 .c-rng{font-family:var(--mono);font-weight:700;font-size:11.5px;color:var(--gold2);direction:ltr;}
.cat2 .c-go{font-size:13px;font-weight:600;color:var(--gold);}

/* legacy card (article related) */
.cat{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--ink2);overflow:hidden;transition:border-color .25s,transform .25s;}
.cat:hover{border-color:var(--gold);transform:translateY(-4px);}
.cat .c-im{aspect-ratio:16/10;overflow:hidden;border-bottom:1px solid var(--line);position:relative;background:#111;}
.cat .c-im img{width:100%;height:100%;object-fit:cover;transition:transform .6s;}
.cat:hover .c-im img{transform:scale(1.05);}
.cat .c-std{position:absolute;top:12px;inset-inline-end:12px;background:rgba(9,7,4,.88);border:1px solid var(--line2);color:var(--gold);padding:3px 10px;font-family:var(--mono);font-weight:700;font-size:10.5px;direction:ltr;}
.cat .c-bd{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1;}
.cat h3{font-family:var(--disp);font-weight:800;font-size:21px;margin-bottom:8px;}
.cat p{font-size:14px;color:var(--mute);line-height:1.85;flex:1;}
.cat .c-ft{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);}
.cat .c-rng{font-family:var(--mono);font-weight:700;font-size:11.5px;color:var(--dim);direction:ltr;}
.cat .c-go{font-size:13px;font-weight:600;color:var(--gold);}

/* ---- stats band ---- */
.band{position:relative;isolation:isolate;overflow:hidden;border-block:1px solid var(--line2);}
.band .bg{position:absolute;inset:0;z-index:-2;}
.band .bg img{width:100%;height:100%;object-fit:cover;}
.band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg, rgba(11,9,6,.96) 0%, rgba(11,9,6,.82) 50%, rgba(11,9,6,.96) 100%);}
.band .wrap{padding-block:104px;}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:58px;}
.stat{padding-inline-start:24px;border-inline-start:2px solid var(--gold);}
.stat .n{font-family:var(--disp);font-weight:900;font-size:clamp(46px,5.2vw,74px);line-height:1.15;}
.stat .l{color:var(--mute);font-size:15px;margin-top:2px;}
.ruler{height:16px;margin-top:54px;background:
  repeating-linear-gradient(90deg, rgba(206,166,60,.35) 0 1px, transparent 1px 12px),
  repeating-linear-gradient(90deg, var(--gold) 0 1px, transparent 1px 60px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}

/* ---- spec plate (why) ---- */
.specplate{position:relative;border:1px solid var(--line2);background:var(--ink2);display:grid;grid-template-columns:repeat(4,1fr);z-index:1;}
.specplate .cell{padding:40px 30px 40px;border-inline-end:1px dashed rgba(206,166,60,.22);position:relative;cursor:pointer;background:none;text-align:start;border-block:0;border-inline-start:0;color:inherit;font-family:inherit;transition:background .3s;}
.specplate .cell:last-child{border-inline-end:0;}
.specplate .cell:hover{background:rgba(201,162,39,.05);}
.specplate .ix{font-family:var(--mono);font-weight:700;font-size:11px;color:var(--bronze);letter-spacing:.2em;display:block;margin-bottom:22px;}
.specplate .ic{width:46px;height:46px;margin-bottom:20px;color:var(--gold);transition:transform .5s cubic-bezier(.2,.9,.3,1.4);}
.specplate .ic svg{width:100%;height:100%;}
.specplate .ic svg *{stroke-dasharray:130;stroke-dashoffset:130;}
.specplate .rv.in .ic svg *, .rv.in .specplate .ic svg *{animation:icDraw 1.4s ease forwards;animation-delay:calc(.25s + var(--d,0s));}
@keyframes icDraw{to{stroke-dashoffset:0;}}
.specplate .cell:hover .ic{transform:rotate(-8deg) scale(1.12);}
.specplate h3{font-family:var(--disp);font-weight:800;font-size:18.5px;margin-bottom:8px;}
.specplate p{font-size:13.5px;color:var(--mute);line-height:1.9;}
/* open indicator: a nut that spins on hover */
.specplate .op{position:absolute;bottom:16px;inset-inline-start:28px;display:inline-flex;align-items:center;gap:8px;font-size:11.5px;color:var(--dim);transition:color .25s;}
.specplate .op::before{content:"";width:12px;height:12px;background:var(--bronze);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);transition:transform .6s cubic-bezier(.2,.9,.3,1.2),background .25s;}
.specplate .cell:hover .op{color:var(--gold2);}
.specplate .cell:hover .op::before{transform:rotate(240deg);background:var(--gold);}

/* ================= popup engine — machined info plate ================= */
.gpop{position:fixed;inset:0;z-index:130;display:none;align-items:center;justify-content:center;padding:22px;}
.gpop.on{display:flex;}
.gp-veil{position:absolute;inset:0;background:rgba(5,4,2,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transition:opacity .35s;}
.gpop.in .gp-veil{opacity:1;}
.gp-plate{position:relative;width:min(560px,94vw);max-height:86dvh;overflow-y:auto;background:linear-gradient(160deg,#16110A 0%,var(--ink) 70%);border:1px solid var(--gold);padding:38px 34px 30px;
  clip-path:polygon(26px 0,100% 0,100% calc(100% - 26px),calc(100% - 26px) 100%,0 100%,0 26px);
  opacity:0;transform:translateY(46px) scale(.95) rotate(.6deg);transition:opacity .3s ease,transform .5s cubic-bezier(.2,.9,.26,1.18);}
.gpop.in .gp-plate{opacity:1;transform:none;}
.gp-hex{position:absolute;top:-46px;inset-inline-end:-46px;width:190px;height:190px;color:var(--gold);opacity:.08;pointer-events:none;animation:gearSpin 26s linear infinite;}
.gp-x{position:absolute;top:16px;inset-inline-start:16px;width:40px;height:40px;background:rgba(201,162,39,.07);border:1px solid var(--line2);cursor:pointer;z-index:2;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:transform .45s cubic-bezier(.2,.9,.3,1.4),border-color .2s;}
.gp-x::before,.gp-x::after{content:"";position:absolute;left:11px;right:11px;top:50%;height:1.5px;background:var(--gold);}
.gp-x::before{transform:rotate(45deg);}.gp-x::after{transform:rotate(-45deg);}
.gp-x:hover{transform:rotate(180deg);border-color:var(--gold);}
.gp-std{display:inline-block;font-family:var(--mono);font-weight:700;font-size:10.5px;letter-spacing:.26em;color:var(--bronze);border:1px solid var(--line);padding:5px 14px;margin-bottom:16px;direction:ltr;}
.gp-t{font-family:var(--disp);font-weight:900;font-size:clamp(26px,5vw,34px);line-height:1.35;margin-bottom:4px;}
.gp-t em{font-style:normal;color:var(--gold);}
.gp-rule{height:2px;width:0;background:repeating-linear-gradient(-90deg,var(--gold) 0 7px,transparent 7px 11px);margin:14px 0 16px;transition:width .8s cubic-bezier(.6,0,.2,1) .25s;}
.gpop.in .gp-rule{width:100%;}
.gp-p{font-size:14.5px;color:var(--mute);line-height:2.1;margin-bottom:18px;}
.gp-rows{display:grid;gap:0;margin-bottom:22px;}
.gp-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 2px;border-bottom:1px dashed rgba(206,166,60,.18);
  opacity:0;transform:translateX(18px);transition:opacity .4s ease,transform .45s cubic-bezier(.2,.9,.3,1.1);}
.gpop.in .gp-row{opacity:1;transform:none;transition-delay:calc(.3s + var(--i) * .08s);}
.gp-row .k{font-size:12.5px;color:var(--dim);}
.gp-row .v{font-size:14px;font-weight:600;color:var(--paper);direction:ltr;text-align:left;}
.gp-row .v.fa{direction:rtl;text-align:right;}
.gp-act{display:flex;gap:12px;flex-wrap:wrap;opacity:0;transform:translateY(14px);transition:opacity .4s ease .55s,transform .45s ease .55s;}
.gpop.in .gp-act{opacity:1;transform:none;}
/* stamps become buttons */
.stamp{cursor:pointer;}
.stamp:hover{border-color:var(--gold);transform:translateY(-4px);}
.stamp::before{content:"+";position:absolute;bottom:10px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-weight:700;font-size:13px;color:var(--bronze);transition:color .25s,transform .3s;}
.stamp:hover::before{color:var(--gold2);transform:translateX(-50%) rotate(90deg);}

/* ---- article cards ---- */
.arts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative;z-index:1;}
.art{border:1px solid var(--line);background:var(--ink2);padding:32px 30px;display:flex;flex-direction:column;transition:border-color .25s,transform .25s;position:relative;}
.art::before{content:"";position:absolute;top:0;inset-inline:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.2,.7,.2,1);}
.art:hover{border-color:var(--line2);transform:translateY(-4px);}
.art:hover::before{transform:scaleX(1);}
.art .a-k{display:flex;justify-content:space-between;font-size:11px;color:var(--dim);margin-bottom:18px;}
.art .a-k .mono{color:var(--gold);font-size:10px;}
.art h3{font-family:var(--disp);font-weight:800;font-size:22px;line-height:1.5;margin-bottom:12px;}
.art p{font-size:14px;color:var(--mute);flex:1;}
.art .a-go{margin-top:22px;font-size:13.5px;font-weight:600;color:var(--gold);}

/* ---- process ---- */
.proc{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;counter-reset:step;z-index:1;}
/* animated running thread between steps */
.proc::before{content:"";position:absolute;top:26px;inset-inline:11%;height:8px;
  background:
    linear-gradient(0deg, rgba(201,162,39,0) 0%, rgba(201,162,39,.1) 50%, rgba(201,162,39,0) 100%),
    repeating-linear-gradient(115deg, transparent 0 5px, rgba(201,162,39,.45) 5px 7px, transparent 7px 12px);
  background-size:auto, 24px 100%;animation:fsThread 1.8s linear infinite;}
.step{position:relative;padding:0 18px;text-align:center;counter-increment:step;}
.step .s-n{width:52px;height:52px;margin:0 auto 22px;border:1.5px solid var(--gold);background:var(--ink);color:var(--gold2);font-family:var(--disp);font-weight:800;font-size:19px;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;
  clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
  transition:background .3s,color .3s,transform .6s cubic-bezier(.2,.9,.3,1.3);}
.step .s-n::before{content:counter(step);}
.step.rv{transition-delay:0s;}
.step.in .s-n{animation:snSpin .9s cubic-bezier(.2,.8,.3,1.15) both;animation-delay:calc(var(--sd,0) * .16s);}
@keyframes snSpin{from{transform:rotate(-200deg) scale(.4);opacity:0;}to{transform:none;opacity:1;}}
.step:hover .s-n{background:var(--gold);color:#171204;transform:rotate(120deg);}
.step:hover .s-n::before{display:block;transform:rotate(-120deg);transition:transform .6s cubic-bezier(.2,.9,.3,1.3);}
.step h3{font-family:var(--disp);font-weight:800;font-size:17.5px;margin-bottom:6px;}
.step p{font-size:13px;color:var(--mute);line-height:1.95;max-width:24ch;margin-inline:auto;}
.step::after{content:"";position:absolute;top:60px;left:50%;width:1px;height:14px;background:var(--line2);transform:translateX(-50%);}

/* ---- contact band ---- */
.contact{border:1px solid var(--gold);background:var(--ink2);padding:60px;display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center;position:relative;overflow:hidden;z-index:1;}
.contact .ghost{bottom:-34px;inset-inline-end:20px;font-size:clamp(70px,9vw,150px);opacity:.7;}
.contact h2{font-family:var(--disp);font-weight:900;font-size:clamp(30px,3.6vw,46px);margin-bottom:14px;line-height:1.3;}
.contact h2 em{font-style:normal;color:var(--gold);}
.contact .c-p{color:var(--mute);max-width:50ch;}
.c-card{border:1px solid var(--line2);background:var(--ink);padding:30px;position:relative;z-index:1;}
.c-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:13px;border-bottom:1px solid var(--line);font-size:14px;}
.c-row:last-child{border-bottom:0;}
.c-row .k{color:var(--dim);font-size:12.5px;flex:none;}
.c-row .v{font-weight:600;text-align:left;}
.c-row .v.mono{font-size:15px;color:var(--gold2);}
.c-row a.v:hover{color:var(--gold2);}

/* ================= footer v2 — animated tightening stud ================= */
footer{border-top:1px solid var(--line2);background:var(--ink2);margin-top:118px;position:relative;overflow:hidden;}
footer::before{content:"";position:absolute;top:-8px;inset-inline:0;height:7px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='7' viewBox='0 0 22 7'%3E%3Cpath d='M0 6.5 L5.5 1 L11 6.5 L16.5 1 L22 6.5' fill='none' stroke='%23C9A227' stroke-opacity='.5' stroke-width='1'/%3E%3C/svg%3E") repeat-x center/22px 7px;}
/* animated stud divider: spinning thread + two nuts tightening toward center */
.ft-stud{position:relative;height:58px;border-bottom:1px solid var(--line);}
.ft-stud .fs-rod{position:absolute;top:50%;inset-inline:0;height:14px;transform:translateY(-50%);
  background:
    linear-gradient(0deg, rgba(201,162,39,0) 0%, rgba(201,162,39,.12) 50%, rgba(201,162,39,0) 100%),
    repeating-linear-gradient(115deg, transparent 0 5px, rgba(201,162,39,.5) 5px 7px, transparent 7px 12px);
  background-size:auto, 24px 100%;
  animation:fsThread 1.6s linear infinite;}
.ft-stud .fs-nut{position:absolute;top:50%;width:34px;height:34px;margin-top:-17px;filter:drop-shadow(0 3px 10px rgba(0,0,0,.55));}
.ft-stud .fs-nut svg{width:100%;height:100%;display:block;}
.ft-stud .n1{inset-inline-start:12%;animation:fsN1 7s cubic-bezier(.45,0,.25,1) infinite;}
.ft-stud .n2{inset-inline-end:12%;animation:fsN2 7s cubic-bezier(.45,0,.25,1) infinite;}
.ft-stud .fs-tag{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--ink2);border:1px solid var(--line2);color:var(--bronze);
  font-family:var(--mono);font-weight:700;font-size:9.5px;letter-spacing:.3em;padding:5px 16px;white-space:nowrap;}
@keyframes fsThread{to{background-position:0 0, -24px 0;}}
@keyframes fsThreadV{to{background-position:0 0, 0 -24px;}}
@keyframes fsN1{0%,8%{inset-inline-start:12%;transform:rotate(0);}46%,58%{inset-inline-start:30%;transform:rotate(540deg);}92%,100%{inset-inline-start:12%;transform:rotate(0);}}
@keyframes fsN2{0%,8%{inset-inline-end:12%;transform:rotate(0);}46%,58%{inset-inline-end:30%;transform:rotate(-540deg);}92%,100%{inset-inline-end:12%;transform:rotate(0);}}
/* drifting ghost line */
.ft-ghost{position:absolute;top:120px;inset-inline-start:0;white-space:nowrap;pointer-events:none;z-index:0;
  font-family:var(--disp);font-weight:900;font-size:150px;letter-spacing:.02em;color:transparent;
  -webkit-text-stroke:1px rgba(201,162,39,.08);animation:ftDrift 70s linear infinite;}
@keyframes ftDrift{from{transform:translateX(-22%);}to{transform:translateX(22%);}}
/* corner hex watermark — slow spin */
.f3-hex{position:absolute;bottom:-120px;inset-inline-start:-110px;width:360px;height:360px;color:var(--gold);opacity:.07;z-index:0;animation:gearSpin2 80s linear infinite;pointer-events:none;}
@keyframes gearSpin2{to{transform:rotate(360deg);}}
/* ---- title row: giant brand + call desk ---- */
.f3-title{display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:end;padding-block:64px 46px;position:relative;z-index:1;border-bottom:1px solid var(--line);}
.f3-name{display:block;font-family:var(--disp);font-weight:900;font-size:clamp(52px,6.4vw,96px);line-height:1.15;}
.f3-sub{display:flex;align-items:center;gap:16px;font-family:var(--disp);font-weight:700;font-size:20px;color:var(--gold);margin-top:2px;}
.f3-sub .mono{font-style:normal;font-size:10px;color:var(--dim);letter-spacing:.34em;padding-top:4px;}
.f3-sub::after{content:"";flex:1;height:1px;background:linear-gradient(-90deg,var(--gold),transparent);opacity:.5;}
.f3-p{margin-top:20px;max-width:52ch;color:var(--mute);font-size:14.5px;line-height:2;}
.f3-logo{width:190px;height:auto;margin-top:28px;filter:drop-shadow(0 12px 44px rgba(201,162,39,.22));}
.f3-call{display:flex;flex-direction:column;gap:12px;}
.f3-call .k{font-family:var(--mono);font-weight:700;font-size:10px;color:var(--bronze);letter-spacing:.32em;margin-bottom:2px;}
.f3-tel{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--line2);background:rgba(201,162,39,.05);
  padding:16px 22px;position:relative;overflow:hidden;transition:border-color .25s,background .25s,transform .25s;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);}
.f3-tel i{font-style:normal;font-size:12px;color:var(--mute);font-weight:600;}
.f3-tel b{font-family:var(--mono);font-weight:700;font-size:clamp(19px,2vw,24px);letter-spacing:.1em;color:var(--gold2);direction:ltr;}
.f3-tel:hover{border-color:var(--gold);background:rgba(201,162,39,.12);transform:translateY(-2px);}
.f3-tel.t1{background:var(--gold);border-color:var(--gold);}
.f3-tel.t1 i{color:#4d3c08;}
.f3-tel.t1 b{color:#171204;}
.f3-tel.t1:hover{background:var(--gold2);}
.f3-cells{display:flex;gap:10px;}
.f3-cells a{flex:1;text-align:center;font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.1em;color:var(--mute);border:1px dashed var(--line2);padding:11px 8px;direction:ltr;transition:color .2s,border-color .2s;}
.f3-cells a:hover{color:var(--gold2);border-color:var(--gold);}
/* ---- link chip rows ---- */
.f3-links{padding-block:34px 10px;position:relative;z-index:1;display:grid;gap:18px;}
.f3-row{display:flex;align-items:baseline;gap:22px;flex-wrap:wrap;}
.f3-k{flex:none;width:92px;font-family:var(--mono);font-weight:700;font-size:10px;color:var(--bronze);letter-spacing:.3em;}
.f3-row nav{display:flex;flex-wrap:wrap;gap:9px;}
.f3-row nav a{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);padding:9px 16px;font-size:13px;color:var(--mute);
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:color .2s,border-color .2s,background .2s;}
.f3-row nav a::before{content:"";width:8px;height:8px;background:var(--bronze);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);transition:transform .45s,background .2s;}
.f3-row nav a:hover{color:var(--gold2);border-color:var(--gold);background:rgba(201,162,39,.07);}
.f3-row nav a:hover::before{transform:rotate(150deg);background:var(--gold);}
.f3-row .f3-adr{font-size:13px;color:var(--mute);line-height:2;}
/* ---- drawing title-block strip ---- */
.f3-block{margin-top:36px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line2);position:relative;z-index:1;background:rgba(11,9,6,.55);}
.f3-block span{padding:12px 16px;border-inline-end:1px solid var(--line);font-family:var(--mono);font-weight:700;font-size:9.5px;letter-spacing:.24em;color:var(--dim);text-align:center;white-space:nowrap;overflow:hidden;}
.f3-block span:last-child{border-inline-end:0;}
.f3-block b{color:var(--gold);font-weight:700;}
.ft h4{font-family:var(--disp);font-weight:800;font-size:16px;margin-bottom:20px;position:relative;padding-inline-start:14px;}
.ft h4::before{content:"";position:absolute;inset-inline-start:0;top:7px;bottom:7px;width:3px;background:var(--gold);}
.ft p,.ft a{font-size:13.5px;color:var(--mute);}
.ft-brand .b-fa{font-family:var(--disp);font-weight:850;font-size:26px;margin-bottom:4px;display:block;}
.ft-brand .b-fa i{font-style:normal;color:var(--gold);}
.ft-brand .b-sub{display:block;font-size:12px;color:var(--gold);letter-spacing:.4em;margin-bottom:14px;}
.ft-brand img{width:78px;margin-top:20px;}
.ft-l li{margin-bottom:11px;}
.ft-l a{position:relative;padding-inline-start:18px;display:inline-block;transition:color .2s,padding .25s;}
.ft-l a::before{content:"";position:absolute;inset-inline-start:0;top:50%;width:9px;height:9px;margin-top:-4.5px;
  background:var(--bronze);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);transition:transform .45s ease,background .2s;}
.ft-l a:hover{color:var(--gold2);padding-inline-start:24px;}
.ft-l a:hover::before{transform:rotate(120deg);background:var(--gold);}
.ft-c li{display:flex;gap:12px;margin-bottom:13px;font-size:13.5px;color:var(--mute);}
.ft-c .mono{color:var(--gold);font-size:11px;padding-top:5px;}
.ft-c a:hover{color:var(--gold2);}
.legal{border-top:1px solid var(--line);padding-block:22px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px;color:var(--dim);flex-wrap:wrap;}
.by{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);padding:6px 16px;font-size:11.5px;color:var(--mute);transition:border-color .2s,color .2s;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);}
.by:hover{border-color:var(--gold);color:var(--gold2);}
.by svg{width:13px;height:13px;color:var(--gold);}

/* ================= global stud-bolt motion package ================= */
/* page-top scroll thread: fill + traveling nut */
.pgbar{position:fixed;top:0;inset-inline:0;height:3px;z-index:95;background:rgba(201,162,39,.1);pointer-events:none;}
.pgbar .pg-fill{position:absolute;inset-block:0;inset-inline-start:0;width:0;
  background:linear-gradient(-90deg,var(--gold2),var(--gold) 40%,var(--bronze));}
.pgbar .pg-nut{position:absolute;top:-8px;inset-inline-start:0;width:19px;height:19px;margin-inline-start:-9px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6));}
.pgbar .pg-nut svg{width:100%;height:100%;display:block;}
/* section-title: underline draws itself on reveal */
.sec-t h2 em{position:relative;}
.sec-t h2 em::after{content:"";position:absolute;bottom:1px;inset-inline:0;height:2px;
  background:repeating-linear-gradient(-90deg,var(--gold) 0 7px,transparent 7px 11px);
  transform:scaleX(0);transform-origin:100% 50%;transition:transform 1s cubic-bezier(.6,0,.2,1) .35s;}
.sec-t.in h2 em::after,.rv.in .sec-t h2 em::after{transform:scaleX(1);}
/* eyebrow rule grows on reveal */
.sec-t .eyebrow::before{transform:scaleX(0);transform-origin:100% 50%;transition:transform .7s cubic-bezier(.6,0,.2,1) .15s;}
.sec-t.in .eyebrow::before,.rv.in .sec-t .eyebrow::before{transform:scaleX(1);}
/* certification stamps: dashed ring slowly rotates */
.stamp::after{animation:stampRing 26s linear infinite;}
.stamp:hover::after{animation-duration:5s;}
@keyframes stampRing{to{transform:rotate(360deg);}}
/* category cards: thread line stitches across on hover */
.cat2::after{content:"";position:absolute;bottom:0;inset-inline:0;height:3px;z-index:1;
  background:repeating-linear-gradient(-90deg,var(--gold) 0 7px,transparent 7px 12px);
  transform:scaleX(0);transform-origin:100% 50%;transition:transform .55s cubic-bezier(.6,0,.2,1);}
.cat2:hover::after{transform:scaleX(1);}
/* buttons: machined sheen sweep */
.btn{position:relative;overflow:hidden;}
.btn::after{content:"";position:absolute;top:-4px;bottom:-4px;width:38%;inset-inline-start:-55%;
  background:linear-gradient(100deg,transparent,rgba(255,244,214,.4),transparent);
  transform:skewX(-18deg);transition:inset-inline-start .01s;pointer-events:none;opacity:0;}
.btn:hover::after{inset-inline-start:130%;opacity:1;transition:inset-inline-start .6s ease,opacity .1s;}

/* ================= reveals ================= */
.rv{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);}
.rv.in{opacity:1;transform:none;}
.rv2{transition-delay:.12s;}
.rv3{transition-delay:.24s;}
.rv4{transition-delay:.36s;}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .rv{opacity:1;transform:none;transition:none;}
  .foil{animation:none;background-position:0 0;}
  .mq .mq-t{animation:none;}
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;}
}

/* ================= responsive ================= */
@media (max-width:1080px){
  .hv-grid{grid-template-columns:1fr;min-height:0;gap:44px;padding-block:64px 84px;}
  .hv-draw{max-width:660px;margin:0 auto;}
  .specplate{grid-template-columns:repeat(2,1fr);}
  .specplate .cell{border-bottom:1px dashed rgba(206,166,60,.22);}
  .specplate .cell:nth-child(even){border-inline-end:0;}
  .specplate .cell:nth-child(n+3){border-bottom:0;}
  .cats{grid-template-columns:repeat(2,1fr);}
  .split{grid-template-columns:1fr;gap:40px;}
  .arts{grid-template-columns:1fr;}
}
@media (max-width:760px){
  :root{--pad:18px;}
  body{font-size:15.5px;}
  .sec{padding-block:70px;}
  .topline .tl-b{display:none;}
  .nav,.hdr .cta{display:none;}
  .burger{display:block;}
  /* ---- mobile menu: full-screen machined takeover ---- */
  .mnav{display:flex;flex-direction:column;position:fixed;inset:0;z-index:80;background:var(--ink);
    clip-path:circle(0px at 58px 112px);visibility:hidden;
    transition:clip-path .55s cubic-bezier(.7,0,.3,1),visibility 0s .55s;}
  .mnav.open{clip-path:circle(150% at 58px 112px);visibility:visible;
    transition:clip-path .8s cubic-bezier(.7,0,.3,1);}
  .mn-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
  .mn-bg img{width:100%;height:100%;object-fit:cover;opacity:.15;filter:grayscale(1) sepia(.5) hue-rotate(-12deg) saturate(2.2) brightness(.9);}
  .mn-bg::before{content:"";position:absolute;inset:0;
    background-image:linear-gradient(rgba(201,162,39,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(201,162,39,.05) 1px,transparent 1px);
    background-size:56px 56px;}
  .mn-bg::after{content:"";position:absolute;inset:0;
    background:linear-gradient(0deg,var(--ink) 6%,transparent 45%),linear-gradient(180deg,rgba(11,9,6,.94) 0%,rgba(11,9,6,.4) 100%);}
  .mn-gear{position:absolute;top:-90px;left:-90px;width:300px;height:300px;color:var(--gold);opacity:.13;animation:gearSpin 30s linear infinite;}
  .mn-gear.g2{top:auto;left:auto;bottom:-60px;right:-70px;width:210px;height:210px;opacity:.09;animation-direction:reverse;animation-duration:22s;}
  .mn-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:22px var(--pad) 4px;}
  .mn-top .mn-brand{display:flex;align-items:center;gap:12px;}
  .mn-top .mn-logo{width:52px;height:auto;filter:drop-shadow(0 6px 20px rgba(201,162,39,.3));}
  .mn-top .b-fa{font-family:var(--disp);font-weight:850;font-size:23px;color:var(--paper);}
  .mn-top .b-fa i{font-style:normal;color:var(--gold);}
  .mn-top .mn-sub{font-size:11px;color:var(--gold);letter-spacing:.32em;margin-inline-start:8px;}
  .mnav .m-x{position:relative;width:46px;height:46px;background:rgba(201,162,39,.06);border:1px solid var(--line2);color:var(--gold);cursor:pointer;flex:none;
    clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);
    font-size:0;transition:transform .5s cubic-bezier(.2,.9,.3,1.4);}
  .mnav.open .m-x{transform:rotate(180deg);transition-delay:.25s;}
  .mnav .m-x::before,.mnav .m-x::after{content:"";position:absolute;left:13px;right:13px;top:50%;height:1.6px;background:var(--gold);}
  .mnav .m-x::before{transform:rotate(45deg);}
  .mnav .m-x::after{transform:rotate(-45deg);}
  .mn-links{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad);}
  .mn-links a{position:relative;display:flex;align-items:baseline;gap:16px;padding:15px 4px;
    font-family:var(--disp);font-weight:800;font-size:clamp(31px,9vw,44px);line-height:1.35;color:var(--paper);
    opacity:0;transform:translateY(36px) rotate(2deg);transform-origin:right center;
    transition:opacity .4s ease,transform .55s cubic-bezier(.2,.9,.26,1.18),color .2s;}
  .mn-links a:active{transform:translateX(-8px);}
  .mnav.open .mn-links a{opacity:1;transform:none;transition-delay:calc(.18s + var(--i) * .07s);}
  .mn-links a i{font-style:normal;font-family:var(--mono);font-weight:700;font-size:11px;color:var(--bronze);letter-spacing:.22em;}
  .mn-links a:active{color:var(--gold2);}
  .mn-links a::after{content:"";position:absolute;bottom:5px;inset-inline:4px;height:1px;
    background:linear-gradient(-90deg,var(--gold) 0,var(--line2) 34%,var(--line) 100%);
    transform:scaleX(0);transform-origin:right;transition:transform .8s cubic-bezier(.6,0,.2,1);}
  .mnav.open .mn-links a::after{transform:scaleX(1);transition-delay:calc(.34s + var(--i) * .07s);}
  .mn-info{position:relative;z-index:1;padding:0 var(--pad) 14px;font-family:var(--mono);font-weight:700;font-size:10px;letter-spacing:.22em;color:var(--dim);
    opacity:0;transform:translateY(20px);transition:opacity .4s ease,transform .5s ease;}
  .mnav.open .mn-info{opacity:1;transform:none;transition-delay:.52s;}
  .mn-side{position:absolute;z-index:1;left:9px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;
    font-family:var(--mono);font-weight:700;font-size:9.5px;letter-spacing:.5em;color:var(--dim);opacity:0;transition:opacity .6s ease;}
  .mnav.open .mn-side{opacity:.75;transition-delay:.7s;}
  .mn-cta{position:relative;z-index:1;padding:6px var(--pad) 16px;display:flex;align-items:center;gap:14px;
    opacity:0;transform:translateY(26px);transition:opacity .4s ease,transform .5s cubic-bezier(.2,.9,.3,1.1);}
  .mnav.open .mn-cta{opacity:1;transform:none;transition-delay:.58s;}
  .mn-cta .btn{flex:none;}
  .mn-tels{display:flex;flex-direction:column;gap:4px;}
  .mn-tels a{font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.14em;color:var(--mute);direction:ltr;}
  .mn-tels a:active{color:var(--gold2);}
  .mnav .mq{position:relative;z-index:1;opacity:0;transition:opacity .5s ease;}
  .mnav.open .mq{opacity:1;transition-delay:.66s;}
  @keyframes gearSpin{to{transform:rotate(360deg);}}
  .mscrim{display:none;}
  .hv-grid{padding-block:48px 64px;}
  .hv-copy .ghost{top:-40px;font-size:clamp(52px,15vw,92px);}
  .h-lead{font-size:15px;}
  .hv-meta{gap:20px;flex-wrap:wrap;}
  .cats{grid-template-columns:1fr;gap:16px;}
  .cat2{aspect-ratio:4/4.2;}
  .cat2 p{max-height:none;opacity:1;}
  .stamps{grid-template-columns:repeat(2,1fr);gap:14px;}
  .stats{grid-template-columns:1fr;gap:24px;margin-top:40px;}
  .proc{grid-template-columns:1fr;gap:0;padding-inline-start:8px;}
  .proc::before{inset-inline:auto;inset-inline-start:33px;top:10px;bottom:10px;height:auto;width:8px;
    background:
      linear-gradient(90deg, rgba(201,162,39,0) 0%, rgba(201,162,39,.1) 50%, rgba(201,162,39,0) 100%),
      repeating-linear-gradient(25deg, transparent 0 5px, rgba(201,162,39,.45) 5px 7px, transparent 7px 12px);
    background-size:auto, 100% 24px;animation:fsThreadV 1.8s linear infinite;}
  .step{display:grid;grid-template-columns:52px 1fr;gap:18px;text-align:start;padding:16px 8px;}
  .step .s-n{margin:0;}
  .step p{margin-inline:0;max-width:none;}
  .step::after{display:none;}
  .contact{grid-template-columns:1fr;padding:34px 22px;gap:28px;}
  .band .wrap{padding-block:66px;}
  .legal{justify-content:center;text-align:center;}
  .f3-title{grid-template-columns:1fr;gap:36px;padding-block:44px 36px;align-items:start;}
  .f3-name{font-size:clamp(46px,13vw,64px);}
  .f3-k{width:100%;}
  .f3-row{gap:12px;}
  .f3-block{grid-template-columns:repeat(2,1fr);}
  .f3-block span{border-top:1px solid var(--line);}
  .f3-block span:nth-child(2n){border-inline-end:0;}
  .f3-block span:nth-child(-n+2){border-top:0;}
  .f3-hex{width:240px;height:240px;bottom:-80px;inset-inline-start:-80px;}
  .ft-ghost{font-size:74px;}
  .ft-stud .fs-nut{width:26px;height:26px;margin-top:-13px;}
  .ft-stud .fs-tag{display:none;}
  /* edge-to-edge on phones */
  .fb-m{margin-inline:calc(var(--pad) * -1);}
  .fb-m .im,.fb-m.im{border-inline:0;}
  .cats.fb-m .cat2{border-inline:0;}
  .specplate.fb-m{border-inline:0;}
  .contact.fb-m{border-inline:0;}
  .mq .mi{padding:12px 10px;font-size:11px;}
  .mq-big{padding-block:4px;}
  .mq-big .mi{font-size:clamp(38px,10vw,56px);padding:0 18px;}
}
