  :root{
    --bg:#F7F5F1;
    --bg-alt:#FFFFFF;
    --bg-raised:#FBFAF7;
    --text:#16233B;
    --text-muted:#5B6472;
    --accent:#A9803F;
    --accent-dark:#7C5F2E;
    --accent-soft:#EFE3CE;
    --border:#E4E0D8;
    --nav-bg:rgba(247,245,241,0.88);
    --shadow: 0 20px 50px -25px rgba(22,35,59,0.25);
    --radius: 14px;
    --header-h: 85px;
  }
  html.dark{
    --bg:#0A0F1C;
    --bg-alt:#111A2C;
    --bg-raised:#141F35;
    --text:#ECEEF2;
    --text-muted:#98A2B5;
    --accent:#CBA155;
    --accent-dark:#E4C077;
    --accent-soft:#26365420;
    --border:#233150;
    --nav-bg:rgba(10,15,28,0.85);
    --shadow: 0 20px 50px -20px rgba(0,0,0,0.6);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
    background:var(--bg);
    color:var(--text);
    transition:background .35s ease,color .35s ease;
    line-height:1.6;
    overflow-x:hidden;
  }
  h1,h2,h3,h4{
    font-family:'Playfair Display',Georgia,serif;
    font-weight:600;
    line-height:1.15;
    letter-spacing:-0.01em;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .container{max-width:1180px;margin:0 auto;padding:0 32px;}
  section{padding:110px 0;}
  .eyebrow{
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:12.5px;
    font-weight:600;
    color:var(--accent);
    margin-bottom:16px;
    display:inline-block;
  }
  .section-head{max-width:680px;margin-bottom:56px;}
  .section-head h2{font-size:clamp(28px,3.4vw,42px);margin-bottom:18px;}
  .section-head p{color:var(--text-muted);font-size:17px;}
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:15px 30px;
    border-radius:999px;
    font-weight:600;
    font-size:14.5px;
    letter-spacing:.02em;
    cursor:pointer;
    border:1px solid transparent;
    transition:all .25s ease;
    white-space:nowrap;
  }
  .btn-primary{background:var(--text);color:var(--bg);}
  html.dark .btn-primary{background:var(--accent);color:#0A0F1C;}
  .btn-primary:hover{background:var(--accent);color:#fff;transform:translateY(-2px);}
  html.dark .btn-primary:hover{background:var(--accent-dark);color:#0A0F1C;}
  .btn-outline{border-color:var(--border);color:var(--text);}
  .btn-outline:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px);}

  /* NAV */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:var(--nav-bg);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--border);
  }
  nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:20px 32px;max-width:1180px;margin:0 auto;
  }
  .logo{
    font-family:'Playfair Display',serif;
    font-size:21px;font-weight:700;letter-spacing:.01em;
    display:flex;align-items:center;gap:10px;
  }
  .logo span{color:var(--accent);}
  .nav-links{display:flex;gap:28px;align-items:center;}
  .nav-links a{
    font-size:14.5px;font-weight:500;color:var(--text-muted);
    transition:color .2s ease;
  }
  .nav-links a:hover{color:var(--text);}
  .nav-actions{display:flex;align-items:center;gap:18px;}
  .theme-toggle{
    width:44px;height:44px;border-radius:50%;
    border:1px solid var(--border);
    background:var(--bg-alt);
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;transition:all .25s ease;
  }
  .theme-toggle:hover{border-color:var(--accent);}
  .theme-toggle svg{width:19px;height:19px;stroke:var(--text);}
  .icon-sun{display:none;}
  html.dark .icon-moon{display:none;}
  html.dark .icon-sun{display:block;}
  .nav-toggle{
    display:none;background:none;border:1px solid var(--border);border-radius:50%;
    width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer;flex:none;
  }
  .nav-toggle svg{width:20px;height:20px;stroke:var(--text);}
  .nav-toggle .icon-close{display:none;}
  .nav-toggle.open .icon-burger{display:none;}
  .nav-toggle.open .icon-close{display:block;}
  .mobile-menu{
    display:none;
    flex-direction:column;
    max-height:0;
    overflow:hidden;
    border-top:0 solid var(--border);
    background:var(--bg-alt);
    transition:max-height .35s ease;
  }
  .mobile-menu.open{max-height:520px;border-top-width:1px;}
  .mobile-menu a{
    padding:16px 24px;font-size:15px;font-weight:500;color:var(--text);
    border-bottom:1px solid var(--border);
  }

  /* HERO */
  .hero{
    min-height:100vh;
    min-height:100svh;
    box-sizing:border-box;
    padding:calc(var(--header-h) + 40px) 0 40px;
    display:flex;
    align-items:center;
    position:relative;
    overflow:hidden;
  }
  .hero-video-wrap{
    position:absolute;inset:0;z-index:0;overflow:hidden;background:#0A0F1C;
  }
  .hero-video{
    position:absolute;top:50%;left:50%;
    min-width:100%;min-height:100%;
    width:auto;height:auto;
    transform:translate(-50%,-50%);
    object-fit:cover;
  }
  .hero-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(6,10,20,0.72) 0%,rgba(6,10,20,0.55) 45%,rgba(6,10,20,0.82) 100%);
  }
  .hero-inner{position:relative;z-index:1;max-width:100%;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;}
  .hero .eyebrow{color:var(--accent-dark);}
  html:not(.dark) .hero .eyebrow{color:#E4C077;}
  .hero h1{font-size:clamp(34px,4.6vw,60px);margin-bottom:22px;color:#F7F5F1;}
  .hero h1 em{font-style:normal;color:#E4C077;}
  .hero p.lead{font-size:18px;color:#D7DAE1;max-width:600px;margin:0 auto 34px;}
  .hero-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:52px;}
  .hero .btn-primary{background:#E4C077;color:#0A0F1C;}
  .hero .btn-primary:hover{background:#F7F5F1;color:#0A0F1C;}
  .hero .btn-outline{border-color:rgba(247,245,241,0.4);color:#F7F5F1;}
  .hero .btn-outline:hover{border-color:#E4C077;color:#E4C077;}
  .hero-stats{
    display:grid;grid-template-columns:repeat(3,1fr);
    column-gap:32px;
    row-gap:0;
    border-top:1px solid rgba(247,245,241,0.22);
    padding-top:30px;max-width:760px;
    margin:0 auto;
    text-align:center;
  }
  .hero-stats div{padding-right:24px;padding-left:24px;border-right:1px solid rgba(247,245,241,0.22);}
  .hero-stats div:last-child{border-right:none;}
  .hero-stats .num{font-family:'Playfair Display',serif;font-size:clamp(24px,3vw,34px);font-weight:700;color:#F7F5F1;}
  .hero-stats .label{font-size:13px;color:#C6CAD3;margin-top:6px;letter-spacing:.02em;}

  /* SERVICES */
  .services{background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
  .service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
  .service-card{
    background:var(--bg-raised);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:34px 28px;
    transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
  }
  .service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--accent);}
  .service-card .num-tag{
    font-family:'Playfair Display',serif;color:var(--accent);
    font-size:14px;font-weight:700;margin-bottom:18px;display:block;
  }
  .service-card h3{font-size:19px;margin-bottom:12px;}
  .service-card p{font-size:14.5px;color:var(--text-muted);margin-bottom:18px;}
  .service-card .learn{font-size:13.5px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:6px;}

  /* ABOUT */
  .about-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:70px;align-items:center;}
  .about-portrait{
    aspect-ratio:4/5;border-radius:var(--radius);
    background:linear-gradient(160deg,var(--accent-soft),var(--bg-alt) 60%);
    border:1px solid var(--border);
    display:flex;align-items:flex-end;padding:26px;
    position:relative;overflow:hidden;
  }
  .about-portrait::after{
    content:attr(data-initials);font-family:'Playfair Display',serif;
    position:absolute;top:24px;left:26px;font-size:14px;letter-spacing:.1em;color:var(--accent-dark);font-weight:700;
  }
  .about-portrait span{
    font-size:13px;color:var(--text-muted);background:var(--bg);
    padding:8px 14px;border-radius:999px;border:1px solid var(--border);
  }
  .about-copy h2{font-size:clamp(26px,3.2vw,36px);margin-bottom:22px;}
  .about-copy p{color:var(--text-muted);margin-bottom:18px;font-size:16px;}
  .about-copy .credentials{display:flex;gap:34px;margin-top:32px;flex-wrap:wrap;}
  .about-copy .credentials div{border-left:2px solid var(--accent);padding-left:16px;}
  .about-copy .credentials .num{font-family:'Playfair Display',serif;font-size:26px;font-weight:700;}
  .about-copy .credentials .label{font-size:13px;color:var(--text-muted);}
  .bio-toggle{
    background:none;border:none;cursor:pointer;padding:0;
    display:inline-flex;align-items:center;gap:7px;
    font-size:14.5px;font-weight:600;color:var(--accent);
    margin-bottom:8px;
  }
  .bio-toggle .chev{transition:transform .3s ease;}
  .bio-toggle.open .chev{transform:translateX(3px) rotate(90deg);}
  .bio-more{max-height:0;overflow:hidden;transition:max-height .45s ease;}
  .bio-more.open{max-height:600px;}
  .bio-more p:first-child{margin-top:14px;}

  /* PORTFOLIO */
  .portfolio{background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
  .portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .deal-card{
    border-radius:var(--radius);overflow:hidden;
    border:1px solid var(--border);
    background:var(--bg-raised);
    transition:transform .3s ease,box-shadow .3s ease;
  }
  .deal-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
  .deal-media{
    height:190px;
    background:linear-gradient(135deg,var(--accent-soft),transparent 70%),
               repeating-linear-gradient(45deg,var(--bg) 0 2px,transparent 2px 14px);
    position:relative;
    display:flex;align-items:flex-start;justify-content:space-between;padding:16px;
  }
  .deal-tag{
    font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
    background:var(--bg);color:var(--accent);padding:6px 12px;border-radius:999px;border:1px solid var(--border);
  }
  .deal-body{padding:22px 24px 26px;}
  .deal-body h3{font-size:17px;margin-bottom:8px;}
  .deal-body p{font-size:14px;color:var(--text-muted);margin-bottom:16px;}
  .deal-meta{display:flex;justify-content:space-between;font-size:12.5px;color:var(--text-muted);border-top:1px solid var(--border);padding-top:14px;}
  .deal-meta b{color:var(--text);font-weight:600;}

  /* NETWORK BAND */
  .network{padding:80px 0;}
  .network .section-head{margin-bottom:34px;}
  .network-band{
    display:flex;flex-wrap:wrap;gap:14px;
  }
  .chip{
    padding:12px 20px;border-radius:999px;border:1px solid var(--border);
    background:var(--bg-alt);font-size:13.5px;color:var(--text-muted);font-weight:500;
  }

  /* INSIGHTS / BLOG */
  .insights{background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
  .insights-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;}
  .insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-bottom:56px;}
  .post-card{
    border-radius:var(--radius);overflow:hidden;
    border:1px solid var(--border);
    background:var(--bg-raised);
    transition:transform .3s ease,box-shadow .3s ease;
  }
  .post-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
  .post-media{
    height:160px;
    background:linear-gradient(135deg,var(--accent-soft),transparent 70%),
               repeating-linear-gradient(45deg,var(--bg) 0 2px,transparent 2px 14px);
    position:relative;display:flex;align-items:flex-start;padding:16px;
  }
  .post-body{padding:22px 24px 26px;}
  .post-meta{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;}
  .post-body h3{font-size:18px;margin-bottom:10px;}
  .post-body p{font-size:14px;color:var(--text-muted);margin-bottom:16px;}
  .post-body .learn{font-size:13.5px;font-weight:600;color:var(--accent);}
  .newsletter-box{
    border:none;
    border-radius:var(--radius);
    background:linear-gradient(160deg,var(--text),#0A1220);
    box-shadow:var(--shadow);
    padding:50px 48px;
    display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;
  }
  html.dark .newsletter-box{background:linear-gradient(160deg,var(--bg-raised),#060a13);}
  .newsletter-copy h3{font-size:23px;margin-bottom:8px;color:#fff;}
  .newsletter-copy p{color:#B7BECB;font-size:14.5px;max-width:420px;}
  .newsletter-form{display:flex;gap:10px;flex-wrap:wrap;}
  .newsletter-form input{
    background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.28);border-radius:999px;
    padding:13px 20px;font-size:14px;color:#fff;min-width:240px;
  }
  .newsletter-form input::placeholder{color:rgba(255,255,255,0.55);}
  .newsletter-form input:focus{outline:none;border-color:var(--accent);}
  .newsletter-form button{white-space:nowrap;}
  .newsletter-box .btn-primary{background:var(--accent);color:#0A0F1C;}
  .newsletter-box .btn-primary:hover{background:#fff;color:#0A0F1C;}
  .newsletter-box .form-status{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.25);color:#fff;}
  @media(max-width:640px){.newsletter-box{padding:34px 28px;}.newsletter-form{width:100%;}.newsletter-form input{flex:1;}}

  /* FAQ */
  .faq{background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
  .faq-list{max-width:820px;margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--border);}
  .faq-q{
    width:100%;text-align:left;background:none;border:none;cursor:pointer;
    padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;
    font-family:'Playfair Display',serif;font-size:18px;color:var(--text);
  }
  .faq-q .plus{
    flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--border);
    display:flex;align-items:center;justify-content:center;position:relative;transition:transform .3s ease;
  }
  .faq-q .plus::before,.faq-q .plus::after{content:'';position:absolute;background:var(--text);}
  .faq-q .plus::before{width:10px;height:1.5px;}
  .faq-q .plus::after{width:1.5px;height:10px;}
  .faq-item.open .faq-q .plus{transform:rotate(45deg);border-color:var(--accent);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
  .faq-a p{color:var(--text-muted);padding-bottom:24px;max-width:680px;font-size:15px;}
  .faq-item.open .faq-a{max-height:220px;}

  /* CTA */
  .cta{
    text-align:center;
    background:linear-gradient(160deg,var(--text),#0A1220);
    color:#F5F3EE;
    border-radius:28px;
    margin:0 32px;
    padding:90px 40px;
  }
  html.dark .cta{background:linear-gradient(160deg,var(--bg-raised),#060a13);}
  .cta h2{font-size:clamp(28px,3.6vw,42px);color:#fff;margin-bottom:18px;}
  .cta p{color:#B7BECB;max-width:520px;margin:0 auto 36px;font-size:16px;}
  .cta .btn-primary{background:var(--accent);color:#0A0F1C;}
  .cta .btn-primary:hover{background:#fff;color:#0A0F1C;}

  /* CONTACT */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;}
  .contact-info h2{font-size:clamp(26px,3.2vw,36px);margin-bottom:20px;}
  .contact-info p{color:var(--text-muted);margin-bottom:28px;font-size:16px;}
  .contact-info .row{display:flex;gap:16px;margin-bottom:20px;align-items:flex-start;}
  .contact-info .row b{display:block;font-size:14px;}
  .contact-info .row span{font-size:14px;color:var(--text-muted);}
  form{display:flex;flex-direction:column;gap:16px;}
  form input,form select,form textarea{
    background:var(--bg-alt);border:1px solid var(--border);border-radius:10px;
    padding:14px 16px;font-family:inherit;font-size:14.5px;color:var(--text);
    width:100%;
  }
  form textarea{resize:vertical;min-height:110px;}
  form input:focus,form select:focus,form textarea:focus{outline:none;border-color:var(--accent);}
  form label{font-size:12.5px;color:var(--text-muted);margin-bottom:-8px;text-transform:uppercase;letter-spacing:.05em;}

  /* FOOTER */
  footer{padding:70px 0 40px;border-top:1px solid var(--border);margin-top:60px;}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:50px;}
  .footer-brand p{color:var(--text-muted);font-size:14px;margin-top:16px;max-width:280px;}
  .footer-col h4{font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;color:var(--text-muted);}
  .footer-col a{display:block;font-size:14px;color:var(--text);margin-bottom:10px;opacity:.85;}
  .footer-col a:hover{color:var(--accent);}
  .footer-bottom{
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
    border-top:1px solid var(--border);padding-top:26px;
    font-size:12.5px;color:var(--text-muted);
  }

  /* Nav links stay visible as long as there's room for all 6 + the
     Schedule a Call button + theme toggle without crowding — only switch
     to the hamburger menu once the window actually gets narrow. This is
     its own breakpoint (separate from the general tablet layout one
     below) so it can be tuned independently as the link list changes. */
  @media(max-width:1010px){
    .nav-links{display:none;}
    .nav-toggle{display:flex;}
    .mobile-menu{display:flex;}
  }
  /* Hero stats: 3 side-by-side columns get cramped and wrap unevenly well
     before the general tablet breakpoint, especially with longer labels —
     stack them earlier, at their own breakpoint, with a divider color that
     stays visible against the hero's dark video/overlay background in
     both light and dark site themes. */
  @media(max-width:1180px){
    .hero-stats{grid-template-columns:1fr;gap:18px;max-width:320px;}
    .hero-stats div{border-right:none;border-bottom:1px solid rgba(247,245,241,0.22);padding:0 0 18px;}
    .hero-stats div:last-child{border-bottom:none;padding-bottom:0;}
  }
  @media(max-width:920px){
    .service-grid{grid-template-columns:repeat(2,1fr);}
    .about-grid,.contact-grid{grid-template-columns:1fr;gap:40px;}
    .portfolio-grid,.insights-grid{grid-template-columns:1fr;}
    .newsletter-box{flex-direction:column;align-items:flex-start;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    section{padding:70px 0;}
    .hero{min-height:auto;padding:calc(var(--header-h) + 60px) 0 60px;}
  }
  @media(max-width:600px){
    .service-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
    .cta{margin:0 16px;padding:60px 24px;}
    nav{padding:12px 16px;}
    .logo{font-size:15.5px;gap:5px;white-space:nowrap;}
    .nav-actions{gap:8px;}
    .nav-actions .btn-primary{padding:9px 14px;font-size:12px;}
    .theme-toggle{width:36px;height:36px;}
    .theme-toggle svg{width:16px;height:16px;}
    .nav-toggle{width:36px;height:36px;}
    .nav-toggle svg{width:18px;height:18px;}
  }

  /* ================================
     WordPress theme additions
     ================================ */

  /* Images bound to a block attribute (deal cards, blog cards, about portrait)
     replace the CSS placeholder pattern with a real photo when uploaded. */
  .deal-media,.post-media{background-size:cover;background-position:center;}
  .deal-media img,.post-media img,.about-portrait img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  }
  .about-portrait{position:relative;}
  .about-portrait img{border-radius:var(--radius);}

  /* Minimal, non-instructional empty-state placeholder (shown only in the
     editor / before an image is uploaded) */
  .shc-placeholder{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    color:var(--text-muted);opacity:.35;
  }
  .shc-placeholder svg{width:28px;height:28px;}

  /* Form status banners (contact + newsletter), shown after a redirect back
     from the admin-post handler */
  .form-status{
    padding:14px 18px;border-radius:10px;font-size:14px;margin-bottom:16px;
    border:1px solid var(--border);
  }
  .form-status.success{background:rgba(169,128,63,0.12);border-color:var(--accent);color:var(--text);}
  .form-status.error{background:rgba(200,60,60,0.1);border-color:#c83c3c;color:var(--text);}

  /* Turnstile widget spacing */
  .cf-turnstile{margin-top:4px;}

  /* Logo image (Site Logo) sizing inside the fixed-height nav */
  .logo img{height:28px;width:auto;display:block;}
  .footer-brand .logo img{height:24px;margin-bottom:6px;}

  /* Skip link (accessibility) */
  .skip-link{
    position:absolute;left:-9999px;top:0;background:var(--text);color:var(--bg);
    padding:12px 20px;z-index:1000;border-radius:0 0 8px 0;
  }
  .skip-link:focus{left:0;}

  /* Empty-state visual reused for both Deals and Video Reels when no
     featured items exist yet — never fake content, never a real photo
     reused for an empty slot. */
  .shc-empty-state{
    grid-column:1/-1;
    border:1px dashed var(--border);
    border-radius:var(--radius);
    padding:50px 30px;
    text-align:center;
    color:var(--text-muted);
    background:var(--bg-raised);
  }
  .shc-empty-state svg{width:30px;height:30px;margin:0 auto 14px;opacity:.5;stroke:var(--text-muted);}
  .shc-empty-state p{font-size:14px;}

  /* VIDEO REELS */
  .video-reels{background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
  .reels-track{
    display:flex;gap:20px;overflow-x:auto;padding-bottom:10px;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:var(--border) transparent;
  }
  .reels-track::-webkit-scrollbar{height:6px;}
  .reels-track::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px;}
  .reel-card{
    flex:none;width:220px;aspect-ratio:9/16;
    border-radius:var(--radius);overflow:hidden;position:relative;
    scroll-snap-align:start;
    background:linear-gradient(160deg,var(--accent-soft),var(--bg-raised) 70%);
    border:1px solid var(--border);
    cursor:pointer;
    display:block;
  }
  .reel-card img,.reel-card .reel-poster-fallback{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  }
  .reel-card .reel-poster-fallback{display:flex;align-items:center;justify-content:center;color:var(--text-muted);opacity:.4;}
  .reel-card .reel-poster-fallback svg{width:34px;height:34px;}
  .reel-card::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.72) 100%);
  }
  .reel-play{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:52px;height:52px;border-radius:50%;
    background:rgba(255,255,255,0.92);
    display:flex;align-items:center;justify-content:center;
    z-index:2;transition:transform .25s ease;
  }
  .reel-card:hover .reel-play{transform:translate(-50%,-50%) scale(1.08);}
  .reel-play svg{width:18px;height:18px;fill:#16233B;margin-left:2px;}
  .reel-caption{
    position:absolute;left:14px;right:14px;bottom:14px;z-index:2;
    color:#fff;font-size:13px;font-weight:600;line-height:1.35;
  }
  .reel-empty{
    flex:none;width:100%;
  }

  /* Lightbox modal (shared by all reel cards) */
  .reel-modal{
    position:fixed;inset:0;z-index:1000;
    background:rgba(6,10,20,0.88);
    display:flex;align-items:center;justify-content:center;
    padding:40px 20px;
    opacity:0;pointer-events:none;
    transition:opacity .25s ease;
  }
  .reel-modal.open{opacity:1;pointer-events:auto;}
  .reel-modal-inner{
    position:relative;width:100%;max-width:420px;aspect-ratio:9/16;
    background:#000;border-radius:var(--radius);overflow:hidden;
  }
  .reel-modal-inner video{width:100%;height:100%;object-fit:contain;background:#000;}
  .reel-modal-close{
    position:absolute;top:-46px;right:0;
    width:36px;height:36px;border-radius:50%;
    background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.3);
    display:flex;align-items:center;justify-content:center;cursor:pointer;
  }
  .reel-modal-close svg{width:16px;height:16px;stroke:#fff;}
  @media(max-width:600px){
    .reel-card{width:160px;}
  }
