:root{--white:#ffffff;--ink:#0a0a0a;--ink-soft:#4a4a4a;--fuchsia:#cb1654;--orange:#fe913e;--yellow:#ed4f44;--yellow-deep:#9f1d34;--red:#9f1d34;--wine:#7a1a3d;--line:rgba(10,10,10,0.08);--glass:rgba(255,255,255,0.55);--glass-border:rgba(255,255,255,0.8);--neu-light:rgba(255,255,255,0.9);--neu-dark:rgba(163,177,198,0.45);--neu-dark-soft:rgba(163,177,198,0.28);}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;color-scheme:light only;overflow-x:hidden;max-width:100vw;}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--white);overflow-x:hidden;max-width:100vw;-webkit-font-smoothing:antialiased;}
@media(max-width:480px){.wrap{padding:0 18px;}.flagship-body{padding:26px 22px;}}
h1,.display-h1{font-family:'EB Garamond',serif;font-weight:500;letter-spacing:-0.005em;line-height:1.1;}
h2,h3,h4,.sub-font,.logo{font-family:'Jost',sans-serif;font-weight:500;letter-spacing:-0.01em;line-height:1.15;}
.mono{font-family:'IBM Plex Mono',monospace;letter-spacing:0.04em;text-transform:uppercase;font-size:11px;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:0.5;pointer-events:none;z-index:0;}
::selection{background:var(--fuchsia);color:#fff;}
button{font:inherit;border:none;background:none;cursor:pointer;}
img{max-width:100%;display:block;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,0.7);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;}
.logo img{height:34px;width:auto;display:block;flex-shrink:0;}
.logo{flex-shrink:0;}
.navlinks{display:flex;gap:26px;font-size:14px;font-weight:500;font-family:'Jost',sans-serif;}
.navlinks a{opacity:0.7;transition:opacity .2s;}
.navlinks a.active-link{opacity:1;border-bottom:2px solid var(--fuchsia);padding-bottom:4px;}
.navlinks a:hover{opacity:1;}
.nav-cta{background:var(--ink);color:var(--white);padding:10px 20px;border-radius:100px;font-size:13px;font-weight:600;font-family:'Inter';transition:transform .2s, background .2s;cursor:pointer;box-shadow:4px 4px 10px var(--neu-dark-soft), -4px -4px 10px var(--neu-light);}
.nav-cta:hover{background:var(--fuchsia);transform:translateY(-1px);}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:0;margin-right:8px;}
.hamburger span{display:block;width:24px;height:2.5px;background:var(--ink);border-radius:2px;transition:transform .25s, opacity .25s;}
.hamburger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
.mobile-menu{display:none;flex-direction:column;background:rgba(255,255,255,0.98);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);overflow:hidden;max-height:0;transition:max-height .3s ease;}
.mobile-menu.open{display:flex;max-height:500px;}
.mobile-menu a{width:100%;text-align:left;padding:16px 32px;font-size:15px;font-weight:500;font-family:'Jost',sans-serif;border-bottom:1px solid var(--line);color:var(--ink);display:block;}
.mobile-menu a:active{background:rgba(0,0,0,0.04);}
.mobile-menu a.mobile-cta{color:var(--fuchsia);font-weight:700;}
@media(max-width:960px){.navlinks{display:none;}.hamburger{display:flex;}.nav-cta{display:none;}}
@media(min-width:961px){.mobile-menu{display:none !important;}}

/* BUTTONS */
.btn-primary{background:var(--ink);color:var(--white);padding:16px 32px;border-radius:100px;font-weight:600;font-size:15px;transition:all .25s;box-shadow:6px 6px 16px var(--neu-dark), -6px -6px 16px var(--neu-light), 0 8px 24px rgba(0,0,0,0.15);display:inline-block;cursor:pointer;}
.btn-primary:hover{background:var(--fuchsia);transform:translateY(-2px);}
.btn-secondary{background:var(--glass);backdrop-filter:blur(12px);border:1px solid var(--glass-border);color:var(--ink);padding:16px 32px;border-radius:100px;font-weight:600;font-size:15px;transition:all .25s;display:inline-block;cursor:pointer;box-shadow:6px 6px 16px var(--neu-dark-soft), -6px -6px 16px var(--neu-light);}
.btn-secondary:hover{background:rgba(255,255,255,0.9);transform:translateY(-2px);}
.btn-whatsapp{background:#25D366;color:#fff;padding:14px 26px;border-radius:100px;font-weight:600;font-size:14px;display:inline-block;}
.btn-soon{background:rgba(10,10,10,0.06);color:var(--ink-soft);padding:14px 26px;border-radius:100px;font-weight:600;font-size:14px;position:relative;display:inline-block;}
.badge-soon{position:absolute;top:-8px;right:-8px;background:var(--yellow);color:#000;font-size:9px;padding:3px 8px;border-radius:100px;font-weight:700;}

.eyebrow-chip{display:inline-flex;align-items:center;gap:8px;background:var(--glass);backdrop-filter:blur(12px);border:1px solid var(--glass-border);padding:8px 16px;border-radius:100px;margin-bottom:28px;box-shadow:5px 5px 12px var(--neu-dark-soft), -5px -5px 12px var(--neu-light);}
.eyebrow-chip .dot{width:6px;height:6px;border-radius:50%;background:var(--red);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.3;}}

/* SUBPAGE HERO */
.sub-hero{position:relative;padding:150px 0 90px;overflow:hidden;text-align:center;}
.sub-hero-inner{position:relative;z-index:2;max-width:760px;margin:0 auto;}
.sub-hero h1{font-size:clamp(22px,3vw,30px);font-weight:400;color:var(--ink-soft);margin-bottom:4px;}
.sub-hero .editorial-line{font-family:'EB Garamond',serif;font-style:italic;font-weight:500;font-size:clamp(38px,6.5vw,72px);line-height:1.05;margin-bottom:24px;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-0.01em;}
.sub-hero p.sub{font-size:17px;color:var(--ink-soft);max-width:560px;margin:0 auto 36px;line-height:1.6;}
.sub-hero .ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* PHOTO CARDS */
.photo-card{border-radius:20px 20px 0 0;aspect-ratio:16/10;position:relative;overflow:hidden;}
.photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
.photo-card .pc-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.55) 100%);z-index:1;}
.photo-card .pc-label{position:relative;z-index:2;color:#fff;font-family:'Jost',sans-serif;font-weight:500;font-size:13px;padding:16px 18px;text-shadow:0 2px 8px rgba(0,0,0,0.3);position:absolute;bottom:0;left:0;right:0;}
.photo-card.flagship{aspect-ratio:21/9;border-radius:26px 26px 0 0;}
.score-ring-wrap{position:absolute;top:16px;right:16px;width:52px;height:52px;z-index:3;}

/* FLAGSHIP CARD */
.flagship-card{background:var(--glass);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:26px;overflow:hidden;box-shadow:12px 12px 30px var(--neu-dark), -12px -12px 30px var(--neu-light);margin-bottom:64px;}
.flagship-body{padding:36px 40px;}
.flagship-tag{display:inline-block;padding:6px 16px;border-radius:100px;font-size:11px;font-weight:600;color:#fff;background:var(--theme, var(--fuchsia));margin-bottom:16px;font-family:'IBM Plex Mono';letter-spacing:0.05em;text-transform:uppercase;}
.flagship-body h3{font-size:26px;margin-bottom:12px;}
.flagship-body .claim{font-size:16px;color:var(--ink-soft);margin-bottom:24px;max-width:600px;line-height:1.55;}
.flagship-includes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}
.flagship-includes span{background:rgba(0,0,0,0.04);padding:8px 14px;border-radius:100px;font-size:12.5px;font-weight:500;}
.flagship-cases{display:flex;flex-wrap:wrap;gap:10px;}
.case-pill{border:1px solid var(--line);padding:7px 14px;border-radius:16px;font-size:12px;color:var(--ink-soft);font-family:'IBM Plex Mono';box-shadow:4px 4px 10px var(--neu-dark-soft), -4px -4px 10px var(--neu-light);min-width:0;max-width:100%;word-break:break-word;white-space:normal;}
.flagship-cases{min-width:0;}
.flagship-cases, .flagship-includes, .category-tags, .partners-wall{max-width:100%;}

/* CASE GRID */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:70px;}
@media(max-width:900px){.case-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.case-grid{grid-template-columns:1fr;}}
.case-card{border-radius:20px;overflow:hidden;background:var(--glass);backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:8px 8px 20px var(--neu-dark-soft), -8px -8px 20px var(--neu-light);transition:transform .3s;}
.case-card:hover{transform:translateY(-5px);}
.case-card-body{padding:20px 22px;}
.case-card-body h4{font-size:16px;margin-bottom:6px;}
.case-card-body p{font-size:13px;color:var(--ink-soft);line-height:1.5;}

/* CATEGORY LISTS */
.category-section{margin-bottom:56px;}
.category-section h3{font-size:20px;margin-bottom:16px;}
.category-tags{display:flex;flex-wrap:wrap;gap:10px;}
.category-tags span{background:var(--glass);backdrop-filter:blur(8px);border:1px solid var(--line);padding:9px 16px;border-radius:100px;font-size:13px;font-weight:500;box-shadow:4px 4px 10px var(--neu-dark-soft), -4px -4px 10px var(--neu-light);max-width:100%;word-break:break-word;}

.section-head{text-align:center;margin-bottom:48px;max-width:640px;margin-left:auto;margin-right:auto;}
.section-head h2{font-size:clamp(26px,4vw,38px);margin-bottom:14px;}
.section-head p{color:var(--ink-soft);font-size:15.5px;line-height:1.6;}

/* NUMBERS BLOCK */
.numbers-block{padding:64px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:70px 0;}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
@media(max-width:800px){.stats-row{grid-template-columns:repeat(2,1fr);}}
.stat-chip{text-align:center;padding:24px 16px;border-radius:18px;background:linear-gradient(180deg, rgba(255,255,255,0.6), rgba(255,255,255,0.2));backdrop-filter:blur(10px);border:1px solid var(--line);box-shadow:7px 7px 16px var(--neu-dark-soft), -7px -7px 16px var(--neu-light);}
.stat-num{font-family:'Jost',sans-serif;font-weight:700;font-size:32px;}
.stat-num.c1{color:var(--fuchsia);}
.stat-num.c2{color:var(--orange);}
.stat-num.c3{color:var(--red);}
.stat-num.c4{color:var(--yellow-deep);}
.stat-cap{font-size:12.5px;color:var(--ink-soft);margin-top:6px;}

.page-cta{padding:110px 0;text-align:center;position:relative;overflow:hidden;background:linear-gradient(180deg,#fff, rgba(0,0,0,0.02));}
.page-cta h2{font-size:clamp(28px,4.5vw,42px);margin-bottom:16px;}
.page-cta p{color:var(--ink-soft);max-width:480px;margin:0 auto 36px;font-size:15.5px;line-height:1.6;}

footer{padding:48px 0;border-top:1px solid var(--line);text-align:center;color:var(--ink-soft);font-size:13px;}
footer a{text-decoration:underline;}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
