﻿:root {
      --ink: #0b0d17;
      --ink-2: #111323;
      --ink-3: #171225;
      --cream: #fff7ea;
      --cream-soft: rgba(255, 247, 234, .76);
      --muted: rgba(255, 247, 234, .66);
      --gold: #d8b974;
      --gold-bright: #f0d999;
      --gold-soft: rgba(216, 185, 116, .18);
      --gold-line: rgba(216, 185, 116, .42);
      --violet: #22172f;
      --plum: #321b35;
      --surface: rgba(15, 16, 29, .74);
      --surface-strong: rgba(20, 20, 35, .92);
      --line: rgba(216, 185, 116, .26);
      --line-strong: rgba(240, 217, 153, .52);
      --shadow: 0 28px 80px rgba(0, 0, 0, .42);
      --radius: 8px;
      --radius-lg: 10px;
      --max: 1120px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 94px; }
    body {
      margin: 0;
      min-height: 100vh;
      overflow-x: hidden;
      color: var(--cream);
      font-family: Georgia, "Times New Roman", serif;
      line-height: 1.72;
      background:
        radial-gradient(circle at 18% 12%, rgba(86, 45, 88, .42), transparent 34rem),
        radial-gradient(circle at 80% 18%, rgba(23, 28, 56, .7), transparent 32rem),
        linear-gradient(140deg, #070913 0%, #111322 42%, #1c1428 72%, #090a12 100%);
    }

    body::before,
    body::after {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      z-index: -1;
    }

    body::before {
      opacity: .32;
      background-image:
        linear-gradient(var(--gold-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--gold-line) 1px, transparent 1px),
        radial-gradient(circle, rgba(240, 217, 153, .9) 0 1px, transparent 1.6px);
      background-size: 160px 160px, 160px 160px, 96px 96px;
      background-position: -32px -76px, -32px -76px, 18px 24px;
      mask-image: linear-gradient(to bottom, black 0%, rgba(0,0,0,.85) 45%, transparent 100%);
    }

    body::after {
      background:
        linear-gradient(to bottom, rgba(5, 7, 13, .25), rgba(5, 7, 13, .86)),
        repeating-linear-gradient(105deg, transparent 0 15px, rgba(255,255,255,.018) 16px 17px);
    }

    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; height: auto; }
    p { margin: 0; color: var(--cream-soft); }
    strong { color: var(--cream); font-weight: 700; }
    ul { margin: 0; padding: 0; }

    .skip-link {
      position: absolute;
      top: -4rem;
      left: 1rem;
      z-index: 100;
      padding: .75rem 1rem;
      border: 1px solid var(--gold);
      border-radius: 999px;
      color: var(--ink);
      background: var(--gold-bright);
      transition: top .2s ease;
    }
    .skip-link:focus { top: 1rem; }

    .wrap { width: min(100% - 32px, var(--max)); margin: 0 auto; }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 50;
      border-bottom: 1px solid var(--line);
      background: rgba(8, 9, 18, .78);
      backdrop-filter: blur(18px);
      box-shadow: 0 14px 40px rgba(0, 0, 0, .22);
    }

    .nav {
      position: relative;
      min-height: 78px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: .75rem;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: .8rem;
      color: var(--cream);
      font-size: 1.08rem;
      letter-spacing: .08em;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .brand-mark {
      width: 36px;
      height: 36px;
      display: grid;
      place-items: center;
      color: var(--gold-bright);
      border: 1px solid var(--gold-line);
      border-radius: 50%;
      background: radial-gradient(circle, rgba(216,185,116,.22), transparent 62%);
      box-shadow: inset 0 0 0 8px rgba(216,185,116,.05);
    }
    .brand-mark img {
      width: 22px;
      height: 22px;
      display: block;
      object-fit: contain;
    }

    .nav-links {
      display: none;
      align-items: center;
      gap: .72rem;
      color: var(--muted);
      font-size: .9rem;
      letter-spacing: .055em;
      text-transform: uppercase;
      white-space: nowrap;
    }
    .nav-links a { white-space: nowrap; border-bottom: 1px solid transparent; transition: color .2s ease, border-color .2s ease; }
    .nav-links a:hover, .nav-links a:focus-visible { color: var(--gold-bright); border-color: var(--gold); }
    .nav-links .mobile-menu-cta { display: none !important; }

    .menu-toggle {
      display: none;
      align-items: center;
      justify-content: center;
      gap: .55rem;
      min-height: 42px;
      padding: .62rem .9rem .56rem;
      color: var(--cream);
      border: 1px solid var(--gold-line);
      border-radius: 999px;
      background: rgba(255, 247, 234, .04);
      font: inherit;
      font-size: .96rem;
      line-height: 1;
      letter-spacing: .1em;
      text-transform: uppercase;
      cursor: pointer;
    }
    .menu-toggle-icon {
      width: 1rem;
      display: grid;
      gap: .22rem;
    }
    .menu-toggle-icon span {
      display: block;
      height: 1px;
      background: var(--gold-bright);
    }

    .btn {
      min-height: 46px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      gap: .55rem;
      padding: .82rem 1.15rem .74rem;
      border: 1px solid transparent;
      border-radius: 999px;
      font-size: 1.04rem;
      line-height: 1.15;
      letter-spacing: .12em;
      text-transform: uppercase;
      transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
    }
    .btn:hover, .btn:focus-visible { transform: translateY(-2px); }
    .btn-primary {
      color: #100d12;
      background: linear-gradient(135deg, #f4e1aa, #c89f4e);
      border-color: rgba(255, 247, 234, .45);
      box-shadow: 0 18px 42px rgba(216, 185, 116, .24);
    }
    .btn-primary:hover, .btn-primary:focus-visible { box-shadow: 0 24px 58px rgba(216, 185, 116, .32); }
    .btn-secondary {
      color: var(--cream);
      background: rgba(255, 247, 234, .04);
      border-color: var(--gold-line);
    }
    .btn-secondary:hover, .btn-secondary:focus-visible { color: var(--gold-bright); background: rgba(216,185,116,.09); border-color: var(--gold-bright); }
    .nav-cta {
      display: none;
      flex: 0 0 auto;
      min-height: 40px;
      padding: .68rem .82rem .62rem;
      font-size: .86rem;
      letter-spacing: .075em;
      white-space: nowrap;
    }

    section { position: relative; padding: 5.4rem 0; }
    section::before {
      content: "";
      position: absolute;
      left: max(1rem, calc((100vw - var(--max)) / 2));
      right: max(1rem, calc((100vw - var(--max)) / 2));
      top: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold-line), transparent);
      opacity: .72;
    }
    .hero-birth-map {
      background-image: url("mapa_horoskop.png");
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
    }

    .hero {
      min-height: auto;
      display: grid;
      align-items: center;
      padding: 5.4rem 0;
      overflow: hidden;
    }
    .hero::before {
      content: "";
      position: absolute;
      width: min(34vw, 430px);
      aspect-ratio: 1;
      right: 4vw;
      bottom: -9rem;
      border: 1px solid rgba(216,185,116,.18);
      border-radius: 50%;
      background: radial-gradient(circle, transparent 0 58%, rgba(216,185,116,.12) 58.2% 58.8%, transparent 59%);
      opacity: .3;
    }
    .hero::after {
      content: "";
      position: absolute;
      right: 8vw;
      top: 8rem;
      width: min(18vw, 210px);
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(216,185,116,.55), transparent);
      opacity: .55;
    }
    .hero.hero-solar {
      min-height: clamp(620px, 82vh, 860px);
      isolation: isolate;
      --hero-parallax-extra: clamp(260px, 32vw, 520px);
    }
    .hero-solar::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      width: auto;
      aspect-ratio: auto;
      right: auto;
      bottom: auto;
      border: 0;
      border-radius: 0;
      background:
        linear-gradient(90deg, rgba(7, 9, 19, .96) 0%, rgba(9, 10, 20, .84) 42%, rgba(9, 10, 20, .46) 100%),
        linear-gradient(to bottom, rgba(7, 9, 19, .18), rgba(7, 9, 19, .82));
      opacity: 1;
    }
    .hero-solar::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: auto;
      bottom: 0;
      z-index: 1;
      width: auto;
      height: 34%;
      background: linear-gradient(to bottom, transparent, rgba(7, 9, 19, .92));
      opacity: 1;
    }
    .hero-parallax-image {
      position: absolute;
      top: 50%;
      left: 50%;
      z-index: 0;
      width: max(100vw, 100%);
      height: calc(100% + var(--hero-parallax-extra));
      max-width: none;
      object-fit: cover;
      opacity: .72;
      pointer-events: none;
      will-change: transform;
      transform: translate3d(-50%, -50%, 0);
    }
    .hero-gift-map {
      min-height: clamp(620px, 82vh, 860px);
      isolation: isolate;
    }
    .hero-gift-map-image {
      position: absolute;
      inset: 0;
      z-index: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: .3;
      pointer-events: none;
    }
    .hero-gift-map .hero-grid {
      z-index: 1;
    }
    @keyframes rotate { to { transform: rotate(360deg); } }

    .hero-grid {
      position: relative;
      z-index: 2;
      display: grid;
      gap: clamp(3.2rem, 6vw, 6rem);
      align-items: center;
    }

    .hero .reveal:first-child {
      max-width: 720px;
      padding: 2rem 0;
    }

    .hero-visual {
      display: block;
    }
    .hero-diagram {
      width: 100%;
      height: auto;
      display: block;
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      background: rgba(255, 247, 234, .04);
      box-shadow: var(--shadow);
    }
    .hero-diagram-unframed {
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
    }
    .hero-diagram-solar-main {
      width: 150%;
      max-width: none;
      margin-left: -25%;
      opacity: .7;
    }

    .eyebrow, .section-kicker {
      display: inline-flex;
      align-items: center;
      gap: .72rem;
      margin-bottom: 1.05rem;
      color: var(--gold-bright);
      font-size: 1rem;
      letter-spacing: .24em;
      text-transform: uppercase;
    }
    .eyebrow::before, .section-kicker::before,
    .eyebrow::after, .section-kicker::after {
      content: "";
      width: 42px;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold));
    }
    .eyebrow::after, .section-kicker::after { background: linear-gradient(90deg, var(--gold), transparent); }

    h1, h2, h3 {
      margin: 0;
      color: var(--cream);
      font-family: Georgia, "Times New Roman", serif;
      font-weight: 400;
      letter-spacing: 0;
      line-height: .98;
    }
    h1 {
      max-width: 760px;
      font-size: clamp(1.9rem, 4.2vw, 3.9rem);
      text-shadow: 0 18px 42px rgba(0, 0, 0, .42);
    }
    h2 { font-size: clamp(1.9rem, 4.2vw, 3.9rem); }
    h3 { font-size: clamp(1.45rem, 2.4vw, 2.1rem); line-height: 1.1; }

    .hero-lead {
      max-width: 720px;
      margin-top: 1rem;
      color: var(--cream);
      font-size: clamp(1.28rem, 2vw, 1.62rem);
      line-height: 1.42;
    }
    .lead-break { display: block; margin-top: .7rem; color: var(--cream-soft); }
    .hero-copy {
      max-width: 660px;
      margin-top: 1rem;
      color: var(--muted);
      font-size: 1.12rem;
    }
    .hero-copy-break {
      display: block;
      margin-top: .35rem;
    }
    .hero-actions, .pricing-actions {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: .82rem;
      margin-top: 1.7rem;
    }

    .section-head { max-width: 980px; }
    .section-head + .grid, .section-head + .card, .section-head + .faq, .section-head + .text-card { margin-top: 2rem; }
    .section-copy, .section-subtitle {
      max-width: 980px;
      margin-top: .7rem;
      color: var(--cream-soft);
      font-size: clamp(1.28rem, 2vw, 1.62rem);
      line-height: 1.42;
    }
    .section-subtitle { color: var(--gold-bright); font-style: italic; }

    .grid { display: grid; gap: 1rem; }
    .split { display: grid; gap: 2rem; align-items: start; }

    .card, .pricing-card, .quote-panel, .final-cta {
      position: relative;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      background:
        linear-gradient(145deg, rgba(255,247,234,.07), rgba(255,247,234,.025)),
        rgba(12, 13, 24, .72);
      box-shadow: var(--shadow), inset 0 0 0 1px rgba(255,255,255,.035);
    }
    .card::before, .pricing-card::before, .final-cta::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(135deg, rgba(216,185,116,.22), transparent 22%),
        radial-gradient(circle at 100% 0%, rgba(87,45,91,.28), transparent 28rem);
      opacity: .78;
    }
    .card > *, .pricing-card > *, .final-cta > * { position: relative; z-index: 1; }
    .card { padding: 1.45rem; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
    .card:hover { transform: translateY(-3px); border-color: var(--line-strong); background-color: rgba(16, 17, 31, .86); }
    .card p { margin-top: .85rem; }
    .card p + p { margin-top: .7rem; }
    .testimonial-meta {
      margin-top: .3rem;
      color: var(--gold-bright);
      font-size: .92rem;
      font-style: italic;
      letter-spacing: .02em;
    }

    .icon {
      width: 44px;
      height: 44px;
      display: grid;
      place-items: center;
      margin-bottom: 1rem;
      color: var(--gold-bright);
      border: 1px solid var(--gold-line);
      border-radius: 50%;
      background: rgba(216,185,116,.08);
    }
    .icon img {
      width: 26px;
      height: 26px;
      display: block;
      object-fit: contain;
    }

    .text-card { padding: clamp(1.35rem, 3vw, 2.1rem); }
    .text-card h3 { margin-bottom: 1rem; }
    .text-card .feature-list { margin-top: 1rem; }

    .feature-list { display: grid; gap: .82rem; list-style: none; }
    .feature-list li { display: grid; grid-template-columns: auto 1fr; gap: .75rem; color: var(--cream-soft); }
    .check {
      width: 1.45rem;
      height: 1.45rem;
      display: inline-grid;
      place-items: center;
      margin-top: .15rem;
      color: var(--ink);
      border-radius: 50%;
      background: var(--gold-bright);
      font-size: 1.03rem;
      line-height: 1;
    }

    .step { counter-increment: step; padding-top: 4.35rem; }
    .step::before {
      content: counter(step, decimal-leading-zero);
      position: absolute;
      top: 1.2rem;
      left: 1.35rem;
      color: rgba(240,217,153,.42);
      font-size: 2.6rem;
      line-height: 1;
      font-style: italic;
    }
    #proces .grid { counter-reset: step; }

    .inline-link { color: var(--gold-bright); border-bottom: 1px solid var(--gold-line); }
    .payment-note, .mini-note {
      margin-top: 1rem;
      color: var(--muted);
      font-size: 1.04rem;
      font-style: italic;
    }
    .sample-quote {
      margin: 1.1rem 0 0;
      padding: 1rem 0 0 1.1rem;
      border-left: 2px solid var(--gold);
      color: var(--cream-soft);
      font-size: 1.08rem;
      font-style: italic;
    }
    .sample-image {
      width: 100%;
      height: auto;
      display: block;
      margin: 0 0 1.2rem;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255, 247, 234, .04);
    }
    .sample-action {
      margin-top: 1.2rem;
    }
    .btn-nowrap {
      width: auto;
      white-space: nowrap;
    }
    #solariusz .pricing-actions .btn,
    .sample-action .btn {
      min-height: 40px;
      padding: .68rem .82rem .62rem;
      font-size: .86rem;
      line-height: 1;
      letter-spacing: .075em;
    }
    .keyword-line {
      margin-top: 1rem;
      color: var(--muted);
      font-size: 1rem;
    }
    .solar-highlight {
      margin-top: 1.2rem !important;
      padding-top: 1rem;
      border-top: 1px solid var(--line);
      color: var(--cream);
      font-size: 1.12rem;
      font-style: italic;
    }

    .pricing-card {
      max-width: 820px;
      margin: 0 auto;
      padding: clamp(1.6rem, 4vw, 3rem);
      text-align: center;
    }
    .price {
      margin-top: .8rem;
      color: var(--gold-bright);
      font-size: clamp(5rem, 16vw, 9rem);
      line-height: .9;
      text-shadow: 0 16px 44px rgba(0,0,0,.34);
    }
    .price span { font-size: .23em; color: var(--cream-soft); }
    .price-sub { max-width: 620px; margin: 1rem auto 0; color: var(--cream-soft); }

    .guarantee { max-width: 900px; margin: 0 auto; padding: clamp(1.4rem, 3vw, 2.2rem); }

    .media-band {
      padding: 1.2rem 0 0;
    }
    .media-band::before {
      display: none;
    }
    .parallax-frame {
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      background: rgba(255, 247, 234, .04);
      box-shadow: var(--shadow), inset 0 0 0 1px rgba(255,255,255,.035);
      overflow: visible;
    }
    .parallax-image {
      width: 100%;
      height: auto;
      display: block;
      border-radius: var(--radius-lg);
      object-fit: contain;
      will-change: transform;
      transform: translate3d(0, 0, 0);
      transition: transform .04s linear;
    }
    .about-photo {
      width: min(80%, 336px);
      height: auto;
      display: block;
      margin-top: 1.4rem;
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      background: rgba(255, 247, 234, .04);
      box-shadow: var(--shadow);
    }

    .faq { display: grid; gap: .7rem; }
    .faq-item {
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(10, 11, 20, .66);
      overflow: hidden;
    }
    .faq-button {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      padding: 1rem 1.1rem;
      color: var(--cream);
      border: 0;
      background: transparent;
      font: inherit;
      font-size: 1.08rem;
      text-align: left;
      cursor: pointer;
    }
    .faq-button span:last-child {
      width: 1.7rem;
      height: 1.7rem;
      display: grid;
      place-items: center;
      flex: 0 0 auto;
      color: var(--gold-bright);
      border: 1px solid var(--gold-line);
      border-radius: 50%;
      transition: transform .2s ease;
    }
    .faq-button[aria-expanded="true"] span:last-child { transform: rotate(45deg); }
    .faq-panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .22s ease; }
    .faq-panel[aria-hidden="false"] { grid-template-rows: 1fr; }
    .faq-panel > div { overflow: hidden; }
    .faq-panel p { padding: 0 1.1rem 1rem; color: var(--cream-soft); }

    .final-cta {
      padding: clamp(1.6rem, 4vw, 3rem);
      text-align: center;
    }
    .final-cta p { max-width: 760px; margin: 1rem auto 0; }
    .final-cta .pricing-actions { justify-content: center; }

    footer {
      border-top: 1px solid var(--line);
      padding: 2rem 0;
      color: var(--muted);
      background: rgba(5, 6, 12, .76);
    }
    .footer-grid { display: flex; flex-direction: column; gap: 1rem; }
    .footer-links { display: flex; flex-wrap: wrap; gap: 1rem; }
    .footer-contact { color: var(--cream-soft); }
    .footer-links a { border-bottom: 1px solid transparent; transition: color .2s ease, border-color .2s ease; }
    .footer-links a:hover, .footer-links a:focus-visible,
    .footer-contact a:hover, .footer-contact a:focus-visible { color: var(--gold-bright); border-color: var(--gold-line); }
    .footer-contact a { color: var(--gold-bright); border-bottom: 1px solid var(--gold-line); }

    .reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
    .reveal.visible { opacity: 1; transform: translateY(0); }
    .delay-1 { transition-delay: .08s; }
    .delay-2 { transition-delay: .16s; }
    .delay-3 { transition-delay: .24s; }

    @media (min-width: 700px) {
      .hero-actions, .pricing-actions { flex-direction: row; align-items: center; }
      .pricing-card .pricing-actions, .final-cta .pricing-actions { justify-content: center; }
      .grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .footer-grid { flex-direction: row; align-items: center; justify-content: space-between; }
    }

    @media (min-width: 940px) {
      .nav-links, .nav-cta { display: inline-flex; }
      .brand { font-size: .98rem; letter-spacing: .055em; }
      .hero-grid { grid-template-columns: minmax(0, .95fr) minmax(320px, .7fr); }
      .hero-visual { display: block; }
      .split { grid-template-columns: .82fr 1.18fr; gap: 3rem; }
      .about-split {
        align-items: stretch;
      }
      .about-split .section-head {
        display: flex;
        flex-direction: column;
      }
      .about-split .about-photo {
        margin-top: auto;
      }
      section { padding: 6.4rem 0; }
      .hero { padding: 6.4rem 0; }
    }

    @media (min-width: 940px) and (max-width: 1120px) {
      .nav-links {
        gap: .5rem;
        font-size: .78rem;
        letter-spacing: .035em;
      }

      .nav-cta {
        min-height: 38px;
        padding: .62rem .68rem .56rem;
        font-size: .76rem;
        letter-spacing: .055em;
      }

      .brand {
        gap: .55rem;
        font-size: .86rem;
        letter-spacing: .035em;
      }

      .brand-mark {
        width: 31px;
        height: 31px;
      }
    }

    @media (max-width: 980px) {
      .hero { min-height: auto; }
      .hero.hero-solar { min-height: clamp(560px, 86vh, 760px); }
      .hero-visual { display: block; }
      .hero-diagram { max-width: 560px; margin: 0 auto; }
      .hero-diagram-solar-main {
        width: 100%;
        max-width: 560px;
        margin-left: auto;
        margin-right: auto;
      }
    }

    @media (max-width: 939px) {
      .menu-toggle { display: inline-flex; }
      .site-header.menu-open .nav-links {
        position: absolute;
        top: calc(100% + 1px);
        left: 0;
        right: 0;
        display: grid !important;
        gap: .85rem;
        padding: 1rem;
        border: 1px solid var(--line);
        border-top: 0;
        border-radius: 0 0 var(--radius-lg) var(--radius-lg);
        background: rgba(8, 9, 18, .96);
        box-shadow: 0 24px 60px rgba(0, 0, 0, .42);
        backdrop-filter: blur(18px);
      }
      .site-header.menu-open .nav-links a {
        padding: .35rem 0;
      }
      .site-header.menu-open .nav-links .mobile-menu-cta {
        display: inline-flex !important;
        margin-top: .25rem;
      }
    }

    @media (max-width: 640px) {
      .wrap { width: min(100% - 24px, var(--max)); }
      .nav { min-height: 70px; gap: .5rem; }
      .brand {
        min-width: 0;
        gap: .55rem;
        font-size: .92rem;
        letter-spacing: .035em;
      }
      .brand-mark { width: 32px; height: 32px; }
      .menu-toggle {
        flex: 0 0 auto;
        padding: .56rem .72rem .5rem;
        font-size: .78rem;
        letter-spacing: .06em;
      }
      section { padding: 4.2rem 0; }
      .hero { padding: 4.2rem 0; }
      .hero .reveal:first-child {
        max-width: 100%;
        padding: 0;
      }
      .section-head {
        max-width: 100%;
      }
      .section-copy, .section-subtitle {
        max-width: 100%;
      }
      h1 {
        max-width: 100%;
        font-size: clamp(1.72rem, 8.4vw, 2.8rem);
        line-height: .96;
        overflow-wrap: break-word;
      }
      h2 { font-size: clamp(1.72rem, 8.4vw, 2.8rem); }
      h2, .hero-lead, .hero-copy, .section-copy, .section-subtitle {
        overflow-wrap: break-word;
      }
      .hero-lead {
        margin-top: .85rem;
        font-size: clamp(1.2rem, 5.4vw, 1.4rem);
        line-height: 1.38;
      }
      .lead-break {
        margin-top: .65rem;
      }
      .hero-copy {
        margin-top: 1rem;
        font-size: 1.06rem;
        line-height: 1.52;
      }
      .section-copy, .section-subtitle {
        font-size: clamp(1.2rem, 5.4vw, 1.4rem);
        line-height: 1.38;
      }
      .hero-actions {
        margin-top: 1.25rem;
        gap: .7rem;
      }
      .btn { width: 100%; }
      .btn-nowrap {
        width: 100%;
        white-space: normal;
      }
      .sample-action .btn { font-size: .78rem; }
      .pricing-actions, .hero-actions { flex-direction: column; align-items: stretch; }
      .eyebrow::before, .section-kicker::before, .eyebrow::after, .section-kicker::after { width: 24px; }
      .about-photo {
        width: min(80%, 336px);
        margin-top: 1.4rem;
      }
    }

    @media (max-width: 380px) {
      .wrap { width: min(100% - 20px, var(--max)); }
      .brand { font-size: .78rem; letter-spacing: .025em; }
      .brand { gap: .55rem; }
      .menu-toggle { padding-left: .58rem; padding-right: .58rem; font-size: .7rem; }
      h1 { font-size: clamp(1.58rem, 8.05vw, 2.2rem); }
      .hero-lead { font-size: 1.12rem; }
      .hero-copy { font-size: 1rem; }
      .section-copy, .section-subtitle { font-size: 1.12rem; }
      .btn {
        min-height: 44px;
        font-size: .98rem;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation: none !important; transition: none !important; }
      .reveal { opacity: 1; transform: none; }
    }

.cookie-banner {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 200;
      padding: .7rem;
      color: var(--cream);
      animation: cookie-slide-up .28s ease both;
    }

    .cookie-banner[hidden] { display: none; }

    .cookie-banner__content {
      width: min(100% - 16px, var(--max));
      margin: 0 auto;
      display: grid;
      gap: .7rem;
      padding: clamp(.72rem, 1.4vw, 1rem);
      border: 1px solid var(--line-strong);
      border-radius: var(--radius-lg);
      background:
        linear-gradient(145deg, rgba(255,247,234,.09), rgba(255,247,234,.035)),
        rgba(10, 11, 20, .96);
      box-shadow: 0 22px 70px rgba(0, 0, 0, .58), inset 0 0 0 1px rgba(255,255,255,.04);
      backdrop-filter: blur(18px);
    }

    .cookie-banner__text h2 {
      margin: 0 0 .28rem;
      font-size: clamp(1.18rem, 1.6vw, 1.55rem);
      line-height: 1.08;
    }

    .cookie-banner__text p {
      max-width: 820px;
      font-size: 1rem;
      line-height: 1.36;
    }

    .cookie-banner__text .inline-link {
      display: inline-block;
      margin-top: .4rem;
    }

    .cookie-options {
      display: grid;
      gap: .65rem;
    }

    .cookie-option {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: .8rem;
      align-items: center;
      padding: .68rem;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255, 247, 234, .04);
    }

    .cookie-option strong {
      display: block;
      line-height: 1.2;
    }

    .cookie-option small {
      display: block;
      margin-top: .25rem;
      color: var(--muted);
      font-size: 1rem;
      line-height: 1.35;
    }

    .cookie-option input {
      width: 1.25rem;
      height: 1.25rem;
      accent-color: var(--gold-bright);
    }

    .cookie-option--locked {
      opacity: .82;
    }

    .cookie-actions {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: .55rem;
    }

    .cookie-action {
      width: 100%;
      min-width: 0;
      min-height: 42px;
      padding: .62rem .75rem .56rem;
      white-space: normal;
    }

    @keyframes cookie-slide-up {
      from { opacity: 0; transform: translateY(1.5rem); }
      to { opacity: 1; transform: translateY(0); }
    }

    @media (min-width: 900px) {
      .cookie-banner__content {
        grid-template-columns: minmax(0, 1fr) minmax(360px, 430px);
        align-items: center;
      }

      .cookie-options {
        grid-column: 1 / -1;
      }

      .cookie-actions {
        grid-column: 2;
      }
    }

    @media (max-width: 700px) {
      .cookie-banner {
        padding: .55rem;
      }

      .cookie-banner__content {
        width: 100%;
        max-height: calc(100vh - 1.1rem);
        overflow: auto;
      }

      .cookie-actions {
        grid-template-columns: 1fr;
      }
    }

