﻿/* ═══════════════════════════════════════════════
   KALIBTOOZ — SHARED STYLESHEET
   Premium dark design system, all pages
═══════════════════════════════════════════════ */

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
img { max-width:100%; height:auto; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 2px; }
.skip-link { position:absolute; top:-56px; left:16px; z-index:10002; padding:12px 24px; background:var(--accent); color:#0f0f12; font-family:var(--sans); font-size:13px; font-weight:600; letter-spacing:.5px; text-decoration:none; border-radius:0 0 var(--r) var(--r); transition:top .2s; }
.skip-link:focus { top:0; }

:root {
  --bg: #0f0f12;
  --bg2: #15151a;
  --surface: #1c1c22;
  --border: #2a2a33;
  --text: #eaeaea;
  --muted: #b0b0b0;
  --dim: #7a7a7a;
  --disabled: #4a4a4a;
  --accent: #2de2e6;
  --accent2: #6ee7b7;
  --green: #6ee7b7;
  --yellow: #d4a72c;
  --glow: rgba(45,226,230,0.28);
  --glow-g: rgba(110,231,183,0.28);
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Inter', system-ui, sans-serif;
  --r: 12px;
  --ease-expo: cubic-bezier(0.16,1,0.3,1);
  --ease-io: cubic-bezier(0.87,0,0.13,1);
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  background: var(--bg);
  background-image: radial-gradient(circle, rgba(45,226,230,.06) 1px, transparent 1px);
  background-size: 32px 32px;
}

body { font-family: var(--sans); background: transparent; color: var(--text); overflow-x: hidden; }

/* ── SCROLL PROGRESS ── */
#scroll-progress { position:fixed; top:0; left:0; height:3px; width:0%; background:linear-gradient(to right,var(--accent),var(--accent2),var(--accent)); z-index:10000; pointer-events:none; }

/* ── NAV ── */
nav { position:fixed; top:0; left:0; right:0; z-index:200; padding:28px 56px; display:flex; align-items:center; justify-content:space-between; transition:all .4s ease; }
nav.scrolled { background:rgba(15,15,18,.96); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--border); box-shadow:0 4px 32px rgba(0,0,0,.5); padding:18px 56px; }
.nav-logo { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--text); }
.logo-leaf { display:block; flex-shrink:0; }
.nav-logo-text { font-family:var(--serif); font-size:20px; font-weight:400; letter-spacing:3px; text-transform:uppercase; transition:color .3s; }
.nav-logo:hover .nav-logo-text { color:var(--accent); }
.nav-menu-btn { display:flex; align-items:center; gap:12px; cursor:pointer; background:none; border:none; color:var(--text); font-size:11px; font-weight:500; letter-spacing:3px; text-transform:uppercase; font-family:var(--sans); }
.menu-diamond { width:20px; height:20px; border:1px solid var(--border); transform:rotate(45deg); transition:background .3s,border-color .3s,box-shadow .3s; }
.nav-menu-btn:hover .menu-diamond { background:var(--accent); border-color:var(--accent); box-shadow:0 0 16px var(--glow); }

/* ── MENU OVERLAY ── */
.menu-overlay { position:fixed; inset:0; background:rgba(15,15,18,.97); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); z-index:150; display:flex; align-items:center; padding:0 64px; opacity:0; pointer-events:none; visibility:hidden; transition:opacity .5s ease, visibility 0s .5s; }
.menu-overlay.open { opacity:1; pointer-events:all; visibility:visible; transition:opacity .5s ease, visibility 0s; }
.menu-links { list-style:none; display:flex; flex-direction:column; gap:0; }
.menu-links li a { font-family:var(--serif); font-size:clamp(52px,8vw,104px); font-weight:300; color:var(--text); text-decoration:none; letter-spacing:-3px; line-height:1.0; display:inline-block; transition:color .2s,transform .3s,text-shadow .3s; opacity:.68; }
.menu-links li a:hover,
.menu-links li a.active { color:var(--accent); opacity:1; transform:translateX(24px); text-shadow:0 0 48px var(--glow); }
.menu-close { position:absolute; top:28px; right:56px; background:none; border:none; color:var(--muted); font-size:12px; letter-spacing:3px; text-transform:uppercase; cursor:pointer; font-family:var(--sans); display:flex; align-items:center; gap:12px; }

/* ── HERO (home) ── */
.hero { position:relative; min-height:100svh; display:grid; grid-template-columns:1fr 1fr; overflow:hidden; }
.hero::before { content:''; position:absolute; inset:0; z-index:0; background:radial-gradient(ellipse 70% 60% at 10% 85%,rgba(110,231,183,.09) 0%,transparent 60%),radial-gradient(ellipse 60% 70% at 88% 15%,rgba(45,226,230,.1) 0%,transparent 60%),radial-gradient(ellipse 50% 50% at 50% 50%,rgba(45,226,230,.04) 0%,transparent 60%); animation:heroBg 14s ease-in-out infinite alternate; }
@keyframes heroBg { 0%{opacity:.9} 100%{opacity:.6} }
.hero-mesh { position:absolute; inset:0; z-index:0; pointer-events:none; background-image:linear-gradient(rgba(45,226,230,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(45,226,230,.045) 1px,transparent 1px); background-size:68px 68px; mask-image:radial-gradient(ellipse 90% 85% at 68% 45%,black 0%,transparent 72%); -webkit-mask-image:radial-gradient(ellipse 90% 85% at 68% 45%,black 0%,transparent 72%); }
.hero-left { display:flex; flex-direction:column; justify-content:flex-end; padding:0 80px 136px 56px; position:relative; z-index:2; background:linear-gradient(108deg,rgba(15,15,18,.92) 0%,rgba(15,15,18,.72) 65%,transparent 100%); will-change:transform; }
.hero-eyebrow { font-size:11px; letter-spacing:5px; text-transform:uppercase; color:var(--accent); margin-bottom:56px; display:flex; align-items:center; gap:14px; font-weight:500; }
.hero-eyebrow::before { content:''; width:32px; height:1.5px; background:linear-gradient(to right,var(--accent),transparent); }
.hero-eyebrow::after { content:''; display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--accent); margin-left:12px; vertical-align:middle; animation:liveDot 2.4s ease-in-out infinite; box-shadow:0 0 6px var(--accent),0 0 14px rgba(45,226,230,.45); }
@keyframes liveDot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.3;transform:scale(.55)} }
.hero h1 { font-family:var(--serif); font-size:clamp(60px,8vw,112px); font-weight:300; line-height:.92; letter-spacing:-4px; color:var(--text); }
.hero h1 em { font-style:italic; background:linear-gradient(120deg,#2de2e6 0%,#6ee7b7 45%,#2de2e6 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero-tagline { font-size:19px; color:var(--muted); line-height:1.9; max-width:460px; font-weight:300; margin:32px 0 56px; }
.hero-ctas { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.hero-scroll { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:10px; letter-spacing:2px; text-transform:uppercase; margin-top:48px; }
.hero-scroll-line { width:40px; height:1px; background:linear-gradient(to right,var(--accent),transparent); animation:scrollPulse 2.2s ease infinite; }
@keyframes scrollPulse { 0%,100%{opacity:.25} 50%{opacity:1} }
.hero-right { position:relative; overflow:hidden; }
.hero-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.8; will-change:transform; }
.hero-right::after { content:''; position:absolute; inset:0; background:linear-gradient(to right,var(--bg) 0%,transparent 28%),linear-gradient(to bottom,transparent 65%,rgba(15,15,18,.6)); z-index:1; }
.hero-right::before { content:''; position:absolute; inset:0; z-index:2; background:linear-gradient(135deg,rgba(45,226,230,.09) 0%,rgba(110,231,183,.05) 100%); mix-blend-mode:overlay; pointer-events:none; }

/* ── HERO H1 LINE ENTRANCE ── */
.h1-line { display:block; overflow:hidden; }
.h1-line-inner { display:block; transform:translateY(105%) rotate(1.5deg); opacity:0; transition:transform 1.1s var(--ease-expo),opacity .8s ease; }
.h1-line-inner.in { transform:translateY(0) rotate(0deg); opacity:1; }

/* ── SECTION HEADER ── */
.section-header { display:flex; justify-content:space-between; align-items:baseline; padding:76px 56px 40px; border-bottom:1px solid var(--border); position:relative; }
.section-header::after { content:''; position:absolute; bottom:0; left:56px; width:48px; height:1px; background:linear-gradient(to right,var(--accent),transparent); }
.section-label { font-size:10px; letter-spacing:4px; text-transform:uppercase; color:var(--accent); font-weight:500; }
.section-count { font-family:var(--serif); font-size:14px; font-style:italic; color:var(--dim); }

/* ── SERVICES ── */
.services { border-bottom:1px solid var(--border); background:transparent; position:relative; overflow:hidden; }
.services::before { content:''; position:absolute; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle,rgba(110,231,183,.032) 0%,transparent 65%); bottom:-220px; left:-80px; pointer-events:none; z-index:0; }
.service-row { display:grid; grid-template-columns:56px 280px 1fr 220px; align-items:start; gap:48px; padding:72px 56px; border-bottom:1px solid var(--border); transition:background .55s var(--ease-expo),box-shadow .55s var(--ease-expo),transform .55s var(--ease-expo); cursor:pointer; position:relative; overflow:hidden; text-decoration:none; color:inherit; display:grid; }
.service-row:last-child { border-bottom:none; }
.service-row::before { content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:linear-gradient(to bottom,var(--accent),var(--accent2)); opacity:0; transition:opacity .45s ease; }
.service-row:hover { background:var(--surface); box-shadow:0 2px 40px rgba(0,0,0,.35); transform:translateX(10px); }
.service-row:hover::before { opacity:1; }
.service-row:hover .service-num { color:var(--accent); }
.service-row:hover .service-arrow { transform:translateX(8px) translateY(-8px); color:var(--accent); }
.service-row:hover .stag { border-bottom-color:rgba(45,226,230,.2); }
.service-num { font-size:11px; color:var(--dim); letter-spacing:1px; padding-top:6px; transition:color .3s; }
.service-name { font-family:var(--serif); font-size:clamp(32px,3.5vw,52px); font-weight:300; letter-spacing:-1px; line-height:1; color:var(--text); transition:color .3s; }
.service-desc { font-size:17px; color:var(--muted); line-height:1.85; font-weight:300; padding-top:6px; }
.service-tags-col { display:flex; flex-direction:column; gap:10px; padding-top:6px; }
.stag { font-size:11px; color:var(--muted); letter-spacing:.3px; padding-bottom:10px; border-bottom:1px solid var(--border); transition:border-color .3s; }
.stag:last-child { border-bottom:none; }
.service-arrow { grid-column:4; font-size:24px; color:var(--muted); transition:transform .3s,color .3s; padding-top:6px; }

/* ── PROCESS ── */
.process { border-bottom:1px solid var(--border); background:transparent; }
.process-item { display:grid; grid-template-columns:56px 280px 1fr; gap:48px; padding:76px 56px; border-bottom:1px solid var(--border); align-items:start; transition:background .3s; position:relative; overflow:hidden; }
.process-item:last-child { border-bottom:none; }
.process-item::before { content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:linear-gradient(to bottom,var(--accent2),transparent); opacity:0; transition:opacity .45s ease; }
.process-item:hover { background:var(--surface); }
.process-item:hover::before { opacity:.8; }
.process-item:hover .process-num { color:var(--accent2); }
.process-num { font-size:11px; color:var(--dim); letter-spacing:1px; padding-top:6px; transition:color .3s; }
.process-name { font-family:var(--serif); font-size:clamp(32px,3.5vw,52px); font-weight:300; letter-spacing:-1.5px; line-height:1; color:var(--text); }
.process-name em { font-style:italic; color:var(--muted); }
.process-desc { font-size:17px; color:var(--muted); line-height:1.85; font-weight:300; padding-top:6px; max-width:560px; }

/* ── WORK ── */
.work { border-bottom:1px solid var(--border); background:transparent; position:relative; overflow:hidden; }
.work::before { content:''; position:absolute; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle,rgba(45,226,230,.028) 0%,transparent 65%); top:20%; left:-100px; pointer-events:none; z-index:0; }
.work-item { display:grid; grid-template-columns:56px 1fr 200px 160px 56px; align-items:center; gap:40px; padding:36px 56px; border-bottom:1px solid var(--border); text-decoration:none; color:inherit; transition:background .45s var(--ease-expo),transform .45s var(--ease-expo); cursor:pointer; position:relative; overflow:hidden; }
.work-item:last-child { border-bottom:none; }
.work-item::before { content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:linear-gradient(to bottom,var(--accent),var(--accent2)); opacity:0; transition:opacity .4s ease; }
.work-item:hover { background:var(--surface); transform:translateX(12px); }
.work-item:hover::before { opacity:.8; }
.work-item:hover .work-arr { transform:translateX(4px) translateY(-4px); color:var(--accent); }
.work-item:hover .work-name { color:var(--accent); }
.work-idx { font-size:11px; color:var(--dim); }
.work-name { font-family:var(--serif); font-size:clamp(22px,2.5vw,38px); font-weight:300; letter-spacing:-1px; color:var(--text); transition:color .3s; }
.work-type { font-size:12px; color:var(--muted); }
.work-result { font-size:13px; color:var(--accent2); font-weight:500; text-align:right; }
.work-year { font-size:11px; color:var(--muted); text-align:right; }
.work-arr { font-size:20px; color:var(--muted); text-align:right; transition:transform .3s,color .3s; }


/* ── PRICING ── */
.pricing { border-bottom:1px solid var(--border); background:transparent; position:relative; overflow:hidden; }
.pricing::before { content:''; position:absolute; width:720px; height:720px; border-radius:50%; background:radial-gradient(circle,rgba(45,226,230,.038) 0%,transparent 65%); top:-200px; right:-120px; pointer-events:none; z-index:0; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:52px; gap:16px; padding:0 56px 72px; }
.pricing-card { padding:52px 40px; background:var(--surface); border:1px solid var(--border); border-radius:var(--r); transition:all .55s var(--ease-expo); position:relative; overflow:hidden; }
.pricing-card > * { position:relative; z-index:1; }
.pricing-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(to right,transparent,var(--accent),transparent); opacity:0; transition:opacity .4s; }
.pricing-card::after { content:''; position:absolute; inset:0; border-radius:var(--r); pointer-events:none; background:linear-gradient(135deg,rgba(45,226,230,.04) 0%,transparent 55%,rgba(110,231,183,.03) 100%); transition:background .4s; }
.pricing-card:hover { background:#222228; transform:translateY(-6px); box-shadow:0 24px 64px rgba(0,0,0,.5),0 0 0 1px var(--border); }
.pricing-card:hover::before { opacity:1; }
.pricing-card:hover::after { background:linear-gradient(135deg,rgba(45,226,230,.09) 0%,transparent 55%,rgba(110,231,183,.06) 100%); }
.pricing-card.featured { border-color:rgba(45,226,230,.4); box-shadow:0 0 0 1px rgba(45,226,230,.35),0 20px 64px rgba(45,226,230,.08); }
.pricing-card.featured::before { opacity:1; background:linear-gradient(to right,var(--accent),var(--accent2)); }
.pricing-card.featured .plan-name { background:linear-gradient(135deg,var(--accent),var(--accent2)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.plan-tag { font-size:10px; letter-spacing:4px; text-transform:uppercase; color:var(--muted); margin-bottom:40px; display:flex; align-items:center; gap:12px; }
.plan-tag .featured-dot { width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 10px var(--glow); }
.plan-name { font-family:var(--serif); font-size:60px; font-weight:300; letter-spacing:-3px; line-height:1; color:var(--text); margin-bottom:8px; }
.plan-period { font-size:12px; color:var(--muted); margin-bottom:36px; }
.plan-desc { font-size:14px; color:var(--muted); line-height:1.8; margin-bottom:40px; font-weight:300; }
.plan-features { list-style:none; display:flex; flex-direction:column; gap:16px; margin-bottom:52px; }
.plan-features li { display:flex; align-items:baseline; gap:14px; font-size:14px; color:var(--muted); font-weight:300; padding-bottom:16px; border-bottom:1px solid var(--border); }
.plan-features li:last-child { border-bottom:none; padding-bottom:0; }
.plan-features li::before { content:'—'; color:var(--accent); flex-shrink:0; font-size:11px; }

/* ── TESTIMONIALS ── */
.testimonials { border-bottom:1px solid var(--border); background:transparent; position:relative; overflow:hidden; }
.testimonials::before { content:''; position:absolute; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle,rgba(110,231,183,.03) 0%,transparent 65%); top:-80px; right:8%; pointer-events:none; z-index:0; }
.test-item { display:grid; grid-template-columns:1fr 1fr; gap:96px; padding:84px 56px; border-bottom:1px solid var(--border); align-items:center; transition:background .3s; }
.test-item:last-child { border-bottom:none; }
.test-item:hover { background:var(--surface); }
.test-quote { font-family:var(--serif); font-size:clamp(22px,2.5vw,34px); font-weight:300; line-height:1.5; letter-spacing:-.5px; color:var(--text); }
.test-quote em { font-style:italic; color:var(--accent); -webkit-text-fill-color:var(--accent); }
.test-name { font-size:14px; font-weight:600; color:var(--text); margin-bottom:4px; }
.test-role { font-size:12px; color:var(--muted); margin-bottom:48px; }
.test-metric { font-family:var(--serif); font-size:80px; font-weight:300; letter-spacing:-3px; line-height:1; background:linear-gradient(135deg,var(--accent),var(--accent2)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; filter:drop-shadow(0 0 22px rgba(45,226,230,.2)); }
.test-metric-label { font-size:12px; color:var(--muted); margin-top:10px; letter-spacing:.5px; }


/* ── FAQ ── */
.faq { border-bottom:1px solid var(--border); background:transparent; }
.faq-item { border-bottom:1px solid var(--border); }
.faq-item:last-child { border-bottom:none; }
.faq-item.open { border-left:2px solid rgba(45,226,230,.4); }
.faq-q { width:100%; padding:32px 56px; display:flex; justify-content:space-between; align-items:center; gap:24px; background:transparent; border:none; color:var(--text); font-family:var(--serif); font-size:21px; font-weight:300; letter-spacing:-.2px; cursor:pointer; text-align:left; transition:background .25s; }
.faq-q:hover { background:var(--surface); }
.faq-item.open .faq-q { color:var(--accent); }
.faq-icon { width:32px; height:32px; border:1px solid var(--border); border-radius:50%; flex-shrink:0; transition:all .3s ease; display:flex; align-items:center; justify-content:center; position:relative; }
.faq-icon::before { content:''; width:10px; height:1px; background:var(--muted); position:absolute; }
.faq-icon::after { content:''; width:1px; height:10px; background:var(--muted); position:absolute; transition:opacity .3s; }
.faq-item.open .faq-icon { background:var(--accent); border-color:var(--accent); box-shadow:0 0 18px var(--glow); }
.faq-item.open .faq-icon::after { opacity:0; }
.faq-item.open .faq-icon::before { background:#fff; }
.faq-a { max-height:0; overflow:hidden; transition:max-height .4s ease,padding .3s ease; padding:0 56px; font-size:17px; color:var(--muted); line-height:1.9; font-weight:300; max-width:800px; }
.faq-item.open .faq-a { max-height:600px; padding:0 56px 36px; }

/* ── CONTACT ── */
.contact { border-bottom:1px solid var(--border); background:transparent; position:relative; overflow:hidden; }
.contact::before { content:''; position:absolute; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle,rgba(110,231,183,.034) 0%,transparent 65%); bottom:-120px; right:-80px; pointer-events:none; z-index:0; }
.contact-inner { display:grid; grid-template-columns:1fr 1fr; }
.contact-left { padding:108px 72px 108px 56px; border-right:1px solid var(--border); }
.contact-left h2 { font-family:var(--serif); font-size:clamp(44px,5vw,80px); font-weight:300; letter-spacing:-2px; line-height:1; color:var(--text); margin-bottom:64px; }
.contact-left h2 em { font-style:italic; color:var(--accent); -webkit-text-fill-color:var(--accent); }
.contact-info { display:flex; flex-direction:column; gap:36px; }
.contact-item span { display:block; font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--muted); margin-bottom:8px; font-weight:500; }
.contact-item a { font-family:var(--serif); font-size:22px; font-weight:300; color:var(--text); text-decoration:none; letter-spacing:-.3px; transition:color .25s,border-color .25s; border-bottom:1px solid var(--border); padding-bottom:8px; display:inline-block; }
.contact-item a:hover { color:var(--accent); border-color:var(--accent); }
.contact-right { padding:108px 56px 108px 72px; }

/* ── FORMS ── */
.form-group { margin-bottom:36px; }
.form-group label { display:block; font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--muted); margin-bottom:14px; font-weight:500; }
.form-group input, .form-group select, .form-group textarea { width:100%; background:transparent; border:none; border-bottom:1px solid var(--border); padding:14px 0; font-size:16px; font-family:var(--sans); color:var(--text); transition:border-color .25s,box-shadow .25s; font-weight:300; }
.form-group input::placeholder, .form-group textarea::placeholder { color:var(--disabled); }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--accent); box-shadow:0 3px 14px rgba(45,226,230,.12); }
.form-group input:focus-visible, .form-group select:focus-visible, .form-group textarea:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:2px; }
.form-group textarea { resize:none; height:100px; }
.form-group select { cursor:pointer; -webkit-appearance:none; appearance:none; }
.form-group select option { background:var(--bg2); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.form-submit { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; margin-top:20px; }
.form-note { font-size:11px; color:var(--muted); line-height:1.6; max-width:240px; }
#form-status { padding:14px 20px; border-radius:10px; font-size:14px; font-weight:400; line-height:1.6; margin-bottom:20px; }
#form-status.success { background:rgba(110,231,183,.08); color:var(--accent2); border:1px solid rgba(110,231,183,.2); }
#form-status.error { background:rgba(239,68,68,.08); color:#f87171; border:1px solid rgba(239,68,68,.2); }
#form-btn:disabled { opacity:.55; cursor:not-allowed; transform:none !important; }

/* ── BUTTONS ── */
.btn-glow { display:inline-flex; align-items:center; gap:10px; padding:18px 40px; background:linear-gradient(135deg,var(--accent),var(--accent2)); color:#0f0f12; font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; text-decoration:none; border-radius:100px; cursor:pointer; transition:all .55s var(--ease-expo); box-shadow:0 0 28px rgba(45,226,230,.25),0 6px 24px rgba(45,226,230,.2),inset 0 1px 0 rgba(255,255,255,.15); position:relative; overflow:hidden; transform-origin:center; }
.btn-glow::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,var(--accent2),var(--accent)); opacity:0; transition:opacity .35s; border-radius:100px; }
.btn-glow:hover { transform:translateY(-4px); box-shadow:0 0 56px rgba(45,226,230,.55),0 14px 36px rgba(45,226,230,.35),inset 0 1px 0 rgba(255,255,255,.2); }
.btn-glow:hover::after { opacity:1; }
.btn-glow span { position:relative; z-index:1; }
.btn-ghost { display:inline-flex; align-items:center; gap:10px; padding:18px 40px; border:1.5px solid rgba(45,226,230,.45); color:var(--text); font-size:12px; font-weight:500; letter-spacing:2px; text-transform:uppercase; text-decoration:none; border-radius:100px; cursor:pointer; transition:all .4s cubic-bezier(0.16,1,0.3,1); background:transparent; }
.btn-ghost:hover { border-color:var(--accent); color:var(--accent); transform:translateY(-3px); box-shadow:0 0 20px rgba(45,226,230,.2),0 8px 28px rgba(45,226,230,.15); background:rgba(45,226,230,.06); }
.btn-outline { display:inline-flex; align-items:center; gap:10px; padding:16px 32px; border:1.5px solid rgba(45,226,230,.45); color:var(--text); font-size:12px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; cursor:pointer; border-radius:var(--r); transition:all .4s cubic-bezier(0.16,1,0.3,1); background:transparent; }
.btn-outline:hover { border-color:var(--accent); color:var(--accent); transform:translateY(-2px); box-shadow:0 0 20px rgba(45,226,230,.2),0 8px 28px rgba(45,226,230,.15); background:rgba(45,226,230,.06); }
.btn-filled { display:inline-flex; align-items:center; gap:10px; padding:16px 32px; background:var(--accent); color:#0f0f12; font-size:12px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; cursor:pointer; border-radius:var(--r); transition:all .55s var(--ease-expo); box-shadow:0 0 20px rgba(45,226,230,.2),0 4px 16px rgba(45,226,230,.15); transform-origin:center; }
.btn-filled:hover { transform:translateY(-3px); box-shadow:0 0 40px rgba(45,226,230,.45),0 12px 32px rgba(45,226,230,.25); }

/* ── FOOTER ── */
footer { background:#0a0a0d; padding:96px 56px 52px; border-top:1px solid var(--border); position:relative; overflow:hidden; }
footer::before { content:''; position:absolute; bottom:0; left:0; right:0; height:1px; background:linear-gradient(to right,transparent,rgba(45,226,230,.3),rgba(110,231,183,.3),transparent); }
footer::after { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(to right,transparent,var(--accent),var(--accent2),transparent); opacity:.4; }
.footer-glow { position:absolute; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle,rgba(45,226,230,.07) 0%,transparent 70%); bottom:-150px; left:15%; pointer-events:none; }
.footer-top { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:96px; gap:56px; flex-wrap:wrap; position:relative; }
.footer-logo-wrap { display:flex; align-items:center; gap:14px; margin-bottom:24px; text-decoration:none; }
.footer-logo-text { font-family:var(--serif); font-size:30px; font-weight:300; letter-spacing:3px; text-transform:uppercase; color:#fff; }
.footer-brand p { font-size:14px; color:var(--dim); line-height:1.8; max-width:280px; font-weight:300; }
.footer-cols { display:flex; gap:72px; flex-wrap:wrap; }
.footer-col h3, .footer-col h4 { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--dim); margin-bottom:28px; font-weight:500; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:16px; }
.footer-col a { font-size:13px; color:var(--dim); text-decoration:none; font-weight:300; transition:color .25s; }
.footer-col a:hover { color:var(--text); }
.footer-bottom { border-top:1px solid var(--border); padding-top:36px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; position:relative; }
.footer-bottom p { font-size:11px; color:var(--dim); letter-spacing:.5px; }
.social-links { display:flex; gap:32px; }
.social-links a { font-size:11px; color:var(--disabled); text-decoration:none; letter-spacing:1px; text-transform:uppercase; transition:color .25s; }
.social-links a:hover { color:var(--text); }

/* ── FLOATING UI ── */
#whatsapp-btn { position:fixed; bottom:32px; right:32px; width:56px; height:56px; background:#25d366; border-radius:50%; display:flex; align-items:center; justify-content:center; z-index:500; box-shadow:0 4px 24px rgba(37,211,102,.4); text-decoration:none; cursor:pointer; }
#whatsapp-btn::before { content:''; position:absolute; width:56px; height:56px; border-radius:50%; border:2px solid rgba(37,211,102,.55); animation:waPulse 2.2s ease-out infinite; }
@keyframes waPulse { 0%{transform:scale(1);opacity:.8} 100%{transform:scale(2.1);opacity:0} }
#back-to-top { position:fixed; bottom:100px; right:32px; width:48px; height:48px; background:var(--surface); border:1px solid var(--border); border-radius:50%; display:flex; align-items:center; justify-content:center; z-index:500; cursor:pointer; color:var(--text); font-size:18px; line-height:1; opacity:0; transform:translateY(16px); transition:all .35s cubic-bezier(0.16,1,0.3,1); pointer-events:none; box-shadow:0 4px 20px rgba(0,0,0,.3); }
#back-to-top.visible { opacity:1; transform:translateY(0); pointer-events:all; }
#back-to-top:hover { background:var(--accent); color:#0f0f12; border-color:var(--accent); box-shadow:0 0 20px rgba(45,226,230,.4); }
#cta-badge { position:fixed; bottom:32px; left:32px; background:var(--surface); border:1px solid var(--border); padding:16px 24px; display:flex; align-items:center; gap:14px; z-index:500; text-decoration:none; color:var(--text); opacity:0; transform:translateX(-24px); transition:all .45s cubic-bezier(0.16,1,0.3,1); pointer-events:none; box-shadow:0 8px 36px rgba(0,0,0,.4); cursor:pointer; border-radius:var(--r); }
#cta-badge.visible { opacity:1; transform:translateX(0); pointer-events:all; }
#cta-badge:hover { box-shadow:0 0 24px rgba(45,226,230,.15),0 14px 48px rgba(0,0,0,.5); transform:translateX(0) translateY(-3px); border-color:rgba(45,226,230,.3); }
.cta-badge-dot { width:8px; height:8px; background:var(--accent); border-radius:50%; flex-shrink:0; position:relative; }
.cta-badge-dot::after { content:''; position:absolute; inset:-5px; border-radius:50%; background:rgba(45,226,230,.35); animation:badgePulse 2.2s ease-in-out infinite; }
@keyframes badgePulse { 0%,100%{transform:scale(1);opacity:.7} 50%{transform:scale(2.5);opacity:0} }
.cta-badge-label { font-size:13px; font-weight:600; letter-spacing:.3px; }
.cta-badge-sub { font-size:10px; color:var(--muted); letter-spacing:.2px; margin-top:2px; }
/* ── MOBILE BOTTOM NAV ── */
#mobile-nav { display:none; position:fixed; top:auto; bottom:0; left:0; right:0; height:auto; z-index:600; background:rgba(15,15,18,.97); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border-top:1px solid var(--border); padding:6px 8px calc(6px + env(safe-area-inset-bottom)); flex-direction:row; align-items:stretch; gap:4px; }
.mobile-nav-item { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; padding:6px 4px; text-decoration:none; color:var(--text); font-size:9px; font-weight:500; letter-spacing:.5px; text-transform:uppercase; transition:color .2s; position:relative; min-height:52px; }
.mobile-nav-item[aria-current="page"] { color:var(--accent); }
.mobile-nav-item[aria-current="page"]::before { content:''; position:absolute; top:0; left:20%; right:20%; height:2px; background:var(--accent); border-radius:0 0 3px 3px; }
.mobile-nav-cta { flex:1.5; background:linear-gradient(135deg,var(--accent),var(--accent2)); border-radius:10px; font-weight:600; }
.mobile-nav-cta, .mobile-nav-cta:hover, .mobile-nav-cta:active { color:#0f0f12; }
.mobile-nav-cta[aria-current="page"]::before { display:none; }


/* ── CINEMATIC REVEALS ── */
.reveal { opacity:0; transform:translateY(40px) scale(.982); transition:opacity 1.15s var(--ease-expo),transform 1.15s var(--ease-expo); will-change:transform,opacity; }
.reveal.visible { opacity:1; transform:translateY(0) scale(1); }
.reveal-delay-1 { transition-delay:.14s; }
.reveal-delay-2 { transition-delay:.28s; }
.reveal-delay-3 { transition-delay:.42s; }
.reveal-left { opacity:0; transform:translateX(-36px) scale(.99); transition:opacity 1.05s var(--ease-expo),transform 1.05s var(--ease-expo); will-change:transform,opacity; }
.reveal-left.visible { opacity:1; transform:translateX(0) scale(1); }
.reveal-right { opacity:0; transform:translateX(36px) scale(.99); transition:opacity 1.05s var(--ease-expo),transform 1.05s var(--ease-expo); will-change:transform,opacity; }
.reveal-right.visible { opacity:1; transform:translateX(0) scale(1); }

/* ── COOKIE BANNER ── */
#cookie-banner { position:fixed; bottom:0; left:0; right:0; z-index:8000; background:var(--bg2); border-top:1px solid var(--border); padding:20px 48px; display:flex; align-items:center; justify-content:space-between; gap:24px; transform:translateY(100%); visibility:hidden; transition:transform .45s cubic-bezier(0.16,1,0.3,1), visibility 0s .45s; }
#cookie-banner.show { transform:translateY(0); visibility:visible; transition:transform .45s cubic-bezier(0.16,1,0.3,1), visibility 0s; }
.cookie-text { font-size:13px; color:var(--muted); line-height:1.6; max-width:580px; }
.cookie-text button { background:none; border:none; color:var(--accent); cursor:pointer; font-size:inherit; padding:0; font-family:inherit; text-decoration:underline; text-underline-offset:2px; }
.cookie-btns { display:flex; gap:12px; flex-shrink:0; }
.cookie-btn-ess { padding:10px 24px; border:1px solid var(--border); border-radius:100px; font-size:11px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); background:transparent; cursor:pointer; font-family:var(--sans); transition:all .25s; white-space:nowrap; }
.cookie-btn-ess:hover { border-color:var(--accent); color:var(--text); }
.cookie-btn-acc { padding:10px 24px; border:none; border-radius:100px; font-size:11px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:#0f0f12; background:linear-gradient(135deg,var(--accent),var(--accent2)); cursor:pointer; font-family:var(--sans); transition:all .25s; white-space:nowrap; }
.cookie-btn-acc:hover { box-shadow:0 0 24px rgba(45,226,230,.4); transform:translateY(-1px); }

/* ── LEGAL MODALS ── */
.legal-modal { position:fixed; inset:0; z-index:9000; background:rgba(0,0,0,.82); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; pointer-events:none; visibility:hidden; transition:opacity .3s ease, visibility 0s .3s; }
.legal-modal.open { opacity:1; pointer-events:all; visibility:visible; transition:opacity .3s ease, visibility 0s; }
.legal-modal-box { background:var(--surface); border:1px solid var(--border); border-radius:var(--r); width:100%; max-width:740px; max-height:88vh; overflow-y:auto; padding:52px 56px 56px; position:relative; scrollbar-width:thin; scrollbar-color:var(--border) transparent; }
.legal-modal-box::-webkit-scrollbar { width:4px; }
.legal-modal-box::-webkit-scrollbar-track { background:transparent; }
.legal-modal-box::-webkit-scrollbar-thumb { background:var(--border); border-radius:4px; }
.legal-close-row { display:flex; justify-content:flex-end; margin-bottom:24px; }
.legal-modal-close { background:none; border:1px solid var(--border); border-radius:50%; width:36px; height:36px; font-size:18px; line-height:1; color:var(--muted); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .2s; font-family:var(--sans); }
.legal-modal-close:hover { border-color:var(--accent); color:var(--accent); }
.legal-modal-box h2 { font-family:var(--serif); font-size:clamp(28px,4vw,40px); font-weight:300; color:var(--text); margin-bottom:6px; letter-spacing:-1px; }
.legal-date { font-size:11px; color:var(--dim); letter-spacing:2.5px; text-transform:uppercase; margin-bottom:40px; display:block; }
.legal-modal-box h3 { font-size:11px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--accent); margin:36px 0 12px; }
.legal-modal-box p { font-size:14px; color:var(--muted); line-height:1.85; margin-bottom:14px; }
.legal-modal-box ul { padding-left:18px; margin-bottom:14px; }
.legal-modal-box ul li { font-size:14px; color:var(--muted); line-height:1.8; margin-bottom:6px; }
.legal-modal-box a { color:var(--accent); text-decoration:none; }
.legal-modal-box a:hover { text-decoration:underline; }

/* ═══════════════════════════════════════════════
   INTERIOR PAGES — SHARED ELEMENTS
═══════════════════════════════════════════════ */

/* ── PAGE HERO ── */
.page-hero { padding:200px 56px 120px; border-bottom:1px solid var(--border); position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 80% 60% at 10% 85%,rgba(110,231,183,.07) 0%,transparent 60%),radial-gradient(ellipse 60% 70% at 88% 15%,rgba(45,226,230,.08) 0%,transparent 60%); pointer-events:none; }
.page-hero-eyebrow { font-size:11px; letter-spacing:5px; text-transform:uppercase; color:var(--accent); margin-bottom:48px; display:flex; align-items:center; gap:14px; font-weight:500; }
.page-hero-eyebrow::before { content:''; width:32px; height:1.5px; background:linear-gradient(to right,var(--accent),transparent); }
.page-hero h1 { font-family:var(--serif); font-size:clamp(56px,8vw,120px); font-weight:300; line-height:.92; letter-spacing:-4px; color:var(--text); margin-bottom:32px; position:relative; }
.page-hero h1 em { font-style:italic; background:linear-gradient(120deg,#2de2e6 0%,#6ee7b7 45%,#2de2e6 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.page-hero-sub { font-size:19px; color:var(--muted); line-height:1.85; max-width:560px; font-weight:300; margin-bottom:56px; }
.page-hero-ctas { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }

/* ── BREADCRUMB ── */
.breadcrumb { display:flex; align-items:center; gap:12px; font-size:10px; letter-spacing:2.5px; text-transform:uppercase; color:var(--muted); margin-bottom:56px; position:relative; }
.breadcrumb a { color:var(--muted); text-decoration:none; transition:color .2s; }
.breadcrumb a:hover { color:var(--accent); }
.breadcrumb .sep { color:var(--dim); }
.breadcrumb .current { color:var(--text); }

/* ── INTERIOR SECTION ── */
.interior-section { padding:96px 56px; border-bottom:1px solid var(--border); position:relative; }
.interior-section h2 { font-family:var(--serif); font-size:clamp(40px,5vw,72px); font-weight:300; letter-spacing:-2px; line-height:1; color:var(--text); margin-bottom:24px; }
.interior-section h2 em { font-style:italic; color:var(--muted); }
.interior-section .section-intro { font-size:18px; color:var(--muted); line-height:1.85; max-width:640px; font-weight:300; margin-bottom:72px; }

/* ── TWO-COL CONTENT ── */
.two-col-content { display:grid; grid-template-columns:1fr 1fr; gap:96px; align-items:start; }
.two-col-content h3 { font-family:var(--serif); font-size:clamp(28px,3vw,44px); font-weight:300; letter-spacing:-1px; line-height:1.1; color:var(--text); margin-bottom:20px; }
.two-col-content p { font-size:16px; color:var(--muted); line-height:1.9; font-weight:300; margin-bottom:20px; }

/* ── FEATURE GRID ── */
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); margin-top:64px; }
.feature-card { padding:48px 40px; background:var(--bg); transition:background .3s; }
.feature-card:hover { background:var(--surface); }
.feature-icon { font-size:28px; margin-bottom:24px; color:#2de2e6; }
.feature-card h3 { font-family:var(--serif); font-size:26px; font-weight:300; letter-spacing:-.5px; color:var(--text); margin-bottom:14px; }
.feature-card p { font-size:14px; color:var(--muted); line-height:1.8; font-weight:300; }

/* ── SERVICE DETAIL ── */
.service-detail-hero { padding:200px 56px 120px; border-bottom:1px solid var(--border); position:relative; overflow:hidden; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; }
.service-detail-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 70% 60% at 10% 85%,rgba(110,231,183,.07) 0%,transparent 60%),radial-gradient(ellipse 60% 70% at 88% 15%,rgba(45,226,230,.08) 0%,transparent 60%); pointer-events:none; }
.service-detail-hero .hero-left-col { position:relative; z-index:2; }
.service-detail-hero .hero-right-col { position:relative; z-index:2; display:flex; flex-direction:column; gap:32px; }
.service-detail-stat { padding:32px 0; border-top:1px solid var(--border); }
.service-detail-stat .stat-num { font-family:var(--serif); font-size:56px; font-weight:300; letter-spacing:-2px; line-height:1; background:linear-gradient(135deg,var(--accent),var(--accent2)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.service-detail-stat .stat-label { font-size:12px; color:var(--muted); margin-top:8px; letter-spacing:.5px; }

/* ── BENEFITS LIST ── */
.benefits-list { list-style:none; display:flex; flex-direction:column; gap:0; margin-top:48px; }
.benefits-list li { display:flex; align-items:baseline; gap:20px; padding:20px 0; border-bottom:1px solid var(--border); font-size:16px; color:var(--muted); font-weight:300; line-height:1.6; }
.benefits-list li:last-child { border-bottom:none; }
.benefits-list li::before { content:'→'; color:var(--accent); flex-shrink:0; font-size:13px; }
.benefits-list li strong { color:var(--text); font-weight:500; }

/* ── PORTFOLIO GRID (work.html) ── */
.portfolio-grid { display:grid; grid-template-columns:1fr 1fr; }
.portfolio-card { aspect-ratio:16/10; position:relative; overflow:hidden; border-bottom:1px solid var(--border); text-decoration:none; color:inherit; display:flex; flex-direction:column; justify-content:flex-end; padding:48px; background:var(--bg2); transition:background .4s; cursor:pointer; }
.portfolio-card:nth-child(odd) { border-right:1px solid var(--border); }
.portfolio-card::before { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(10,10,13,.9) 0%,rgba(10,10,13,.3) 60%,transparent 100%); z-index:1; transition:opacity .4s; }
.portfolio-card:hover::before { opacity:.7; }
.portfolio-card-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.5; transition:transform .6s var(--ease-expo),opacity .4s; }
.portfolio-card:hover .portfolio-card-img { transform:scale(1.06); opacity:.65; }
.portfolio-card-content { position:relative; z-index:2; }
.portfolio-card-idx { font-size:10px; color:var(--muted); letter-spacing:2px; text-transform:uppercase; margin-bottom:12px; display:block; }
.portfolio-card-name { font-family:var(--serif); font-size:clamp(28px,3.5vw,48px); font-weight:300; letter-spacing:-1.5px; line-height:1; color:var(--text); margin-bottom:10px; transition:color .3s; }
.portfolio-card:hover .portfolio-card-name { color:var(--accent); }
.portfolio-card-type { font-size:12px; color:var(--muted); margin-bottom:16px; }
.portfolio-card-result { font-size:14px; color:var(--accent2); font-weight:500; display:flex; align-items:center; gap:8px; }
.portfolio-card-result::before { content:''; width:24px; height:1px; background:var(--accent2); }
.portfolio-card-arr { position:absolute; top:48px; right:48px; z-index:2; font-size:20px; color:var(--muted); transition:transform .3s,color .3s; }
.portfolio-card:hover .portfolio-card-arr { transform:translateX(4px) translateY(-4px); color:var(--accent); }

/* ── CASE STUDY ── */
.case-meta { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--border); }
.case-meta-item { padding:48px 40px; border-right:1px solid var(--border); }
.case-meta-item:last-child { border-right:none; }
.case-meta-label { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--muted); margin-bottom:12px; font-weight:500; }
.case-meta-value { font-family:var(--serif); font-size:22px; font-weight:300; color:var(--text); letter-spacing:-.5px; }
.case-content-section { padding:96px 56px; border-bottom:1px solid var(--border); }
.case-content-section h2 { font-family:var(--serif); font-size:clamp(36px,4vw,60px); font-weight:300; letter-spacing:-2px; line-height:1; color:var(--text); margin-bottom:32px; }
.case-content-section h2 em { font-style:italic; color:var(--muted); }
.case-body { max-width:720px; }
.case-body p { font-size:17px; color:var(--muted); line-height:1.9; font-weight:300; margin-bottom:24px; }
.case-body p:last-child { margin-bottom:0; }
.results-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); margin:64px 0 0; }
.result-card { padding:64px 40px; background:var(--bg); text-align:center; }
.result-number { font-family:var(--serif); font-size:72px; font-weight:300; letter-spacing:-3px; line-height:1; background:linear-gradient(135deg,var(--accent),var(--accent2)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; margin-bottom:12px; }
.result-label { font-size:12px; color:var(--muted); letter-spacing:.5px; line-height:1.6; }
.case-challenge-solution { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); margin-top:64px; }
.case-cs-col { padding:64px 56px; background:var(--bg); }
.case-cs-col h3 { font-family:var(--serif); font-size:36px; font-weight:300; letter-spacing:-1px; color:var(--text); margin-bottom:24px; }
.case-cs-col p { font-size:16px; color:var(--muted); line-height:1.9; font-weight:300; margin-bottom:16px; }
.case-gallery { padding:0; border-bottom:1px solid var(--border); display:grid; grid-template-columns:1fr 1fr 1fr; min-height:360px; }
.case-gallery-cell { border-right:1px solid var(--border); background:var(--bg2); display:flex; align-items:center; justify-content:center; min-height:360px; position:relative; overflow:hidden; }
.case-gallery-cell:last-child { border-right:none; }
.case-gallery-cell-inner { font-family:var(--serif); font-size:48px; font-weight:300; color:rgba(255,255,255,.06); letter-spacing:-2px; }
.case-cta-section { padding:120px 56px; border-bottom:1px solid var(--border); display:flex; flex-direction:column; align-items:center; text-align:center; }
.case-cta-section h2 { font-family:var(--serif); font-size:clamp(44px,6vw,88px); font-weight:300; letter-spacing:-3px; line-height:.95; color:var(--text); margin-bottom:24px; }
.case-cta-section h2 em { font-style:italic; background:linear-gradient(120deg,var(--accent),var(--accent2)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.case-cta-section p { font-size:18px; color:var(--muted); line-height:1.85; max-width:500px; margin-bottom:52px; font-weight:300; }
.case-nav-row { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--border); }
.case-nav-cell { padding:48px 56px; text-decoration:none; color:inherit; display:flex; align-items:center; justify-content:space-between; transition:background .3s; }
.case-nav-cell:first-child { border-right:1px solid var(--border); }
.case-nav-cell:hover { background:var(--surface); }
.case-nav-cell .nav-dir { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.case-nav-cell .nav-title { font-family:var(--serif); font-size:28px; font-weight:300; letter-spacing:-1px; color:var(--text); transition:color .2s; }
.case-nav-cell:hover .nav-title { color:var(--accent); }
.case-nav-arr { font-size:22px; color:var(--muted); transition:transform .3s,color .3s; }
.case-nav-cell:hover .case-nav-arr { color:var(--accent); }
.case-nav-cell:first-child .case-nav-arr { transform:rotate(180deg); }
.case-nav-cell:first-child:hover .case-nav-arr { transform:rotate(180deg) translate(-4px,4px); }
.case-nav-cell:last-child:hover .case-nav-arr { transform:translateX(4px) translateY(-4px); }

/* ── BLOG ── */
.blog-featured { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--border); }
.blog-featured-img { background:var(--bg2); min-height:480px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.blog-featured-img-inner { font-family:var(--serif); font-size:96px; font-weight:300; background:linear-gradient(135deg,var(--accent),var(--accent2)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; opacity:.4; }
.blog-featured-content { padding:80px 64px; display:flex; flex-direction:column; justify-content:center; }
.blog-tag-pill { display:inline-flex; align-items:center; gap:8px; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--accent); border:1px solid rgba(45,226,230,.3); padding:6px 14px; border-radius:100px; margin-bottom:28px; width:fit-content; }
.blog-featured-content h2 { font-family:var(--serif); font-size:clamp(32px,4vw,56px); font-weight:300; letter-spacing:-2px; line-height:1.05; color:var(--text); margin-bottom:20px; }
.blog-featured-content p { font-size:16px; color:var(--muted); line-height:1.85; font-weight:300; margin-bottom:40px; }
.blog-meta { font-size:11px; color:var(--dim); letter-spacing:.5px; margin-bottom:36px; }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); }
.blog-card { background:var(--bg); padding:52px 40px; text-decoration:none; color:inherit; display:block; transition:background .3s; border-bottom:none; }
.blog-card:hover { background:var(--surface); }
.blog-card-tag { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--accent2); margin-bottom:20px; }
.blog-card h3 { font-family:var(--serif); font-size:clamp(22px,2.5vw,34px); font-weight:300; letter-spacing:-1px; line-height:1.1; color:var(--text); margin-bottom:16px; transition:color .3s; }
.blog-card:hover h3 { color:var(--accent); }
.blog-card p { font-size:14px; color:var(--muted); line-height:1.8; font-weight:300; margin-bottom:28px; }
.blog-card-footer { display:flex; align-items:center; justify-content:space-between; }
.blog-card-date { font-size:11px; color:var(--dim); }
.blog-card-arr { font-size:16px; color:var(--muted); transition:transform .3s,color .3s; }
.blog-card:hover .blog-card-arr { transform:translateX(4px) translateY(-4px); color:var(--accent); }
.newsletter-form { display:flex; gap:0; max-width:480px; width:100%; }
.newsletter-input { flex:1; background:transparent; border:none; border-bottom:1px solid var(--border); padding:14px 0; font-size:15px; font-family:var(--sans); color:var(--text); outline:none; transition:border-color .25s; font-weight:300; }
.newsletter-input::placeholder { color:var(--disabled); }
.newsletter-input:focus { border-color:var(--accent); }
.newsletter-btn { background:var(--accent); color:#0f0f12; border:none; padding:14px 28px; font-size:11px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; cursor:pointer; font-family:var(--sans); transition:all .3s; flex-shrink:0; }
.newsletter-btn:hover { background:var(--accent2); }

/* ── PRICING PAGE extras ── */
.pricing-faq { border-bottom:1px solid var(--border); }
.pricing-comparison { padding:96px 56px; border-bottom:1px solid var(--border); overflow-x:auto; }
.comparison-table { width:100%; border-collapse:collapse; }
.comparison-table th,
.comparison-table td { padding:20px 28px; text-align:left; border-bottom:1px solid var(--border); font-size:13px; }
.comparison-table th { font-size:10px; letter-spacing:2.5px; text-transform:uppercase; color:var(--muted); font-weight:500; background:var(--bg2); padding:24px 28px; }
.comparison-table th:first-child { color:var(--dim); }
.comparison-table td:first-child { color:var(--text); font-weight:400; }
.comparison-table td:not(:first-child) { color:var(--muted); text-align:center; }
.comparison-table .check { color:var(--accent2); }
.comparison-table .dash { color:var(--disabled); }
.comparison-table .featured-col { background:rgba(45,226,230,.03); }
.comparison-table tr:last-child td { border-bottom:none; }

/* ── CONTACT PAGE extras ── */
.contact-page-split { display:grid; grid-template-columns:1fr 1fr; min-height:100vh; }
.contact-page-info { padding:120px 72px 120px 56px; border-right:1px solid var(--border); display:flex; flex-direction:column; justify-content:space-between; }
.contact-page-form { padding:120px 56px 120px 72px; }
.contact-availability { margin-top:64px; padding-top:64px; border-top:1px solid var(--border); }
.contact-availability h3 { font-family:var(--serif); font-size:24px; font-weight:300; letter-spacing:-.5px; color:var(--text); margin-bottom:20px; }
.availability-row { display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-bottom:1px solid var(--border); font-size:13px; }
.availability-row:last-child { border-bottom:none; }
.availability-day { color:var(--muted); }
.availability-hours { color:var(--text); font-weight:400; }

/* ── SERVICES OVERVIEW PAGE ── */
.services-intro { display:grid; grid-template-columns:1fr 1fr; gap:0; border-bottom:1px solid var(--border); }
.services-intro-left { padding:96px 72px 96px 56px; border-right:1px solid var(--border); }
.services-intro-left h2 { font-family:var(--serif); font-size:clamp(40px,5vw,68px); font-weight:300; letter-spacing:-2px; line-height:1; color:var(--text); margin-bottom:28px; }
.services-intro-left h2 em { font-style:italic; color:var(--muted); }
.services-intro-left p { font-size:17px; color:var(--muted); line-height:1.9; font-weight:300; }
.services-intro-right { padding:96px 56px 96px 72px; display:flex; flex-direction:column; gap:32px; justify-content:center; }
.services-intro-stat { padding-bottom:32px; border-bottom:1px solid var(--border); }
.services-intro-stat:last-child { border-bottom:none; padding-bottom:0; }
.services-intro-stat .stat-num { font-family:var(--serif); font-size:56px; font-weight:300; letter-spacing:-2px; line-height:1; background:linear-gradient(135deg,var(--accent),var(--accent2)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.services-intro-stat .stat-desc { font-size:13px; color:var(--muted); margin-top:6px; letter-spacing:.3px; }

/* ── INLINE CTA SECTION ── */
.inline-cta { padding:120px 56px; border-bottom:1px solid var(--border); display:flex; flex-direction:column; align-items:center; text-align:center; position:relative; overflow:hidden; }
.inline-cta::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 60% 70% at 50% 50%,rgba(45,226,230,.04) 0%,transparent 70%); pointer-events:none; }
.inline-cta-eyebrow { font-size:10px; letter-spacing:4px; text-transform:uppercase; color:var(--accent); margin-bottom:32px; font-weight:500; }
.inline-cta h2 { font-family:var(--serif); font-size:clamp(48px,7vw,100px); font-weight:300; letter-spacing:-4px; line-height:.92; color:var(--text); margin-bottom:24px; position:relative; }
.inline-cta h2 em { font-style:italic; background:linear-gradient(120deg,var(--accent),var(--accent2)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.inline-cta p { font-size:18px; color:var(--muted); line-height:1.85; max-width:500px; margin-bottom:52px; font-weight:300; }
.inline-cta-btns { display:flex; gap:20px; flex-wrap:wrap; justify-content:center; }

/* ═══════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════ */

@media(max-width:1100px) {
  nav { padding:20px 24px; }
  nav.scrolled { padding:14px 24px; }
  .hero { grid-template-columns:1fr; min-height:auto; }
  .hero-left { padding:88px 24px 40px; background:linear-gradient(180deg,rgba(15,15,18,.88) 0%,rgba(15,15,18,.6) 100%); }
  .hero-right { display:none; }
  .section-header { padding:32px 24px 18px; }
  .section-header::after { left:24px; }
  .service-row { grid-template-columns:1fr; gap:10px; padding:20px 24px; }
  .service-row:hover { transform:none; }
  .service-row::before,.process-item::before,.work-item::before { display:none; }
  .service-arrow { display:none; }
  .process-item { grid-template-columns:1fr; gap:8px; padding:20px 24px; }
  .pricing-grid { grid-template-columns:1fr; padding:0 24px 24px; }
  .pricing-card { border-bottom:1px solid var(--border); }
  .test-item { grid-template-columns:1fr; gap:16px; padding:28px 24px; }
  .contact-inner { grid-template-columns:1fr; }
  .contact-left { border-right:none; border-bottom:1px solid var(--border); padding:32px 24px; }
  .contact-right { padding:32px 24px; }
  .form-row { grid-template-columns:1fr; }
  .faq-q { padding:14px 24px; }
  .faq-a { padding:0 24px; }
  .faq-item.open .faq-a { padding:0 24px 14px; }
  .faq-item.open { border-left:none; }
  .work-item { grid-template-columns:1fr auto; gap:14px; padding:18px 24px; }
  .work-idx,.work-type,.work-result,.work-year { display:none; }
  footer { padding:32px 24px 20px; }
  #mobile-nav { display:flex; }
  #cta-badge { display:none; }
  .menu-overlay { padding:0 24px; }
  /* Interior pages */
  .page-hero { padding:88px 24px 40px; }
  .interior-section { padding:32px 24px; }
  .feature-grid { grid-template-columns:1fr; gap:1px; }
  .two-col-content { grid-template-columns:1fr; gap:20px; }
  .portfolio-grid { grid-template-columns:1fr; }
  .portfolio-card:nth-child(odd) { border-right:none; }
  .case-meta { grid-template-columns:1fr 1fr; }
  .case-meta-item:nth-child(2) { border-right:none; }
  .case-meta-item:nth-child(3) { border-right:none; }
  .case-content-section { padding:32px 24px; }
  .case-gallery { grid-template-columns:1fr; }
  .case-gallery-cell { min-height:130px; border-right:none; border-bottom:1px solid var(--border); }
  .case-gallery-cell:last-child { border-bottom:none; }
  .results-grid { grid-template-columns:1fr; }
  .case-challenge-solution { grid-template-columns:1fr; }
  .case-cs-col { padding:24px 24px; }
  .case-nav-row { grid-template-columns:1fr; }
  .case-nav-cell:first-child { border-right:none; border-bottom:1px solid var(--border); }
  .case-cta-section { padding:40px 24px; }
  .blog-featured { grid-template-columns:1fr; }
  .blog-featured-img { min-height:180px; }
  .blog-featured-content { padding:24px 24px; }
  .blog-grid { grid-template-columns:1fr; }
  .contact-page-split { grid-template-columns:1fr; }
  .contact-page-info { border-right:none; border-bottom:1px solid var(--border); padding:36px 24px; }
  .contact-page-form { padding:36px 24px; }
  .services-intro { grid-template-columns:1fr; }
  .services-intro-left { border-right:none; border-bottom:1px solid var(--border); padding:32px 24px; }
  .services-intro-right { padding:32px 24px; }
  .service-detail-hero { grid-template-columns:1fr; padding:88px 24px 40px; }
  .pricing-comparison { padding:32px 24px; }
  .inline-cta { padding:40px 24px; }
  /* Mobile nav — prevent overlap */
  body { padding-bottom:72px; }
  #whatsapp-btn { bottom:82px; }
  /* Case gallery cells — shorter on mobile */
  .case-gallery { min-height:auto; }
  .case-gallery-cell { min-height:160px; }
}

@media(max-width:768px) {
  #cookie-banner { flex-direction:column; align-items:flex-start; padding:20px 24px; }
  .case-meta { grid-template-columns:1fr 1fr; }
  .blog-grid { grid-template-columns:1fr; }
}

@media(max-width:600px) {
  .hero-ctas { flex-direction:column; align-items:flex-start; gap:10px; }
  .btn-glow,.btn-ghost { width:100%; justify-content:center; }
  .footer-top { flex-direction:column; }
  .footer-cols { gap:20px; }
  .page-hero-ctas { flex-direction:column; align-items:flex-start; gap:10px; }
  .inline-cta-btns { flex-direction:column; align-items:center; gap:10px; }
  .result-card { padding:40px 24px; }
  .blog-card { padding:36px 24px; }
  .test-metric { font-size:clamp(40px,11vw,56px); }
}

/* ── TOUCH DEVICES ── */
@media(hover:none) and (pointer:coarse) {
  .btn-glow,.btn-ghost,.btn-outline { min-height:48px; }
  .form-group input,.form-group select,.form-group textarea { font-size:16px; }
  .faq-q { min-height:56px; }
}

@media(max-width:480px) {
  nav { padding:14px 16px; }
  nav.scrolled { padding:10px 16px; }
  .hero-left { padding:76px 16px 28px; }
  .hero h1 { font-size:clamp(32px,10vw,56px); letter-spacing:-2px; }
  .hero-tagline { font-size:14px; }
  .section-header { padding:24px 16px 14px; }
  .service-row { padding:14px 16px; }
  .stats { padding:24px 16px; }
  .split-content { padding:20px 16px; }
  .contact-left,.contact-right { padding:24px 16px; }
  footer { padding:24px 16px 16px; }
  .footer-cols { flex-direction:column; gap:18px; }
  .faq-q { padding:12px 16px; font-size:16px; }
  .faq-a { padding:0 16px; }
  .faq-item.open .faq-a { padding:0 16px 12px; }
  .menu-overlay { padding:0 16px; }
  .menu-links li a { font-size:clamp(32px,10vw,68px); }
  .pricing-card { padding:18px 16px; }
  .test-item { padding:20px 16px; }
  .work-item { padding:12px 16px; }
  .cookie-banner { padding:12px 16px; }
  .legal-modal-box { padding:20px 16px 24px; }
  .page-hero { padding:88px 16px 32px; }
  .interior-section { padding:24px 16px; }
  .case-content-section { padding:24px 16px; }
  .inline-cta { padding:32px 16px; }
  .plan-name { font-size:42px; letter-spacing:-2px; }
  .inline-cta p { margin-bottom:28px; }
  .form-group { margin-bottom:20px; }
  .service-desc { font-size:15px; }
  .process-desc { font-size:15px; }
  .test-metric { font-size:clamp(32px,10vw,44px); }
}

/* ═══════════════════════════════════════════════
   PRICING TOGGLE (monthly / yearly)
═══════════════════════════════════════════════ */
.pricing-toggle-wrap { display:flex; align-items:center; justify-content:center; gap:20px; padding:40px 56px 0; }
.plan-price-wrap { position:relative; }
.plan-price-yearly { display:none; }
.pricing-grid.yearly .plan-price-monthly { display:none; }
.pricing-grid.yearly .plan-price-yearly { display:block; }

/* ═══════════════════════════════════════════════
   WORK / PORTFOLIO FILTER
═══════════════════════════════════════════════ */
.work-filter { display:flex; align-items:center; gap:0; padding:0 56px 0; border-bottom:1px solid var(--border); overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; }
.work-filter::-webkit-scrollbar { display:none; }
.filter-btn { flex-shrink:0; padding:18px 28px; font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--muted); background:none; border:none; cursor:pointer; font-family:var(--sans); transition:all .3s; position:relative; white-space:nowrap; }
.filter-btn::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--accent); transform:scaleX(0); transition:transform .35s var(--ease-expo); }
.filter-btn:hover { color:var(--text); }
.filter-btn.active { color:var(--accent); }
.filter-btn.active::after { transform:scaleX(1); }
.work-item { transition:opacity .4s ease,transform .4s var(--ease-expo),background .45s var(--ease-expo); }
.work-item.hidden { opacity:0; pointer-events:none; height:0; padding:0; border-bottom:none; overflow:hidden; }


/* ═══════════════════════════════════════════════
   BLOG SEARCH + FILTERS
═══════════════════════════════════════════════ */
.blog-search-bar { padding:40px 56px; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.blog-search-input-wrap { position:relative; flex:1; min-width:240px; max-width:420px; }
.blog-search-input-wrap svg { position:absolute; left:0; top:50%; transform:translateY(-50%); color:var(--muted); pointer-events:none; width:16px; height:16px; }
.blog-search-input { width:100%; background:transparent; border:none; border-bottom:1px solid var(--border); padding:10px 0 10px 28px; font-size:15px; font-family:var(--sans); color:var(--text); outline:none; transition:border-color .25s; font-weight:300; }
.blog-search-input::placeholder { color:var(--disabled); }
.blog-search-input:focus { border-color:var(--accent); }
.blog-cat-pills { display:flex; gap:8px; flex-wrap:wrap; }
.blog-cat-pill { padding:7px 18px; border:1px solid var(--border); border-radius:100px; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); cursor:pointer; background:none; font-family:var(--sans); transition:all .25s; }
.blog-cat-pill:hover { border-color:var(--accent); color:var(--text); }
.blog-cat-pill.active { border-color:var(--accent); color:var(--accent); background:rgba(45,226,230,.06); }
.blog-card.hidden { display:none; }
.blog-no-results { padding:48px 56px; text-align:center; color:var(--muted); font-size:15px; display:none; }
.blog-no-results.show { display:block; }


/* ═══════════════════════════════════════════════
   MOBILE UX IMPROVEMENTS
═══════════════════════════════════════════════ */
@media(hover:none) and (pointer:coarse) {
  .work-filter { padding:0 16px; gap:0; }
  .filter-btn { padding:14px 16px; font-size:9px; }
  .blog-search-bar { padding:20px 24px; }
  .pricing-toggle-wrap { padding:24px 24px 0; }
}

@media(max-width:1100px) {
  .work-filter { padding:0 24px; }
  .blog-search-bar { padding:20px 24px; }
  .pricing-toggle-wrap { padding:24px 24px 0; }
}

@media(max-width:600px) {
  .work-filter { padding:0 16px; }
  .filter-btn { padding:12px 14px; font-size:9px; }
  .blog-cat-pills { gap:6px; }
  .blog-cat-pill { font-size:10px; padding:5px 12px; }
  .blog-search-bar { padding:16px 16px; gap:16px; }
  .blog-search-input-wrap { max-width:100%; }
}

/* ── PREFERS REDUCED MOTION ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; }
  .reveal, .reveal-left, .reveal-right { transform: none !important; transition: opacity 0.3s ease !important; }
  .h1-line-inner { transform: none !important; transition: opacity 0.3s ease !important; }
}
