:root{
    --ink:#0a0a0b;
    --ink-soft:#111113;
    --panel:#151417;
    --panel-2:#1b191c;
    --hairline:rgba(201,162,39,.16);
    --hairline-strong:rgba(201,162,39,.32);
    --gold-deep:#8a6a24;
    --gold:#c9a227;
    --gold-bright:#e3bf4e;
    --champagne:#f0dfae;
    --ivory:#eee7d9;
    --ivory-dim:#b8b2a6;
    --shadow: 0 30px 60px -20px rgba(0,0,0,.6);
    --ease: cubic-bezier(.22,1,.36,1);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}
  }
  body{
    margin:0;
    background:var(--ink);
    color:var(--ivory);
    font-family:'Inter',sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,.display{font-family:'Fraunces',serif;}
  body::after{
    content:""; position:fixed; inset:0; pointer-events:none; z-index:9999;
    opacity:.035; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1360px;margin:0 auto;padding:0 28px;}
  .eyebrow{
    font-size:12px; letter-spacing:.18em; text-transform:uppercase;
    color:var(--gold-bright); font-weight:600; display:flex; align-items:center; gap:10px;
  }
  .eyebrow::before{content:"";width:22px;height:1px;background:var(--gold);display:inline-block;}

  /* ---------- Utility bar ---------- */
  .utility-bar{
    background:#000; border-bottom:1px solid var(--hairline);
    font-size:13px; color:var(--ivory-dim);
  }
  .utility-bar .wrap{display:flex; justify-content:space-between; align-items:center; padding:9px 28px; flex-wrap:wrap; gap:6px;}
  .utility-bar a{display:inline-flex; align-items:center; gap:6px; margin-right:22px;}
  .utility-bar a:hover{color:var(--gold-bright);}
  .utility-bar .hours{color:var(--gold-bright); font-weight:500; letter-spacing:.02em;}
  .utility-bar svg{width:13px;height:13px;flex-shrink:0;}

  /* ---------- Nav ---------- */
  header.site-header{
    position:sticky; top:0; z-index:50;
    background:rgba(10,10,11,.86);
    backdrop-filter:blur(14px) saturate(140%);
    border-bottom:1px solid var(--hairline);
    transition:padding .35s var(--ease), background .35s var(--ease);
  }
  nav{display:flex; align-items:center; justify-content:space-between; padding:18px 28px; max-width:1360px; margin:0 auto;}
  .brand{display:flex; align-items:center; gap:12px;}
  .brand-mark{width:190px;height:190px;flex-shrink:0;object-fit:contain;}
  .brand-name{
    font-family:'Fraunces',serif; font-size:20px; font-weight:600; letter-spacing:.01em;
    color:var(--champagne); position:relative; display:inline-block;
  }
  .shine-text{position:relative; display:inline-block;}
  .shine-text::after{
    content:attr(data-text); position:absolute; left:0; top:0; white-space:nowrap; pointer-events:none;
    background:linear-gradient(115deg, transparent 35%, rgba(255,255,255,.95) 50%, transparent 65%);
    background-size:220% 100%; background-repeat:no-repeat;
    -webkit-background-clip:text; background-clip:text; color:transparent;
    animation:shine-sweep 7s ease-in-out infinite;
  }
  @keyframes shine-sweep{
    0%, 55%{background-position:160% 0;}
    85%, 100%{background-position:-60% 0;}
  }
  .brand-name span{color:var(--ivory-dim); font-family:'Inter',sans-serif; font-weight:500; font-size:11px; letter-spacing:.14em; display:block; text-transform:uppercase; margin-top:2px;}
  .nav-links{display:flex; gap:2px; list-style:none; margin:0; padding:0;}
  .nav-links a{
    padding:10px 16px; font-size:14px; font-weight:500; color:var(--ivory-dim);
    border-radius:6px; transition:color .2s, background .2s; position:relative;
  }
  .nav-links a:hover{color:var(--champagne); background:rgba(201,162,39,.08);}
  .nav-links a.active{color:var(--champagne);}
  .nav-links a.active::after{
    content:""; position:absolute; left:16px; right:16px; bottom:6px; height:1.5px;
    background:var(--gold-bright);
  }
  .nav-links a{position:relative;}
  .nav-cta{
    display:inline-flex; align-items:center; gap:8px;
    background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep));
    color:#161208; font-weight:700; font-size:14px; padding:11px 20px; border-radius:8px;
    box-shadow:0 8px 20px -8px rgba(201,162,39,.5);
    transition:transform .25s var(--ease), box-shadow .25s var(--ease);
  }
  .nav-cta:hover{transform:translateY(-2px); box-shadow:0 14px 26px -8px rgba(201,162,39,.65);}
  .menu-toggle{display:none;}

  /* ---------- Hero ---------- */
  .hero{
    position:relative; padding:40px 0; overflow:hidden;
    min-height:calc(100vh - 280px); display:flex; align-items:center;
    background:
      radial-gradient(ellipse 900px 500px at 15% 0%, rgba(201,162,39,.10), transparent 60%),
      radial-gradient(ellipse 700px 500px at 100% 30%, rgba(201,162,39,.06), transparent 60%),
      var(--ink);
  }
  .hero > .wrap{width:100%;}
  .hero::before{
    content:""; position:absolute; inset:0; opacity:.35; pointer-events:none;
    background-image: radial-gradient(rgba(201,162,39,.35) .6px, transparent .6px);
    background-size:26px 26px;
    mask-image:radial-gradient(ellipse 800px 500px at 30% 20%, black, transparent 70%);
  }
  .hero-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:center; position:relative;}
  .hero-eyebrow{margin-bottom:22px;}
  .hero h1{
    font-size:clamp(40px,5vw,64px); line-height:1.04; font-weight:600; margin:0 0 22px; color:var(--ivory);
    letter-spacing:-.01em;
  }
  .word-reveal{
    display:inline-block; opacity:0; transform:translateY(100%) rotate(4deg);
    animation:word-in .7s var(--ease) forwards;
  }
  @keyframes word-in{to{opacity:1; transform:translateY(0) rotate(0);}}
  .cursor-glow{
    position:absolute; width:420px; height:420px; margin:-210px 0 0 -210px;
    background:radial-gradient(circle, rgba(227,191,78,.14), transparent 70%);
    pointer-events:none; opacity:0; transition:opacity .4s ease; z-index:0;
  }
  .hero h1 em{
    font-style:italic; font-weight:500; position:relative;
    background:linear-gradient(100deg,var(--champagne),var(--gold-bright) 45%, var(--gold-deep));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero p.lede{font-size:18px; line-height:1.6; color:var(--ivory-dim); max-width:480px; margin:0 0 34px;}
  .hero-actions{display:flex; align-items:center; gap:22px; flex-wrap:wrap;}
  .btn-primary{
    display:inline-flex; align-items:center; gap:10px;
    background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep));
    color:#161208; font-weight:700; font-size:15px; padding:16px 28px; border-radius:9px;
    box-shadow:0 12px 30px -10px rgba(201,162,39,.55);
    transition:transform .3s var(--ease), box-shadow .3s var(--ease);
  }
  .btn-primary:hover{transform:translateY(-3px); box-shadow:0 20px 36px -10px rgba(201,162,39,.7);}
  .btn-primary svg{width:17px;height:17px;}
  .hero-note{display:flex; align-items:center; gap:8px; font-size:14px; color:var(--ivory-dim);}
  .hero-note .dot{width:7px;height:7px;border-radius:50%;background:var(--gold-bright); box-shadow:0 0 0 4px rgba(201,162,39,.18);}

  .hero-emblem{position:relative; display:flex; justify-content:center; align-items:center;}
  .emblem-ring{
    width:430px;height:430px;border-radius:50%;
    border:1px solid var(--hairline-strong);
    display:flex; align-items:center; justify-content:center; position:relative;
    animation:spin 60s linear infinite;
  }
  .emblem-ring::before, .emblem-ring::after{
    content:""; position:absolute; inset:-38px; border-radius:50%; border:1px dashed rgba(201,162,39,.14);
  }
  .emblem-ring::after{inset:-76px; border-style:solid; border-color:rgba(201,162,39,.08);}
  @keyframes spin{to{transform:rotate(360deg);}}
  .emblem-core{
    width:340px;height:340px;border-radius:50%;
    background:radial-gradient(circle at 35% 30%, #201d16, #0c0b0a 70%);
    border:1px solid var(--hairline-strong);
    display:flex; align-items:center; justify-content:center;
    animation:spin-rev 60s linear infinite;
    box-shadow:inset 0 0 40px rgba(0,0,0,.6), 0 0 60px -10px rgba(201,162,39,.25);
  }
  @keyframes spin-rev{to{transform:rotate(-360deg);}}
  .emblem-core img{width:305px;}

  /* ---------- Ticker ---------- */
  .ticker{
    border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline);
    background:linear-gradient(180deg,#0f0e10,#0a0a0b);
    overflow:hidden; position:relative;
  }
  .ticker-track{display:flex; gap:56px; white-space:nowrap; padding:13px 0; animation:ticker 26s linear infinite;}
  .ticker:hover .ticker-track{animation-play-state:paused;}
  @keyframes ticker{from{transform:translateX(0);} to{transform:translateX(-50%);}}
  .ticker-item{display:inline-flex; align-items:center; gap:9px; font-size:13.5px; color:var(--ivory-dim); flex-shrink:0;}
  .ticker-item strong{color:var(--champagne); font-weight:600;}
  .ticker-item .chg-up{color:#7fce9a;}
  .ticker-item .chg-down{color:#e08585;}
  .ticker-label{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-bright); font-weight:700;}

  /* ---------- Section shell ---------- */
  section{padding:110px 0; position:relative; scroll-margin-top:88px;}
  #introOverlay{
    position:fixed; inset:0; z-index:500; background:var(--ink); overflow:hidden;
    display:flex; align-items:center; justify-content:center;
    transition:opacity .7s ease;
  }
  #introOverlay .intro-emblem{
    transform:scale(1.8); will-change:transform, opacity, filter;
    opacity:0; filter:blur(18px);
    transition:opacity 1.1s ease, filter 1.1s ease;
  }
  #introOverlay .intro-emblem.io-in{opacity:1; filter:blur(0);}
  @media (max-width:600px){
    #introOverlay .intro-emblem{transform:scale(1.25);}
  }
  #introOverlay.io-hidden{opacity:0; pointer-events:none;}
  @media (prefers-reduced-motion: reduce){
    #introOverlay{display:none !important;}
  }
  .scroll-progress{
    position:fixed; top:0; left:0; height:3px; width:0%; z-index:100;
    background:linear-gradient(90deg,var(--gold-deep),var(--gold-bright),var(--champagne));
    box-shadow:0 0 12px rgba(227,191,78,.6);
    transition:width .1s linear;
  }
  .section-head{text-align:center; max-width:640px; margin:0 auto 60px;}
  .section-head .eyebrow{justify-content:center;}
  .section-head .eyebrow::before{display:none;}
  .section-head h2{font-size:clamp(30px,3.6vw,44px); font-weight:600; margin:14px 0 16px; color:var(--ivory); line-height:1.15;}
  .section-head p{color:var(--ivory-dim); font-size:16.5px; line-height:1.6;}

  .reveal{opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ---------- Stamp signature element ---------- */
  .ornament-divider{
    position:relative; height:1px; background:var(--hairline); z-index:2;
  }
  .ornament-divider span{
    position:absolute; top:50%; left:50%; width:9px; height:9px;
    background:var(--gold-bright); transform:translate(-50%,-50%) rotate(45deg);
    box-shadow:0 0 16px rgba(227,191,78,.55);
  }
  .stamp{
    position:relative; width:74px; height:74px; margin:0 auto 22px;
    border:1.5px solid var(--gold); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:var(--gold-bright);
    transform:scale(1.5) rotate(-8deg); opacity:0;
    transition:transform .5s cubic-bezier(.2,1.4,.4,1), opacity .35s ease;
  }
  .stamp::before{
    content:""; position:absolute; inset:6px; border-radius:50%; border:1px solid var(--hairline-strong);
  }
  .stamp::after{
    content:""; position:absolute; inset:-14px; border-radius:50%; border:1px solid rgba(201,162,39,.3);
    animation:pulse-ring 2.6s ease-out infinite;
  }
  @keyframes pulse-ring{
    0%{transform:scale(.75); opacity:.7;}
    100%{transform:scale(1.55); opacity:0;}
  }
  .reveal.in .stamp{transform:scale(1) rotate(-8deg); opacity:1;}
  .stamp svg{width:30px;height:30px;}

  /* ---------- About ---------- */
  .about-lede{
    background:var(--panel); border:1px solid var(--hairline); border-radius:16px;
    padding:38px 44px; text-align:center; max-width:820px; margin:0 auto 56px; font-size:17px;
    color:var(--ivory-dim); line-height:1.7; box-shadow:var(--shadow);
  }
  .trust-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .trust-card{
    background:var(--panel); border:1px solid var(--hairline); border-radius:14px; padding:38px 30px; text-align:center;
    position:relative; overflow:hidden;
    transition:transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
  }
  .trust-card::before{
    content:attr(data-num); position:absolute; top:-16px; right:10px;
    font-family:'Fraunces',serif; font-size:92px; font-weight:600; line-height:1;
    color:rgba(201,162,39,.05); pointer-events:none;
  }
  .trust-card::after{
    content:""; position:absolute; top:0; left:0; right:0; height:2px;
    background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);
    transform:scaleX(0); transition:transform .45s var(--ease);
  }
  .trust-card:hover{transform:translateY(-6px); border-color:var(--hairline-strong); box-shadow:0 22px 44px -22px rgba(201,162,39,.35);}
  .trust-card:hover::after{transform:scaleX(1);}
  .trust-card h3{font-size:19px; margin:0 0 10px; color:var(--ivory); font-weight:600; position:relative;}
  .trust-card p{margin:0; color:var(--ivory-dim); font-size:14.5px; line-height:1.6; position:relative;}

  /* ---------- What we buy ---------- */
  .buy-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .buy-card{
    background:linear-gradient(160deg, var(--panel), var(--panel-2));
    border:1px solid var(--hairline); border-radius:14px; padding:30px; position:relative; overflow:hidden;
    transition:transform .35s var(--ease), border-color .35s var(--ease);
  }
  .buy-card:hover{transform:translateY(-6px); border-color:var(--gold);}
  .buy-icon{
    width:48px;height:48px; border-radius:10px; display:flex; align-items:center; justify-content:center;
    background:rgba(201,162,39,.1); color:var(--gold-bright); margin-bottom:18px;
    position:relative; isolation:isolate;
  }
  .buy-icon::before{
    content:""; position:absolute; inset:-3px; border-radius:12px; z-index:-1;
    background:conic-gradient(from 0deg, transparent, var(--gold-bright) 25%, transparent 50%);
    opacity:0; transition:opacity .3s ease; animation:spin-icon 3s linear infinite;
  }
  .buy-card:hover .buy-icon::before{opacity:.7;}
  @keyframes spin-icon{to{transform:rotate(360deg);}}
  .buy-icon svg{width:24px;height:24px;}
  .buy-card h3{font-size:17.5px; margin:0 0 8px; color:var(--ivory); font-weight:600;}
  .buy-card p{margin:0; font-size:14px; color:var(--ivory-dim); line-height:1.55;}

  /* ---------- How it works ---------- */
  .steps{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; counter-reset:step;}
  .step{
    position:relative; padding:34px 24px 28px; border:1px solid var(--hairline); border-radius:14px; background:var(--panel);
    overflow:hidden; transition:transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
  }
  .step::before{
    content:attr(data-num); position:absolute; bottom:-22px; right:8px;
    font-family:'Fraunces',serif; font-size:84px; font-weight:600; line-height:1;
    color:rgba(201,162,39,.05); pointer-events:none;
  }
  .step::after{
    content:""; position:absolute; top:0; left:0; right:0; height:2px;
    background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);
    transform:scaleX(0); transition:transform .45s var(--ease);
  }
  .step:hover{transform:translateY(-5px); border-color:var(--hairline-strong); box-shadow:0 18px 38px -20px rgba(201,162,39,.3);}
  .step:hover::after{transform:scaleX(1);}
  .step h3, .step p{position:relative;}
  .step-num{
    font-family:'Fraunces',serif; font-size:15px; color:var(--gold-bright);
    border:1px solid var(--hairline-strong); width:34px; height:34px; border-radius:50%;
    display:flex; align-items:center; justify-content:center; margin-bottom:18px; font-weight:600;
  }
  .step h3{font-size:16.5px; margin:0 0 8px; color:var(--ivory); font-weight:600;}
  .step p{font-size:13.8px; color:var(--ivory-dim); line-height:1.55; margin:0;}
  .step-connector{
    position:absolute; top:52px; left:100%; width:22px; height:1px;
    background:repeating-linear-gradient(90deg, var(--gold) 0 6px, transparent 6px 11px);
    transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease) .3s;
  }
  .step.reveal.in .step-connector{transform:scaleX(1);}

  /* ---------- Testimonials ---------- */
  .testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .testi-card{
    background:var(--panel); border:1px solid var(--hairline); border-radius:14px; padding:30px 28px;
    display:flex; flex-direction:column; gap:16px; position:relative; overflow:hidden;
    transition:transform .3s var(--ease), border-color .3s var(--ease);
  }
  .testi-card::before{
    content:"“"; position:absolute; top:-22px; right:14px; font-family:'Fraunces',serif;
    font-size:120px; color:rgba(201,162,39,.08); line-height:1; pointer-events:none;
  }
  .testi-card:hover{border-color:var(--hairline-strong);}
  .stars{color:var(--gold-bright); font-size:14px; letter-spacing:2px;}
  .testi-card p{font-style:italic; color:var(--ivory); font-size:15px; line-height:1.65; margin:0; flex:1;}
  .testi-who{border-top:1px solid var(--hairline); padding-top:14px;}
  .testi-who strong{display:block; font-size:14.5px; color:var(--champagne);}
  .testi-who span{font-size:12.5px; color:var(--ivory-dim);}

  .gallery-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:46px;}
  .gallery-strip div{
    aspect-ratio:1; border-radius:12px; border:1px solid var(--hairline);
    background:linear-gradient(150deg,#1c1a15,#0c0b0a);
    display:flex; align-items:center; justify-content:center; color:var(--ivory-dim); font-size:12px; text-align:center; padding:10px;
  }

  /* ---------- Blog teaser ---------- */
  .blog-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:26px;}
  .blog-card{
    background:var(--panel); border:1px solid var(--hairline); border-radius:14px; overflow:hidden;
    transition:transform .35s var(--ease), border-color .35s var(--ease); display:flex; flex-direction:column;
  }
  .blog-card:hover{transform:translateY(-6px); border-color:var(--gold);}
  .blog-thumb{
    height:200px; background:radial-gradient(ellipse at 30% 20%, rgba(201,162,39,.16), transparent 60%), #131114;
    display:flex; align-items:center; justify-content:center; border-bottom:1px solid var(--hairline); overflow:hidden;
  }
  .blog-thumb img{width:340px; opacity:.9;}
  .blog-body{padding:26px 26px 28px; flex:1; display:flex; flex-direction:column;}
  .blog-tag{
    align-self:flex-start; font-size:11px; text-transform:uppercase; letter-spacing:.1em; font-weight:700;
    color:#161208; background:var(--gold-bright); padding:4px 10px; border-radius:20px; margin-bottom:14px;
  }
  .blog-body h3{font-size:19px; margin:0 0 10px; color:var(--ivory); font-weight:600; line-height:1.3;}
  .blog-body p{font-size:14px; color:var(--ivory-dim); line-height:1.6; margin:0 0 18px; flex:1;}
  .blog-meta{display:flex; justify-content:space-between; font-size:12.5px; color:var(--ivory-dim); border-top:1px solid var(--hairline); padding-top:14px;}
  .blog-meta a{color:var(--gold-bright); font-weight:600;}

  /* ---------- FAQ ---------- */
  .faq-list{max-width:760px; margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--hairline);}
  .faq-q{
    display:flex; justify-content:space-between; align-items:center; gap:20px;
    padding:24px 6px; cursor:pointer; font-size:16.5px; font-weight:500; color:var(--ivory);
  }
  .faq-q .plus{width:22px;height:22px; flex-shrink:0; position:relative;}
  .faq-q .plus::before,.faq-q .plus::after{content:"";position:absolute;background:var(--gold-bright); transition:transform .3s var(--ease);}
  .faq-q .plus::before{width:100%;height:1.5px;top:50%;left:0;transform:translateY(-50%);}
  .faq-q .plus::after{height:100%;width:1.5px;left:50%;top:0;transform:translateX(-50%);}
  .faq-item.open .plus::after{transform:translateX(-50%) rotate(90deg); opacity:0;}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .4s var(--ease);}
  .faq-a p{padding:0 6px 24px; margin:0; color:var(--ivory-dim); font-size:15px; line-height:1.65; max-width:640px;}

  /* ---------- Contact ---------- */
  .contact-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:40px; align-items:start;}
  .contact-cards{display:flex; flex-direction:column; gap:16px;}
  .info-card{
    background:var(--panel); border:1px solid var(--hairline); border-radius:12px; padding:22px 24px;
    display:flex; gap:16px; align-items:flex-start;
  }
  .info-card .ic{width:40px;height:40px;border-radius:9px;background:rgba(201,162,39,.1); color:var(--gold-bright); display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .info-card .ic svg{width:19px;height:19px;}
  .info-card h4{margin:0 0 4px; font-size:15px; color:var(--ivory);}
  .info-card p{margin:0; font-size:14px; color:var(--ivory-dim); line-height:1.6;}
  .info-card a.link{color:var(--gold-bright); font-weight:600; font-size:13.5px;}
  .map-embed{border-radius:14px; overflow:hidden; border:1px solid var(--hairline); height:100%; min-height:420px;}
  .map-embed iframe{width:100%; height:100%; min-height:420px; border:0; filter:grayscale(.4) invert(.92) contrast(.9);}
  .cta-panel{
    background:linear-gradient(160deg,#17140d,#0d0c0a); border:1px solid var(--hairline-strong); border-radius:14px;
    padding:32px; margin-top:16px;
  }
  .cta-panel h4{margin:0 0 10px; font-size:19px; color:var(--champagne);}
  .cta-panel p{margin:0 0 22px; font-size:14.5px; color:var(--ivory-dim); line-height:1.6;}
  .cta-panel .btn-primary, .cta-panel .btn-outline{width:100%; justify-content:center; margin-bottom:12px;}
  .btn-outline{
    display:inline-flex; align-items:center; gap:8px; border:1px solid var(--hairline-strong);
    color:var(--champagne); font-weight:600; font-size:14.5px; padding:15px 24px; border-radius:9px;
    transition:background .25s, border-color .25s;
  }
  .btn-outline:hover{background:rgba(201,162,39,.08); border-color:var(--gold);}

  /* ---------- Footer ---------- */
  footer{border-top:1px solid var(--hairline); padding:50px 0 30px; background:#000;}
  .footer-grid{display:flex; justify-content:space-between; flex-wrap:wrap; gap:30px; margin-bottom:36px;}
  .footer-brand{display:flex; align-items:center; gap:12px;}
  .social-icons{display:flex; gap:12px;}
  .social-icons a{
    width:42px; height:42px; border-radius:10px; border:1px solid var(--hairline-strong);
    display:flex; align-items:center; justify-content:center; color:var(--gold-bright);
    transition:background .25s, transform .25s;
  }
  .social-icons a svg{width:19px; height:19px;}
  .social-icons a:hover{background:rgba(201,162,39,.12); transform:translateY(-3px);}
  .footer-cols{display:flex; gap:60px; flex-wrap:wrap;}
  .footer-col h5{font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-bright); margin:0 0 16px;}
  .footer-col a{display:block; font-size:14px; color:var(--ivory-dim); margin-bottom:10px;}
  .footer-col a:hover{color:var(--champagne);}
  .footer-bottom{border-top:1px solid var(--hairline); padding-top:22px; display:flex; justify-content:space-between; font-size:12.5px; color:var(--ivory-dim); flex-wrap:wrap; gap:10px;}

  /* ---------- Responsive ---------- */
  @media (max-width: 980px){
    .nav-links, .nav-cta{display:none;}
    .menu-toggle{display:flex; align-items:center; justify-content:center; width:40px;height:40px; background:none; border:1px solid var(--hairline-strong); border-radius:8px; color:var(--champagne); cursor:pointer;}
    .hero-grid{grid-template-columns:1fr;}
    .hero-emblem{order:-1; margin-bottom:30px;}
    .hero-emblem .emblem-ring{width:215px; height:215px;}
    .hero-emblem .emblem-ring::before{inset:-19px;}
    .hero-emblem .emblem-ring::after{inset:-38px;}
    .hero-emblem .emblem-core{width:170px; height:170px;}
    .hero-emblem .emblem-core img{width:150px;}
    .trust-grid, .buy-grid, .steps, .testi-grid, .blog-grid{grid-template-columns:1fr 1fr;}
    .steps .step-connector{display:none;}
    .contact-grid{grid-template-columns:1fr;}
    .gallery-strip{grid-template-columns:repeat(2,1fr);}
    .brand-mark{width:70px;height:70px;}
    .footer-logo{width:70px;}
    .blog-thumb img{width:220px;}
  }
  @media (max-width: 640px){
    .trust-grid, .buy-grid, .steps, .testi-grid, .blog-grid, .gallery-strip{grid-template-columns:1fr;}
    section{padding:76px 0;}
    .utility-bar .wrap{flex-direction:column; align-items:flex-start;}
    .hero-emblem{margin-bottom:20px;}
    .hero-emblem .emblem-ring{width:172px; height:172px;}
    .hero-emblem .emblem-ring::before{inset:-15px;}
    .hero-emblem .emblem-ring::after{inset:-30px;}
    .hero-emblem .emblem-core{width:136px; height:136px;}
    .hero-emblem .emblem-core img{width:120px;}
    .brand-mark{width:56px;height:56px;}
    .footer-logo{width:56px;}
  }

  /* Mobile nav panel */
  .mobile-nav{
    position:fixed; inset:0; background:rgba(6,6,7,.98); z-index:60; display:flex; flex-direction:column;
    padding:28px; transform:translateX(100%); transition:transform .4s var(--ease);
  }
  .mobile-nav.open{transform:translateX(0);}
  .mobile-nav .close-btn{align-self:flex-end; background:none; border:1px solid var(--hairline-strong); color:var(--champagne); width:40px;height:40px;border-radius:8px;}
  .mobile-nav a{font-family:'Fraunces',serif; font-size:26px; padding:16px 0; border-bottom:1px solid var(--hairline); color:var(--ivory);}

/* ---------- Blog page specific ---------- */
.blog-hero{padding:70px 0 40px; border-bottom:1px solid var(--hairline);}
.blog-hero h1{font-size:clamp(32px,4vw,48px); margin:0 0 12px; color:var(--ivory);}
.blog-hero p{color:var(--ivory-dim); font-size:16px; max-width:560px;}
.blog-filter{display:flex; gap:10px; flex-wrap:wrap; margin-top:26px;}
.blog-filter button{
  border:1px solid var(--hairline-strong); background:none; color:var(--ivory-dim);
  padding:8px 16px; border-radius:20px; font-size:13px; cursor:pointer; transition:all .25s;
}
.blog-filter button.active, .blog-filter button:hover{background:var(--gold-bright); color:#161208; border-color:var(--gold-bright);}
.blog-listing{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:60px 0;}
.post-view{padding:60px 0 100px; max-width:760px; margin:0 auto;}
.post-view .back{color:var(--gold-bright); font-size:14px; font-weight:600; display:inline-block; margin-bottom:26px;}
.post-view h1{font-size:clamp(30px,4vw,44px); color:var(--ivory); margin:0 0 14px; line-height:1.15;}
.post-meta{color:var(--ivory-dim); font-size:14px; margin-bottom:34px; display:flex; gap:14px; align-items:center;}
.post-hero-image{width:100%; border-radius:14px; margin-bottom:36px; border:1px solid var(--hairline);}

.legal-body{color:var(--ivory-dim); font-size:16px; line-height:1.75; padding-bottom:100px;}
.legal-body p{margin:0 0 20px;}
.legal-body h3{color:var(--champagne); font-family:'Fraunces',serif; font-size:22px; font-weight:600; margin:40px 0 14px;}
.legal-body ul{margin:0 0 20px; padding-left:22px;}
.legal-body li{margin-bottom:8px;}
.legal-body strong{color:var(--ivory); font-weight:600;}
.legal-body a{color:var(--gold-bright); font-weight:600;}
.blog-thumb-photo{width:100%; height:100%; object-fit:cover;}
.post-body{color:var(--ivory-dim); font-size:17px; line-height:1.85;}
.post-body p{margin:0 0 22px;}
.empty-state{text-align:center; padding:60px 20px; color:var(--ivory-dim);}
