:root {
    --bg:    #1e1c18;
    --bg2:   #252320;
    --bg3:   #2c2a25;
    --bg4:   #322f29;
    --card:  #28261f;
    --border:  rgba(200,170,100,0.14);
    --border2: rgba(200,170,100,0.08);
    --gold:  #c8a44a;
    --gold2: #d4b86a;
    --gold3: #b89038;
    --goldlt:rgba(200,164,74,0.1);
    --ink:   #f0e8d8;
    --body:  #d8d0bc;
    --muted: #b0a898;
    --faint: #80786e;
  }
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }
  body {
    background: var(--bg); color: var(--body);
    font-family: 'DM Mono', monospace; font-size: 14px;
    line-height: 1.75; overflow-x: hidden;
  }
  body::after {
    content: ''; position: fixed; inset: 0; z-index: 999; pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    opacity: 0.025; mix-blend-mode: screen;
  }

  /* ── NAV ── */
  nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 900;
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 52px; height: 66px;
    background: rgba(30,28,24,0.92); backdrop-filter: blur(20px);
    border-bottom: 1px solid transparent; transition: border-color .4s, box-shadow .4s;
  }
  nav.scrolled { border-bottom-color: var(--border); box-shadow: 0 4px 40px rgba(0,0,0,.28); }
  .nav-logo { text-decoration: none; display: flex; flex-direction: column; }
  .nav-logo-viva { font-family:'Syne',sans-serif; font-weight:800; font-size:20px; letter-spacing:.13em; color:var(--gold); line-height:1; }
  .nav-logo-by   { font-size:9px; letter-spacing:.28em; color:var(--muted); margin-top:3px; }
  .nav-links { display:flex; align-items:center; gap:28px; list-style:none; }
  .nav-links a { color:var(--muted); text-decoration:none; font-size:11px; letter-spacing:.16em; text-transform:uppercase; transition:color .2s; white-space:nowrap; }
  .nav-links a:hover, .nav-links a.active { color:var(--gold2); }
  .nav-cta {
    background:var(--gold) !important; color:var(--bg) !important;
    padding:8px 20px; border-radius:2px; font-size:10px !important;
    letter-spacing:.2em !important; font-weight:500; transition:background .3s !important;
  }
  .nav-cta:hover { background:var(--gold2) !important; }
  .nav-hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; }
  .nav-hamburger span { width:22px; height:1.5px; background:var(--muted); display:block; transition:.3s; }
  .mobile-menu {
    display:none; position:fixed; top:66px; left:0; right:0; z-index:899;
    background:rgba(30,28,24,.97); backdrop-filter:blur(20px);
    border-bottom:1px solid var(--border); padding:24px 24px 32px;
    flex-direction:column; gap:0;
  }
  .mobile-menu.open { display:flex; }
  .mobile-menu a {
    color:var(--muted); text-decoration:none; font-size:13px;
    letter-spacing:.16em; text-transform:uppercase; padding:14px 0;
    border-bottom:1px solid var(--border2); transition:color .2s;
  }
  .mobile-menu a:hover { color:var(--gold2); }
  .mobile-menu .mob-cta {
    margin-top:20px; background:var(--gold); color:var(--bg);
    text-align:center; padding:14px; border-radius:2px;
    font-weight:500; border:none; letter-spacing:.2em;
  }

  /* ── PAGE SYSTEM ── */



  /* ── BUTTONS ── */
  .btn-primary {
    display:inline-flex; align-items:center; gap:10px;
    background:var(--gold); color:var(--bg);
    padding:14px 30px; font-family:'DM Mono',monospace;
    font-size:11px; letter-spacing:.18em; text-transform:uppercase;
    text-decoration:none; border:none; cursor:pointer;
    border-radius:2px; font-weight:500; transition:all .3s;
  }
  .btn-primary:hover { background:var(--gold2); transform:translateY(-2px); box-shadow:0 10px 36px rgba(200,164,74,.2); }
  .btn-primary .arr { transition:transform .3s; }
  .btn-primary:hover .arr { transform:translateX(4px); }
  .btn-ghost {
    display:inline-flex; align-items:center; gap:10px;
    color:var(--body); text-decoration:none; font-size:11px;
    letter-spacing:.18em; text-transform:uppercase;
    padding:14px 0; border-bottom:1px solid var(--border); transition:all .3s;
  }
  .btn-ghost:hover { color:var(--gold2); border-color:rgba(200,164,74,.3); }
  .btn-outline {
    display:inline-flex; align-items:center; gap:10px;
    border:1px solid var(--gold); color:var(--gold);
    padding:12px 24px; font-family:'DM Mono',monospace;
    font-size:11px; letter-spacing:.18em; text-transform:uppercase;
    text-decoration:none; border-radius:2px; transition:all .3s; background:transparent; cursor:pointer;
  }
  .btn-outline:hover { background:var(--goldlt); }
  .btn-restore:hover { background:var(--gold2); transform:translateY(-2px); box-shadow:0 12px 40px rgba(200,164,74,.22); }

  /* ── COMMON SECTION ── */
  .sec { padding:112px 52px; }
  .sec-sm { padding:72px 52px; }
  .sec-eyebrow {
    display:flex; align-items:center; gap:14px;
    font-size:10px; letter-spacing:.35em; text-transform:uppercase;
    color:var(--gold); margin-bottom:20px;
  }
  .sec-eyebrow::before { content:''; width:28px; height:1px; background:var(--gold3); }
  .sec-title {
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(34px,4.5vw,66px);
    font-weight:300; line-height:1.05; color:var(--ink); letter-spacing:-.01em;
  }
  .sec-title em { font-style:italic; color:var(--gold2); }
  .sec-lead {
    font-family:'Cormorant Garamond',serif;
    font-size:22px; font-weight:300; line-height:1.6; color:var(--ink); margin-top:28px;
  }
  .sec-body { font-size:13px; line-height:1.85; color:var(--muted); margin-top:16px; }

  /* ── TRUSTED ── */
  
  
  
  
  
  
  .tlogo:hover { color:var(--gold2); }

  /* ── GRID UTILS ── */
  .grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
  .grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid var(--border); background:var(--border); }
  .grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; border:1px solid var(--border); background:var(--border); }
  .grid-2-cards { display:grid; grid-template-columns:1fr 1fr; gap:22px; }

  /* ── HERO (HOME) ── */
  .hero {
    min-height:100vh; display:flex; flex-direction:column; justify-content:center;
    position:relative; overflow:hidden; padding:130px 52px 100px;
    background:radial-gradient(ellipse 90% 70% at 50% 110%, rgba(200,164,74,.07) 0%, transparent 65%),
               linear-gradient(180deg,#1a1814 0%,#1e1c18 60%,#222018 100%);
  }
  .filmstrip {
    position:absolute; top:0; bottom:0; left:0; width:52px;
    background:var(--bg2); border-right:1px solid var(--border);
  }
  .filmstrip::before {
    content:''; position:absolute; top:0; bottom:0; left:10px; width:32px;
    background:repeating-linear-gradient(180deg,transparent 0,transparent 8px,rgba(200,164,74,.09) 8px,rgba(200,164,74,.09) 18px,transparent 18px,transparent 28px);
  }
  .hero-arc { position:absolute; border-radius:50%; border:1px solid rgba(200,164,74,.05); pointer-events:none; }
  .arc1 { width:600px; height:600px; right:-180px; top:-180px; }
  .arc2 { width:420px; height:420px; right:-80px; top:-80px; border-color:rgba(200,164,74,.03); }
  .hero-content { position:relative; z-index:1; max-width:860px; margin-left:72px; }
  .hero-eyebrow {
    display:inline-flex; align-items:center; gap:14px;
    font-size:10px; letter-spacing:.35em; text-transform:uppercase;
    color:var(--gold); margin-bottom:32px;
    opacity:0; animation:up .8s ease .2s forwards;
  }
  .hero-eyebrow::before { content:''; width:34px; height:1px; background:var(--gold3); }
  h1.hero-title {
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(52px,7vw,106px); font-weight:300; line-height:.93; letter-spacing:-.01em; color:var(--ink);
    opacity:0; animation:up .9s ease .35s forwards;
  }
  h1.hero-title em { font-style:italic; color:var(--gold2); display:block; }
  .hero-sub {
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(16px,2vw,25px); font-style:italic; font-weight:300; color:var(--muted); margin:28px 0 48px;
    opacity:0; animation:up .9s ease .5s forwards;
  }
  .hero-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; opacity:0; animation:up .9s ease .65s forwards; }
  .hero-stats {
    position:absolute; right:52px; bottom:100px; z-index:1;
    display:flex; flex-direction:column; gap:24px; align-items:flex-end;
    opacity:0; animation:fade 1s ease 1.1s forwards;
  }
  .snum { font-family:'Cormorant Garamond',serif; font-size:42px; font-weight:300; color:var(--gold2); line-height:1; text-align:right; }
  .slabel { font-size:9px; letter-spacing:.25em; color:var(--faint); margin-top:2px; }
  .srule { width:1px; height:30px; background:var(--border); margin-left:auto; }
  @keyframes up   { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }
  @keyframes fade { from{opacity:0} to{opacity:1} }

  /* ── ABOUT VISUAL ── */
  .about-visual { position:relative; aspect-ratio:4/5; border:1px solid var(--border); }
  .about-inner { position:absolute; inset:16px; border:1px solid var(--border2); background:var(--bg3); display:flex; align-items:center; justify-content:center; overflow:hidden; }
  .film-sim { width:100%; height:100%; position:relative; background:linear-gradient(160deg,#2a2720 0%,#1e1c18 100%); }
  .film-sim::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(0deg,transparent,transparent 5px,rgba(200,164,74,.025) 5px,rgba(200,164,74,.025) 6px); }
  .scan-line { position:absolute; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,rgba(200,164,74,.2),transparent); animation:scanDown 5s ease-in-out infinite; }
  @keyframes scanDown { 0%{top:0%;opacity:0} 10%{opacity:1} 90%{opacity:.3} 100%{top:100%;opacity:0} }
  .film-sim-label { position:absolute; bottom:20px; right:20px; font-family:'Syne',sans-serif; font-size:9px; letter-spacing:.4em; color:rgba(200,164,74,.25); font-weight:700; }
  .cn { position:absolute; width:18px; height:18px; border-color:var(--gold3); border-style:solid; }
  .cn-tl{top:8px;left:8px;border-width:1px 0 0 1px} .cn-tr{top:8px;right:8px;border-width:1px 1px 0 0}
  .cn-bl{bottom:8px;left:8px;border-width:0 0 1px 1px} .cn-br{bottom:8px;right:8px;border-width:0 1px 1px 0}

  /* ── CAP GRID ── */
  .cap-item { padding:36px 30px; background:var(--bg); transition:background .25s; position:relative; overflow:hidden; }
  .cap-item::after { content:''; position:absolute; bottom:0; left:30px; right:30px; height:1px; background:var(--gold3); transform:scaleX(0); transform-origin:left; transition:transform .35s ease; }
  .cap-item:hover { background:var(--bg3); }
  .cap-item:hover::after { transform:scaleX(1); }
  .cap-num { font-size:9px; letter-spacing:.3em; color:var(--faint); margin-bottom:16px; }
  .cap-title { font-family:'Cormorant Garamond',serif; font-size:21px; color:var(--ink); margin-bottom:10px; }
  .cap-desc { font-size:12px; color:var(--ink); line-height:1.7; }

  /* ── PROCESS ── */
  .step { padding:44px 28px; background:var(--bg2); }
  .step-n { font-family:'Cormorant Garamond',serif; font-size:54px; font-weight:300; color:rgba(200,164,74,.1); line-height:1; margin-bottom:18px; }
  .step-icon { width:38px; height:38px; margin-bottom:16px; border:1px solid var(--border); background:var(--bg3); display:flex; align-items:center; justify-content:center; font-size:16px; color:var(--gold2); }
  .step-title { font-family:'Cormorant Garamond',serif; font-size:19px; color:var(--ink); margin-bottom:10px; }
  .step-desc { font-size:12px; color:var(--ink); line-height:1.7; }

  /* ── PRODUCT CARDS ── */
  .product-card { border:1px solid var(--border); padding:44px; background:var(--card); position:relative; transition:border-color .3s,box-shadow .3s; }
  .product-card:hover { border-color:rgba(200,164,74,.3); box-shadow:0 8px 40px rgba(0,0,0,.2); }
  .product-card.featured { background:linear-gradient(160deg,#2c2820,#26231b); border-color:rgba(200,164,74,.25); }
  .product-badge { position:absolute; top:24px; right:24px; font-size:9px; letter-spacing:.28em; text-transform:uppercase; color:var(--bg); background:var(--gold); padding:4px 10px; }
  .product-name { font-family:'Syne',sans-serif; font-size:25px; font-weight:700; letter-spacing:.08em; color:var(--gold); margin-bottom:4px; }
  .product-tagline { font-family:'Cormorant Garamond',serif; font-size:16px; font-style:italic; color:var(--muted); margin-bottom:28px; }
  .product-features { list-style:none; margin-bottom:34px; }
  .product-features li { padding:9px 0; border-bottom:1px solid var(--border2); font-size:12px; color:var(--ink); display:flex; align-items:center; gap:10px; }
  .product-features li::before { content:'▸'; color:var(--gold3); font-size:9px; flex-shrink:0; }
  .product-price { font-family:'Cormorant Garamond',serif; font-size:14px; color:var(--muted); margin-bottom:24px; }
  .product-price strong { font-size:19px; color:var(--gold2); font-weight:400; }

  /* ── FILM CREDITS ── */
  .film-item { padding:26px 28px; background:var(--bg2); transition:background .25s; }
  .film-item:hover { background:var(--bg4); }
  .film-year { font-size:10px; letter-spacing:.2em; color:var(--gold3); margin-bottom:5px; }
  .film-title-text { font-family:'Cormorant Garamond',serif; font-size:17px; font-style:italic; color:var(--ink); }
  .film-studio { font-size:11px; color:var(--faint); margin-top:3px; }

  /* ── PRICING ── */
  .pricing-block { border:1px solid var(--border); padding:40px; background:var(--card); }
  .pb-title { font-family:'Syne',sans-serif; font-size:12px; font-weight:700; letter-spacing:.18em; color:var(--gold); margin-bottom:8px; text-transform:uppercase; }
  .pb-desc { font-size:12px; color:var(--muted); margin-bottom:26px; padding-bottom:20px; border-bottom:1px solid var(--border2); }
  .price-row { display:flex; justify-content:space-between; align-items:center; padding:11px 0; border-bottom:1px solid var(--border2); }
  .price-row:last-of-type { border-bottom:none; }
  .price-format { font-size:12px; color:var(--ink); }
  .price-amount { font-family:'Cormorant Garamond',serif; font-size:19px; color:var(--gold2); }
  .price-unit { font-size:10px; color:var(--faint); }
  .pricing-note { margin-top:24px; padding:28px 32px; border:1px solid var(--border); background:var(--card); font-family:'Cormorant Garamond',serif; font-size:18px; font-style:italic; color:var(--muted); }
  .pricing-note a { color:var(--gold); text-decoration:none; }

  /* ── NEWS CARDS ── */
  .news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:56px; }
  .news-card { border:1px solid var(--border); background:var(--card); padding:32px; transition:border-color .3s; text-decoration:none; display:block; }
  .news-card:hover { border-color:rgba(200,164,74,.3); }
  .news-date { font-size:10px; letter-spacing:.2em; color:var(--gold3); margin-bottom:14px; }
  .news-headline { font-family:'Cormorant Garamond',serif; font-size:19px; color:var(--ink); line-height:1.3; margin-bottom:12px; }
  .news-excerpt { font-size:12px; color:var(--ink); line-height:1.7; }
  .news-readmore { display:inline-block; margin-top:16px; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }

  /* ── DEMOS ── */
  .demo-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:56px; }
  .demo-card { border:1px solid var(--border); background:var(--card); overflow:hidden; }
  .demo-video { width:100%; aspect-ratio:16/9; background:#111; display:block; }
  .demo-video video { width:100%; height:100%; object-fit:cover; display:block; }
  .demo-info { padding:20px 24px; }
  .demo-year { font-size:9px; letter-spacing:.25em; color:var(--gold3); margin-bottom:6px; }
  .demo-title { font-family:'Cormorant Garamond',serif; font-size:18px; color:var(--ink); font-style:italic; margin-bottom:6px; }
  .demo-desc { font-size:11px; color:var(--body); line-height:1.6; }

  /* ── DOWNLOADS ── */
  .download-card { border:1px solid var(--gold3); background:linear-gradient(135deg,#2c2820,#26231b); padding:44px; margin-bottom:24px; }
  .download-version { font-size:10px; letter-spacing:.3em; color:var(--gold3); margin-bottom:10px; }
  .download-name { font-family:'Cormorant Garamond',serif; font-size:36px; color:var(--ink); font-weight:300; margin-bottom:8px; }
  .download-sub { font-size:13px; color:var(--muted); margin-bottom:28px; }
  .requirements { border:1px solid var(--border); background:var(--bg3); padding:24px 28px; margin-top:32px; }
  .req-title { font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
  .req-list { list-style:none; }
  .req-list li { font-size:12px; color:var(--muted); padding:8px 0; border-bottom:1px solid var(--border2); display:flex; gap:12px; }
  .req-list li::before { content:'—'; color:var(--faint); flex-shrink:0; }
  .req-list li:last-child { border-bottom:none; }

  /* ── CONTACT ── */
  .ci-label { font-size:9px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
  .ci-value { font-family:'Cormorant Garamond',serif; font-size:20px; color:var(--ink); }
  .ci-value a { color:var(--ink); text-decoration:none; transition:color .2s; }
  .ci-value a:hover { color:var(--gold2); }
  .ci-body { font-size:13px; color:var(--muted); line-height:1.75; }
  .fl { font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); display:block; margin-bottom:7px; }
  .fi { width:100%; background:var(--bg3); border:1px solid var(--border); color:var(--ink); padding:13px 16px; font-family:'DM Mono',monospace; font-size:13px; outline:none; transition:border-color .2s; border-radius:0; }
  .fi:focus { border-color:rgba(200,164,74,.4); }
  .fi::placeholder { color:var(--faint); }
  textarea.fi { min-height:110px; resize:vertical; }

  /* ── ADDRESS BLOCK ── */
  .address-block { border:1px solid var(--border); padding:36px; background:var(--card); }
  .address-label { font-size:9px; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
  .address-text { font-family:'Cormorant Garamond',serif; font-size:17px; color:var(--ink); line-height:1.7; }
  .address-phone { font-size:14px; color:var(--muted); margin-top:12px; }

  /* ── FOOTER ── */
  footer { background:#141210; border-top:1px solid var(--border); padding:44px 52px; }
  .footer-inner { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
  .footer-brand { font-family:'Syne',sans-serif; font-size:18px; font-weight:800; letter-spacing:.13em; color:var(--gold); }
  .footer-copy { font-size:11px; margin-top:4px; color:var(--faint); }
  .footer-links { display:flex; gap:24px; flex-wrap:wrap; }
  .footer-links a { font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--faint); text-decoration:none; transition:color .2s; }
  .footer-links a:hover { color:var(--gold2); }

  /* ── DIVIDERS ── */
  .hdivider { border:none; border-top:1px solid var(--border); margin:0; }
  .spacer-lg { height:64px; }
  .spacer-md { height:40px; }

  /* ── REVEAL ── */
  .reveal { opacity:0; transform:translateY(26px); transition:opacity .7s ease,transform .7s ease; }
  .reveal.visible { opacity:1; transform:translateY(0); }

  /* ── RESPONSIVE ── */
  @media (max-width:960px) {
    nav { padding:0 24px; }
    .nav-links { display:none; }
    .nav-hamburger { display:flex; }
    .sec { padding:72px 24px; }
    .sec-sm { padding:48px 24px; }
    .hero { padding:110px 24px 72px; }
    .hero-content { margin-left:0; }
    .filmstrip,.hero-stats,.hero-arc { display:none; }
    .grid-2 { grid-template-columns:1fr; gap:40px; }
    .grid-3 { grid-template-columns:1fr; }
    .grid-4 { grid-template-columns:1fr 1fr; }
    .grid-2-cards { grid-template-columns:1fr; }
    .news-grid { grid-template-columns:1fr; }
    .demo-grid { grid-template-columns:1fr; }
    
    
    
    
    footer { padding:32px 24px; }
  }

  /* ── NEWS FEATURES LIST ── */
  .news-features { list-style:none; margin:14px 0 4px; display:flex; flex-direction:column; gap:10px; }
  .news-features li { font-size:12px; color:var(--body); line-height:1.65; padding-left:14px; position:relative; }
  .news-features li::before { content:'▸'; position:absolute; left:0; color:var(--gold3); font-size:9px; top:3px; }
  .news-features li strong { color:var(--gold2); font-weight:500; }
  .news-features li em { color:var(--body); font-style:italic; }
  /* ── WP PAGINATION ── */
  .news-pagination { margin-top: 56px; display: flex; justify-content: center; gap: 8px; }
  .news-pagination .page-numbers {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border: 1px solid var(--border);
    color: var(--muted); text-decoration: none; font-size: 12px;
    transition: all .2s; background: var(--card);
  }
  .news-pagination .page-numbers:hover,
  .news-pagination .page-numbers.current {
    background: var(--gold); color: var(--bg); border-color: var(--gold);
  }
  .news-pagination .page-numbers.dots { border: none; background: transparent; }

  /* ── WP ALIGNMENT (for post content) ── */
  .alignleft  { float: left; margin: 0 24px 16px 0; }
  .alignright { float: right; margin: 0 0 16px 24px; }
  .aligncenter { display: block; margin: 0 auto 16px; }
