/*
Theme Name: Nachid Consults
Theme URI: https://nachidconsults.online
Author: Abdellah Nachid Idrissi
Author URI: https://nachidconsults.online
Description: Print on Demand consulting landing page for Nachid Consults. Single-page CMYK print-shop design with services, pricing, FAQ, contact and Stripe-required policy pages.
Version: 1.0
Requires at least: 5.9
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nachid-consults
*/

/* ================= RESET & TOKENS ================= */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --paper:#F5F1E8;
  --paper-2:#EFE9DC;
  --ink:#161310;
  --ink-soft:#3A362F;
  --cyan:#00A7CE;
  --magenta:#E5007A;
  --yellow:#FFC400;
  --line:rgba(22,19,16,.18);
  --line-hard:#161310;
  --mono:'Space Mono',monospace;
  --body:'Instrument Sans',sans-serif;
  --display:'Archivo Black',sans-serif;
}
html{scroll-behavior:smooth}
body{
  font-family:var(--body);
  background:var(--paper);
  color:var(--ink);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--magenta);color:#fff}
img{max-width:100%;display:block}
a{color:inherit}
button{font-family:inherit;cursor:pointer}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.mono{font-family:var(--mono)}

/* noise overlay */
.noise{position:fixed;inset:0;z-index:120;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* scroll progress — CMYK bar */
#progress{position:fixed;top:0;left:0;height:4px;width:0;z-index:200;
  background:linear-gradient(90deg,var(--cyan) 0 33%,var(--magenta) 33% 66%,var(--yellow) 66% 100%);}

/* ================= TOP STRIP ================= */
.strip{background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:12px;letter-spacing:.04em}
.strip .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:8px;gap:12px;flex-wrap:wrap}
.strip a{text-decoration:none;border-bottom:1px dotted var(--paper)}
.strip a:hover{color:var(--yellow)}
.cmyk-dots{display:flex;gap:5px}
.cmyk-dots i{width:9px;height:9px;border-radius:50%;display:block}
.cmyk-dots i:nth-child(1){background:var(--cyan)}
.cmyk-dots i:nth-child(2){background:var(--magenta)}
.cmyk-dots i:nth-child(3){background:var(--yellow)}
.cmyk-dots i:nth-child(4){background:#fff}

/* ================= NAV ================= */
nav{border-bottom:2px solid var(--line-hard);background:var(--paper);position:sticky;top:0;z-index:100}
nav .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px;gap:16px}
.logo{font-family:var(--display);font-size:20px;letter-spacing:-.02em;text-decoration:none;display:flex;align-items:center;gap:8px}
.logo b{color:var(--magenta)}
.nav-links{display:flex;gap:26px;font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.06em;overflow-x:auto}
.nav-links a{text-decoration:none;position:relative;white-space:nowrap;padding:4px 0}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--magenta);transition:width .25s}
.nav-links a:hover::after{width:100%}
.nav-cta{background:var(--ink);color:var(--paper);border:2px solid var(--ink);padding:9px 18px;font-family:var(--mono);font-size:13px;text-transform:uppercase;text-decoration:none;transition:.25s;white-space:nowrap}
.nav-cta:hover{background:var(--magenta);border-color:var(--magenta)}
@media(max-width:860px){.nav-links{display:none}}

/* ================= MASTHEAD ================= */
.mast{position:relative;padding:70px 0 80px;border-bottom:2px solid var(--line-hard);overflow:hidden;
  background:
    radial-gradient(circle at 88% 18%, rgba(0,167,206,.10), transparent 34%),
    radial-gradient(circle at 8% 88%, rgba(255,196,0,.16), transparent 30%),
    var(--paper);}
.mast::before,.mast::after{content:"";position:absolute;width:22px;height:22px;border:0 solid var(--ink)}
.mast::before{top:18px;left:18px;border-top-width:2px;border-left-width:2px}
.mast::after{bottom:18px;right:18px;border-bottom-width:2px;border-right-width:2px}
.mast-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:56px;align-items:end}
.spec-label{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;border:1.5px solid var(--ink);padding:6px 12px;margin-bottom:26px}
.spec-label i{width:8px;height:8px;border-radius:50%;background:var(--magenta);animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.25}}
h1{font-family:var(--display);font-size:clamp(44px,7.2vw,96px);line-height:.94;letter-spacing:-.02em;text-transform:uppercase}
h1 .hollow{color:transparent;-webkit-text-stroke:2px var(--ink)}
h1 .mag{color:var(--magenta)}
.mast-sub{margin-top:26px;font-size:19px;max-width:56ch;color:var(--ink-soft)}
.mast-actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:14px;text-transform:uppercase;letter-spacing:.05em;padding:15px 26px;text-decoration:none;border:2px solid var(--ink);transition:transform .2s,background .25s,color .25s,box-shadow .25s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
.btn-primary{background:var(--magenta);border-color:var(--magenta);color:#fff}
.btn-primary:hover{background:var(--ink);border-color:var(--ink)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:var(--magenta);border-color:var(--magenta)}

.mast-card{border:2px solid var(--ink);background:#fff;box-shadow:8px 8px 0 var(--ink);padding:26px;position:relative}
.mast-card h3{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1.5px solid var(--ink);padding-bottom:10px;margin-bottom:14px}
.spec-row{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;padding:8px 0;border-bottom:1px dashed var(--line)}
.spec-row span:first-child{font-family:var(--mono);font-size:12px;text-transform:uppercase;color:var(--ink-soft)}
.spec-row span:last-child{font-weight:600;text-align:right}
.reg-mark{position:absolute;top:-19px;right:-19px;width:38px;height:38px;background:var(--yellow);border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:17px}

/* rotating badge */
.badge-spin{position:absolute;right:5%;bottom:-58px;width:128px;height:128px;z-index:5;pointer-events:none}
.badge-spin svg{width:100%;height:100%;animation:spin 14s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ================= MARQUEE ================= */
.marquee{background:var(--ink);color:var(--paper);overflow:hidden;border-bottom:2px solid var(--line-hard)}
.marquee-track{display:flex;width:max-content;animation:mar 26s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span{font-family:var(--mono);font-size:14px;letter-spacing:.1em;text-transform:uppercase;padding:13px 0;white-space:nowrap}
.marquee-track em{font-style:normal;color:var(--yellow);padding:0 18px}
@keyframes mar{to{transform:translateX(-50%)}}

/* ================= SECTION SHARED ================= */
section{padding:96px 0}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:52px;flex-wrap:wrap}
.sec-tag{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.sec-tag::before{content:"";width:12px;height:12px;background:var(--magenta);display:inline-block;clip-path:polygon(0 0,100% 0,100% 100%)}
h2{font-family:var(--display);font-size:clamp(32px,4.6vw,58px);line-height:1;text-transform:uppercase;letter-spacing:-.015em}
.line-mask{overflow:hidden}
.line-mask>span{display:block;transform:translateY(110%);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.line-mask.in>span{transform:translateY(0)}
.rev{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.rev.in{opacity:1;transform:none}

/* ================= ABOUT ================= */
#about{border-bottom:2px solid var(--line-hard)}
.about-grid{display:grid;grid-template-columns:.95fr 1.1fr;gap:64px;align-items:start}
.about-sticky{position:sticky;top:96px}
.portrait{border:2px solid var(--ink);box-shadow:10px 10px 0 var(--yellow);overflow:hidden;position:relative;background:#fff}
.portrait img{width:100%;height:460px;object-fit:cover;animation:kenburns 18s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1) translate(0,0)}to{transform:scale(1.09) translate(-2%,2%)}}
.portrait .tag{position:absolute;bottom:14px;left:14px;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:12px;letter-spacing:.1em;padding:7px 12px;text-transform:uppercase}
.about-copy p{margin-bottom:20px;font-size:18px;color:var(--ink-soft)}
.about-copy p strong{color:var(--ink)}
.pull{border-left:5px solid var(--magenta);padding:6px 0 6px 22px;font-size:22px;font-weight:600;line-height:1.4;margin:30px 0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:40px;border:2px solid var(--ink)}
.stat{background:#fff;padding:22px 16px;text-align:center;transition:background .3s}
.stat:hover{background:var(--yellow)}
.stat b{font-family:var(--display);font-size:clamp(26px,3vw,40px);display:block}
.stat span{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}
.creds{margin-top:30px;display:flex;flex-wrap:wrap;gap:10px}
.creds span{font-family:var(--mono);font-size:12px;border:1.5px solid var(--ink);padding:6px 12px;background:var(--paper);transition:.2s}
.creds span:hover{background:var(--cyan);color:#fff;transform:rotate(-1deg)}
@media(max-width:940px){.about-grid{grid-template-columns:1fr}.about-sticky{position:static}.stats{grid-template-columns:repeat(2,1fr)}}

/* ================= SERVICES ================= */
#services{background:var(--paper-2);border-bottom:2px solid var(--line-hard)}
.svc-list{border-top:2px solid var(--line-hard)}
.svc{display:grid;grid-template-columns:88px 1fr 260px 60px;gap:22px;align-items:center;padding:28px 10px;border-bottom:2px solid var(--line-hard);position:relative;overflow:hidden;text-decoration:none;cursor:pointer}
.svc::before{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleY(0);transform-origin:bottom;transition:transform .35s cubic-bezier(.7,0,.3,1);z-index:0}
.svc:hover::before{transform:scaleY(1)}
.svc>*{position:relative;z-index:1;transition:color .3s}
.svc .num{font-family:var(--display);font-size:30px;color:transparent;-webkit-text-stroke:1.5px var(--ink)}
.svc h3{font-family:var(--display);font-size:clamp(19px,2.4vw,27px);text-transform:uppercase;letter-spacing:.01em}
.svc p{font-size:15px;color:var(--ink-soft);max-width:52ch}
.svc .svc-tags{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;text-align:right;line-height:1.9;color:var(--ink-soft)}
.svc .arrow{font-size:26px;text-align:center}
.svc:hover h3,.svc:hover .arrow{color:var(--yellow)}
.svc:hover p,.svc:hover .svc-tags{color:var(--paper)}
.svc:hover .num{-webkit-text-stroke-color:var(--yellow)}
@media(max-width:900px){.svc{grid-template-columns:52px 1fr 34px}.svc .svc-tags{display:none}}

/* ================= PROCESS ================= */
#process .proc-grid{display:grid;grid-template-columns:.9fr 1.2fr;gap:70px}
#process .left{position:sticky;top:100px;align-self:start}
#process .left p{margin-top:22px;color:var(--ink-soft);font-size:17.5px;max-width:44ch}
.step{display:grid;grid-template-columns:76px 1fr;gap:24px;padding:34px 0;border-top:2px solid var(--line-hard)}
.step:last-child{border-bottom:2px solid var(--line-hard)}
.step .n{font-family:var(--display);font-size:38px;line-height:1}
.step:nth-child(1) .n{color:var(--cyan)}
.step:nth-child(2) .n{color:var(--magenta)}
.step:nth-child(3) .n{color:var(--yellow)}
.step:nth-child(4) .n{color:var(--ink)}
.step h3{font-family:var(--display);font-size:21px;text-transform:uppercase;margin-bottom:8px}
.step p{color:var(--ink-soft);font-size:16px}
.step .dur{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-top:12px;display:inline-block;border:1.5px solid var(--ink);padding:4px 10px}
@media(max-width:900px){#process .proc-grid{grid-template-columns:1fr}#process .left{position:static}}

/* ================= RESULTS / POSTCARDS ================= */
#results{background:var(--ink);color:var(--paper);border-bottom:2px solid var(--line-hard);overflow:hidden}
#results .sec-tag::before{background:var(--yellow)}
.postcards{position:relative;height:560px;margin-top:20px}
.card{position:absolute;width:330px;background:var(--paper);color:var(--ink);border:2px solid var(--ink);padding:24px;box-shadow:0 18px 40px rgba(0,0,0,.45);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.card:hover{transform:rotate(0deg) translateY(-12px) scale(1.03)!important;box-shadow:0 30px 60px rgba(0,0,0,.6);z-index:10}
.card .stamp{position:absolute;top:12px;right:12px;width:52px;height:60px;border:2px dashed var(--ink);display:grid;place-items:center;font-family:var(--mono);font-size:9px;text-transform:uppercase;text-align:center;padding:4px;background:repeating-linear-gradient(45deg,transparent 0 4px,rgba(229,0,122,.12) 4px 8px)}
.card blockquote{font-size:15.5px;line-height:1.55;font-style:italic;margin:34px 0 18px}
.card .who{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;border-top:1.5px solid var(--ink);padding-top:12px}
.card .who b{color:var(--magenta)}
.card .metric{position:absolute;bottom:-14px;left:18px;background:var(--yellow);border:2px solid var(--ink);font-family:var(--mono);font-size:12px;font-weight:700;padding:4px 12px;transform:rotate(-2deg)}
.pc1{top:20px;left:2%;transform:rotate(-5deg)}
.pc2{top:120px;left:31%;transform:rotate(3deg)}
.pc3{top:30px;right:20%;transform:rotate(-2.5deg)}
.pc4{top:190px;right:0;transform:rotate(5deg)}
@media(max-width:1000px){.postcards{height:auto;display:grid;gap:34px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card{position:static;width:auto;transform:rotate(-1deg)}.card:nth-child(even){transform:rotate(1.5deg)}}

/* ================= PRICING ================= */
#pricing{background:
  radial-gradient(circle, rgba(22,19,16,.10) 1px, transparent 1.6px) 0 0/22px 22px,
  var(--paper);border-bottom:2px solid var(--line-hard)}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:stretch}
.plan{border:2px solid var(--ink);background:#fff;padding:34px 28px;display:flex;flex-direction:column;position:relative;transition:transform .3s,box-shadow .3s}
.plan:hover{transform:translateY(-8px);box-shadow:10px 10px 0 var(--ink)}
.plan.featured{background:var(--ink);color:var(--paper);transform:translateY(-16px);box-shadow:10px 10px 0 var(--magenta)}
.plan.featured:hover{transform:translateY(-24px)}
.plan .tier{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;display:flex;justify-content:space-between}
.plan .price{font-family:var(--display);font-size:56px;margin:18px 0 4px;line-height:1}
.plan .price small{font-size:18px;font-family:var(--mono)}
.plan .desc{font-size:15px;color:var(--ink-soft);margin-bottom:22px}
.plan.featured .desc{color:#CFC9BC}
.plan ul{list-style:none;margin-bottom:28px;flex:1}
.plan li{padding:9px 0 9px 26px;border-bottom:1px dashed var(--line);font-size:15px;position:relative}
.plan.featured li{border-color:rgba(245,241,232,.25)}
.plan li::before{content:"✚";position:absolute;left:0;font-weight:700;color:var(--magenta)}
.plan.featured li::before{color:var(--yellow)}
.stripe-btn{display:block;text-align:center;background:var(--cyan);border:2px solid var(--ink);color:var(--ink);font-family:var(--mono);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:15px;text-decoration:none;transition:.25s}
.stripe-btn:hover{background:var(--yellow);transform:translate(-2px,-2px);box-shadow:4px 4px 0 rgba(0,0,0,.55)}
.plan.featured .stripe-btn{border-color:var(--paper)}
.plan .or{font-family:var(--mono);font-size:11px;text-align:center;margin:14px 0;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}
.plan.featured .or{color:#9c968a}
.more-btn{display:block;text-align:center;border:2px solid var(--magenta);color:var(--magenta);font-family:var(--mono);font-size:13px;text-transform:uppercase;padding:13px;text-decoration:none;transition:.25s}
.more-btn:hover{background:var(--magenta);color:#fff}
.plan.featured .more-btn{border-color:var(--yellow);color:var(--yellow)}
.plan.featured .more-btn:hover{background:var(--yellow);color:var(--ink)}
.pop-stamp{position:absolute;top:-16px;right:20px;background:var(--yellow);border:2px solid var(--ink);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;padding:6px 14px;transform:rotate(4deg);text-transform:uppercase}
.stripe-note{margin-top:56px;border:2px solid var(--ink);background:#fff;padding:26px 30px;display:flex;gap:22px;align-items:center;flex-wrap:wrap;box-shadow:8px 8px 0 rgba(22,19,16,.12)}
.stripe-badge{font-family:var(--mono);font-weight:700;font-size:15px;background:#635BFF;color:#fff;padding:10px 20px;letter-spacing:.02em}
.stripe-note p{font-size:14.5px;color:var(--ink-soft);flex:1;min-width:260px}
.stripe-note a{color:var(--magenta);font-weight:600}
@media(max-width:980px){.plans{grid-template-columns:1fr;max-width:520px;margin:0 auto}.plan.featured{transform:none}}

/* ================= FAQ ================= */
#faq{border-bottom:2px solid var(--line-hard)}
.faq-list{max-width:860px}
.faq-item{border-bottom:2px solid var(--line-hard)}
.faq-q{width:100%;background:none;border:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 4px;text-align:left;font-family:var(--body);font-size:19px;font-weight:600;color:var(--ink)}
.faq-q:hover{color:var(--magenta)}
.faq-q .ico{font-family:var(--mono);font-size:24px;transition:transform .3s;flex-shrink:0}
.faq-item.open .ico{transform:rotate(45deg);color:var(--magenta)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.2,.8,.2,1)}
.faq-a p{padding:0 4px 26px;color:var(--ink-soft);max-width:70ch}

/* ================= CONTACT ================= */
#contact{background:var(--magenta);color:#fff;border-bottom:2px solid var(--line-hard);position:relative;overflow:hidden}
#contact::after{content:"✳";position:absolute;font-size:440px;line-height:1;right:-60px;bottom:-140px;color:rgba(255,255,255,.08);font-family:var(--display)}
#contact .sec-tag::before{background:var(--yellow)}
.contact-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;position:relative;z-index:2}
.contact-left h2{color:#fff}
.contact-left .big-cta{display:inline-block;margin-top:30px;background:#fff;color:var(--ink);border:2px solid var(--ink);font-family:var(--mono);font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:20px 34px;text-decoration:none;transition:.25s;box-shadow:6px 6px 0 var(--ink)}
.contact-left .big-cta:hover{transform:translate(-3px,-3px);box-shadow:10px 10px 0 var(--ink);background:var(--yellow)}
.c-lines{margin-top:36px;display:grid;gap:14px}
.c-line{display:flex;gap:14px;align-items:baseline;font-size:17px}
.c-line .k{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;width:90px;flex-shrink:0;opacity:.85}
.c-line a{color:#fff;font-weight:600;text-decoration:none;border-bottom:2px solid rgba(255,255,255,.5)}
.c-line a:hover{border-color:var(--yellow);color:var(--yellow)}
.cform{background:#fff;color:var(--ink);border:2px solid var(--ink);padding:32px;box-shadow:10px 10px 0 var(--ink)}
.cform h3{font-family:var(--display);text-transform:uppercase;font-size:20px;margin-bottom:20px}
.f-row{margin-bottom:16px}
.f-row label{display:block;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
.f-row input,.f-row textarea{width:100%;border:1.5px solid var(--ink);background:var(--paper);padding:12px 14px;font-family:var(--body);font-size:15px;transition:.2s}
.f-row input:focus,.f-row textarea:focus{outline:none;border-color:var(--magenta);box-shadow:3px 3px 0 var(--magenta)}
.cform .btn{width:100%;justify-content:center}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}

/* ================= FOOTER ================= */
footer{background:var(--ink);color:var(--paper);padding:64px 0 30px}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:44px;margin-bottom:44px}
.foot-grid h4{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--yellow);margin-bottom:16px}
.foot-grid p,.foot-grid a{font-size:14.5px;color:#CFC9BC;text-decoration:none;line-height:2}
.foot-grid a{display:block}
.foot-grid a:hover{color:var(--yellow)}
.legal-links a{display:inline-block;margin-right:8px;border-bottom:1px dotted #CFC9BC}
.foot-bottom{border-top:1px solid rgba(245,241,232,.2);padding-top:22px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-family:var(--mono);font-size:11.5px;color:#9c968a;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:800px){.foot-grid{grid-template-columns:1fr}}

/* ================= POLICY MODALS ================= */
.modal-overlay{position:fixed;inset:0;background:rgba(22,19,16,.72);z-index:300;display:none;align-items:flex-start;justify-content:center;padding:4vh 20px;overflow-y:auto;backdrop-filter:blur(3px)}
.modal-overlay.open{display:flex}
.modal{background:var(--paper);color:var(--ink);max-width:820px;width:100%;border:2px solid var(--ink);box-shadow:12px 12px 0 rgba(0,0,0,.4);margin-bottom:6vh;animation:pop .3s cubic-bezier(.2,.8,.2,1)}
@keyframes pop{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:2px solid var(--ink);background:#fff;position:sticky;top:0;z-index:2}
.modal-head h3{font-family:var(--display);text-transform:uppercase;font-size:20px}
.modal-close{background:var(--magenta);color:#fff;border:2px solid var(--ink);font-family:var(--mono);font-size:13px;padding:8px 16px;text-transform:uppercase;transition:.2s}
.modal-close:hover{background:var(--ink)}
.modal-body{padding:34px 38px 46px;font-size:15.5px;line-height:1.75}
.modal-body h4{font-family:var(--mono);text-transform:uppercase;font-size:13px;letter-spacing:.1em;margin:30px 0 10px;padding-bottom:6px;border-bottom:1.5px solid var(--line-hard)}
.modal-body h4:first-child{margin-top:0}
.modal-body p,.modal-body li{color:var(--ink-soft);margin-bottom:12px}
.modal-body ul{padding-left:22px;margin-bottom:12px}
.modal-body strong{color:var(--ink)}
.policy-src{display:none}

/* ================= REDUCED MOTION ================= */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
  .marquee-track{animation:none;width:100%;flex-wrap:wrap}
  .rev,.line-mask>span{opacity:1!important;transform:none!important}
  .portrait img{animation:none}
}