/* =================================================================
   PRYVONA TRADING - Master Stylesheet
   Pixel-perfect port of the original React + Tailwind build.
   No build step required.
   ================================================================= */

/* ---------- Fontshare imports ---------- */
@import url('https://api.fontshare.com/v2/css?f[]=cabinet-grotesk@400,500,700,800&f[]=manrope@400,500,600,700&f[]=fraunces@400,500,600&display=swap');

/* ---------- CSS variables ---------- */
:root{
  --brand:#1E5631; --brand-600:#194828; --brand-700:#143A21; --brand-800:#0F2C19; --brand-900:#0A1E11;
  --gold:#D4AF37; --gold-500:#B89425; --gold-600:#8C6F1B;
  --bg:#FAFAFA; --fg:#0A0A0A;
  --muted:#737373; --muted-bg:#F5F5F5; --border:#E5E5E5; --border-strong:#D4D4D4;
  --card:#FFFFFF;
  --shadow-lg: 0 24px 60px -28px rgba(30,86,49,.35);
  --radius:.5rem;
  --container:1280px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family:'Manrope','Helvetica Neue','Arial',sans-serif;
  background:var(--bg); color:var(--fg);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
}
/* ---------- Global safety: prevent any image from overflowing its container ---------- */
img{ max-width:100%; height:auto; display:block; }
.prod-card img, .cat-card img, .pd-main-img img, .pd-thumb img, .about-img img, .hero-bg, .cta-bg img{ max-height:none; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; cursor:pointer; }
::selection{ background:var(--brand); color:#fff; }

h1,h2,h3,h4{
  font-family:'Cabinet Grotesk','Manrope',sans-serif;
  letter-spacing:-0.02em; margin:0;
}

/* ---------- Utility ---------- */
.container{ max-width:var(--container); margin:0 auto; padding:0 1.5rem; }
@media (min-width:640px){ .container{ padding:0 2rem; } }

.font-display{ font-family:'Cabinet Grotesk','Manrope',sans-serif; letter-spacing:-0.02em; }
.font-serif{ font-family:'Fraunces',serif; }

.eyebrow{
  font-size:10px; letter-spacing:.25em; text-transform:uppercase;
  font-weight:700; color:var(--brand);
}
.eyebrow-gold{ color:var(--gold); }
.eyebrow-white{ color:#fff; }

.text-brand{ color:var(--brand); }
.text-gold{ color:var(--gold); }
.text-muted{ color:var(--muted); }
.text-white-70{ color:rgba(255,255,255,.7); }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  border:0; border-radius:9999px; padding:.75rem 1.5rem;
  font-weight:700; font-size:.875rem; letter-spacing:.05em; text-transform:uppercase;
  cursor:pointer; transition:transform .25s, background .25s, color .25s, border-color .25s, box-shadow .25s;
  white-space:nowrap;
}
.btn-brand{ background:var(--brand); color:#fff; }
.btn-brand:hover{ background:var(--brand-600); transform:translateY(-1px); }
.btn-gold{ background:var(--gold); color:#0A0A0A; }
.btn-gold:hover{ background:var(--gold-500); }
.btn-outline-brand{ background:transparent; color:var(--brand); border:1px solid rgba(30,86,49,.3); }
.btn-outline-brand:hover{ background:var(--brand); color:#fff; }
.btn-outline-white{ background:rgba(255,255,255,.05); color:#fff; border:1px solid rgba(255,255,255,.4); backdrop-filter:blur(8px); }
.btn-outline-white:hover{ background:#fff; color:var(--brand); }
.btn-lg{ height:48px; padding:0 2rem; }
.btn-block{ width:100%; }

.btn .arrow{ transition:transform .35s; display:inline-block; }
.btn:hover .arrow{ transform:translateX(6px); }

/* ---------- Glass header ---------- */
.glass{
  background:rgba(255,255,255,.78);
  backdrop-filter:saturate(160%) blur(20px);
  -webkit-backdrop-filter:saturate(160%) blur(20px);
  border-bottom:1px solid rgba(255,255,255,.6);
}

/* ---------- Topbar ---------- */
.topbar{ background:var(--brand); color:#fff; font-size:12px; }
.topbar-inner{ display:flex; align-items:center; justify-content:space-between; padding:8px 0; }
.topbar .eyebrow{ color:var(--gold); font-size:10px; }
.topbar a{ display:inline-flex; align-items:center; gap:.5rem; transition:color .2s; }
.topbar a:hover{ color:var(--gold); }
.topbar svg{ width:14px; height:14px; }

/* ---------- Header ---------- */
.site-header{ position:sticky; top:0; z-index:50; }
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  height:80px;
}
.brand-mark{ display:flex; align-items:center; gap:.75rem; }
.brand-mark .logo{
  width:44px; height:44px; border-radius:8px;
  background:var(--brand); color:var(--gold);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px -8px rgba(30,86,49,.4);
}
.brand-mark .logo svg{ width:24px; height:24px; }
.brand-mark .name{ font-family:'Cabinet Grotesk',sans-serif; font-weight:700; font-size:18px; color:var(--brand); letter-spacing:-.02em; line-height:1.1; }
.brand-mark .sub{ font-size:10px; letter-spacing:.25em; text-transform:uppercase; color:var(--muted); margin-top:2px; }

.primary-nav{ display:none; gap:2.5rem; }
.primary-nav a{
  font-size:14px; font-weight:500; letter-spacing:.02em; color:#404040;
  position:relative; padding-bottom:4px; transition:color .2s;
}
.primary-nav a::after{
  content:''; position:absolute; left:0; bottom:0; height:2px; width:0;
  background:var(--gold); transition:width .4s;
}
.primary-nav a:hover{ color:var(--brand); }
.primary-nav a:hover::after,
.primary-nav a.active::after{ width:100%; }
.primary-nav a.active{ color:var(--brand); }

.header-cta{ display:none; gap:.75rem; align-items:center; }
.mobile-toggle{
  background:transparent; border:0; color:var(--brand);
  padding:8px; margin-right:-8px; display:flex;
}
.mobile-toggle svg{ width:24px; height:24px; }

@media(min-width:1024px){
  .primary-nav{ display:flex; }
  .header-cta{ display:flex; }
  .mobile-toggle{ display:none; }
}

/* Mobile menu */
.mobile-menu{
  display:none; background:#fff; border-top:1px solid var(--border);
  padding:24px; animation:fade-up .4s ease both;
}
.mobile-menu.open{ display:block; }
.mobile-menu a{ display:block; padding:.6rem 0; font-weight:500; color:#404040; font-size:16px; }
.mobile-menu a.active{ color:var(--brand); }
.mobile-menu .mm-cta{ display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-top:1rem; }

/* ---------- Hero ---------- */
.hero{
  position:relative; isolation:isolate;
  min-height:88vh; display:flex; align-items:center; overflow:hidden;
}
.hero-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-mask{
  position:absolute; inset:0;
  background:linear-gradient(105deg, rgba(10,20,12,.78) 0%, rgba(10,20,12,.45) 45%, rgba(10,20,12,.1) 100%);
}
.grain::after{
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.4; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.18 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
.hero-inner{
  position:relative; z-index:1;
  display:grid; grid-template-columns:1fr; gap:3rem;
  padding:8rem 0 9rem; color:#fff;
}
@media(min-width:1024px){ .hero-inner{ grid-template-columns:repeat(12,minmax(0,1fr)); } }
.hero-text{ grid-column:span 12; }
@media(min-width:1024px){ .hero-text{ grid-column:span 8; } }
.hero-pill{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:6px 12px; border-radius:9999px;
  border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.1);
  backdrop-filter:blur(8px); margin-bottom:1.5rem;
}
.hero-pill svg{ width:14px; height:14px; color:var(--gold); }
.hero-pill span{ font-size:11px; letter-spacing:.22em; text-transform:uppercase; font-weight:700; color:var(--gold); }

.hero h1{
  font-size:clamp(2.25rem, 1.4rem + 4vw, 4.5rem);
  font-weight:700; line-height:1.02; letter-spacing:-.02em;
}
.hero h1 .accent{ color:var(--gold); }
.hero p{ margin:2rem 0 0; max-width:640px; font-size:clamp(1rem, .92rem + .3vw, 1.125rem); color:rgba(255,255,255,.8); line-height:1.65; }

.hero-ctas{ margin-top:2.5rem; display:flex; flex-wrap:wrap; gap:1rem; }
.hero-trust{ margin-top:3rem; display:flex; flex-wrap:wrap; gap:2rem .75rem; font-size:14px; color:rgba(255,255,255,.7); }
.hero-trust span{ display:inline-flex; align-items:center; gap:.5rem; }
.hero-trust svg{ width:16px; height:16px; color:var(--gold); }

.hero-card{
  grid-column:span 12; display:none; align-items:flex-end;
}
@media(min-width:1024px){
  .hero-card{ display:flex; grid-column:span 4; }
}
.hero-card-inner{
  width:100%; padding:2rem;
  background:rgba(255,255,255,.1); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.2); border-radius:16px; color:#fff;
}
.hero-card .eyebrow{ color:var(--gold); margin-bottom:1rem; display:block; }
.hero-card ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:1rem; font-size:14px; }
.hero-card li{ display:flex; align-items:flex-start; gap:.75rem; }
.hero-card li svg{ width:20px; height:20px; color:var(--gold); flex-shrink:0; }
.hero-card .divider{ margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.15); }
.hero-card .divider-label{ font-size:12px; color:rgba(255,255,255,.6); margin-bottom:.25rem; }

/* ---------- Stats bar ---------- */
.hero-stats{ position:absolute; left:0; right:0; bottom:0; z-index:2; }
.hero-stats-inner{
  background:var(--brand); color:#fff;
  border-top:1px solid rgba(212,175,55,.3);
}
.hero-stats-grid{
  display:grid; grid-template-columns:repeat(2,1fr); 
}
@media(min-width:768px){ .hero-stats-grid{ grid-template-columns:repeat(4,1fr); } }
.hero-stat{
  text-align:center; padding:28px 1rem;
  border-right:1px solid rgba(255,255,255,.15);
}
@media(min-width:768px){ .hero-stat{ padding:28px 2rem; } }
.hero-stat:nth-child(2n){ border-right:0; }
@media(min-width:768px){
  .hero-stat{ border-right:1px solid rgba(255,255,255,.15); }
  .hero-stat:nth-child(2n){ border-right:1px solid rgba(255,255,255,.15); }
  .hero-stat:last-child{ border-right:0; }
}
.hero-stat .val{ font-family:'Cabinet Grotesk',sans-serif; font-weight:700; font-size:clamp(1.5rem, 1rem + 1vw, 1.875rem); color:var(--gold); letter-spacing:-.02em; }
.hero-stat .lbl{ font-size:11px; text-transform:uppercase; letter-spacing:.2em; margin-top:.5rem; color:rgba(255,255,255,.7); }

/* ---------- Section base ---------- */
section{ padding:6rem 0; }
@media(min-width:640px){ section{ padding:8rem 0; } }
.section-head{ text-align:center; max-width:640px; margin:0 auto 4rem; }
.section-head h2,
.section-title h2{
  font-size:clamp(1.875rem, 1.2rem + 2vw, 3rem);
  font-weight:700; line-height:1.05; letter-spacing:-.02em;
  color:#0A0A0A;
}
.section-head .eyebrow{ display:block; margin-bottom:.75rem; }

.section-bar{ display:flex; flex-direction:column; gap:1.5rem; margin-bottom:3.5rem; }
@media(min-width:768px){
  .section-bar{ flex-direction:row; align-items:flex-end; justify-content:space-between; }
}
.section-bar .eyebrow{ display:block; margin-bottom:.75rem; }
.section-bar h2{ font-size:clamp(1.875rem, 1.2rem + 2vw, 3rem); font-weight:700; line-height:1.05; letter-spacing:-.02em; }

.link-cta{
  font-size:13px; font-weight:700; color:var(--brand);
  text-transform:uppercase; letter-spacing:.15em;
  position:relative; padding-bottom:4px;
}
.link-cta::after{
  content:''; position:absolute; left:0; bottom:0; height:2px; width:0;
  background:var(--gold); transition:width .35s;
}
.link-cta:hover::after{ width:100%; }

/* ---------- About ---------- */
.about-grid{ display:grid; grid-template-columns:1fr; gap:3rem; align-items:center; }
@media(min-width:1024px){ .about-grid{ grid-template-columns:repeat(12,1fr); gap:4rem; } }
.about-img{ grid-column:span 12; position:relative; }
@media(min-width:1024px){ .about-img{ grid-column:span 5; } }
.about-img img{ width:100%; height:auto; max-height:640px; object-fit:cover; border-radius:16px; aspect-ratio:4/5; }
.about-img .badge-card{
  display:none; position:absolute; right:-1.5rem; bottom:-2rem;
  background:#fff; border:1px solid var(--border); border-radius:12px;
  padding:1.5rem; width:14rem; box-shadow:0 24px 60px -28px rgba(30,86,49,.2);
}
@media(min-width:640px){ .about-img .badge-card{ display:block; } }
.about-img .badge-card .eyebrow{ color:var(--gold); margin-bottom:.5rem; }
.about-img .badge-card .title{ font-family:'Cabinet Grotesk',sans-serif; font-weight:700; font-size:1.5rem; line-height:1.2; letter-spacing:-.02em; }
.about-text{ grid-column:span 12; }
@media(min-width:1024px){ .about-text{ grid-column:span 7; } }
.about-text h2 em{ font-family:'Fraunces',serif; font-style:normal; color:var(--brand); }
.about-text p.lead{ margin-top:1.5rem; font-size:1.0625rem; color:#525252; line-height:1.7; max-width:640px; }
.about-grid-2{ margin-top:2.5rem; display:grid; grid-template-columns:1fr; gap:2rem 2.5rem; }
@media(min-width:640px){ .about-grid-2{ grid-template-columns:1fr 1fr; } }
.about-grid-2 .eyebrow{ color:var(--gold); margin-bottom:.5rem; display:block; }
.about-grid-2 p{ color:#404040; }

/* ---------- Category grid ---------- */
.section-light{ background:#fff; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.cat-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
@media(min-width:768px){ .cat-grid{ grid-template-columns:repeat(4,1fr); } }
.cat-card{
  position:relative; padding-top:125%;   /* 4:5 ratio (taller than wide) */
  border-radius:12px; overflow:hidden;
  border:1px solid var(--border); transition:transform .35s, box-shadow .35s; display:block;
}
.cat-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.cat-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.cat-card:hover img{ transform:scale(1.1); }
.cat-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 30%, rgba(0,0,0,.85) 100%);
}
.cat-text{
  position:absolute; left:0; right:0; bottom:0; padding:1.25rem; color:#fff;
}
.cat-text .eyebrow{ color:var(--gold); margin-bottom:.25rem; display:block; }
.cat-text .name{ font-family:'Cabinet Grotesk',sans-serif; font-weight:700; font-size:1.25rem; letter-spacing:-.01em; }
.cat-text .desc{ margin-top:.25rem; font-size:12px; color:rgba(255,255,255,.7); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cat-text .more{ margin-top:.75rem; display:inline-flex; align-items:center; gap:.25rem; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--gold); opacity:0; transition:opacity .35s; }
.cat-card:hover .more{ opacity:1; }

/* ---------- Product card ---------- */
.prod-grid{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media(min-width:640px){ .prod-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .prod-grid{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:1280px){ .prod-grid.cols-4{ grid-template-columns:repeat(4,1fr); } }
.prod-card{
  background:#fff; border:1px solid var(--border); border-radius:12px; overflow:hidden;
  transition:transform .35s, box-shadow .35s; display:flex; flex-direction:column;
}
.prod-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.prod-img-wrap{
  width:100%; padding-top:80%;     /* 5:4 aspect (height = 4/5 of width = 80%) */
  position:relative; background:#F5F5F5; overflow:hidden; display:block;
}
.prod-img-wrap img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; transition:transform .7s;
}
.prod-card:hover .prod-img-wrap img{ transform:scale(1.05); }
.prod-badge{
  position:absolute; top:.75rem; left:.75rem;
  padding:5px 10px; border-radius:9999px;
  background:rgba(255,255,255,.9); backdrop-filter:blur(8px);
  font-size:10px; letter-spacing:.18em; text-transform:uppercase; font-weight:700;
  color:var(--brand); border:1px solid rgba(30,86,49,.1);
}
.prod-badge-gold{
  position:absolute; top:.75rem; right:.75rem;
  padding:5px 10px; border-radius:9999px;
  background:rgba(212,175,55,.95);
  font-size:10px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; color:#0A0A0A;
}
.prod-body{ padding:1.25rem; }
.prod-cat{ font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:#A3A3A3; font-weight:700; }
.prod-title{ margin-top:.25rem; font-family:'Cabinet Grotesk',sans-serif; font-weight:600; font-size:1.125rem; color:#0A0A0A; line-height:1.3; letter-spacing:-.01em; transition:color .2s; }
.prod-title:hover{ color:var(--brand); }
.prod-desc{ margin-top:.5rem; font-size:14px; color:#525252; line-height:1.6;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.prod-footer{ margin-top:1.25rem; display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; }
.prod-price-lbl{ font-size:10px; text-transform:uppercase; color:#A3A3A3; letter-spacing:.18em; }
.prod-price{ font-family:'Cabinet Grotesk',sans-serif; font-weight:700; color:#0A0A0A; margin-top:2px; }
.prod-inquire{ font-size:12px; font-weight:600; color:var(--brand); letter-spacing:.05em;
  background:transparent; border:0; padding-bottom:2px; position:relative; }
.prod-inquire::after{ content:''; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--gold); transition:width .35s; }
.prod-inquire:hover::after{ width:100%; }

/* ---------- Why us / dark section ---------- */
.section-dark{ background:var(--brand); color:#fff; position:relative; overflow:hidden; }
.section-dark .glow{ position:absolute; top:-8rem; right:-8rem; width:24rem; height:24rem; border-radius:50%; background:rgba(212,175,55,.15); filter:blur(60px); }
.why-grid{ display:grid; grid-template-columns:1fr; gap:3rem; align-items:flex-end; margin-bottom:4rem; }
@media(min-width:1024px){ .why-grid{ grid-template-columns:repeat(12,1fr); } }
.why-grid > .left{ grid-column:span 12; }
.why-grid > .right{ grid-column:span 12; color:rgba(255,255,255,.7); }
@media(min-width:1024px){
  .why-grid > .left{ grid-column:span 7; }
  .why-grid > .right{ grid-column:span 5; }
}
.why-grid .accent{ color:var(--gold); }

.why-cards{ display:grid; grid-template-columns:1fr; gap:1px; background:rgba(255,255,255,.1); }
@media(min-width:640px){ .why-cards{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .why-cards{ grid-template-columns:repeat(3,1fr); } }
.why-card{ background:var(--brand); padding:2rem; transition:background .35s; }
@media(min-width:640px){ .why-card{ padding:2.5rem; } }
.why-card:hover{ background:var(--brand-700); }
.why-card .icon{
  width:48px; height:48px; border-radius:8px; background:rgba(212,175,55,.15);
  color:var(--gold); display:flex; align-items:center; justify-content:center; margin-bottom:1.5rem; transition:background .35s, color .35s;
}
.why-card:hover .icon{ background:var(--gold); color:var(--brand); }
.why-card .icon svg{ width:24px; height:24px; }
.why-card h3{ font-family:'Cabinet Grotesk',sans-serif; font-size:1.25rem; font-weight:700; letter-spacing:-.01em; }
.why-card p{ margin-top:.75rem; font-size:14px; color:rgba(255,255,255,.7); line-height:1.65; }

/* ---------- Process ---------- */
.process-grid{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--border); }
@media(min-width:768px){ .process-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .process-grid{ grid-template-columns:repeat(4,1fr); } }
.process-card{ background:#fff; padding:2rem; position:relative; }
.process-step{ font-family:'Cabinet Grotesk',sans-serif; font-weight:700; font-size:3.75rem; color:#F5F5F5; letter-spacing:-.04em; line-height:1; }
.process-card h3{ margin-top:1rem; font-family:'Cabinet Grotesk',sans-serif; font-size:1.25rem; font-weight:700; color:#0A0A0A; letter-spacing:-.01em; }
.process-card p{ margin-top:.75rem; font-size:14px; color:#525252; line-height:1.65; }
.process-card .dot{ position:absolute; top:2rem; right:2rem; width:8px; height:8px; border-radius:50%; background:var(--gold); }

/* ---------- Testimonials ---------- */
.section-gray{ background:#FAFAFA; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.tst-grid{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media(min-width:768px){ .tst-grid{ grid-template-columns:repeat(3,1fr); } }
.tst-card{ background:#fff; border:1px solid var(--border); border-radius:12px; padding:2rem; transition:transform .35s, box-shadow .35s; }
.tst-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.tst-stars{ display:flex; gap:2px; margin-bottom:1.25rem; }
.tst-stars svg{ width:16px; height:16px; color:var(--gold); }
.tst-card blockquote{ margin:0; font-size:14px; color:#404040; line-height:1.7; }
.tst-card figcaption{ margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.tst-card .name{ font-family:'Cabinet Grotesk',sans-serif; font-weight:700; color:#0A0A0A; }
.tst-card .role{ font-size:12px; color:#737373; margin-top:.25rem; }

/* ---------- FAQ ---------- */
.faq-wrap{ max-width:56rem; margin:0 auto; }
.faq-item{
  background:#fff; border:1px solid var(--border); border-radius:8px; margin-bottom:.75rem;
  padding:0 1.5rem; transition:border-color .25s;
}
.faq-item[open]{ border-color:rgba(30,86,49,.4); }
.faq-item summary{
  list-style:none; cursor:pointer; padding:1.25rem 0;
  font-family:'Cabinet Grotesk',sans-serif; font-weight:600; font-size:16px; color:#0A0A0A;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:''; width:12px; height:12px; border-right:2px solid #525252; border-bottom:2px solid #525252;
  transform:rotate(45deg); transition:transform .25s;
}
.faq-item[open] summary::after{ transform:rotate(-135deg); }
.faq-item .body{ padding:0 0 1.25rem; color:#525252; line-height:1.7; }

/* ---------- CTA ---------- */
.cta{ position:relative; padding:6rem 0; background:#171717; color:#fff; overflow:hidden; }
.cta-bg{ position:absolute; inset:0; opacity:.3; }
.cta-bg img{ width:100%; height:100%; object-fit:cover; }
.cta-mask{ position:absolute; inset:0; background:linear-gradient(90deg, #171717 0%, rgba(23,23,23,.85) 60%, transparent 100%); }
.cta-inner{ position:relative; display:grid; grid-template-columns:1fr; gap:3rem; align-items:center; }
@media(min-width:1024px){ .cta-inner{ grid-template-columns:repeat(12,1fr); } }
.cta-text{ grid-column:span 12; }
@media(min-width:1024px){ .cta-text{ grid-column:span 8; } }
.cta-text h2{
  font-family:'Cabinet Grotesk',sans-serif; font-weight:700; line-height:1.05; letter-spacing:-.02em;
  font-size:clamp(2rem, 1.4rem + 2vw, 3.75rem);
}
.cta-text h2 .accent{ color:var(--gold); display:block; }
.cta-text p{ margin-top:1.5rem; color:rgba(255,255,255,.7); max-width:36rem; }
.cta-buttons{ grid-column:span 12; display:flex; flex-direction:column; gap:.75rem; }
@media(min-width:1024px){ .cta-buttons{ grid-column:span 4; } }

/* ---------- Footer ---------- */
.site-footer{ background:#0A140C; color:#A3A3A3; margin-top:5rem; }
.footer-main{ display:grid; grid-template-columns:1fr; gap:3rem; padding:5rem 0; }
@media(min-width:768px){ .footer-main{ grid-template-columns:repeat(12,1fr); } }
.footer-main .col-brand{ grid-column:span 12; }
.footer-main .col-quick{ grid-column:span 6; }
.footer-main .col-cat{ grid-column:span 6; }
@media(min-width:768px){
  .footer-main .col-brand{ grid-column:span 5; }
  .footer-main .col-quick{ grid-column:span 3; }
  .footer-main .col-cat{ grid-column:span 4; }
}
.footer-main .logo-row{ display:flex; align-items:center; gap:.75rem; margin-bottom:1.5rem; }
.footer-main .logo-row .icon{
  width:48px; height:48px; border-radius:8px; background:var(--brand); color:var(--gold);
  display:flex; align-items:center; justify-content:center;
}
.footer-main .logo-row .icon svg{ width:24px; height:24px; }
.footer-main .logo-row .text{ }
.footer-main .logo-row .name{ font-family:'Cabinet Grotesk',sans-serif; font-weight:700; color:#fff; font-size:1.125rem; }
.footer-main .logo-row .sub{ font-size:10px; letter-spacing:.25em; color:var(--gold); text-transform:uppercase; }
.footer-main .col-brand p{ font-size:14px; color:#a3a3a3; line-height:1.7; max-width:28rem; }
.footer-main .info{ margin-top:2rem; display:flex; flex-direction:column; gap:.75rem; font-size:14px; }
.footer-main .info a, .footer-main .info span{ display:flex; align-items:flex-start; gap:.75rem; transition:color .2s; }
.footer-main .info a:hover{ color:var(--gold); }
.footer-main .info svg{ width:16px; height:16px; color:var(--gold); flex-shrink:0; margin-top:2px; }
.footer-main .col-title{ font-size:10px; letter-spacing:.25em; color:var(--gold); font-weight:700; text-transform:uppercase; margin-bottom:1.25rem; }
.footer-main ul{ list-style:none; padding:0; margin:0; }
.footer-main .col-quick li{ margin-bottom:.75rem; font-size:14px; }
.footer-main a{ transition:color .2s; }
.footer-main a:hover{ color:var(--gold); }
.footer-main .col-cat ul{ display:grid; grid-template-columns:1fr 1fr; gap:.75rem 1rem; font-size:14px; }
.footer-main .socials{ margin-top:2rem; display:flex; gap:1rem; }
.footer-main .socials a{
  width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center; transition:border-color .25s;
}
.footer-main .socials a:hover{ border-color:var(--gold); }
.footer-main .socials svg{ width:16px; height:16px; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.1); }
.footer-bottom-inner{
  padding:1.5rem 0; display:flex; flex-direction:column; gap:.75rem;
  font-size:12px; color:#737373;
}
@media(min-width:768px){
  .footer-bottom-inner{ flex-direction:row; align-items:center; justify-content:space-between; }
}
.footer-bottom-inner .legal{ color:#737373; }
.footer-bottom-inner .legal span{ color:#fff; }
.footer-bottom-inner .nav-legal{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1.25rem; }
.footer-bottom-inner .nav-legal a:hover{ color:var(--gold); }

/* ---------- Whatsapp floating ---------- */
.wa-float{
  position:fixed; right:1.5rem; bottom:1.5rem; z-index:40;
  width:56px; height:56px; border-radius:50%; background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 14px 30px -8px rgba(37,211,102,.45);
  transition:transform .3s;
}
.wa-float:hover{ transform:scale(1.1); }
.wa-float svg{ width:28px; height:28px; }
.wa-float::before{
  content:''; position:absolute; inset:0; border-radius:50%;
  background:rgba(37,211,102,.4); animation:wa-ping 1.8s cubic-bezier(0,0,.2,1) infinite;
}
@keyframes wa-ping{ 75%,100%{ transform:scale(1.5); opacity:0; } 0%{ opacity:.6; } }

/* ---------- Modal ---------- */
.modal-backdrop{
  position:fixed; inset:0; background:rgba(0,0,0,.55);
  display:none; align-items:center; justify-content:center;
  z-index:100; padding:1rem;
  animation:fade-in .2s ease both;
}
.modal-backdrop.open{ display:flex; }
.modal{
  background:#fff; border-radius:12px; max-width:36rem; width:100%;
  max-height:90vh; overflow-y:auto;
  padding:2rem; animation:fade-up .3s ease both;
}
.modal h2{
  font-family:'Cabinet Grotesk',sans-serif; font-weight:700;
  font-size:1.5rem; letter-spacing:-.02em;
}
.modal .eyebrow{ display:block; margin-bottom:.5rem; }
.modal .desc{ font-size:14px; color:#737373; margin:.5rem 0 1.5rem; }
.modal-close{
  position:absolute; top:1rem; right:1rem; background:transparent; border:0;
  color:#737373; font-size:24px; line-height:1; padding:.25rem;
}

/* ---------- Forms ---------- */
.form-grid{ display:grid; grid-template-columns:1fr; gap:1rem; }
@media(min-width:640px){ .form-grid{ grid-template-columns:1fr 1fr; } }
.form-row{ display:flex; flex-direction:column; gap:.375rem; }
.form-row.full{ grid-column:1/-1; }
label{ font-size:13px; font-weight:600; color:#404040; }
.input, input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=search], select, textarea{
  width:100%; padding:.6rem .85rem; font-size:14px; color:#0A0A0A;
  background:#fff; border:1px solid var(--border-strong); border-radius:6px;
  transition:border-color .2s, box-shadow .2s;
  font-family:inherit;
}
textarea{ resize:vertical; min-height:90px; }
input:focus, select:focus, textarea:focus{
  outline:0; border-color:var(--brand); box-shadow:0 0 0 3px rgba(30,86,49,.15);
}
.form-actions{ display:flex; flex-wrap:wrap; gap:.75rem; padding-top:.5rem; }

/* ---------- Toast ---------- */
.toast-container{ position:fixed; top:1rem; right:1rem; z-index:200; display:flex; flex-direction:column; gap:.5rem; }
.toast{
  background:#fff; border:1px solid var(--border); border-radius:8px; padding:.85rem 1rem;
  box-shadow:0 12px 30px -10px rgba(0,0,0,.2); font-size:14px;
  min-width:280px; animation:fade-up .3s ease both;
}
.toast.success{ border-left:4px solid var(--brand); }
.toast.error{ border-left:4px solid #DC2626; }

/* ---------- Skeleton ---------- */
.skeleton{ background:#eee; position:relative; overflow:hidden; border-radius:4px; }
.skeleton::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.65), transparent);
  transform:translateX(-100%); animation:shimmer 1.4s infinite;
}
@keyframes shimmer{ 100%{ transform:translateX(100%); } }

/* ---------- Animations ---------- */
@keyframes fade-up{ 0%{ opacity:0; transform:translateY(20px); } 100%{ opacity:1; transform:translateY(0); } }
@keyframes fade-in{ 0%{ opacity:0; } 100%{ opacity:1; } }
.animate-fade-up{ animation:fade-up .7s ease both; }

/* ---------- Page band (inner pages) ---------- */
.page-band{ background:var(--brand); color:#fff; padding:6rem 0; position:relative; overflow:hidden; }
.page-band .eyebrow{ color:var(--gold); display:block; margin-bottom:.75rem; }
.page-band h1{
  font-family:'Cabinet Grotesk',sans-serif; font-weight:700;
  font-size:clamp(2.25rem, 1.5rem + 3vw, 4rem); line-height:1.05; letter-spacing:-.02em;
}
.page-band p{ margin-top:1.25rem; color:rgba(255,255,255,.75); max-width:42rem; }

/* ---------- Breadcrumb ---------- */
.crumb{ background:#FAFAFA; border-bottom:1px solid var(--border); padding:1rem 0; font-size:12px; color:#737373; }
.crumb a{ transition:color .2s; }
.crumb a:hover{ color:var(--brand); }
.crumb .sep{ margin:0 .5rem; }
.crumb .cur{ color:#262626; }

/* ---------- Product detail ---------- */
.pd-grid{ display:grid; grid-template-columns:1fr; gap:3rem; padding:3rem 0 4rem; }
@media(min-width:1024px){ .pd-grid{ grid-template-columns:repeat(12,1fr); } }
.pd-gallery{ grid-column:span 12; }
.pd-info{ grid-column:span 12; }
@media(min-width:1024px){
  .pd-gallery{ grid-column:span 7; }
  .pd-info{ grid-column:span 5; }
}
.pd-main-img{ width:100%; padding-top:75%; position:relative; border-radius:16px; overflow:hidden; background:#F5F5F5; border:1px solid var(--border); }
.pd-main-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.pd-thumbs{ margin-top:1rem; display:grid; grid-template-columns:repeat(5,1fr); gap:.75rem; }
.pd-thumb{ position:relative; padding-top:100%; border-radius:6px; overflow:hidden; border:2px solid transparent; cursor:pointer; }
.pd-thumb img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.pd-thumb.active{ border-color:var(--brand); }
.pd-cat{ display:flex; align-items:center; gap:.5rem; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:#A3A3A3; font-weight:700; }
.pd-cat .featured-pill{ background:var(--gold); color:#0A0A0A; padding:2px 8px; border-radius:9999px; font-size:10px; letter-spacing:.05em; text-transform:none; font-weight:700; }
.pd-info h1{ margin-top:.75rem; font-size:clamp(1.875rem, 1.2rem + 2vw, 3rem); font-weight:700; line-height:1.1; }
.pd-short{ margin-top:1.25rem; color:#525252; line-height:1.65; }
.pd-stats{ margin-top:2rem; display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.pd-stat{ padding:1rem; border-radius:8px; }
.pd-stat.brand-tint{ background:rgba(30,86,49,.05); border:1px solid rgba(30,86,49,.15); }
.pd-stat.gold-tint{ background:rgba(212,175,55,.1); border:1px solid rgba(212,175,55,.3); }
.pd-stat .lbl{ font-size:10px; letter-spacing:.22em; text-transform:uppercase; font-weight:700; }
.pd-stat.brand-tint .lbl{ color:var(--brand); }
.pd-stat.gold-tint .lbl{ color:var(--gold-600); }
.pd-stat .val{ margin-top:.5rem; font-family:'Cabinet Grotesk',sans-serif; font-weight:700; font-size:1.25rem; color:#0A0A0A; }
.pd-mini{ margin-top:1.5rem; display:flex; flex-wrap:wrap; gap:1.25rem; font-size:12px; color:#737373; align-items:center; }
.pd-mini span{ display:inline-flex; align-items:center; gap:.375rem; }
.pd-mini svg{ width:14px; height:14px; color:var(--brand); }
.pd-actions{ margin-top:2rem; display:flex; flex-direction:column; gap:.75rem; }
.pd-trust{ margin-top:2rem; padding-top:2rem; border-top:1px solid var(--border); display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; font-size:12px; }
.pd-trust > div{ display:flex; align-items:flex-start; gap:.5rem; }
.pd-trust svg{ width:16px; height:16px; color:var(--brand); margin-top:2px; flex-shrink:0; }
.pd-trust span{ color:#737373; }

.pd-details{ background:#FAFAFA; border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:4rem 0; }
.pd-details-grid{ display:grid; grid-template-columns:1fr; gap:3rem; }
@media(min-width:1024px){ .pd-details-grid{ grid-template-columns:repeat(12,1fr); } }
.pd-detail-main{ grid-column:span 12; display:flex; flex-direction:column; gap:3rem; }
.pd-detail-side{ grid-column:span 12; }
@media(min-width:1024px){
  .pd-detail-main{ grid-column:span 7; }
  .pd-detail-side{ grid-column:span 5; }
}
.pd-detail-main h2{ font-family:'Cabinet Grotesk',sans-serif; font-size:clamp(1.5rem,1.2rem + .5vw, 1.875rem); font-weight:700; margin-bottom:1rem; }
.pd-detail-main p{ color:#404040; line-height:1.7; }
.pd-detail-main .block .eyebrow{ display:block; margin-bottom:.75rem; }
.pd-bens{ list-style:none; padding:0; margin:0; }
.pd-bens li{ display:flex; align-items:flex-start; gap:.75rem; color:#404040; padding:.5rem 0; }
.pd-bens svg{ width:20px; height:20px; color:var(--brand); flex-shrink:0; margin-top:2px; }
.pd-apps{ display:flex; flex-wrap:wrap; gap:.5rem; }
.pd-app{ padding:6px 12px; border:1px solid rgba(30,86,49,.3); border-radius:9999px; font-size:12px; color:var(--brand); }
.pd-specs{ background:#fff; border:1px solid var(--border); border-radius:12px; padding:2rem; position:sticky; top:7rem; }
.pd-specs h3{ font-family:'Cabinet Grotesk',sans-serif; font-size:1.5rem; font-weight:700; letter-spacing:-.02em; margin-bottom:1.5rem; }
.pd-specs .row{ display:flex; justify-content:space-between; padding:.75rem 0; border-top:1px solid var(--border); font-size:14px; }
.pd-specs .row:first-of-type{ border-top:0; }
.pd-specs .lbl{ color:#737373; }
.pd-specs .val{ font-weight:600; color:#0A0A0A; }

/* sticky mobile bar */
.pd-sticky{
  position:fixed; left:0; right:0; bottom:0; z-index:30;
  background:rgba(255,255,255,.95); backdrop-filter:blur(10px);
  border-top:1px solid var(--border); padding:.75rem;
  display:grid; grid-template-columns:1fr 1fr; gap:.5rem;
}
@media(min-width:1024px){ .pd-sticky{ display:none; } }
@media(min-width:1024px){ .pd-spacer{ display:none; } }
.pd-spacer{ height:80px; }

/* ---------- Filters ---------- */
.filters{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.5rem; }
.chip{
  padding:8px 16px; border-radius:9999px; font-size:11px; font-weight:600;
  letter-spacing:.05em; text-transform:uppercase; border:1px solid var(--border-strong);
  background:#fff; color:#404040; transition:border-color .25s, background .25s, color .25s;
}
.chip:hover{ border-color:var(--brand); }
.chip.active{ background:var(--brand); border-color:var(--brand); color:#fff; }

.search-wrap{ position:relative; max-width:28rem; }
.search-wrap svg{ position:absolute; left:12px; top:50%; transform:translateY(-50%); width:16px; height:16px; color:#A3A3A3; }
.search-wrap input{ padding-left:40px; height:44px; border-radius:9999px; background:#fff; }

/* ---------- Admin ---------- */
.admin-shell{ min-height:100vh; background:#FAFAFA; display:flex; }
.admin-sidebar{ display:none; width:256px; background:#0A140C; color:#fff; flex-direction:column; }
@media(min-width:1024px){ .admin-sidebar{ display:flex; } }
.admin-sidebar-head{ display:flex; align-items:center; gap:.75rem; padding:0 1.5rem; height:80px; border-bottom:1px solid rgba(255,255,255,.1); }
.admin-sidebar-head .icon{ width:40px; height:40px; border-radius:8px; background:var(--brand); color:var(--gold); display:flex; align-items:center; justify-content:center; }
.admin-sidebar-head .icon svg{ width:20px; height:20px; }
.admin-sidebar-head .name{ font-family:'Cabinet Grotesk',sans-serif; font-weight:700; color:#fff; }
.admin-sidebar-head .sub{ font-size:9px; letter-spacing:.25em; color:var(--gold); text-transform:uppercase; }
.admin-nav{ flex:1; padding:1.5rem 1rem; display:flex; flex-direction:column; gap:.25rem; }
.admin-nav a{
  display:flex; align-items:center; gap:.75rem; padding:.625rem .75rem;
  border-radius:6px; font-size:14px; color:rgba(255,255,255,.7);
  transition:background .25s, color .25s;
}
.admin-nav a:hover{ background:rgba(255,255,255,.05); }
.admin-nav a.active{ background:var(--brand); color:#fff; }
.admin-nav svg{ width:16px; height:16px; }
.admin-sidebar-foot{ padding:1rem; border-top:1px solid rgba(255,255,255,.1); }
.admin-sidebar-foot .lbl{ font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); }
.admin-sidebar-foot .email{ font-size:14px; color:#fff; margin-top:.25rem; }
.admin-sidebar-foot button, .admin-sidebar-foot a.btn{
  margin-top:1rem; width:100%;
}

.admin-main{ flex:1; display:flex; flex-direction:column; min-width:0; }
.admin-mobile-bar{ background:#fff; border-bottom:1px solid var(--border); padding:0 1rem; height:64px; display:flex; align-items:center; justify-content:space-between; }
@media(min-width:1024px){ .admin-mobile-bar{ display:none; } }
.admin-mobile-tabs{ background:#fff; border-bottom:1px solid var(--border); padding:.5rem 1rem; display:flex; gap:.25rem; overflow-x:auto; }
@media(min-width:1024px){ .admin-mobile-tabs{ display:none; } }
.admin-mobile-tabs a{
  padding:6px 12px; border-radius:9999px; font-size:12px; font-weight:600; background:#f5f5f5;
  white-space:nowrap;
}
.admin-mobile-tabs a.active{ background:var(--brand); color:#fff; }

.admin-content{ flex:1; padding:1.5rem; }
@media(min-width:1024px){ .admin-content{ padding:2.5rem; } }
.admin-content h1{ font-family:'Cabinet Grotesk',sans-serif; font-size:1.875rem; font-weight:700; letter-spacing:-.02em; }
.stat-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin-top:2rem; }
@media(min-width:1024px){ .stat-grid{ grid-template-columns:repeat(4,1fr); } }
.stat-card{ background:#fff; border:1px solid var(--border); border-radius:12px; padding:1.25rem; }
.stat-card .head{ display:flex; align-items:center; justify-content:space-between; }
.stat-card .head .lbl{ font-size:10px; letter-spacing:.22em; text-transform:uppercase; font-weight:700; color:#737373; }
.stat-card .head svg{ width:16px; height:16px; color:var(--gold); }
.stat-card .val{ margin-top:.75rem; font-family:'Cabinet Grotesk',sans-serif; font-weight:700; font-size:1.875rem; color:#0A0A0A; }
.table-wrap{ background:#fff; border:1px solid var(--border); border-radius:12px; overflow-x:auto; }
table.data{ width:100%; border-collapse:collapse; font-size:14px; }
table.data thead{ background:#FAFAFA; }
table.data th{ text-align:left; padding:1rem 1.5rem; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:#737373; font-weight:700; }
table.data td{ padding:1rem 1.5rem; border-top:1px solid var(--border); vertical-align:top; }
table.data tr:hover td{ background:#FAFAFA; }
.status-pill{ padding:4px 10px; border-radius:9999px; font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.status-pill.new{ background:rgba(212,175,55,.15); color:#8C6F1B; }
.status-pill.contacted{ background:#dbeafe; color:#1d4ed8; }
.status-pill.quotation_sent{ background:rgba(30,86,49,.1); color:var(--brand); }
.status-pill.closed{ background:#e5e5e5; color:#404040; }

.admin-actions{ display:flex; flex-direction:column; gap:1rem; margin-bottom:2rem; }
@media(min-width:640px){ .admin-actions{ flex-direction:row; align-items:center; justify-content:space-between; } }

/* admin login */
.admin-login-shell{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, #FAFAFA 0%, #fff 50%, rgba(30,86,49,.05) 100%);
  padding:1.5rem; position:relative;
}
.admin-login-shell::before{
  content:'PRYVONA TRADING · Admin'; position:absolute; top:1.5rem; left:1.5rem;
  font-size:11px; letter-spacing:.25em; text-transform:uppercase; font-weight:700; color:var(--brand);
}
.admin-login-card{ width:100%; max-width:28rem; }
.admin-login-card .logo-wrap{ display:flex; justify-content:center; margin-bottom:2rem; }
.admin-login-card .logo-wrap .ic{
  width:56px; height:56px; border-radius:12px; background:var(--brand); color:var(--gold);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 24px 50px -10px rgba(30,86,49,.4);
}
.admin-login-card .logo-wrap .ic svg{ width:28px; height:28px; }
.admin-login-box{ background:#fff; border:1px solid var(--border); border-radius:16px; padding:2rem; box-shadow:0 20px 50px -20px rgba(30,86,49,.1); }
.admin-login-box h1{ font-family:'Cabinet Grotesk',sans-serif; font-weight:700; font-size:1.875rem; letter-spacing:-.02em; }
.admin-login-box .hint{ font-size:13px; color:#737373; margin:.5rem 0 2rem; }
.alert-error{ background:#fee2e2; border:1px solid #fecaca; color:#991b1b; border-radius:6px; padding:.65rem .85rem; font-size:13px; margin-bottom:1rem; }
.alert-success{ background:#dcfce7; border:1px solid #bbf7d0; color:#166534; border-radius:6px; padding:.65rem .85rem; font-size:13px; margin-bottom:1rem; }

/* page legal */
.legal-wrap{ padding:5rem 0; }
.legal-section{ border-left:2px solid var(--gold); padding-left:1.5rem; margin-bottom:2.5rem; max-width:48rem; margin-left:auto; margin-right:auto; }
.legal-section h2{ font-family:'Cabinet Grotesk',sans-serif; font-size:1.5rem; font-weight:700; letter-spacing:-.02em; }
.legal-section p{ margin-top:.75rem; color:#404040; line-height:1.75; white-space:pre-line; font-size:15px; }

/* contact */
.contact-grid{ display:grid; grid-template-columns:1fr; gap:3rem; padding:5rem 0; }
@media(min-width:1024px){ .contact-grid{ grid-template-columns:repeat(12,1fr); } }
.contact-info{ grid-column:span 12; display:flex; flex-direction:column; gap:2rem; }
@media(min-width:1024px){ .contact-info{ grid-column:span 5; } }
.contact-form-card{ grid-column:span 12; background:#fff; border:1px solid var(--border); border-radius:16px; padding:2rem; }
@media(min-width:1024px){ .contact-form-card{ grid-column:span 7; padding:2.5rem; } }
.contact-info h3{ font-family:'Cabinet Grotesk',sans-serif; font-size:1.5rem; font-weight:700; }
.contact-info .addr{ margin-top:.75rem; color:#525252; line-height:1.6; display:flex; align-items:flex-start; gap:.75rem; }
.contact-info .addr svg{ width:20px; height:20px; color:var(--gold); flex-shrink:0; margin-top:2px; }
.contact-info .meta{ font-size:14px; color:#737373; margin-top:.75rem; }
.contact-info .meta span{ color:#262626; font-weight:500; }
.contact-info .links{ display:flex; flex-direction:column; gap:.75rem; }
.contact-info .links a{ display:flex; align-items:center; gap:.75rem; color:#404040; transition:color .2s; }
.contact-info .links a:hover{ color:var(--brand); }
.contact-info .links svg{ width:20px; height:20px; color:var(--gold); }
.contact-info .biz-card{ background:rgba(30,86,49,.05); border:1px solid rgba(30,86,49,.15); border-radius:12px; padding:1.5rem; }
.contact-info .biz-card .lbl{ font-size:10px; letter-spacing:.25em; text-transform:uppercase; font-weight:700; color:var(--brand); margin-bottom:.5rem; }

.contact-form-card h2{ font-family:'Cabinet Grotesk',sans-serif; font-size:1.5rem; font-weight:700; letter-spacing:-.02em; }
@media(min-width:640px){ .contact-form-card h2{ font-size:1.875rem; } }
.contact-form-card .desc{ font-size:14px; color:#737373; margin:.5rem 0 2rem; }

/* ---------- About page ---------- */
.about-vals{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media(min-width:640px){ .about-vals{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .about-vals{ grid-template-columns:repeat(4,1fr); } }
.val-card{ background:#fff; border:1px solid var(--border); border-radius:12px; padding:2rem; transition:transform .35s, box-shadow .35s; }
.val-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.val-card .icon{ width:48px; height:48px; border-radius:8px; background:var(--brand); color:var(--gold); display:flex; align-items:center; justify-content:center; margin-bottom:1.25rem; }
.val-card .icon svg{ width:24px; height:24px; }
.val-card h3{ font-family:'Cabinet Grotesk',sans-serif; font-size:1.25rem; font-weight:700; letter-spacing:-.01em; }
.val-card p{ margin-top:.75rem; font-size:14px; color:#525252; line-height:1.7; }

.numbers-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); border-radius:12px; overflow:hidden; }
.num-card{ background:#fff; padding:2rem; }
.num-card .v{ font-family:'Cabinet Grotesk',sans-serif; font-weight:700; font-size:1.875rem; color:var(--brand); }
.num-card .l{ margin-top:.5rem; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#737373; font-weight:700; }

.about-cta{ background:var(--brand); color:#fff; padding:5rem 0; position:relative; overflow:hidden; }
.about-cta-text{ max-width:48rem; margin:0 auto; text-align:center; }
.about-cta h2{ font-family:'Cabinet Grotesk',sans-serif; font-size:clamp(1.875rem,1.4rem + 1.5vw,3rem); font-weight:700; letter-spacing:-.02em; line-height:1.1; }
.about-cta .btns{ margin-top:2rem; display:flex; flex-direction:column; gap:.75rem; justify-content:center; }
@media(min-width:640px){ .about-cta .btns{ flex-direction:row; } }

/* ---------- Empty state ---------- */
.empty{ text-align:center; padding:5rem 0; color:#737373; }

/* ---------- Utility text colors used inline ---------- */
.muted-sm{ font-size:14px; color:#737373; }

/* ---------- Responsive corrections ---------- */
@media (max-width:640px){
  .topbar .eyebrow-mobile-hide{ display:none; }
  .hero-trust{ gap:1rem .5rem; }
  .pd-thumbs{ grid-template-columns:repeat(4,1fr); }
}
