  /* ============ BRAND TOKENS ============ */
  :root{
    --bg-primary:#151515;
    --bg-secondary:#282828;
    --text-muted:#737373;
    --accent:#b23331;
    --accent-hover:#882725;
    --accent-bright:#cb0917;
    --off-white:#f9f9f9;

    --font-display:'IBM Plex Sans', sans-serif;
    --font-body:'Roboto', sans-serif;
    --font-label:'Roboto Condensed', sans-serif;

    --container:1160px;
    --gap-section:7rem;
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg-primary);
    color:var(--off-white);
    font-family:var(--font-body);
    line-height:1.7;
    overflow-x:hidden;
    -webkit-user-select:none;
    -moz-user-select:none;
    user-select:none;
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  .container{max-width:var(--container); margin:0 auto; padding:0 2rem;}
  section{padding:5rem 0;}

  a:focus-visible, button:focus-visible{
    outline:2px solid var(--accent);
    outline-offset:3px;
  }

  .eyebrow{
    font-family:var(--font-label);
    font-weight:500;
    font-size:13px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--accent);
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:1.25rem;
  }
  .eyebrow::before{
    content:"";
    width:24px;
    height:2px;
    background:var(--accent);
    display:inline-block;
  }

  .hero .eyebrow{
    display:inline-flex;
    background:#f9f9f9;
    color:var(--bg-primary);
    font-size:17px;
    line-height:1;
    letter-spacing:0.04em;
    padding:14px 16px 10px;
    border-radius:8px;
    margin-bottom:0.85rem;
    box-shadow:0 3px 0 #d8d8d8, 0 10px 18px rgba(0,0,0,0.4);
  }
  .hero .eyebrow::before{display:none;}

  .section-title{
    font-family:var(--font-display);
    font-weight:700;
    font-style:normal;
    font-size:clamp(28px,4vw,40px);
    letter-spacing:-0.01em;
    color:var(--off-white);
  }
  .hook{
    font-family:var(--font-display);
    font-weight:700;
    font-style:italic;
  }

  .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:var(--font-label);
    font-weight:500;
    font-size:17px;
    padding:13px 24px;
    border-radius:6px;
    border:none;
    cursor:pointer;
    transition:transform .15s ease, background .15s ease;
  }
  .btn:active{transform:scale(0.98);}
  .btn-outline{
    background:transparent;
    color:var(--off-white);
    border:1px solid var(--bg-secondary);
  }
  .btn-outline:hover{border-color:var(--text-muted);}
  .btn-accent{background:var(--accent); color:var(--off-white);}
  .btn-accent:hover{background:var(--accent-hover);}
  .btn-whatsapp{background:#25D366; color:#0b0b0b;}
  .btn-whatsapp:hover{background:#1fb959;}

  /* ============ NAV ============ */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(21,21,21,0.9);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--bg-secondary);
  }
  nav.container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-top:1.1rem;
    padding-bottom:1.1rem;
  }
  .logo-text{
    font-family:var(--font-display);
    font-weight:700;
    font-size:26px;
    letter-spacing:-0.01em;
    color:var(--off-white);
    text-decoration:none;
    line-height:1;
  }
  .logo-text .accent{color:var(--accent);}
  .nav-links{display:flex; gap:2rem;}
  .nav-links a{
    font-family:var(--font-label);
    font-size:17px;
    letter-spacing:0.02em;
    color:var(--text-muted);
    transition:color .15s ease;
  }
  .nav-links a:hover{color:var(--off-white);}
  .nav-cta{display:flex; align-items:center; gap:12px;}
  .nav-toggle{display:none; background:none; border:none; color:var(--off-white); font-size:24px; cursor:pointer;}

  @media (max-width:860px){
    .nav-links{
      display:none;
      position:absolute;
      top:100%; left:0; right:0;
      flex-direction:column;
      gap:0;
      background:var(--bg-primary);
      border-bottom:1px solid var(--bg-secondary);
      padding:0.5rem 2rem 1.25rem;
    }
    .nav-links.open{display:flex;}
    .nav-links li{width:100%;}
    .nav-links a{display:block; padding:0.75rem 0;}
    .nav-toggle{display:block;}
  }

  /* ============ RIBBON ============ */
  .ribbon{
    background:var(--accent);
    color:var(--off-white);
  }
  .ribbon-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    flex-wrap:wrap;
    padding:0.7rem 2rem;
  }
  .ribbon-msg{
    display:flex;
    align-items:center;
    gap:8px;
    font-family:var(--font-label);
    font-size:17px;
    font-weight:500;
    letter-spacing:0.01em;
  }
  .ribbon-actions{display:flex; align-items:center; gap:10px;}
  .ribbon-btn{
    font-family:var(--font-label);
    font-weight:500;
    font-size:14px;
    letter-spacing:0.06em;
    padding:6px 14px;
    border-radius:5px;
    white-space:nowrap;
  }
  .ribbon-btn-whatsapp{
    background:#25D366;
    color:#0b0b0b;
    border:1px solid #25D366;
    font-weight:700;
  }
  .ribbon-btn-whatsapp:hover{background:#1fb959;}
  .ribbon-btn-solid{
    background:var(--bg-primary);
    color:var(--off-white);
    border:1px solid var(--bg-primary);
    font-weight:700;
  }
  .ribbon-btn-solid:hover{background:#000;}
  .ribbon-close{
    background:none;
    border:none;
    color:var(--off-white);
    font-size:18px;
    line-height:1;
    cursor:pointer;
    opacity:0.8;
  }
  .ribbon-close:hover{opacity:1;}

  /* ============ HERO ============ */
  .hero{
    padding:1.5rem 0 2rem;
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1.15fr 0.85fr;
    gap:2.5rem;
    align-items:end;
  }
  .hero h1{
    font-family:var(--font-display);
    font-weight:700;
    font-size:clamp(30px,4.6vw,48px);
    line-height:1.08;
    letter-spacing:-0.02em;
    margin-bottom:0.75rem;
  }
  .hero h1 .not{
    font-style:italic;
    color:var(--text-muted);
    text-decoration:line-through;
    text-decoration-color:var(--text-muted);
  }
  .hero h1 .accent-line{
    font-style:italic;
    color:var(--accent);
    display:block;
  }
  .hero p.lead{
    font-size:18px;
    line-height:1.45;
    color:var(--text-muted);
    max-width:640px;
    margin-bottom:0.35rem;
  }
  .hero p.lead:last-of-type{
    margin-bottom:0.9rem;
  }
  .hero-ctas{display:flex; gap:12px; flex-wrap:wrap;}
  .hero-visual{
    overflow:hidden;
    border-radius:14px;
    aspect-ratio:1/1;
  }
  .hero-visual img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:55% 55%;
    display:block;
  }

  @media (max-width:860px){
    .hero-grid{grid-template-columns:1fr; gap:1.25rem;}
    .hero-visual{order:-1; aspect-ratio:16/9; max-height:200px;}
    .hero-visual img{width:100%; height:100%;}
    .hero{padding:1rem 0 1.5rem;}
    .hero h1{font-size:clamp(26px,7vw,38px); margin-bottom:0.5rem;}
    .hero .eyebrow{font-size:15px; padding:8px 18px; margin-bottom:0.6rem;}
    .hero p.lead{font-size:18px; line-height:1.4; margin-bottom:0.3rem;}
    .hero p.lead:last-of-type{margin-bottom:0.6rem;}
  }

  /* ============ TICKER ============ */
  .ticker-wrap{
    background:var(--bg-secondary);
    padding:1rem 0;
    overflow:hidden;
    border-top:1px solid #333;
    border-bottom:1px solid #333;
  }
  .ticker-track{
    display:flex;
    gap:3rem;
    width:max-content;
    animation:scroll 28s linear infinite;
    font-family:var(--font-label);
    font-weight:500;
    font-size:14px;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--text-muted);
    white-space:nowrap;
  }
  .ticker-track span{color:var(--accent); margin:0 0.5rem;}
  @keyframes scroll{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }
  @media (prefers-reduced-motion: reduce){
    .ticker-track{animation:none;}
  }

  /* ============ SERVICES GRID ============ */
  #what-we-do{position:relative; overflow:hidden;}
  #what-we-do .container{position:relative; z-index:1;}
  .services-node-fx{
    position:absolute;
    top:0; right:0;
    width:100%; height:100%;
    pointer-events:none;
    opacity:0;
    transition:opacity .5s ease;
    z-index:0;
  }
  .services-node-fx.show{opacity:0.4;}
  @media (prefers-reduced-motion: reduce){
    .services-node-fx{display:none;}
  }
  .services-head{
    margin-bottom:2.5rem;
  }
  .services-head p{color:var(--text-muted); max-width:500px; font-size:18px; line-height:1.5; margin-top:1rem;}
  .service-tabs{
    position:relative;
    display:flex;
    flex-wrap:wrap;
    border-bottom:2px solid var(--bg-secondary);
  }
  .tab-btn{
    background:none;
    border:none;
    padding:1.1rem 1.5rem;
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:9px;
    color:var(--text-muted);
    font-family:var(--font-label);
    position:relative;
    z-index:2;
    transition:color .2s ease;
  }
  .tab-btn:hover{color:var(--off-white);}
  .tab-btn .tab-icon{width:18px; height:18px; flex:0 0 auto; color:inherit; transition:color .2s ease;}
  .tab-btn .tab-icon svg{width:100%; height:100%; display:block;}
  .tab-btn .tab-title{font-size:13px; white-space:nowrap;}
  .tab-btn.active{color:var(--off-white);}
  .tab-btn.active .tab-icon{color:var(--accent);}

  .tab-indicator-line{
    position:absolute; bottom:-2px; left:0; height:2px;
    background:var(--accent);
    width:0;
  }
  .tab-pointer{
    position:absolute; top:-2px; left:0; width:16px; height:16px;
    background:var(--accent);
    clip-path:polygon(50% 100%, 0% 0%, 100% 0%);
  }

  .service-detail{
    margin-top:2.5rem;
    background:var(--accent-hover);
    border-radius:14px;
    padding:3.5rem 2.5rem;
    position:relative;
    overflow:hidden;
    cursor:pointer;
    text-align:left;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    transition:background .3s ease;
  }
  .service-detail.flip{background:var(--off-white);}

  .service-detail-icon{
    width:44px; height:44px;
    color:var(--off-white);
    margin-bottom:1.1rem;
    transition:color .15s ease, transform .3s ease;
  }
  .service-detail-icon svg{width:100%; height:100%; display:block;}
  .service-detail.flip .service-detail-icon{color:var(--accent-hover); transform:scale(0.7);}

  .service-detail-title{
    font-family:var(--font-display); font-weight:700; font-size:30px;
    color:var(--off-white); margin-bottom:0;
    max-width:520px;
    transition:color .15s ease, font-size .3s ease, margin .3s ease;
  }
  .service-detail.flip .service-detail-title{color:var(--bg-primary); font-size:15px; margin-bottom:1rem; opacity:0.75;}

  .service-detail-desc{
    color:var(--bg-primary); font-size:22px; font-style:italic; max-width:560px; line-height:1.6;
    max-height:0; opacity:0;
    overflow:hidden;
    transition:max-height .35s ease, opacity .3s ease .05s;
  }
  .service-detail.flip .service-detail-desc{max-height:300px; opacity:1;}

  .service-detail-hint{
    margin-top:1.4rem;
    font-family:var(--font-label); font-size:12px; letter-spacing:0.06em; text-transform:uppercase;
    color:rgba(249,249,249,0.65);
    transition:color .2s ease;
  }
  .service-detail.flip .service-detail-hint{color:rgba(21,21,21,0.55);}

  @media (max-width:700px){
    .tab-btn .tab-title{display:none;}
    .tab-btn{padding:1rem 1.1rem;}
  }

  /* ============ ANTI-STATS ============ */
  .anti-stats{background:var(--bg-secondary);}
  .anti-stats .section-title{margin-bottom:2.5rem; text-align:center;}
  .anti-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:1.25rem;
  }
  .anti-card{
    background:var(--bg-primary);
    border-radius:10px;
    padding:2rem 1.25rem;
    text-align:center;
  }
  .anti-card .num{
    font-family:var(--font-display);
    font-weight:700;
    font-size:38px;
    color:var(--accent);
    margin-bottom:0.4rem;
  }
  .anti-card .num.infinity{font-size:56px; line-height:1;}
  .anti-card .label{
    font-family:var(--font-label);
    font-weight:500;
    font-size:13px;
    letter-spacing:0.03em;
    text-transform:uppercase;
    color:var(--text-muted);
  }
  @media (max-width:700px){
    .anti-grid{grid-template-columns:1fr;}
  }

  /* ============ JOURNAL ============ */
  .journal{background:var(--bg-secondary);}
  .journal-2col{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:3rem;
    align-items:center;
  }
  .journal-sub{color:var(--text-muted); font-size:18px; line-height:1.5; margin:1rem 0 1.75rem; max-width:440px;}
  .journal-hint{
    color:var(--accent);
    font-family:var(--font-label);
    font-weight:700;
    font-size:17px;
    letter-spacing:0.02em;
    margin-top:0.25rem;
  }
  .journal-note{
    background:#f9f9f9;
    border-radius:14px;
    padding:2rem 1.75rem;
    position:relative;
    display:block;
    text-decoration:none;
    border:1px solid transparent;
    transition:transform .2s ease, border-color .2s ease;
  }
  .journal-note:hover{transform:translateY(-3px); border-color:var(--accent);}
  .journal-note .date{
    position:absolute;
    top:1.25rem;
    right:1.5rem;
    font-family:var(--font-label);
    font-weight:500;
    font-size:12px;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--accent);
  }
  .journal-note h3{
    font-family:'Playfair Display', serif;
    font-weight:700;
    font-style:italic;
    font-size:20px;
    color:var(--bg-primary);
    margin-bottom:1rem;
    padding-right:96px;
  }
  .journal-note-body{
    font-family:'Playfair Display', serif;
    font-weight:300;
    font-style:italic;
    font-size:16px;
    line-height:28px;
    color:var(--bg-primary);
    background-image:repeating-linear-gradient(to bottom, transparent 0 26.5px, #c4c4c4 26.5px 28px);
    background-position:0 -3px;
  }
  .journal-note-body p{margin:0;}
  .journal-note-body a{color:var(--accent); text-decoration:underline; text-underline-offset:3px;}
  .journal-note-body a:hover{color:var(--accent-hover);}
  .journal-inline-img{
    display:block;
    width:140px;
    height:100px;
    object-fit:cover;
    border-radius:10px;
    margin:20px 0;
  }
  .journal-note-body.expanded .journal-inline-img{
    width:100%;
    height:280px;
    object-fit:cover;
    margin-top:28px;
    margin-bottom:0;
  }
  .journal-inline-video{
    display:block;
    width:140px;
    height:100px;
    object-fit:cover;
    border-radius:10px;
    margin:20px 0;
    background:#000;
  }
  .journal-note-body.expanded .journal-inline-video{
    width:100%;
    height:280px;
    object-fit:cover;
    margin-top:28px;
    margin-bottom:0;
  }
  .journal-gallery{
    position:relative;
    width:100%;
    max-width:380px;
    aspect-ratio:1/1;
    margin:0 auto;
  }
  .gallery-card{
    position:absolute;
    top:50%;
    left:50%;
    width:220px;
    padding:1.5rem;
    background:#f9f9f9;
    border-radius:14px;
    text-decoration:none;
    color:var(--bg-primary);
    box-shadow:0 10px 30px rgba(0,0,0,0.35);
    will-change:transform, opacity;
  }
  .gallery-card-date{
    font-family:var(--font-label);
    font-size:11px;
    color:var(--accent);
    text-transform:uppercase;
    letter-spacing:0.04em;
    margin-bottom:0.5rem;
  }
  .gallery-card-title{
    font-family:'Playfair Display', serif;
    font-weight:700;
    font-style:italic;
    font-size:16px;
    line-height:1.35;
    color:var(--bg-primary);
  }
  @media (prefers-reduced-motion: reduce){
    .gallery-card{transition:none;}
  }
  @media (max-width:860px){
    .journal-2col{grid-template-columns:1fr;}
  }

  /* ============ WHY HFO80 ============ */
  .why-hfo80-grid{
    display:grid;
    grid-template-columns:1.2fr 0.8fr;
    gap:3rem;
    align-items:start;
  }
  .why-hfo80 .section-title{margin-bottom:2rem;}
  .why-hfo80-body{
    border-left:3px solid var(--accent);
    padding-left:2rem;
  }
  .why-hfo80-body p{
    color:var(--text-muted);
    font-size:18px;
    line-height:1.7;
    margin-bottom:1.25rem;
  }
  .why-hfo80-body p:last-child{
    color:var(--off-white);
    margin-bottom:0;
  }
  .why-hfo80-visual img{
    width:100%;
    height:auto;
    border-radius:14px;
    display:block;
    mix-blend-mode:lighten;
  }
  @media (max-width:860px){
    .why-hfo80-grid{grid-template-columns:1fr;}
    .why-hfo80-visual{order:-1;}
  }
  @media (max-width:700px){
    .why-hfo80-body{padding-left:1.25rem;}
  }

  /* ============ CASE STUDY ============ */
  .case-study .section-title{margin-bottom:0.75rem;}
  .case-card{
    background:var(--bg-secondary);
    border-radius:14px;
    padding:2.5rem;
    margin-top:2rem;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:2.5rem;
    align-items:center;
  }
  .case-card h3{
    font-family:var(--font-display);
    font-weight:700;
    font-size:22px;
    margin-bottom:0.75rem;
  }
  .case-card p{color:var(--text-muted); font-size:18px; line-height:1.5; margin-bottom:1rem;}
  .case-tags{display:flex; gap:8px; flex-wrap:wrap;}
  .case-tags span{
    font-family:var(--font-label);
    font-size:12px;
    padding:5px 12px;
    border-radius:20px;
    background:var(--bg-primary);
    color:var(--text-muted);
  }
  .gallery-wrap{position:relative;}
  .gallery-track{
    display:flex;
    gap:1rem;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:4px;
    scrollbar-width:none;
  }
  .gallery-track::-webkit-scrollbar{display:none;}
  .gallery-track img{
    flex:0 0 82%;
    max-width:82%;
    height:auto;
    aspect-ratio:16/10;
    object-fit:cover;
    border-radius:10px;
    scroll-snap-align:start;
    background:#fff;
  }
  .gallery-nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:36px; height:36px;
    border-radius:50%;
    border:none;
    background:var(--bg-primary);
    color:var(--off-white);
    display:flex; align-items:center; justify-content:center;
    font-size:16px;
    cursor:pointer;
    z-index:3;
    box-shadow:0 4px 12px rgba(0,0,0,0.4);
  }
  .gallery-nav:hover{background:var(--accent);}
  .gallery-nav.prev{left:-14px;}
  .gallery-nav.next{right:-14px;}
  @media (max-width:860px){
    .case-card{grid-template-columns:1fr;}
  }
  @media (max-width:640px){
    .gallery-track img{flex-basis:88%; max-width:88%;}
    .gallery-nav{display:none;}
  }

  /* ============ TESTIMONIALS ============ */
  .testimonials{text-align:center;}
  .testimonials .section-title{margin-bottom:3rem;}
  .t-carousel-wrap{position:relative; max-width:900px; margin:0 auto;}
  .t-nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:40px; height:40px;
    border-radius:50%;
    border:none;
    background:var(--bg-secondary);
    color:var(--off-white);
    display:flex; align-items:center; justify-content:center;
    font-size:20px;
    cursor:pointer;
    z-index:3;
    box-shadow:0 4px 12px rgba(0,0,0,0.4);
    transition:background .15s ease;
  }
  .t-nav:hover{background:var(--accent);}
  .t-nav.prev{left:-20px;}
  .t-nav.next{right:-20px;}
  @media (max-width:960px){
    .t-nav.prev{left:4px;}
    .t-nav.next{right:4px;}
  }
  .carousel{
    display:grid;
    grid-template-columns:0.75fr 1.3fr 0.75fr;
    gap:1.25rem;
    align-items:stretch;
    max-width:900px;
    min-height:400px;
    margin:0 auto;
    transition:opacity .2s ease;
  }
  .carousel.t-fade-out{opacity:0;}
  @media (prefers-reduced-motion: reduce){
    .carousel{transition:none;}
  }
  .t-card{
    border-radius:14px;
    padding:2rem 1.5rem;
    text-align:left;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
  }
  .t-card.center{
    background:var(--off-white);
    color:var(--bg-primary);
  }
  .t-card.side{
    background:var(--bg-secondary);
    color:var(--text-muted);
    font-size:13px;
    justify-content:center;
    opacity:0.7;
    cursor:default;
    user-select:none;
  }
  .t-card .quote-mark{
    font-family:var(--font-display);
    font-weight:700;
    font-style:italic;
    font-size:32px;
    color:var(--accent);
    line-height:1;
    margin-bottom:0.75rem;
  }
  .t-card.center .quote-lines{
    font-family:var(--font-body);
    font-size:18px;
    line-height:1.5;
    font-weight:500;
  }
  .t-card.side .quote-lines{
    font-size:13px;
    line-height:1.5;
  }
  .t-card .who{
    margin-top:1.5rem;
    padding-top:1rem;
    border-top:1px solid rgba(0,0,0,0.1);
  }
  .t-card.side .who{border-top:1px solid #3a3a3a;}
  .t-card .who .name{font-family:var(--font-body); font-weight:500; font-size:14px;}
  .t-card.side .who .name{font-size:12px; color:var(--off-white);}
  .t-card .who .role{font-size:12px; color:var(--text-muted); margin-top:2px;}

  .dots{display:flex; justify-content:center; gap:8px; margin-top:2rem;}
  .dots button{
    width:8px; height:8px; border-radius:50%;
    border:none; padding:0; cursor:pointer;
    background:var(--bg-secondary);
  }
  .dots button.active{background:var(--accent);}

  @media (max-width:860px){
    .carousel{grid-template-columns:1fr; max-width:520px;}
    .t-card.side{display:none;}
  }

  /* ============ FLOATING WIDGET ============ */
  .fw-bubble{
    position:fixed; right:24px; bottom:24px; z-index:80;
    width:56px; height:56px; border-radius:50%;
    background:#25D366; color:#0b0b0b;
    display:flex; align-items:center; justify-content:center;
    font-size:24px; border:none; cursor:pointer;
    box-shadow:0 6px 18px rgba(0,0,0,0.4);
  }
  .fw-panel{
    position:fixed; right:24px; bottom:92px; z-index:80;
    width:300px; max-width:calc(100vw - 48px);
    background:var(--bg-secondary);
    border:1px solid #3a3a3a;
    border-radius:14px;
    overflow:hidden;
    display:none;
    box-shadow:0 12px 32px rgba(0,0,0,0.45);
  }
  .fw-panel.open{display:block;}
  .fw-panel-head{
    display:flex; justify-content:space-between; align-items:center;
    padding:1rem 1.25rem;
    border-bottom:1px solid #3a3a3a;
  }
  .fw-panel-head h3{font-family:var(--font-display); font-weight:700; font-size:16px;}
  .fw-panel-close{background:none; border:none; color:var(--text-muted); font-size:20px; line-height:1; cursor:pointer;}
  .fw-panel-body{padding:1.25rem;}
  .fw-step{margin-bottom:1rem;}
  .fw-step:last-child{margin-bottom:0;}
  .fw-step .num{font-family:var(--font-display); font-weight:700; font-size:12px; color:var(--accent); letter-spacing:0.05em;}
  .fw-step h4{font-family:var(--font-display); font-weight:700; font-size:15px; margin:2px 0 4px;}
  .fw-step p{font-size:13px; color:var(--text-muted); line-height:1.5;}
  .fw-panel-foot{padding:0 1.25rem 1.25rem;}
  .fw-whatsapp-btn{
    display:flex; align-items:center; justify-content:center; gap:8px;
    width:100%;
    background:#25D366; color:#0b0b0b;
    font-family:var(--font-label); font-weight:500; font-size:17px;
    padding:12px; border-radius:10px; border:none; cursor:pointer;
  }
  .fw-whatsapp-btn:hover{background:#1fb959;}

  /* ============ FAQ ============ */
  .faq{position:relative; overflow:hidden;}
  .faq .container{position:relative; z-index:1;}
  .faq-node-fx{
    position:absolute;
    top:0; left:0;
    width:100%; height:100%;
    pointer-events:none;
    opacity:0;
    transition:opacity .5s ease;
    z-index:0;
  }
  .faq-node-fx.show{opacity:0.4;}
  @media (prefers-reduced-motion: reduce){
    .faq-node-fx{display:none;}
  }
  .faq .section-title{max-width:620px; margin-bottom:2.5rem;}
  .faq-list{max-width:760px;}
  .faq-item{
    border-bottom:1px solid var(--bg-secondary);
  }
  .faq-question{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
    background:none;
    border:none;
    text-align:left;
    color:var(--off-white);
    font-family:var(--font-display);
    font-weight:700;
    font-size:18px;
    padding:1.5rem 0;
    cursor:pointer;
  }
  .faq-toggle{
    flex:0 0 auto;
    width:28px; height:28px;
    border-radius:50%;
    background:var(--bg-secondary);
    color:var(--accent);
    display:flex; align-items:center; justify-content:center;
    font-size:18px;
    transition:transform .25s ease, background .25s ease;
  }
  .faq-item.open .faq-toggle{
    background:var(--accent);
    color:var(--off-white);
    transform:rotate(135deg);
  }
  .faq-answer{
    display:grid;
    grid-template-rows:0fr;
    transition:grid-template-rows .3s ease;
  }
  .faq-answer-inner{overflow:hidden; min-height:0;}
  .faq-item.open .faq-answer{grid-template-rows:1fr;}
  .faq-answer p{
    color:var(--text-muted);
    font-size:18px;
    line-height:1.6;
    padding-bottom:1.5rem;
    max-width:620px;
  }

  /* ============ FINAL CTA ============ */
  .final-cta{
    background:#0d0d0d;
    text-align:center;
    border-top:1px solid var(--bg-secondary);
  }
  .final-cta .eyebrow{justify-content:center;}
  .final-cta h2{
    font-family:var(--font-display);
    font-weight:700;
    font-size:clamp(30px,5vw,48px);
    line-height:1.2;
    margin-bottom:2rem;
  }
  .final-cta h2 .accent-italic{
    font-style:italic;
    color:var(--accent);
  }
  .final-ctas{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
  .icon-btn{
    width:56px; height:56px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    transition:transform .15s ease, background .15s ease;
  }
  .icon-btn:hover{transform:translateY(-3px);}
  .icon-btn:active{transform:scale(0.96);}
  .icon-btn svg{width:24px; height:24px;}
  .icon-btn-whatsapp{background:#25D366; color:#0b0b0b;}
  .icon-btn-whatsapp:hover{background:#1fb959;}
  .icon-btn-email{background:var(--accent); color:var(--off-white);}
  .icon-btn-email:hover{background:var(--accent-hover);}

  /* ============ FOOTER ============ */
  footer{
    background:#0d0d0d;
    padding:2.5rem 0;
  }
  .footer-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:1rem;
  }
  .footer-row .logo-text{font-size:26px;}
  .footer-tagline{font-family:var(--font-label); font-size:14px; color:var(--text-muted); margin-top:2px;}
  .footer-row .contact{color:var(--text-muted); font-size:17px;}
  .footer-socials{display:flex; align-items:center; gap:16px;}
  .footer-socials a{color:var(--text-muted); transition:color .15s ease;}
  .footer-socials a:hover{color:var(--off-white);}
  .footer-socials svg{width:26px; height:26px; display:block;}
  .footer-row .meta{
    display:flex; align-items:center; gap:10px;
    color:var(--text-muted); font-size:15px;
  }
  .copyright-trigger{
    background:none; border:none; padding:0;
    color:var(--text-muted);
    font-family:var(--font-body); font-size:15px;
    text-decoration:underline; text-underline-offset:3px;
    cursor:pointer;
  }
  .copyright-trigger:hover{color:var(--off-white);}

  /* ============ MODAL ============ */
  .modal-overlay{
    position:fixed; inset:0; z-index:100;
    background:rgba(0,0,0,0.6);
    display:none;
    align-items:center; justify-content:center;
    padding:1.5rem;
  }
  .modal-overlay.open{display:flex;}
  .modal-box{
    position:relative;
    background:var(--bg-secondary);
    border:1px solid #3a3a3a;
    border-radius:14px;
    padding:2rem;
    max-width:440px;
    box-shadow:0 12px 32px rgba(0,0,0,0.45);
  }
  .modal-box h3{font-family:var(--font-display); font-weight:700; font-size:18px; margin-bottom:0.75rem;}
  .modal-box p{color:var(--text-muted); font-size:18px; line-height:1.55;}
  .modal-close{
    position:absolute; top:1rem; right:1.25rem;
    background:none; border:none;
    color:var(--text-muted); font-size:20px; line-height:1;
    cursor:pointer;
  }
  .modal-close:hover{color:var(--off-white);}

  /* ============ NAV ACTIVE STATE ============ */
  .nav-links a.active{color:var(--off-white);}

  /* ============ JOURNAL PAGE ============ */
  .journal-page-header{padding:4.5rem 0 1rem;}
  .journal-page-header p{color:var(--text-muted); font-size:18px; line-height:1.5; max-width:520px; margin-top:0.5rem;}
  .journal-list{
    display:flex;
    flex-direction:column;
    gap:2rem;
    padding:2.5rem 0 6rem;
  }
  .journal-note-full{
    padding:2.5rem 2.5rem 12rem;
    cursor:default;
  }
  .journal-note-full:hover{transform:none; border-color:transparent;}
  .journal-note-full h3{
    font-size:24px;
    padding-right:130px;
  }
  .journal-note-desk{
    position:absolute;
    bottom:1.25rem;
    right:1.5rem;
    width:160px;
    height:auto;
    display:block;
    transform:scaleX(-1);
  }
  .journal-clamp-7{
    max-height:196px;
    overflow:hidden;
    position:relative;
    transition:max-height .3s ease;
  }
  .journal-clamp-7.expanded{max-height:2000px;}
  .journal-clamp-7.has-overflow:not(.expanded)::after{
    content:"";
    position:absolute;
    bottom:0; left:0; right:0;
    height:40px;
    background:linear-gradient(to bottom, rgba(249,249,249,0), #f9f9f9);
    pointer-events:none;
  }
  .journal-read-more{
    display:inline-block;
    margin-top:1rem;
    background:none;
    border:none;
    color:var(--accent);
    font-family:var(--font-label);
    font-weight:500;
    font-size:13px;
    letter-spacing:0.03em;
    text-transform:uppercase;
    cursor:pointer;
    padding:0;
  }
  .journal-read-more:hover{color:var(--accent-hover);}
  .journal-embed{
    position:relative;
    width:100%;
    padding-top:56.25%;
    margin:1.5rem 0;
    border-radius:10px;
    overflow:hidden;
    background:#000;
  }
  .journal-embed iframe{
    position:absolute; top:0; left:0;
    width:100%; height:100%;
    border:0;
  }
