/* =====================================================================
   Casa Escondida Anilao — Digital Marketing Showcase
   Built in the resort's own day-mode design language (sand + ocean-navy).
   No elements borrowed from other showcases.
===================================================================== */

/* ── Theme colour tokens registered as animatable custom properties, so the
      whole palette can SMOOTHLY interpolate on the day <-> night cycle ── */
@property --bg{syntax:'<color>';inherits:true;initial-value:#f5f0ea}
@property --bg2{syntax:'<color>';inherits:true;initial-value:#eae3d8}
@property --bg3{syntax:'<color>';inherits:true;initial-value:#ddd5c8}
@property --card{syntax:'<color>';inherits:true;initial-value:rgba(255,255,255,0.72)}
@property --card2{syntax:'<color>';inherits:true;initial-value:rgba(255,255,255,0.95)}
@property --border{syntax:'<color>';inherits:true;initial-value:rgba(0,0,0,0.08)}
@property --border2{syntax:'<color>';inherits:true;initial-value:rgba(0,0,0,0.14)}
@property --text{syntax:'<color>';inherits:true;initial-value:#0d1e2e}
@property --text2{syntax:'<color>';inherits:true;initial-value:#3a5568}
@property --text3{syntax:'<color>';inherits:true;initial-value:rgba(58,85,104,0.65)}
@property --accent{syntax:'<color>';inherits:true;initial-value:#1a6b98}
@property --accent-d{syntax:'<color>';inherits:true;initial-value:#155880}
@property --accent-g{syntax:'<color>';inherits:true;initial-value:rgba(26,107,152,0.10)}
@property --teal{syntax:'<color>';inherits:true;initial-value:#4dc2e8}
@property --gold{syntax:'<color>';inherits:true;initial-value:#b8862a}
@property --nav-bg{syntax:'<color>';inherits:true;initial-value:rgba(245,240,234,0.95)}

/* ── Tokens (day mode — default) ── */
:root{
  --bg:#f5f0ea; --bg2:#eae3d8; --bg3:#ddd5c8;
  --card:rgba(255,255,255,0.72); --card2:rgba(255,255,255,0.95);
  --border:rgba(0,0,0,0.08); --border2:rgba(0,0,0,0.14);
  --text:#0d1e2e; --text2:#3a5568; --text3:rgba(58,85,104,0.65);
  --accent:#1a6b98; --accent-d:#155880; --accent-g:rgba(26,107,152,0.10);
  --teal:#4dc2e8; --gold:#b8862a;
  --nav-bg:rgba(245,240,234,0.95);
  transition:--bg 1.6s ease,--bg2 1.6s ease,--bg3 1.6s ease,--card 1.6s ease,--card2 1.6s ease,--border 1.6s ease,--border2 1.6s ease,--text 1.6s ease,--text2 1.6s ease,--text3 1.6s ease,--accent 1.6s ease,--accent-d 1.6s ease,--accent-g 1.6s ease,--teal 1.6s ease,--gold 1.6s ease,--nav-bg 1.6s ease;
}
/* ── Night mode (auto ambient cycle adds .night to <html>) ── */
:root.night{
  --bg:#05121f; --bg2:#081a2b; --bg3:#0c2438;
  --card:rgba(255,255,255,0.05); --card2:rgba(255,255,255,0.09);
  --border:rgba(255,255,255,0.10); --border2:rgba(255,255,255,0.17);
  --text:#eaf4f8; --text2:#a4bac8; --text3:rgba(164,186,200,0.6);
  --accent:#4dc2e8; --accent-d:#8fdcf3; --accent-g:rgba(77,194,232,0.13);
  --teal:#7dd6f0; --gold:#e8c56a;
  --nav-bg:rgba(5,12,20,0.9);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',system-ui,sans-serif;font-size:17px;line-height:1.62;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;overflow-x:hidden;}
::selection{background:rgba(26,107,152,.18);}
::-webkit-scrollbar{width:9px;}::-webkit-scrollbar-track{background:var(--bg2);}::-webkit-scrollbar-thumb{background:rgba(26,107,152,.4);border-radius:5px;}
.c{max-width:1200px;margin:0 auto;padding:0 2rem;}
img{display:block;max-width:100%;}

/* ── Progress bar ── */
#pg-bar{position:fixed;top:0;left:0;height:2px;width:0;background:var(--accent);z-index:10001;transition:width .12s linear;pointer-events:none;}

/* ── NAV ── */
#nav{position:fixed;inset:0 0 auto 0;z-index:200;display:flex;align-items:center;justify-content:space-between;
  padding:.85rem 2.5rem;background:linear-gradient(180deg,rgba(4,8,15,0.42) 0%,transparent 100%);
  transition:padding .4s ease,background .4s ease,backdrop-filter .4s ease,box-shadow .4s ease;}
#nav.scrolled{background:var(--nav-bg);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border-bottom:1px solid var(--border);padding:.6rem 2.5rem;box-shadow:0 6px 24px rgba(0,0,0,.06);}
.nav-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;}
.nav-logo img{height:42px;width:auto;display:block;}
.nav-logo .logo-day{display:none;}
#nav.scrolled .logo-night{display:none;}
#nav.scrolled .logo-day{display:block;}
.nav-links{display:flex;gap:2.2rem;list-style:none;position:absolute;left:50%;transform:translateX(-50%);}
.nav-links a{color:rgba(255,255,255,0.92);text-decoration:none;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:400;transition:color .3s;position:relative;padding-bottom:3px;white-space:nowrap;}
#nav.scrolled .nav-links a{color:var(--text2);}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1.5px;background:var(--teal);transition:width .35s ease;}
.nav-links a:hover,.nav-links a.active{color:var(--teal);}
#nav.scrolled .nav-links a:hover,#nav.scrolled .nav-links a.active{color:var(--accent);}
#nav.scrolled .nav-links a::after{background:var(--accent);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-right{display:flex;align-items:center;gap:1rem;}
.btn-nav-cta{background:rgba(77,194,232,0.92);color:#fff;padding:.5rem 1.4rem;border-radius:30px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:background .3s,transform .2s;font-weight:600;white-space:nowrap;}
.btn-nav-cta:hover{background:var(--teal);transform:translateY(-1px);}
#nav.scrolled .btn-nav-cta{background:var(--accent);}
#nav.scrolled .btn-nav-cta:hover{background:var(--accent-d);}
@media(max-width:860px){
  #nav,#nav.scrolled{padding:.6rem 1.2rem;}
  .nav-links{position:static;transform:none;gap:1.1rem;}
  .nav-links a{font-size:.66rem;letter-spacing:.06em;}
}
@media(max-width:520px){
  #nav,#nav.scrolled{padding:.5rem .9rem;}
  .nav-logo img{height:34px;}
  .nav-links{gap:.9rem;}
  .nav-links a{font-size:.62rem;letter-spacing:.03em;}
  .btn-nav-cta{display:none;}
}

/* ── HERO ── */
.hero{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:9rem 1.5rem 4rem;border-bottom:1px solid var(--border);}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(4,8,15,0.52) 0%,rgba(4,10,20,0.55) 45%,rgba(4,8,15,0.82) 100%);}
.hero-content{position:relative;z-index:2;max-width:820px;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.65rem;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,0.92);margin-bottom:1.5rem;animation:fadeDown .7s ease .1s both;}
.hero-eyebrow::before,.hero-eyebrow::after{content:'';width:26px;height:1px;background:var(--teal);opacity:.7;}
.hero-h1{font-family:'Playfair Display',serif;font-size:clamp(3rem,7.6vw,5.7rem);font-weight:500;line-height:1.04;margin-bottom:1.4rem;
  background:linear-gradient(100deg,#ffffff 0%,#ffffff 38%,var(--teal) 50%,#ffffff 62%,#ffffff 100%);background-size:230% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 3px 16px rgba(0,0,0,.55));animation:shine 7s linear infinite;
  -webkit-box-reflect:below 3px linear-gradient(transparent 68%,rgba(255,255,255,.14));}
.hero-h1 em{font-style:italic;background:linear-gradient(100deg,var(--teal) 0%,var(--teal) 36%,#e8c56a 50%,var(--teal) 64%,var(--teal) 100%);background-size:230% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shine 6s linear infinite;}
@keyframes shine{0%{background-position:200% center;}100%{background-position:-120% center;}}
.hero-sub{color:rgba(255,255,255,0.96);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.35rem,2.8vw,2rem);max-width:660px;margin:0 auto 1rem;line-height:1.5;text-shadow:0 1px 12px rgba(0,0,0,.45);animation:fadeUp .9s cubic-bezier(.22,1,.36,1) .3s both;}
.hero-kicker{color:rgba(255,255,255,0.6);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;margin-bottom:2.4rem;animation:fadeUp .9s ease .45s both;}
.hero-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:3.2rem;animation:fadeUp .9s ease .55s both;}
.hero-stats{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap;}
.hstat{text-align:center;animation:fadeUp .6s ease both;}
.hero-stats .hstat:nth-child(1){animation-delay:.6s;}.hero-stats .hstat:nth-child(2){animation-delay:.72s;}.hero-stats .hstat:nth-child(3){animation-delay:.84s;}.hero-stats .hstat:nth-child(4){animation-delay:.96s;}
.hstat-n{font-family:'Playfair Display',serif;font-size:2rem;font-weight:300;color:var(--teal);line-height:1;}
.hstat-l{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,0.8);margin-top:.4rem;}
.hero-scroll{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.5);}
.hero-scroll svg{width:22px;height:22px;animation:bob 2s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(7px);}}
@keyframes fadeDown{from{opacity:0;transform:translateY(-12px);}to{opacity:1;transform:none;}}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
@media(max-width:768px){.hero{padding:8rem 1.2rem 3rem;}.hero-stats{gap:1.6rem;}}

/* ── BUTTONS ── */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.9rem 2rem;border-radius:2px;font-family:'DM Sans',sans-serif;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;text-decoration:none;cursor:pointer;border:none;transition:background .3s,color .3s,transform .3s,box-shadow .3s,border-color .3s;}
.btn svg{width:15px;height:15px;}
.btn-primary{background:var(--teal);color:#04080f;}
.btn-primary::after{content:'';position:absolute;top:0;left:-120%;width:55%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);}
.btn-primary:hover{background:#6fd0f2;transform:translateY(-3px);box-shadow:0 12px 30px rgba(77,194,232,.4);}
.btn-primary:hover::after{animation:sweep .7s ease forwards;}
@keyframes sweep{to{left:160%;}}
.btn-ghost{border:1.5px solid rgba(255,255,255,.6);color:#fff;background:rgba(255,255,255,.05);}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal);background:rgba(77,194,232,.08);transform:translateY(-3px);}
/* on light backgrounds */
.on-light .btn-primary{background:var(--accent);color:#fff;}
.on-light .btn-primary:hover{background:var(--accent-d);box-shadow:0 12px 30px rgba(26,107,152,.3);}
.on-light .btn-ghost{border-color:var(--accent);color:var(--accent);background:transparent;}
.on-light .btn-ghost:hover{background:var(--accent-g);}

/* ── MARQUEE ── */
.marquee-strip{background:var(--bg2);overflow:hidden;padding:.7rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.marquee-inner{display:flex;gap:1.6rem;width:max-content;animation:mq 38s linear infinite;will-change:transform;}
.marquee-strip:hover .marquee-inner{animation-play-state:paused;}
@keyframes mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.mq-item{display:flex;align-items:center;gap:.6rem;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);white-space:nowrap;font-weight:500;}
.mq-dot{width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.45;}

/* ── SECTION LAYOUT ── */
.sec{padding:5.5rem 2rem;}
.sec .inner{max-width:1200px;margin:0 auto;}
.sec-alt{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.sec-head{text-align:center;margin-bottom:3.5rem;}
.sec-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:1.1rem;font-weight:600;}
.sec-eyebrow::before,.sec-eyebrow::after{content:'';width:26px;height:1px;background:var(--accent);opacity:.5;}
.sec-h2{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,4.6vw,3.7rem);font-weight:500;line-height:1.13;margin-bottom:1.2rem;color:var(--text);}
.sec-h2 em{font-style:italic;color:var(--accent);}
.sec-sub{color:var(--text2);font-size:1.14rem;line-height:1.75;max-width:660px;margin:0 auto;}

/* ── REVEAL ── */
.rv,.rvl,.rvr{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1),filter .8s ease;}
.rv{transform:translateY(42px) scale(.98);filter:blur(2px);}
.rvl{transform:translateX(-46px);filter:blur(2px);}
.rvr{transform:translateX(46px);filter:blur(2px);}
.rv.on,.rvl.on,.rvr.on{opacity:1;transform:none;filter:none;}
.d1{transition-delay:.08s;}.d2{transition-delay:.16s;}.d3{transition-delay:.24s;}.d4{transition-delay:.32s;}.d5{transition-delay:.4s;}.d6{transition-delay:.48s;}

/* ── STAT CARDS ── */
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
@media(max-width:760px){.stat-grid{grid-template-columns:1fr;}}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:4px;padding:2.2rem 1.8rem;text-align:center;transition:border-color .3s,transform .3s,background .3s;}
.stat-card:hover{border-color:var(--accent);transform:translateY(-5px);background:var(--card2);}
.stat-n{font-family:'Playfair Display',serif;font-size:2.9rem;font-weight:300;color:var(--accent);line-height:1;margin-bottom:.7rem;}
.stat-t{font-size:.9rem;color:var(--text2);line-height:1.65;}

/* ── CAPABILITY CARDS ── */
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
@media(max-width:900px){.cap-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.cap-grid{grid-template-columns:1fr;}}
.cap-card{background:var(--card);border:1px solid var(--border);border-radius:4px;padding:2rem 1.9rem;transition:border-color .3s,transform .3s,background .3s,box-shadow .3s;position:relative;}
.cap-card:hover{border-color:var(--accent);transform:translateY(-6px);background:var(--card2);box-shadow:0 18px 44px -20px rgba(26,107,152,.4);}
.cap-icon{width:46px;height:46px;border-radius:50%;background:var(--accent-g);border:1px solid rgba(26,107,152,.22);display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem;}
.cap-icon svg{width:21px;height:21px;stroke:var(--accent);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.cap-num{position:absolute;top:1.5rem;right:1.6rem;font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--text3);}
.cap-name{font-family:'Playfair Display',serif;font-size:1.18rem;font-weight:500;margin-bottom:.6rem;line-height:1.25;color:var(--text);}
.cap-desc{font-size:.86rem;color:var(--text2);line-height:1.7;}

/* ── OVERVIEW (deep-dive) ROWS ── */
.ov-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.ov-grid.flip .ov-media{order:2;}
@media(max-width:900px){.ov-grid{grid-template-columns:1fr;gap:2.5rem;}.ov-grid.flip .ov-media{order:0;}}
.ov-eyebrow{font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:.9rem;}
.ov-text h3{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:400;line-height:1.28;margin-bottom:1rem;color:var(--text);}
.ov-text h3 em{font-style:italic;color:var(--accent);}
.ov-text p{color:var(--text2);font-size:.95rem;line-height:1.8;margin-bottom:1.1rem;}
.ov-badges{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.4rem;}
.ov-badge{display:inline-flex;align-items:center;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;padding:.4rem .9rem;border:1px solid var(--border2);border-radius:30px;color:var(--text2);transition:all .25s;}
.ov-badge:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-g);}
.ov-stat{margin-top:1.6rem;}
.ov-stat .n{font-family:'Playfair Display',serif;font-size:2.6rem;font-weight:300;color:var(--accent);line-height:1;}
.ov-stat .l{font-size:.82rem;color:var(--text3);margin-top:.3rem;}

/* Media panel (light card holding a chart / visual) */
.panel{background:var(--card2);border:1px solid var(--border);border-radius:8px;padding:1.8rem;box-shadow:0 20px 50px -30px rgba(13,30,46,.5);}
.panel-title{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text3);font-weight:600;margin-bottom:1.4rem;}
.panel-note{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text3);opacity:.7;margin-top:1.1rem;}

/* Bars */
.bars{display:flex;align-items:flex-end;gap:.9rem;height:180px;}
.bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;}
.bar i{display:block;width:100%;border-radius:5px 5px 0 0;height:0;background:linear-gradient(180deg,var(--teal),var(--accent));transition:height 1.2s cubic-bezier(.2,.7,.3,1);}
.on .bar i,.visible .bar i{height:var(--h);}
.bar b{font-size:.7rem;margin-top:.5rem;font-weight:600;color:var(--text2);}

/* Keyword rank list */
.krow{margin-bottom:1rem;}
.krow:last-child{margin-bottom:0;}
.ktop{display:flex;justify-content:space-between;font-size:.82rem;margin-bottom:.4rem;color:var(--text);}
.ktop .rk{color:var(--accent);font-weight:600;}
.ktrack{height:9px;border-radius:5px;background:rgba(26,107,152,.1);overflow:hidden;}
.kfill{height:100%;width:0;border-radius:5px;background:linear-gradient(90deg,var(--accent),var(--teal));transition:width 1.3s cubic-bezier(.2,.7,.3,1);}
.on .kfill,.visible .kfill{width:var(--w);}

/* Funnel */
.funnel{display:flex;flex-direction:column;gap:.6rem;}
.fn{height:44px;border-radius:6px;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;color:#fff;font-weight:600;font-size:.78rem;width:0;min-width:150px;background:linear-gradient(90deg,var(--accent),var(--teal));transition:width 1.2s cubic-bezier(.2,.7,.3,1);white-space:nowrap;overflow:hidden;}
.on .fn,.visible .fn{width:var(--w);}

/* AI answer cards */
.ai-card{background:var(--card2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;padding:1rem 1.2rem;font-size:.86rem;line-height:1.6;color:var(--text2);margin-bottom:.8rem;}
.ai-card:last-child{margin-bottom:0;}
.ai-card strong{color:var(--text);}
.ai-card .hl{color:var(--accent);font-weight:600;}

/* Before/After slider */
.ba{position:relative;border-radius:8px;overflow:hidden;user-select:none;aspect-ratio:16/11;cursor:ew-resize;box-shadow:0 24px 60px -28px rgba(13,30,46,.6);border:1px solid var(--border);}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;}
.ba .before{filter:saturate(.3) brightness(.7) contrast(.9) hue-rotate(-12deg);}
.ba .after{clip-path:inset(0 50% 0 0);}
.ba .handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 14px rgba(0,0,0,.4);}
.ba .handle::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.35);}
.ba .handle .ico{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;color:var(--accent);font-size:14px;}
.ba .tag{position:absolute;bottom:12px;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(4,8,15,.6);padding:.25rem .55rem;border-radius:3px;pointer-events:none;}
.ba .tag.l{left:12px;}.ba .tag.r{right:12px;}

/* ── ECO / CONTENT GALLERY ── */
.eco-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;margin-bottom:2.4rem;}
.eco-filter{background:transparent;border:1px solid var(--border2);color:var(--text2);padding:.55rem 1.15rem;border-radius:40px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:all .3s;font-family:inherit;}
.eco-filter:hover{border-color:var(--accent);color:var(--accent);}
.eco-filter.active{background:var(--accent);border-color:var(--accent);color:#fff;}
.eco-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;}
@media(max-width:900px){.eco-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:600px){.eco-grid{grid-template-columns:repeat(2,1fr);gap:.7rem;}}
.eco-card{position:relative;aspect-ratio:1;overflow:hidden;border-radius:6px;border:1px solid var(--border);background:var(--bg3);transition:transform .5s ease,border-color .3s,box-shadow .4s,opacity .4s;}
.eco-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 16px 42px -18px rgba(26,107,152,.5);}
.eco-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .4s;}
.eco-card:hover img{transform:scale(1.09);filter:brightness(.7);}
.eco-card.hide{display:none;}
.eco-label{position:absolute;left:0;right:0;bottom:0;padding:1.1rem .9rem .8rem;background:linear-gradient(to top,rgba(4,8,15,.92) 0%,rgba(4,8,15,.45) 60%,transparent 100%);color:#fff;pointer-events:none;}
.eco-name{font-family:'Playfair Display',serif;font-size:.92rem;font-weight:500;line-height:1.2;}
.eco-cat{position:absolute;top:.65rem;left:.65rem;background:rgba(4,8,15,.72);backdrop-filter:blur(6px);color:#fff;padding:.22rem .55rem;border-radius:30px;font-size:.54rem;letter-spacing:.13em;text-transform:uppercase;font-weight:500;}

/* ── PLAN / TIMELINE ── */
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
@media(max-width:820px){.plan-grid{grid-template-columns:1fr;}}
.plan-card{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:4px;padding:1.9rem 1.8rem;transition:transform .3s,box-shadow .3s;}
.plan-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px -22px rgba(13,30,46,.45);}
.plan-days{display:inline-block;font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:var(--accent-g);padding:.3rem .75rem;border-radius:30px;margin-bottom:1rem;}
.plan-card h3{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:500;margin-bottom:.6rem;color:var(--text);}
.plan-card p{font-size:.85rem;color:var(--text2);line-height:1.7;}

/* ── CTA BAND ── */
.cta-band{position:relative;overflow:hidden;padding:6rem 2rem;text-align:center;}
.cta-bg{position:absolute;inset:0;z-index:0;}
.cta-bg img{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:brightness(.42);}
.cta-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(4,8,15,.72) 0%,rgba(4,30,55,.6) 100%);}
.cta-content{position:relative;z-index:2;max-width:640px;margin:0 auto;}
.cta-content .sec-eyebrow{color:var(--teal);}
.cta-content .sec-eyebrow::before,.cta-content .sec-eyebrow::after{background:var(--teal);}
.cta-content h2{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:400;color:#fff;margin-bottom:1rem;}
.cta-content h2 em{font-style:italic;color:var(--teal);}
.cta-content p{color:rgba(255,255,255,.82);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.35rem;line-height:1.6;margin-bottom:2.2rem;}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.cta-fine{margin-top:2.6rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.55);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;}
@media(max-width:600px){.cta-btns{flex-direction:column;align-items:stretch;max-width:320px;margin:0 auto;}}

/* ── FOOTER ── */
.site-footer{background:var(--bg2);border-top:1px solid var(--border);padding:3.2rem 0 1.6rem;}
.site-footer .c{max-width:1300px;padding:0 2.5rem;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:1.8rem;margin-bottom:2.2rem;align-items:start;}
.foot-logo{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:300;color:var(--text);text-decoration:none;display:block;margin-bottom:.7rem;}
.foot-logo span{color:var(--accent);}
.foot-desc{font-size:.78rem;color:var(--text3);line-height:1.65;max-width:300px;margin-bottom:1rem;}
.foot-socials{display:flex;gap:.5rem;}
.soc{width:36px;height:36px;border:1px solid var(--border2);border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text3);transition:all .3s;}
.soc svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block;}
.soc svg.fill-icon{fill:currentColor;stroke:none;}
.soc:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-3px);}
.foot-h{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:.8rem;}
.foot-links{list-style:none;display:flex;flex-direction:column;gap:.45rem;}
.foot-links a{font-size:.78rem;color:var(--text3);text-decoration:none;transition:color .3s;}
.foot-links a:hover{color:var(--text);}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.3rem;border-top:1px solid var(--border);max-width:1300px;margin:0 auto;padding-left:2.5rem;padding-right:2.5rem;flex-wrap:wrap;}
.foot-copy{font-size:.72rem;color:var(--text3);}
.foot-legal{display:flex;gap:1.3rem;align-items:center;}
.foot-legal a{font-size:.72rem;color:var(--text3);text-decoration:none;transition:color .3s;}
.foot-legal a:hover{color:var(--text);}
.tn-brand{color:var(--accent);font-weight:600;}
@media(max-width:900px){.foot-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;}.foot-grid>div:first-child{grid-column:1/-1;}.foot-desc{max-width:none;}.foot-bottom{flex-direction:column;text-align:center;}}
@media(max-width:520px){.site-footer .c,.foot-bottom{padding-left:1.2rem;padding-right:1.2rem;}}

/* ── RESEARCH: persona / SWOT / table / donut ── */
.persona-icon{width:42px;height:42px;border-radius:50%;background:var(--accent-g);border:1px solid rgba(26,107,152,.22);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;font-size:1.1rem;}
.persona-tag{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:.5rem;}
.persona-list{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);}
.persona-list li{display:flex;gap:.5rem;font-size:.8rem;color:var(--text2);line-height:1.5;}
.persona-list li::before{content:'›';color:var(--accent);font-weight:700;flex-shrink:0;}

.swot{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;}
@media(max-width:760px){.swot{grid-template-columns:1fr;}}
.swot-card{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:4px;padding:1.7rem 1.8rem;}
.swot-card.w{border-top-color:var(--gold);}
.swot-card.o{border-top-color:var(--teal);}
.swot-card.t{border-top-color:#c0603a;}
.swot-h{display:flex;align-items:center;gap:.6rem;font-family:'Playfair Display',serif;font-size:1.15rem;margin-bottom:1rem;color:var(--text);}
.swot-h span{width:26px;height:26px;border-radius:50%;background:var(--accent-g);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;font-family:'DM Sans',sans-serif;}
.swot-card.w .swot-h span{background:rgba(184,134,42,.14);color:var(--gold);}
.swot-card.o .swot-h span{background:rgba(77,194,232,.16);color:#1f8bb0;}
.swot-card.t .swot-h span{background:rgba(192,96,58,.14);color:#c0603a;}
.swot-list{list-style:none;display:flex;flex-direction:column;gap:.55rem;}
.swot-list li{display:flex;gap:.5rem;font-size:.85rem;color:var(--text2);line-height:1.55;}
.swot-list li::before{content:'—';color:var(--text3);flex-shrink:0;}

.rtable-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--card2);}
.rtable{width:100%;border-collapse:collapse;min-width:640px;}
.rtable th{background:var(--accent);color:#fff;text-align:left;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:.9rem 1.1rem;}
.rtable td{padding:.85rem 1.1rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--text2);vertical-align:top;}
.rtable tr:nth-child(even) td{background:rgba(0,0,0,.02);}
.rtable td:first-child{font-family:'Playfair Display',serif;color:var(--text);font-weight:500;}
.pips{display:inline-flex;gap:3px;}
.pip{width:8px;height:8px;border-radius:50%;background:rgba(26,107,152,.18);}
.pip.on{background:var(--accent);}

.donut-wrap{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;justify-content:center;}
.donut-arc{stroke-dasharray:327;stroke-dashoffset:327;transition:stroke-dashoffset 1.5s cubic-bezier(.3,.8,.3,1);}
.on .donut-arc,.visible .donut-arc{stroke-dashoffset:var(--dash);}
.legend{list-style:none;display:flex;flex-direction:column;gap:.6rem;}
.legend li{display:flex;align-items:center;gap:.6rem;font-size:.82rem;color:var(--text2);}
.legend .sw{width:12px;height:12px;border-radius:3px;flex-shrink:0;}

.takeaway{max-width:760px;margin:0 auto;background:var(--card2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;padding:1.6rem 1.9rem;}
.takeaway p{font-size:.95rem;color:var(--text2);line-height:1.75;}
.takeaway strong{color:var(--text);}

/* ── BACK TO TOP ── */
#toTop{position:fixed;bottom:22px;right:22px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;box-shadow:0 8px 22px rgba(13,30,46,.28);cursor:pointer;opacity:0;transform:translateY(16px);transition:opacity .35s ease,transform .35s ease,background .3s;z-index:120;border:none;}
#toTop.show{opacity:1;transform:none;}
#toTop:hover{background:var(--accent-d);transform:translateY(-3px);}

/* ── Reduced motion ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
  .rv,.rvl,.rvr{opacity:1!important;transform:none!important;filter:none!important;}
  .marquee-inner{animation:none;}
  .ai-card2.generating .ai-scan{animation:none;}
}

/* =====================================================================
   REVAMP v4 — three-pillar showcase: interactions, mockups, placeholders
===================================================================== */

/* ── Interaction layer: 3D tilt + spotlight ── */
.tilt{transform-style:preserve-3d;will-change:transform;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .3s ease;}
.spot{position:absolute;inset:0;border-radius:inherit;opacity:0;transition:opacity .35s ease;background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%),rgba(77,194,232,.20),transparent 60%);pointer-events:none;z-index:2;}
.tilt:hover .spot{opacity:1;}
.tilt>*:not(.spot){position:relative;z-index:3;}
.tilt:hover{box-shadow:0 30px 70px -30px rgba(13,30,46,.5),0 0 0 1px rgba(77,194,232,.45)!important;}

/* ── Engine (pillar teaser) cards ── */
.engine-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
@media(max-width:860px){.engine-grid{grid-template-columns:1fr;}}
.engine-card{position:relative;overflow:hidden;background:var(--card2);border:1px solid var(--border);border-radius:14px;padding:2.2rem 2rem;text-decoration:none;display:block;}
.engine-num{font-family:'Playfair Display',serif;font-size:.85rem;letter-spacing:.2em;color:var(--accent);opacity:.7;}
.engine-icon{width:54px;height:54px;border-radius:14px;background:var(--accent-g);border:1px solid rgba(26,107,152,.2);display:flex;align-items:center;justify-content:center;margin:1rem 0 1.2rem;transition:transform .4s cubic-bezier(.34,1.56,.64,1),background .3s;}
.engine-card:hover .engine-icon{transform:translateY(-4px) rotate(-6deg) scale(1.06);background:var(--accent);}
.engine-icon svg{width:26px;height:26px;stroke:var(--accent);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s;}
.engine-card:hover .engine-icon svg{stroke:#fff;}
.engine-name{font-family:'Playfair Display',serif;font-size:1.75rem;font-weight:500;color:var(--text);margin-bottom:.55rem;}
.engine-desc{font-size:1rem;color:var(--text2);line-height:1.65;}
.engine-go{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.2rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600;transition:gap .3s;}
.engine-card:hover .engine-go{gap:.8rem;}

/* ── Pillar section layout ── */
.pillar{padding:6rem 2rem;position:relative;overflow:hidden;}
.pillar .inner{max-width:1200px;margin:0 auto;}
.pillar-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.pillar-grid.flip .pillar-visual{order:2;}
@media(max-width:960px){.pillar-grid{grid-template-columns:1fr;gap:3rem;}.pillar-grid.flip .pillar-visual{order:0;}}
.pillar-kicker{display:inline-flex;align-items:center;gap:.6rem;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:1rem;}
.pillar-kicker .kn{width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:.8rem;}
.pillar-h{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.1rem);font-weight:500;line-height:1.15;color:var(--text);margin-bottom:1.1rem;}
.pillar-h em{font-style:italic;color:var(--accent);}
.pillar-lead{font-size:1.15rem;color:var(--text2);line-height:1.8;margin-bottom:1.6rem;}
.benefit-list{list-style:none;display:flex;flex-direction:column;gap:.9rem;margin-bottom:1.6rem;}
.benefit-list li{display:flex;gap:.8rem;align-items:flex-start;}
.benefit-ico{flex-shrink:0;width:30px;height:30px;border-radius:9px;background:var(--accent-g);border:1px solid rgba(26,107,152,.18);display:flex;align-items:center;justify-content:center;transition:transform .3s,background .3s;}
.benefit-list li:hover .benefit-ico{transform:scale(1.12);background:var(--accent);}
.benefit-ico svg{width:15px;height:15px;stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s;}
.benefit-list li:hover .benefit-ico svg{stroke:#fff;}
.benefit-t{font-size:.9rem;color:var(--text2);line-height:1.55;}
.benefit-t b{color:var(--text);font-weight:600;}

/* ── PHONE MOCKUP (social) ── */
.phone{position:relative;width:300px;max-width:88vw;margin:0 auto;aspect-ratio:9/18.6;background:linear-gradient(160deg,#12283d,#0b1c2e);border-radius:40px;padding:11px;box-shadow:0 50px 90px -35px rgba(13,30,46,.6),0 0 0 2px rgba(0,0,0,.06),inset 0 0 0 2px rgba(255,255,255,.04);}
.phone-screen{width:100%;height:100%;background:var(--bg);border-radius:30px;overflow:hidden;position:relative;}
.phone-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:120px;height:20px;background:linear-gradient(160deg,#12283d,#0b1c2e);border-radius:0 0 14px 14px;z-index:6;}
.ig-head{display:flex;align-items:center;gap:.7rem;padding:1.4rem .9rem .7rem;}
.ig-ava{width:46px;height:46px;border-radius:50%;padding:2px;background:linear-gradient(135deg,var(--accent),var(--teal));flex-shrink:0;}
.ig-ava img{width:100%;height:100%;border-radius:50%;object-fit:contain;background:#04141f;padding:3px;}
.ig-meta{flex:1;}
.ig-name{font-size:.8rem;font-weight:600;color:var(--text);}
.ig-handle{font-size:.66rem;color:var(--text3);}
.ig-stats{display:flex;gap:1rem;padding:0 .9rem .8rem;border-bottom:1px solid var(--border);}
.ig-stat{text-align:center;}
.ig-stat b{display:block;font-size:.82rem;color:var(--text);font-weight:700;}
.ig-stat span{font-size:.56rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text3);}
.ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;}
.ig-cell{position:relative;aspect-ratio:1;overflow:hidden;background:var(--bg2);cursor:pointer;}
.ig-cell img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .4s;}
.ig-cell:hover img{transform:scale(1.12);filter:brightness(.7);}
.ig-cell .ig-eye{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .3s;}
.ig-cell:hover .ig-eye{opacity:1;}
.ig-cell .ig-eye svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2;}

/* ── Placeholder tile (shared) ── */
.ph-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;background:var(--bg2);border:1px dashed var(--border2);color:var(--text3);}
.ph-tile .ph-plus{font-size:1.3rem;color:var(--accent);opacity:.6;line-height:1;}
.ph-tile .ph-lbl{font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;}
.skeleton{position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,107,152,.04) 25%,rgba(77,194,232,.14) 50%,rgba(26,107,152,.04) 75%);background-size:200% 100%;animation:sk 1.9s linear infinite;pointer-events:none;}
@keyframes sk{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.soon-tag{position:absolute;top:8px;left:8px;z-index:4;font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;background:rgba(26,107,152,.14);color:var(--accent);padding:3px 8px;border-radius:20px;font-weight:600;backdrop-filter:blur(4px);}

/* ── BROWSER MOCKUP (website) ── */
.browser{width:100%;border-radius:12px;overflow:hidden;box-shadow:0 45px 90px -40px rgba(13,30,46,.55);border:1px solid var(--border);background:var(--card2);}
.browser-bar{display:flex;align-items:center;gap:9px;padding:11px 14px;background:var(--bg2);border-bottom:1px solid var(--border);}
.browser-dot{width:11px;height:11px;border-radius:50%;}
.browser-url{flex:1;background:var(--card2);border:1px solid var(--border);border-radius:20px;padding:5px 14px;font-size:.74rem;color:var(--text3);display:flex;align-items:center;gap:.4rem;overflow:hidden;white-space:nowrap;}
.browser-url svg{width:11px;height:11px;flex-shrink:0;stroke:var(--accent);fill:none;stroke-width:2;}
.browser-screen{aspect-ratio:16/10.5;overflow:hidden;position:relative;background:var(--bg);}
.browser-scroll{position:absolute;inset:0;transition:transform 4.5s ease;}
.browser:hover .browser-scroll{transform:translateY(calc(-100% + 240px));}
.msite-hero{position:relative;height:210px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;}
.msite-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62);}
.msite-hero .mh-txt{position:relative;z-index:2;color:#fff;}
.msite-hero .mh-eyebrow{font-size:.5rem;letter-spacing:.24em;text-transform:uppercase;color:var(--teal);margin-bottom:.4rem;}
.msite-hero .mh-title{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:400;}
.msite-body{padding:1.4rem;display:flex;flex-direction:column;gap:1rem;background:var(--bg);}
.msite-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;}
.msite-block{height:70px;border-radius:8px;position:relative;overflow:hidden;background:var(--bg2);border:1px solid var(--border);}
.msite-line{height:9px;border-radius:5px;background:var(--bg2);position:relative;overflow:hidden;}
.msite-line.w70{width:70%;}.msite-line.w40{width:40%;margin:0 auto;}

/* ── AI GENERATION ── */
.ai-toolbar{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;justify-content:center;margin-bottom:2rem;}
.ai-prompt{flex:1;min-width:240px;max-width:520px;background:var(--card2);border:1px solid var(--border);border-radius:30px;padding:.7rem 1.2rem;font-size:.85rem;color:var(--text2);display:flex;align-items:center;gap:.6rem;}
.ai-prompt svg{width:16px;height:16px;stroke:var(--accent);fill:none;stroke-width:1.8;flex-shrink:0;}
.ai-prompt .cursor{width:1px;height:1em;background:var(--accent);animation:blink 1.1s step-end infinite;}
@keyframes blink{50%{opacity:0;}}
.ai-gen-btn{border:none;cursor:pointer;background:var(--accent);color:#fff;border-radius:30px;padding:.7rem 1.5rem;font-family:'DM Sans',sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;transition:background .3s,transform .2s,box-shadow .3s;}
.ai-gen-btn:hover{background:var(--accent-d);transform:translateY(-2px);box-shadow:0 10px 26px rgba(26,107,152,.32);}
.ai-gen-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;}
.ai-gen-btn.busy{pointer-events:none;opacity:.7;}
.ai-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;}
@media(max-width:900px){.ai-grid{grid-template-columns:repeat(2,1fr);}}
.ai-card2{position:relative;aspect-ratio:3/4;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:var(--bg2);cursor:pointer;}
.ai-card2 img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .4s,opacity .5s;opacity:0;}
.ai-card2.filled img{opacity:1;}
.ai-card2:hover img{transform:scale(1.09);filter:brightness(.72);}
.ai-badge{position:absolute;top:.6rem;left:.6rem;z-index:4;font-size:.5rem;letter-spacing:.13em;text-transform:uppercase;background:linear-gradient(135deg,var(--accent),var(--teal));color:#fff;padding:3px 9px;border-radius:20px;font-weight:700;display:inline-flex;align-items:center;gap:.3rem;}
.ai-badge svg{width:9px;height:9px;fill:#fff;}
.ai-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:3;pointer-events:none;opacity:0;transition:opacity .3s;}
.ai-card2.filled.video .ai-play{opacity:1;}
.ai-play span{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.3);transition:transform .3s;}
.ai-card2:hover .ai-play span{transform:scale(1.12);}
.ai-play svg{width:18px;height:18px;fill:var(--accent);margin-left:2px;}
.ai-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--text3);z-index:2;transition:opacity .4s;}
.ai-card2.filled .ai-empty{opacity:0;}
.ai-empty .sparkle{font-size:1.4rem;}
.ai-empty .lbl{font-size:.54rem;letter-spacing:.14em;text-transform:uppercase;}
.ai-scan{position:absolute;left:0;right:0;top:0;z-index:5;opacity:0;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(77,194,232,.35),transparent);height:38%;}
.ai-card2.generating .ai-scan{opacity:1;animation:scan 1.05s ease-in-out infinite;}
.ai-card2.generating .ai-empty{opacity:0;}
@keyframes scan{0%{transform:translateY(-110%);}100%{transform:translateY(300%);}}
.ai-card2.generating{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 12px 30px -12px rgba(26,107,152,.4);}

/* ── Impact band ── */
.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;}
@media(max-width:820px){.impact-grid{grid-template-columns:repeat(2,1fr);}}
.impact-card{position:relative;overflow:hidden;background:var(--card2);border:1px solid var(--border);border-radius:14px;padding:2rem 1.6rem;text-align:center;}
.impact-ico{width:44px;height:44px;margin:0 auto 1rem;border-radius:50%;background:var(--accent-g);display:flex;align-items:center;justify-content:center;}
.impact-ico svg{width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.impact-h{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--accent);margin-bottom:.45rem;}
.impact-t{font-size:.82rem;color:var(--text2);line-height:1.6;}

/* ── LIGHTBOX ── */
.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(4,8,15,.92);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s;}
.lightbox.open{opacity:1;visibility:visible;}
.lightbox img{max-width:92vw;max-height:86vh;border-radius:12px;box-shadow:0 40px 100px rgba(0,0,0,.6);transform:scale(.94);transition:transform .4s cubic-bezier(.22,1,.36,1);}
.lightbox.open img{transform:scale(1);}
.lightbox-close{position:absolute;top:1.3rem;right:1.5rem;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;z-index:2;}
.lightbox-close:hover{background:var(--teal);color:#04080f;border-color:var(--teal);transform:rotate(90deg);}
.lb-cap{position:absolute;bottom:1.4rem;left:0;right:0;text-align:center;color:rgba(255,255,255,.8);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.15rem;}

/* =====================================================================
   REVAMP v5 — visual-first: social post cards, website view, close band
===================================================================== */

/* Pillar tags (chips under a pillar header) */
.pillar-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.3rem;}
.pillar-tag{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:.4rem .95rem;border:1px solid var(--border2);border-radius:30px;color:var(--text2);transition:all .25s;}
.pillar-tag:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-g);transform:translateY(-2px);}

/* ── SOCIAL FEED — 5 post cards ── */
.feed-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.3rem;}
@media(max-width:1100px){.feed-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:680px){.feed-grid{grid-template-columns:repeat(2,1fr);gap:.9rem;}}
.post{position:relative;overflow:hidden;background:var(--card2);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;}
.post-head{display:flex;align-items:center;gap:.55rem;padding:.75rem .85rem;}
.post-ava{width:32px;height:32px;border-radius:50%;padding:2px;background:linear-gradient(135deg,var(--accent),var(--teal));flex-shrink:0;}
.post-ava img{width:100%;height:100%;border-radius:50%;object-fit:contain;background:#04141f;padding:2px;}
.post-hmeta{flex:1;line-height:1.15;overflow:hidden;}
.post-hmeta b{font-size:.7rem;color:var(--text);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.post-hmeta span{font-size:.58rem;color:var(--text3);}
.post-dots{color:var(--text3);letter-spacing:1.5px;font-size:.8rem;}
.post-media{position:relative;aspect-ratio:3/4;overflow:hidden;cursor:pointer;background:var(--bg2);}
.post-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform .9s cubic-bezier(.22,1,.36,1);z-index:1;}
.post-media:hover img,.post-media.show img{transform:scale(1);}
.post-ph{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;color:var(--text3);background:var(--bg2);transition:opacity .5s ease;}
.post-ph::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(26,107,152,.04) 25%,rgba(77,194,232,.13) 50%,rgba(26,107,152,.04) 75%);background-size:200% 100%;animation:sk 2s linear infinite;}
.post-media:hover .post-ph,.post-media.show .post-ph{opacity:0;pointer-events:none;}
.post-ph .pn{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--accent);opacity:.5;line-height:1;}
.post-ph .pl{font-size:.54rem;letter-spacing:.16em;text-transform:uppercase;}
.post-hint{position:absolute;bottom:9px;right:9px;z-index:4;font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(4,8,15,.55);padding:3px 8px;border-radius:20px;transition:opacity .35s;pointer-events:none;}
.post-media:hover .post-hint,.post-media.show .post-hint{opacity:0;}
.post-actions{display:flex;align-items:center;gap:.85rem;padding:.65rem .85rem .3rem;color:var(--text2);}
.post-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;cursor:pointer;transition:stroke .2s,transform .25s;}
.post-actions svg:hover{transform:scale(1.18);}
.post-actions .heart:hover{stroke:#e0526b;fill:#e0526b;}
.post-actions .save{margin-left:auto;}
.post-cap{padding:.35rem .95rem 1rem;display:flex;flex-direction:column;gap:.45rem;}
.post-cap .cl{height:8px;border-radius:5px;background:var(--bg2);position:relative;overflow:hidden;}
.post-cap .cl.w80{width:80%;}.post-cap .cl.w55{width:55%;}
.cap-txt{font-size:.82rem;line-height:1.5;color:var(--text2);margin:0;}
.cap-txt b{color:var(--text);font-weight:600;margin-right:.35rem;}
.cap-tags{color:var(--accent);}

/* ── WEBSITE — single whole-site view ── */
.web-wrap{max-width:100%;margin:0 auto;}
#website .inner{max-width:1560px;}
.web-note{text-align:center;margin-top:1.3rem;}

/* ── AI grid: 6 (3×2) ── */
.ai-grid.six{grid-template-columns:repeat(3,1fr);}
@media(max-width:820px){.ai-grid.six{grid-template-columns:repeat(2,1fr);}}

/* ── Closing visual band ── */
.close-band{position:relative;overflow:hidden;padding:6.5rem 2rem;text-align:center;}
.close-band .cb-bg{position:absolute;inset:0;z-index:0;}
.close-band .cb-bg img{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:brightness(.4);transform:scale(1.05);transition:transform 6s ease;}
.close-band:hover .cb-bg img{transform:scale(1.12);}
.close-band .cb-ov{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(4,8,15,.74),rgba(4,30,55,.6));}
.close-band .cb-in{position:relative;z-index:2;max-width:660px;margin:0 auto;color:#fff;}
.close-band .cb-eyebrow{font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--teal);margin-bottom:1rem;}
.close-band h2{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,4.4vw,3.6rem);font-weight:500;margin-bottom:1.1rem;line-height:1.13;}
.close-band h2 em{font-style:italic;color:var(--teal);}
.close-band p{color:rgba(255,255,255,.85);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.55rem;line-height:1.5;margin-bottom:1.9rem;}
.close-link{display:inline-flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:.3rem;transition:gap .3s,color .3s,border-color .3s;}
.close-link:hover{gap:.9rem;color:var(--teal);border-color:var(--teal);}
.close-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;}

/* =====================================================================
   REVAMP v6 — title text effects (moving colour + reflection, no glow)
   + floating orbs for night mode
===================================================================== */

/* Moving-colour shine on themed titles (on solid backgrounds) */
.sec-h2,.pillar-h,.engine-name,.impact-h{
  background:linear-gradient(100deg,var(--text) 0%,var(--text) 40%,var(--accent) 50%,var(--text) 60%,var(--text) 100%);
  background-size:240% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  animation:shine 8s linear infinite;
}
.sec-h2 em,.pillar-h em{
  background:linear-gradient(100deg,var(--accent) 0%,var(--accent) 38%,var(--teal) 50%,var(--accent) 62%,var(--accent) 100%);
  background-size:240% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  animation:shine 8s linear infinite;
}
/* light title over the dark closing image */
.close-band h2{
  background:linear-gradient(100deg,#fff 0%,#fff 40%,var(--teal) 50%,#fff 60%,#fff 100%);
  background-size:240% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  animation:shine 8s linear infinite;
}
.close-band h2 em{
  background:linear-gradient(100deg,var(--teal) 0%,var(--teal) 40%,#e8c56a 50%,var(--teal) 60%,var(--teal) 100%);
  background-size:240% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shine 7s linear infinite;
}
/* subtle mirrored reflection under the big section titles */
.sec-h2,.pillar-h{-webkit-box-reflect:below 2px linear-gradient(transparent 64%,rgba(0,0,0,.16));}

/* ── FLOATING ORBS (only visible in night mode; roam the whole viewport) ── */
#orbs{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;opacity:0;transition:opacity 1.8s ease;mix-blend-mode:screen;}
:root.night #orbs{opacity:.55;}
.orb{position:absolute;border-radius:50%;filter:blur(42px);will-change:transform;}
.orb1{width:280px;height:280px;background:radial-gradient(circle,rgba(77,194,232,.75),transparent 70%);left:6%;top:14%;animation:drift1 36s ease-in-out infinite;}
.orb2{width:200px;height:200px;background:radial-gradient(circle,rgba(46,159,196,.65),transparent 70%);left:72%;top:8%;animation:drift2 44s ease-in-out infinite;}
.orb3{width:340px;height:340px;background:radial-gradient(circle,rgba(125,214,240,.5),transparent 70%);left:38%;top:52%;animation:drift3 52s ease-in-out infinite;}
.orb4{width:180px;height:180px;background:radial-gradient(circle,rgba(232,197,106,.42),transparent 70%);left:14%;top:72%;animation:drift1 48s ease-in-out infinite reverse;}
.orb5{width:230px;height:230px;background:radial-gradient(circle,rgba(77,194,232,.6),transparent 70%);left:84%;top:62%;animation:drift2 40s ease-in-out infinite reverse;}
.orb6{width:150px;height:150px;background:radial-gradient(circle,rgba(159,220,240,.55),transparent 70%);left:56%;top:22%;animation:drift3 46s ease-in-out infinite;}
@keyframes drift1{0%,100%{transform:translate(0,0)}25%{transform:translate(70px,90px)}50%{transform:translate(-50px,140px)}75%{transform:translate(-90px,50px)}}
@keyframes drift2{0%,100%{transform:translate(0,0)}33%{transform:translate(-100px,70px)}66%{transform:translate(80px,-60px)}}
@keyframes drift3{0%,100%{transform:translate(0,0)}20%{transform:translate(60px,-80px)}50%{transform:translate(-70px,-40px)}80%{transform:translate(50px,100px)}}
@media(prefers-reduced-motion:reduce){.orb{animation:none;}}

/* =====================================================================
   REVAMP v7 — video reels, AI video wall, live-site iframe
===================================================================== */
/* Social post videos */
.post-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;background:var(--bg3);}
.post-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:4;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,0,0,.3);transition:opacity .3s ease,transform .3s ease;pointer-events:none;}
.post-play svg{width:20px;height:20px;fill:var(--accent);margin-left:3px;}
.post-media.playing .post-play{opacity:0;transform:translate(-50%,-50%) scale(.6);}

/* AI video/still wall — 4 columns */
.ai-grid.four{grid-template-columns:repeat(4,1fr);}
@media(max-width:1000px){.ai-grid.four{grid-template-columns:repeat(3,1fr);}}
@media(max-width:680px){.ai-grid.four{grid-template-columns:repeat(2,1fr);}}
.ai-card2 video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:0;transition:opacity .6s ease,transform .6s ease;background:var(--bg3);}
.ai-card2.filled video{opacity:1;}
.ai-card2.video:hover video{transform:scale(1.05);}
.ai-card2.video{cursor:pointer;}
.ai-card2.video .ai-play{display:none;}

/* Live-site iframe */
.browser-screen{aspect-ratio:auto;height:min(840px,84vh);}
.site-frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:var(--card2);}

/* ── v10: video gallery — masonry, frame sized exactly to each video, no tags ── */
.vgal{columns:4;column-gap:1.1rem;}
@media(max-width:1000px){.vgal{columns:3;}}
@media(max-width:680px){.vgal{columns:2;}}
@media(max-width:440px){.vgal{columns:1;}}
.vclip{break-inside:avoid;margin:0 0 1.1rem;border-radius:12px;overflow:hidden;border:1px solid var(--border);box-shadow:0 16px 40px -22px rgba(13,30,46,.45);background:var(--bg3);transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,border-color .3s ease;}
.vclip:hover{transform:translateY(-5px);box-shadow:0 26px 60px -26px rgba(26,107,152,.5);border-color:var(--accent);}
.vclip video{display:block;width:100%;height:auto;}
/* horizontal-format clips — 2 columns */
.vgal-wide{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:1.1rem;}
@media(max-width:680px){.vgal-wide{grid-template-columns:1fr;}}
.vgal-sub{text-align:center;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text3);margin:2.4rem 0 .2rem;}
