:root {
  --ink: #111522;
  --muted: #606779;
  --paper: #f6f8fb;
  --white: #fff;
  --line: rgba(17, 21, 34, .14);
  --emerald: #17cfa2;
  --violet: #785cff;
  --cyan: #7ee7f2;
  --lavender: #dcbfff;
  --font: "Manrope", sans-serif;
  --display: "Syne", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 16px/1.65 var(--font); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 8px 12px; background: white; transform: translateY(-150%); }
.skip-link:focus { transform: none; }

.site-header { height: 88px; padding: 0 clamp(22px, 5vw, 80px); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: rgba(246,248,251,.88); backdrop-filter: blur(18px); position: relative; z-index: 20; }
.brand { display: flex; align-items: center; gap: 11px; text-decoration: none; font-weight: 800; letter-spacing: -.04em; }
.brand-mark { width: 26px; height: 34px; display: inline-block; background: linear-gradient(145deg,var(--cyan),var(--violet) 60%,var(--lavender)); clip-path: polygon(50% 0,100% 28%,87% 78%,50% 100%,10% 76%,0 27%); box-shadow: inset 0 0 8px white; }
.nav { display: flex; align-items: center; gap: 30px; }
.nav a { text-decoration: none; font-weight: 600; font-size: .88rem; }
.nav a:hover { color: var(--violet); }
.nav-cta { border: 1px solid var(--ink); border-radius: 999px; padding: 9px 16px; }
.nav-toggle { display: none; border: 0; background: transparent; width: 42px; height: 42px; padding: 10px; }
.nav-toggle span:not(.sr-only) { display:block; height: 2px; background: var(--ink); margin: 6px 0; }

.hero { min-height: 720px; padding: 78px clamp(22px, 7vw, 110px); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); align-items: center; gap: 8vw; position: relative; overflow: hidden; background: radial-gradient(circle at 66% 25%, rgba(126,231,242,.25), transparent 28%), radial-gradient(circle at 85% 78%, rgba(120,92,255,.2), transparent 34%); }
.hero-copy { position: relative; z-index: 2; }
.eyebrow { margin: 0 0 20px; text-transform: uppercase; letter-spacing: .16em; font-size: .72rem; font-weight: 800; color: #556071; }
h1,h2,h3 { font-family: var(--display); line-height: 1.05; letter-spacing: -.045em; margin-top: 0; }
.hero h1 { max-width: 760px; font-size: clamp(3.7rem, 7.4vw, 8rem); margin-bottom: 30px; }
.hero-lead { max-width: 640px; font-size: clamp(1.06rem, 1.5vw, 1.35rem); color: #4d5565; }
.button-row { display: flex; align-items: center; flex-wrap: wrap; gap: 30px; margin-top: 38px; }
.btn { display: inline-flex; justify-content: center; align-items: center; min-height: 49px; border: 1px solid var(--ink); border-radius: 999px; padding: 12px 24px; background: var(--ink); color: white; text-decoration: none; font-weight: 700; cursor: pointer; position: relative; overflow: hidden; transition: .25s ease; }
.btn::before { content:""; position:absolute; inset:-10px; background: linear-gradient(110deg,transparent 20%,rgba(126,231,242,.65) 47%,rgba(220,191,255,.65) 52%,transparent 80%); transform:translateX(-120%); transition:.5s; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(75,69,145,.25); }
.btn:hover::before { transform:translateX(120%); }
.btn-ghost { color: var(--ink); background: transparent; }
.text-link { font-weight: 750; text-decoration: none; border-bottom: 1px solid var(--ink); }
.text-link span { margin-left: 5px; }
.hero-visual { margin: 0; position: relative; z-index: 2; transform: rotate(1.5deg); }
.hero-visual::before { content:""; position:absolute; inset:-20px 25px 35px -25px; z-index:-1; background: linear-gradient(135deg,rgba(255,255,255,.8),rgba(126,231,242,.2),rgba(120,92,255,.2)); border:1px solid rgba(255,255,255,.8); clip-path: polygon(17% 0,90% 6%,100% 75%,76% 100%,5% 89%,0 16%); backdrop-filter: blur(12px); }
.hero-visual img { width:100%; aspect-ratio: .82; object-fit:cover; clip-path: polygon(17% 0,90% 6%,100% 75%,76% 100%,5% 89%,0 16%); filter: saturate(.8) contrast(1.03); }
.hero-visual figcaption { max-width: 320px; margin: -22px 0 0 10%; padding: 16px 18px; position:relative; background:rgba(255,255,255,.84); border:1px solid white; box-shadow:0 18px 50px rgba(22,29,67,.12); backdrop-filter:blur(12px); font-size:.8rem; }
.hero-visual figcaption span { display:block; color:var(--violet); font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.hero-orbit { position:absolute; border:1px solid rgba(120,92,255,.2); border-radius:50%; pointer-events:none; }
.orbit-one { width:500px;height:500px;right:10%;top:9%; }
.orbit-two { width:740px;height:230px;right:-5%;top:36%;transform:rotate(-25deg); }

.signal-strip { min-height: 70px; display:flex; align-items:center; justify-content:space-around; flex-wrap:wrap; gap:20px; padding:18px 5vw; background:#121626; color:#dbe0ec; text-transform:uppercase; font-size:.68rem; letter-spacing:.14em; }
.signal-strip span::before { content:"✦"; color:var(--cyan); margin-right:12px; }
.section { padding: clamp(75px,10vw,145px) clamp(22px,7vw,110px); }
.split-heading { display:grid; grid-template-columns:1fr .8fr; gap:12vw; align-items:end; }
.split-heading h2,.service-callout h2,.newsletter h2,.methodology h2 { font-size:clamp(2.7rem,5vw,5.8rem); margin:0; }
.intro-copy { font-size:1.12rem; }
.intro-copy .text-link { display:inline-block; margin-top:20px; }
.feature-grid { padding-top:0; display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.feature { min-height:390px; padding:38px; border:1px solid var(--line); background:rgba(255,255,255,.52); display:flex; flex-direction:column; position:relative; overflow:hidden; }
.feature::after { content:""; position:absolute; width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(126,231,242,.23),transparent 65%);right:-80px;bottom:-70px; }
.feature-large { grid-row:span 2; min-height:798px; background:linear-gradient(145deg,#192032,#272547); color:white; justify-content:flex-end; }
.feature-large::before { content:""; position:absolute; width:75%;aspect-ratio:1;left:12%;top:9%;background:linear-gradient(140deg,rgba(126,231,242,.7),rgba(120,92,255,.65),rgba(220,191,255,.52));clip-path:polygon(50% 0,100% 31%,80% 100%,19% 85%,0 24%);box-shadow:inset 20px 20px 60px rgba(255,255,255,.35); }
.feature-number { position:absolute;top:30px;right:30px;font-family:var(--display);font-size:.8rem;opacity:.7; }
.tag { font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--violet); }
.feature-large .tag { color:var(--cyan); position:relative; }
.feature h3 { font-size:clamp(1.7rem,3vw,3.4rem);margin:10px 0 20px;position:relative; }
.feature p,.feature a { position:relative; }
.feature a { margin-top:auto;font-weight:750; }
.image-card { padding:0;display:grid;grid-template-columns:.9fr 1.1fr; }
.image-card img { height:100%;object-fit:cover; }
.image-card div { padding:35px;display:flex;flex-direction:column; }
.service-callout { margin:0 4vw 4vw;padding:clamp(60px,8vw,110px);display:grid;grid-template-columns:.2fr 1.3fr .7fr;gap:5vw;align-items:center;background:linear-gradient(120deg,rgba(255,255,255,.83),rgba(221,242,245,.82),rgba(229,218,255,.7));border:1px solid white;box-shadow:0 25px 80px rgba(39,44,78,.1); }
.crystal-shard { width:100%;aspect-ratio:.7;background:linear-gradient(160deg,var(--cyan),var(--violet));clip-path:polygon(50% 0,100% 35%,70% 100%,10% 77%,0 22%);opacity:.78; }
.service-callout p { max-width:480px; }
.service-callout .btn { margin-top:20px; }
.newsletter { display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:#151929;color:white; }
.newsletter .eyebrow { color:var(--cyan); }
.signup-form { align-self:center; }
.signup-form label:first-child { display:block;margin-bottom:9px;font-size:.82rem;font-weight:700; }
.input-row { display:flex; }
.input-row input { flex:1;min-width:0;padding:15px 18px;background:transparent;border:0;border-bottom:1px solid #7d8394;color:white;outline:0; }
.input-row input:focus { border-color:var(--cyan); }
.input-row .btn { border-color:white;border-radius:0;background:white;color:var(--ink); }
.check { display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-size:.74rem;color:#aeb5c5; }
.check input { margin-top:4px;accent-color:var(--violet); }
.form-message { min-height:1.5em;margin:14px 0 0;font-weight:700;font-size:.85rem; }
.form-message.error { color:#d95151; }
.form-message.success { color:#0f9b74; }

.page-hero { padding:clamp(85px,12vw,165px) clamp(22px,9vw,145px);border-bottom:1px solid var(--line);background:radial-gradient(circle at 75% 35%,rgba(126,231,242,.23),transparent 27%); }
.page-hero h1 { font-size:clamp(3.5rem,8vw,8.5rem);margin:0;max-width:1100px; }
.page-hero>p:last-child { max-width:650px;margin:35px 0 0;font-size:1.2rem;color:var(--muted); }
.offer-list { padding-top:40px; }
.offer-list>article { display:grid;grid-template-columns:.15fr 1fr .45fr;gap:5vw;padding:65px 0;border-bottom:1px solid var(--line); }
.offer-index { font-family:var(--display);color:var(--violet); }
.offer-list h2 { font-size:clamp(2rem,4vw,4rem);margin:10px 0 25px; }
.offer-list li { margin:8px 0; }
.offer-meta { display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding-top:38px; }
.offer-meta span { color:var(--muted);font-size:.86rem; }
.offer-meta a { margin-top:28px; }
.proof-quote { text-align:center;background:linear-gradient(135deg,#191d30,#29214d);color:white; }
.proof-quote blockquote { max-width:950px;margin:0 auto 30px;font:clamp(2rem,4vw,4.5rem)/1.16 var(--display);letter-spacing:-.04em; }
.article-lead { display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center; }
.article-lead img { aspect-ratio:1.1;object-fit:cover;clip-path:polygon(0 8%,90% 0,100% 88%,12% 100%); }
.article-lead h2 { font-size:clamp(2.4rem,5vw,5.5rem); }
.article-grid { padding-top:20px;display:grid;grid-template-columns:1fr 1fr; }
.article-grid article { min-height:350px;padding:45px;border:1px solid var(--line);margin:-1px 0 0 -1px;display:flex;flex-direction:column; }
.article-grid h2 { font-size:clamp(1.8rem,3vw,3.1rem); }
.article-grid span { margin-top:auto;color:var(--muted);font-size:.8rem; }
.trend-board { display:grid;grid-template-columns:1fr 1fr;gap:18px; }
.trend-board article { padding:50px;background:white;border:1px solid rgba(255,255,255,.9);box-shadow:0 20px 60px rgba(27,35,71,.07); }
.trend-board article>span { font-family:var(--display);font-size:3rem;color:#d8dce5; }
.trend-board h2 { font-size:clamp(2rem,3.5vw,3.6rem); }
.meter { height:3px;background:#e7e8ed;margin:35px 0 12px; }
.meter i { display:block;height:100%;background:linear-gradient(90deg,var(--emerald),var(--violet)); }
.trend-board small { color:var(--muted); }
.methodology { display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:center; }
.methodology .btn { margin-top:28px; }
.contact-layout { min-height:calc(100vh - 88px);display:grid;grid-template-columns:.8fr 1.2fr; }
.contact-intro { padding:clamp(70px,9vw,135px) clamp(22px,7vw,110px);background:linear-gradient(145deg,#171c30,#292452);color:white;position:relative;overflow:hidden; }
.contact-intro::after { content:"";position:absolute;width:400px;height:400px;right:-180px;bottom:-130px;background:linear-gradient(140deg,var(--cyan),var(--violet));clip-path:polygon(50% 0,100% 30%,82% 100%,10% 79%,0 18%);opacity:.35; }
.contact-intro .eyebrow { color:var(--cyan); }
.contact-intro h1 { font-size:clamp(3rem,6vw,6.5rem); }
.contact-intro>p { max-width:550px;color:#c5cada;font-size:1.05rem; }
.contact-intro address { margin:70px 0 20px;font-style:normal;color:#c5cada;max-width:340px; }
.contact-form { padding:clamp(70px,9vw,135px) clamp(22px,7vw,110px);display:grid;grid-template-columns:1fr 1fr;gap:28px;align-content:center; }
.field { display:flex;flex-direction:column;gap:8px; }
.field-full { grid-column:1/-1; }
.field label { font-weight:750;font-size:.82rem; }
.field label span { color:var(--muted);font-weight:400; }
.field input,.field select,.field textarea { width:100%;padding:13px 4px;border:0;border-bottom:1px solid #aeb3c0;background:transparent;outline:0;border-radius:0; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--violet);box-shadow:0 1px var(--violet); }
.field [aria-invalid=true] { border-color:#c93e52; }
.form-submit { display:flex;align-items:center;gap:20px; }
.form-submit .form-message { margin:0; }
.legal-page { max-width:1050px;margin:auto;padding:clamp(75px,10vw,150px) 24px; }
.legal-page header { padding-bottom:55px;border-bottom:1px solid var(--line); }
.legal-page h1 { font-size:clamp(3rem,7vw,7rem); }
.legal-page header>p { max-width:700px;font-size:1.18rem;color:var(--muted); }
.legal-content { max-width:760px;margin:70px auto; }
.legal-content section { margin:0 0 45px; }
.legal-content h2 { font-size:1.65rem; }
.legal-contact { max-width:760px;margin:auto;padding-top:30px;border-top:1px solid var(--line); }
.not-found { min-height:75vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px 20px;position:relative;overflow:hidden; }
.error-code { position:absolute;font:clamp(12rem,35vw,38rem)/1 var(--display);color:rgba(120,92,255,.06); }
.not-found>*:not(.error-code) { position:relative; }
.not-found h1 { font-size:clamp(3rem,7vw,7rem);margin-bottom:20px; }
.not-found .btn { margin-top:20px; }

.site-footer { padding:75px clamp(22px,7vw,110px) 30px;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:5vw;background:#0f1321;color:#d9deea; }
.site-footer h2 { font:800 .72rem var(--font);text-transform:uppercase;letter-spacing:.13em;color:#81899b; }
.site-footer div:not(.footer-intro) { display:flex;flex-direction:column;gap:8px; }
.site-footer a { text-decoration:none; }
.site-footer address { font-style:normal;color:#9ca4b6; }
.footer-intro p { max-width:300px;color:#9ca4b6; }
.copyright { grid-column:1/-1;padding-top:35px;border-top:1px solid #292e3e;color:#737c8f;font-size:.78rem; }
.cookie-banner { position:fixed;z-index:50;left:20px;right:20px;bottom:20px;max-width:900px;margin:auto;padding:20px 24px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;background:rgba(19,24,41,.96);border:1px solid rgba(126,231,242,.3);box-shadow:0 25px 80px rgba(0,0,0,.35);backdrop-filter:blur(18px);color:white; }
.cookie-banner[hidden] { display:none; }
.cookie-banner p { margin:3px 0;color:#b9c0cf;font-size:.82rem; }
.cookie-actions { display:flex;gap:10px; }
.cookie-actions .btn { border-color:white;min-height:42px;padding:8px 18px; }
.cookie-banner .inline-error { grid-column:1/-1;color:#ffbbc5; }

@media (max-width: 900px) {
  .nav-toggle { display:block; }
  .nav { display:none;position:absolute;left:0;right:0;top:88px;padding:25px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch; }
  .nav.open { display:flex; }
  .nav-cta { text-align:center; }
  .hero { grid-template-columns:1fr;padding-top:65px; }
  .hero-visual { max-width:600px;margin:auto; }
  .split-heading,.service-callout,.newsletter,.methodology { grid-template-columns:1fr; }
  .feature-grid { grid-template-columns:1fr; }
  .feature-large { min-height:680px;grid-row:auto; }
  .service-callout { grid-template-columns:.25fr 1fr; }
  .service-callout>div:last-child { grid-column:1/-1; }
  .offer-list>article { grid-template-columns:.1fr 1fr; }
  .offer-meta { grid-column:2; }
  .article-lead,.contact-layout { grid-template-columns:1fr; }
  .trend-board { grid-template-columns:1fr; }
  .site-footer { grid-template-columns:1fr 1fr; }
}

@media (max-width: 560px) {
  .site-header { height:74px; }
  .nav { top:74px; }
  .hero { min-height:auto;padding-bottom:90px; }
  .hero h1 { font-size:3.6rem; }
  .hero-visual figcaption { margin-top:-10px; }
  .signal-strip { justify-content:flex-start; }
  .split-heading h2,.service-callout h2,.newsletter h2 { font-size:2.7rem; }
  .feature { padding:28px;min-height:340px; }
  .feature-large { min-height:560px; }
  .image-card { grid-template-columns:1fr; }
  .image-card img { height:230px;width:100%; }
  .service-callout { margin:0;padding:70px 24px;grid-template-columns:1fr; }
  .crystal-shard { width:80px; }
  .service-callout>div:last-child { grid-column:auto; }
  .offer-list>article { grid-template-columns:1fr;gap:0; }
  .offer-meta { grid-column:auto; }
  .article-grid { grid-template-columns:1fr; }
  .article-grid article { padding:30px; }
  .trend-board article { padding:32px 25px; }
  .contact-form { grid-template-columns:1fr; }
  .field { grid-column:1; }
  .form-submit { align-items:flex-start;flex-direction:column; }
  .site-footer { grid-template-columns:1fr; }
  .cookie-banner { left:10px;right:10px;bottom:10px;grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none !important; }
}
