
/* Ginavra Landing v2 — responsive layout on top of ginavra-ui tokens */
:root{
  --pain:#BC5636;
  --pain-border:rgba(188,86,54,.28);
  --cream:#FBFAF7;
  --gv-gutter:max(16px, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px), clamp(16px, 4vw, 56px));
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body.gv-landing{
  margin:0;background:var(--background-primary);color:var(--text-primary);
  font:400 clamp(14px,1.1vw,15px)/1.6 var(--font-ui);
  padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));
  overflow-x:hidden;
}
.gv-wrap{
  max-width:1280px;margin:0 auto;width:100%;
  padding-left:var(--gv-gutter);padding-right:var(--gv-gutter);
}
.gv-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit;min-width:0}
.gv-logo__mark{width:22px;height:26px;flex:none}
.gv-logo__name{font-family:var(--font-brand);font-weight:600;font-size:21px;letter-spacing:-.02em}

/* Keep django-honeypot in DOM but never visible (Ginavra does not load site-adapters.css) */
.aa-honeypot{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
  opacity:0!important;pointer-events:none!important;
}
.aa-honeypot__label{display:none!important}

/* Buttons must stay inside cards / columns */
.gv-btn{
  box-sizing:border-box;max-width:100%;width:auto;
  white-space:normal;text-align:center;overflow-wrap:anywhere;hyphens:auto;
}
.gv-price .gv-btn,
.gv-pkg .gv-btn,
.gv-form .gv-btn,
.gv-sticky .gv-btn{width:100%}

/* Header */
.gv-header{padding:14px 0;border-bottom:1px solid var(--border-subtle);background:var(--background-secondary);position:sticky;top:0;z-index:40}
.gv-header .gv-wrap{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;min-width:0}
.gv-status{display:none;align-items:center;gap:7px;margin-left:auto;font:500 12.5px var(--font-ui);color:var(--text-secondary);min-width:0}
.gv-status__dot{width:7px;height:7px;border-radius:50%;background:var(--interactive);flex:none}
.gv-lang{display:inline-flex;border:1px solid rgba(16,26,43,.18);border-radius:8px;overflow:hidden;font:600 11px var(--font-ui);margin-left:auto;flex:none}
.gv-lang a{padding:8px 10px;color:var(--text-secondary);text-decoration:none;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}
.gv-lang a.is-active{background:var(--action-primary);color:var(--action-primary-text)}
.gv-header__cta{display:none;flex:none;white-space:nowrap}
@media(min-width:720px){
  .gv-status{display:inline-flex}
  .gv-lang{margin-left:0}
  .gv-header__cta{display:inline-flex}
}
@media(max-width:719px){
  .gv-header .gv-wrap{gap:8px}
}

/* Countdown */
.gv-countdown{background:var(--background-inverse);color:var(--text-inverse);padding:11px 0}
.gv-countdown.is-expired{display:none}
.gv-countdown .gv-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 22px}
.gv-countdown__label{font:600 12.5px var(--font-ui)}
.gv-countdown__units{display:flex;gap:6px}
.gv-unit{background:rgba(246,243,238,.08);border:1px solid rgba(246,243,238,.16);border-radius:8px;padding:4px 8px;min-width:48px;text-align:center}
.gv-unit__n{font:700 18px ui-monospace,Menlo,monospace;color:var(--expert-accent);letter-spacing:.04em}
.gv-unit__l{font:600 9px var(--font-ui);color:rgba(246,243,238,.72);letter-spacing:.06em}
.gv-countdown__cta{font:600 12px var(--font-ui);color:var(--expert-accent);text-decoration:none;text-align:center;max-width:100%;overflow-wrap:anywhere}

/* Hero — padding-block only so .gv-wrap gutters stay intact */
.gv-hero{display:grid;gap:36px;padding-top:48px;padding-bottom:40px;min-width:0}
.gv-hero > *{min-width:0;max-width:100%}
@media(min-width:900px){.gv-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:52px;padding-top:72px;padding-bottom:64px;align-items:start}}
.gv-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(201,162,39,.45);border-radius:99px;padding:6px 12px;font:600 11px var(--font-ui);letter-spacing:1.4px;color:var(--expert-accent-deep);background:rgba(201,162,39,.08);max-width:100%;flex-wrap:wrap}
.gv-pill__star{width:8px;height:8px;background:var(--expert-accent);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);flex:none}
.gv-hero h1{font-family:var(--font-brand);font-weight:600;font-size:clamp(28px,6.5vw,50px);line-height:1.12;letter-spacing:-.02em;margin:16px 0 0;overflow-wrap:anywhere}
.gv-lead{font:400 16.5px/1.65 var(--font-ui);color:var(--text-primary);max-width:480px;margin-top:16px;overflow-wrap:anywhere}
.gv-checks{display:flex;flex-direction:column;gap:10px;margin-top:24px;font:400 14.5px var(--font-ui);color:var(--text-primary)}
.gv-checks div{display:flex;gap:10px;align-items:flex-start;min-width:0}
.gv-checks span{color:var(--interactive-deep);font-weight:700;flex:none}
.gv-avatars{display:flex;align-items:flex-start;gap:16px;margin-top:28px;font:400 12.5px var(--font-ui);color:var(--text-secondary);min-width:0}
.gv-avatars > span{min-width:0;overflow-wrap:anywhere}
.gv-avatars__stack{display:flex;flex:none}
.gv-avatars__stack i{width:28px;height:28px;border-radius:50%;background:#E8E2D8;border:2px solid #fff;margin-left:-8px;display:inline-flex;align-items:center;justify-content:center;font:600 10px var(--font-ui);color:#5C6470}
.gv-avatars__stack i:first-child{margin-left:0}

/* Price card */
.gv-price{background:var(--background-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-l);padding:clamp(20px,4vw,28px) clamp(18px,3vw,26px);box-shadow:var(--shadow-float);min-width:0;overflow:hidden}
.gv-price__top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.gv-price__name{font:600 18px var(--font-ui)}
.gv-price__until{font:600 10.5px ui-monospace,Menlo,monospace;color:var(--expert-accent-deep);letter-spacing:.06em}
.gv-price__amount{margin-top:8px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px}
.gv-price__euros{font-family:var(--font-brand);font-weight:600;font-size:clamp(36px,8vw,48px);letter-spacing:-.03em;color:var(--text-primary);line-height:1}
.gv-price__amount span,
.gv-price__period{font:500 14px/1.45 var(--font-ui);color:var(--text-secondary);letter-spacing:.08em}
.gv-price__reg{font:400 12.5px var(--font-ui);color:var(--text-secondary);margin-top:4px;overflow-wrap:anywhere}
.gv-price__reg s{color:#9A948A}
.gv-price ul{list-style:none;padding:0;margin:18px 0;display:flex;flex-direction:column;gap:10px;font:400 13.5px/1.45 var(--font-ui)}
.gv-price li{display:flex;gap:9px;min-width:0}
.gv-price li::before{content:"✓";color:var(--interactive-deep);font-weight:700;flex:none}
.gv-price__note{font:400 12px var(--font-ui);color:var(--text-secondary);margin-top:12px;text-align:center}
.gv-price__meta{font:400 11.5px var(--font-ui);color:var(--text-secondary);margin-top:14px;text-align:center}
.gv-price__expert{margin-top:14px;text-align:center;font:500 13px var(--font-ui)}
.gv-price__expert a{color:var(--interactive-deep);font-weight:600;text-decoration:none}

/* Trust — padding-block only so .gv-wrap gutters stay intact */
.gv-trust{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding-top:8px;padding-bottom:40px;font:500 13px var(--font-ui);color:var(--text-secondary)}
@media(min-width:800px){.gv-trust{grid-template-columns:repeat(4,1fr)}}
.gv-trust div{background:var(--background-secondary);border:1px solid var(--border-subtle);border-radius:12px;padding:14px 16px}

/* Sections */
.gv-section{padding:48px 0}
.gv-section--cream{background:var(--background-tertiary)}
.gv-section--navy{background:var(--background-inverse);color:var(--text-inverse)}
.gv-kicker{font:600 11px var(--font-ui);letter-spacing:1.6px;color:var(--pain);margin-bottom:12px}
.gv-section h2{font-family:var(--font-brand);font-weight:600;font-size:clamp(26px,3.5vw,34px);letter-spacing:-.02em;margin:0}
.gv-section--navy h2{color:var(--text-inverse)}
.gv-sub{font:400 15px/1.65 var(--font-ui);color:var(--text-primary);max-width:560px;margin-top:12px}
.gv-section--navy .gv-sub{color:rgba(246,243,238,.82)}

/* Pain cards */
.gv-pains{display:grid;gap:12px;margin-top:28px}
@media(min-width:700px){.gv-pains{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.gv-pains{grid-template-columns:repeat(3,1fr)}}
.gv-pain{background:#fff;border:1px solid var(--pain-border);border-radius:14px;padding:18px 18px 18px 16px;display:flex;gap:10px;font:400 14px/1.55 var(--font-ui);color:var(--text-primary)}
.gv-pain::before{content:"✗";color:var(--pain);font-weight:700;flex:none}
.gv-closer{font:500 15px/1.55 var(--font-ui);color:var(--text-primary);margin-top:22px;max-width:640px}
.gv-transition{margin-top:28px;background:var(--background-inverse);color:var(--text-inverse);border-radius:16px;padding:28px 32px;text-align:center;font-family:var(--font-brand);font-weight:600;font-size:clamp(22px,3vw,30px);letter-spacing:-.02em}

/* Steps / demo / compare / for / icp / genie / roadmap / packages / guarantee / offer / faq / final / footer */
.gv-steps{display:grid;gap:16px;margin-top:28px}
@media(min-width:900px){.gv-steps{grid-template-columns:repeat(3,1fr);align-items:stretch}}
.gv-step{background:#fff;border:1px solid var(--border-subtle);border-radius:16px;padding:22px;display:flex;flex-direction:column;min-height:100%}
.gv-step__n{font:600 11px ui-monospace,Menlo,monospace;color:var(--interactive-deep);letter-spacing:.08em;margin:0}
.gv-step h3{font-family:var(--font-brand);font-size:22px;margin:8px 0 10px}
.gv-step > p:not(.gv-step__n){margin:0;color:var(--text-primary)}
.gv-step__visual{margin-top:auto;padding-top:18px}
.gv-ba{display:flex;align-items:center;gap:10px}
.gv-ba__card{flex:1;background:var(--cream);border:1px solid var(--border-subtle);border-radius:12px;padding:12px;min-height:88px}
.gv-ba__card--after{border-color:rgba(18,165,148,.45);background:#fff;position:relative}
.gv-skel{height:8px;background:rgba(16,26,43,.08);border-radius:4px;margin:6px 0}
.gv-ba__arrow{color:var(--interactive-deep);font-weight:700;flex:none}
.gv-ba__badge{position:absolute;top:8px;right:8px;background:var(--status-published-bg);color:var(--status-published-text);font:600 10px var(--font-ui);padding:3px 8px;border-radius:99px}
.gv-ba__banner{height:10px;background:linear-gradient(90deg,var(--expert-accent),#E8D48A);border-radius:3px;margin:8px 0}

.gv-demo{margin-top:28px;max-width:820px;margin-left:auto;margin-right:auto;background:#fff;border:1px solid rgba(16,26,43,.14);border-radius:18px;overflow:hidden;box-shadow:0 28px 70px rgba(16,26,43,.16)}
.gv-demo__chrome{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid rgba(16,26,43,.08);background:#FBFAF7;min-width:0}
.gv-demo__dot{width:10px;height:10px;border-radius:50%;background:#E3DED4;flex:none}
.gv-demo__urlwrap{flex:1;display:flex;justify-content:center;min-width:0}
.gv-demo__url{
  background:#F1EDE6;border:1px solid rgba(16,26,43,.12);border-radius:7px;
  padding:5px 16px;font:500 11px ui-monospace,Menlo,monospace;color:var(--text-primary);
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.gv-demo__label{font:600 9.5px var(--font-ui);letter-spacing:.8px;color:var(--text-secondary);flex:none;white-space:nowrap}
.gv-demo__body{padding:clamp(16px,3vw,22px) clamp(16px,3vw,26px) 18px;background:#fff;color:var(--text-primary)}
.gv-demo__page{position:relative;background:#FBFAF7;border:1px solid rgba(16,26,43,.1);border-radius:12px;padding:16px 18px}
.gv-demo__nav{display:flex;align-items:center;gap:8px}
.gv-demo__nav-mark{width:8px;height:8px;border-radius:50%;background:var(--text-primary);flex:none}
.gv-demo__nav-brand{width:52px;height:6px;border-radius:99px;background:rgba(16,26,43,.18);flex:none}
.gv-demo__nav-links{display:flex;gap:8px;margin-left:auto}
.gv-demo__nav-links span{width:34px;height:6px;border-radius:99px;background:rgba(16,26,43,.12)}
.gv-demo__banner{
  margin-top:12px;background:var(--expert-accent);border-radius:8px;padding:9px 14px;
  display:flex;align-items:center;gap:10px;font:600 11.5px/1.35 var(--font-ui);color:var(--text-primary);
  /* Stay visible for most of the loop (was hidden ~75% of the time). */
  animation:gvBanner 8s ease infinite;
}
.gv-demo__banner-star{
  width:9px;height:9px;flex:none;background:var(--text-primary);
  clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);
}
.gv-demo__lines{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.gv-demo__lines span{display:block;border-radius:99px;background:rgba(16,26,43,.22)}
.gv-demo__lines span:nth-child(2){background:rgba(16,26,43,.1)}
.gv-demo__cta-skel{width:110px!important;height:24px!important;border-radius:7px!important;background:var(--text-primary)!important;margin-top:4px}
.gv-demo__cards{display:flex;gap:10px;margin-top:16px}
.gv-demo__cards div{flex:1;height:44px;border:1px solid rgba(16,26,43,.1);border-radius:8px;background:#fff}
.gv-demo__pub{
  position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:6px;
  background:var(--interactive-deep);border-radius:99px;padding:6px 12px;
  box-shadow:0 6px 16px rgba(11,117,104,.3);font:600 10.5px var(--font-ui);color:var(--text-inverse);
  animation:gvPub 8s ease infinite;
}
.gv-demo__pub i{width:5px;height:5px;border-radius:50%;background:var(--text-inverse);flex:none}
.gv-demo__composer{
  display:flex;align-items:center;gap:10px;margin-top:14px;min-width:0;
  background:var(--background-primary);border:1px solid rgba(16,26,43,.14);border-radius:11px;padding:12px 16px;
}
.gv-demo__composer .gv-spark{
  width:13px;height:13px;flex:none;background:var(--interactive);
  clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);
}
.gv-demo__type{flex:1;overflow:hidden;display:flex;align-items:center;min-width:0}
.gv-demo__prompt{
  display:inline-block;max-width:100%;box-sizing:border-box;margin:0;padding:0;
  font:400 13px/1.4 var(--font-ui);color:var(--text-primary);
  white-space:nowrap;overflow:hidden;vertical-align:top;
  animation:gvType 8s linear infinite;
}
.gv-demo__caret{
  width:1.5px;height:15px;background:var(--interactive);flex:none;margin-left:2px;
  animation:gvCaret 1s steps(1) infinite;
}
.gv-demo__think{
  position:static;font:600 10.5px var(--font-ui);color:var(--interactive-deep);
  background:rgba(18,165,148,.1);border-radius:99px;padding:5px 11px;flex:none;
  animation:gvThink 8s ease infinite;white-space:nowrap;
}
.gv-demo__footer{padding:0 clamp(16px,3vw,26px) 18px;display:flex;align-items:center;gap:12px}
.gv-demo__track{flex:1;height:3px;border-radius:99px;background:rgba(16,26,43,.08);overflow:hidden}
.gv-demo__bar{height:100%;width:0;background:var(--interactive);animation:gvBar 8s linear infinite}
.gv-demo__loop{font:500 10.5px ui-monospace,Menlo,monospace;color:var(--text-secondary);flex:none}
@media(max-width:640px){
  .gv-demo__think{display:none}
  .gv-demo__label{font-size:8.5px;letter-spacing:.4px}
  .gv-demo__url{padding:5px 10px;font-size:10px}
}

.gv-compare{display:grid;gap:16px;margin-top:28px}
@media(min-width:800px){.gv-compare{grid-template-columns:1fr 1fr}}
.gv-compare__card{border-radius:16px;padding:24px;background:var(--cream);border:1px solid var(--border-subtle)}
.gv-compare__card--new{background:#fff;border:1.5px solid var(--interactive)}
.gv-compare__card .gv-card-title{font-family:var(--font-brand);font-size:22px;margin:0 0 14px}
.gv-compare ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;font:400 14px/1.5 var(--font-ui)}
.gv-compare li{display:flex;gap:8px}
.gv-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
.gv-stats div{background:rgba(16,26,43,.04);border-radius:10px;padding:10px;text-align:center}
.gv-compare__card--new .gv-stats div{background:rgba(18,165,148,.1)}
.gv-stats .gv-em{display:block;font:600 11px var(--font-ui);letter-spacing:.04em;color:var(--text-secondary)}
.gv-compare__card--new .gv-stats .gv-em{color:var(--interactive-deep)}
.gv-italic{font-family:var(--font-brand);font-style:italic;font-size:18px;margin-top:22px;text-align:center}

.gv-who{display:grid;gap:16px;margin-top:28px}
@media(min-width:800px){.gv-who{grid-template-columns:1fr 1fr}}
.gv-who__card{border-radius:16px;padding:26px;border:1.5px solid}
.gv-who__card--for{background:rgba(18,165,148,.09);border-color:var(--interactive)}
.gv-who__card--not{background:rgba(188,86,54,.07);border-color:var(--pain-border)}
.gv-who__card .gv-card-title{font-family:var(--font-brand);font-size:23px;margin:0 0 14px}
.gv-who__card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.gv-who__card li{display:flex;gap:9px;font:400 14px/1.5 var(--font-ui)}

.gv-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.gv-chips span{display:inline-flex;font:500 12.5px var(--font-ui);border:1px solid rgba(16,26,43,.16);border-radius:99px;padding:8px 14px;background:var(--cream)}
.gv-qualifier{margin-top:14px;font:500 14px var(--font-ui);color:var(--text-secondary)}

.gv-genie{display:grid;gap:16px;margin-top:28px}
@media(min-width:800px){.gv-genie{grid-template-columns:1fr 1fr}}
.gv-genie__card{border-radius:16px;padding:24px}
.gv-genie__card--ink{background:rgba(246,243,238,.06);border:1px solid rgba(246,243,238,.14);color:var(--text-inverse)}
.gv-genie__card--light{background:#fff;border:1px solid var(--border-subtle);color:var(--text-primary)}
.gv-genie__card .gv-card-title{font-family:var(--font-brand);font-size:20px;margin:0 0 10px}

.gv-roadmap{display:grid;gap:12px;margin-top:28px}
@media(min-width:700px){.gv-roadmap{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.gv-roadmap{grid-template-columns:repeat(4,1fr)}}
.gv-roadmap__card{border:1px solid rgba(246,243,238,.14);border-radius:14px;padding:20px 22px}
.gv-roadmap__card time{font:600 10.5px ui-monospace,Menlo,monospace;color:var(--interactive);letter-spacing:.8px}
.gv-roadmap__card .gv-card-title{font:600 15px var(--font-ui);color:var(--text-inverse);margin:9px 0 5px}
.gv-roadmap__card p{font:400 12px/1.55 var(--font-ui);color:rgba(246,243,238,.78);margin:0}

.gv-packages{display:grid;gap:16px;margin-top:28px;min-width:0}
@media(min-width:640px) and (max-width:1099px){
  .gv-packages{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .gv-pkg--expert{grid-column:1/-1}
}
@media(min-width:1100px){.gv-packages{grid-template-columns:repeat(3,minmax(0,1fr))}}
.gv-pkg{background:#fff;border:1px solid var(--border-subtle);border-radius:16px;padding:24px;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.gv-pkg--expert{border-color:rgba(201,162,39,.4);background:linear-gradient(180deg,#FDFBF5,#fff);position:relative}
.gv-pkg__rec{position:absolute;top:14px;right:14px;font:600 10px var(--font-ui);letter-spacing:.06em;color:var(--expert-accent-deep);background:rgba(201,162,39,.14);padding:4px 10px;border-radius:99px}
.gv-pkg .gv-card-title{font:600 18px var(--font-ui);margin:0}
.gv-pkg--expert .gv-card-title{padding-right:7rem}
.gv-pkg__blurb{font:400 13px var(--font-ui);color:var(--text-secondary);margin:6px 0 12px}
.gv-pkg__price{font-family:var(--font-brand);font-weight:600;font-size:clamp(28px,6vw,36px);letter-spacing:-.02em}
.gv-pkg__price small{font:400 13px var(--font-ui);color:var(--text-secondary);letter-spacing:.04em}
.gv-pkg__was{font:400 12px var(--font-ui);color:#9A948A;text-decoration:line-through}
.gv-pkg ul{list-style:none;padding:0;margin:16px 0;flex:1;display:flex;flex-direction:column;gap:9px;font:400 13.5px/1.45 var(--font-ui)}
.gv-pkg li{display:flex;gap:9px;min-width:0}
.gv-pkg li::before{content:"✓";font-weight:700;color:var(--interactive-deep);flex:none}
.gv-pkg--expert li::before{color:var(--expert-accent-deep)}
.gv-pkg .gv-btn{width:100%;margin-top:auto}
.gv-pkg__diff{font:500 12px var(--font-ui);color:var(--expert-accent-deep);margin:4px 0 8px}
.gv-fine{text-align:center;font:400 11.5px var(--font-ui);color:var(--text-secondary);margin-top:16px;max-width:820px;margin-left:auto;margin-right:auto}
.gv-fine a{color:var(--interactive-deep);font-weight:600;text-decoration:none}
.gv-section--navy .gv-fine{color:rgba(246,243,238,.78)}
.gv-section--navy .gv-fine a{color:var(--interactive)}
.gv-vs{display:grid;gap:10px;margin-top:28px}
@media(min-width:800px){.gv-vs{grid-template-columns:repeat(3,1fr)}}
.gv-vs div{background:var(--background-secondary);border:1px solid var(--border-subtle);border-radius:12px;padding:16px;font:400 13px/1.5 var(--font-ui);color:var(--text-primary)}
.gv-vs .gv-em{display:block;font:600 14px var(--font-ui);color:var(--text-primary);margin-bottom:6px}

.gv-guarantee{background:var(--background-inverse);color:var(--text-inverse);border-radius:16px;padding:28px;margin-top:8px}
.gv-guarantee .gv-card-title{font-family:var(--font-brand);font-size:24px;margin:0 0 12px;color:inherit}
.gv-guarantee p{font:400 14px/1.65 var(--font-ui);color:rgba(246,243,238,.75);margin:0}
.gv-guarantee a{color:var(--interactive);font-weight:600}

.gv-offer{display:grid;gap:24px;margin-top:28px;min-width:0}
@media(min-width:800px){.gv-offer{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start}}
.gv-form{position:relative;background:#fff;border:1px solid var(--border-subtle);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:14px;min-width:0;color:var(--text-primary)}
.gv-form .gv-btn{width:100%;min-height:44px}
.gv-check{display:flex;gap:10px;align-items:flex-start;font:400 12.5px/1.45 var(--font-ui);color:var(--text-secondary)}
.gv-check input{margin-top:3px;width:18px;height:18px;flex:none}
.gv-messages{margin:12px 0}
.gv-messages .success,.gv-messages .error,.gv-messages .info{padding:12px 14px;border-radius:10px;font:500 14px/1.55 var(--font-ui);margin-bottom:8px}
.gv-messages .success{
  background:#E6F7F4;
  border:1px solid rgba(11,117,104,.35);
  color:#0B7568;
}
.gv-messages .error{background:var(--status-error-bg);border:1px solid rgba(179,56,44,.3);color:var(--status-error)}
.gv-section--navy .gv-form .gv-label,
.gv-section--navy .gv-form .gv-help{color:var(--text-secondary)}
.gv-section--navy .gv-form .gv-input,
.gv-section--navy .gv-form .gv-textarea{color:var(--text-primary)}

.gv-faq{margin-top:24px;display:flex;flex-direction:column;gap:8px}
.gv-faq details{background:#fff;border:1px solid var(--border-subtle);border-radius:12px;padding:0}
.gv-faq summary{list-style:none;cursor:pointer;padding:16px 22px;font:600 14px var(--font-ui);display:flex;justify-content:space-between;gap:12px;min-height:44px;align-items:center}
.gv-faq summary::-webkit-details-marker{display:none}
.gv-faq summary::after{content:"+";color:var(--text-secondary);font-weight:400}
.gv-faq details[open] summary::after{content:"–"}
.gv-faq .gv-faq__a{padding:0 22px 16px;font:400 13.5px/1.65 var(--font-ui);color:var(--text-primary)}

.gv-final{text-align:center;padding:64px 0 56px}
.gv-final h2{font-family:var(--font-brand);font-weight:600;font-size:clamp(28px,4vw,38px);color:var(--text-inverse);margin:0 0 12px}
.gv-final p{color:rgba(246,243,238,.8);max-width:480px;margin:0 auto 22px}

.gv-footer{
  background:var(--background-inverse);
  border-top:1px solid rgba(246,243,238,.12);
  padding:20px 0 22px;
  font:400 11px/1.45 var(--font-ui);
  color:rgba(246,243,238,.55);
}
.gv-footer .gv-wrap{
  display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;
}
.gv-footer__brand{color:rgba(246,243,238,.55);min-width:0}
.gv-footer__nav{display:flex;flex-wrap:wrap;gap:16px;margin-left:auto}
.gv-footer__nav a{
  color:rgba(246,243,238,.72);font-weight:400;text-decoration:none;
}
.gv-footer__nav a:hover{color:var(--text-inverse)}
.gv-footer.gv-section--navy{color:rgba(246,243,238,.55);border-top-color:rgba(246,243,238,.12)}
.gv-footer.gv-section--navy a{color:rgba(246,243,238,.72)}
@media(max-width:640px){
  .gv-footer__nav{margin-left:0;width:100%}
}

/* Sticky mobile purchase bar */
.gv-sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--background-secondary);border-top:1px solid var(--border-subtle);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:12px;box-shadow:0 -8px 24px rgba(16,26,43,.08)}
.gv-sticky__price{font:600 16px var(--font-ui)}
.gv-sticky__days{font:500 11px var(--font-ui);color:var(--text-secondary)}
.gv-sticky .gv-btn{margin-left:auto;min-height:44px}
@media(min-width:900px){.gv-sticky{display:none} body.gv-landing{padding-bottom:0}}
.gv-sticky.is-expired .gv-sticky__days{display:none}

/* Cookie consent */
.gv-consent{position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:60;background:#fff;border:1px solid var(--border-subtle);border-radius:16px;padding:18px;box-shadow:var(--shadow-float);max-width:420px;margin:0 auto}
@media(min-width:900px){.gv-consent{left:auto;right:24px;bottom:24px;margin:0}}
.gv-consent .gv-card-title{font:600 15px var(--font-ui);margin:0 0 8px}
.gv-consent p{font:400 12.5px/1.55 var(--font-ui);color:var(--text-secondary);margin:0 0 14px}
.gv-consent__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gv-consent__actions .gv-btn{min-height:44px;font-size:13px;padding:12px}
.gv-consent__link{display:block;text-align:center;margin-top:10px;font:600 12px var(--font-ui);color:var(--interactive-deep);text-decoration:none}
.gv-consent[hidden]{display:none !important}

.gv-btn--soon{opacity:.55;cursor:not-allowed;pointer-events:none}

@keyframes gvType{0%,5%{width:0}35%,100%{width:100%}}
@keyframes gvCaret{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes gvThink{0%,37%{opacity:0}43%,56%{opacity:1}62%,100%{opacity:0}}
@keyframes gvBanner{
  0%,28%{opacity:0;transform:translateY(-6px)}
  38%,100%{opacity:1;transform:translateY(0)}
}
@keyframes gvPub{
  0%,45%{opacity:0;transform:scale(.95)}
  55%,100%{opacity:1;transform:scale(1)}
}
@keyframes gvBar{0%{width:0}100%{width:100%}}

.gv-legal{max-width:820px;margin:0 auto;padding-top:48px;padding-bottom:80px}
.gv-legal__back{font:600 13px var(--font-ui);color:var(--interactive-deep);text-decoration:none;display:inline-block;margin-bottom:24px}
.gv-legal h1{font-size:clamp(28px,4vw,38px);margin:12px 0}
.gv-legal__intro{font:400 13.5px/1.6 var(--font-ui);color:var(--text-secondary);margin-top:10px}
.gv-legal__nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.gv-legal__nav a{font:600 12.5px var(--font-ui);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:99px;padding:9px 16px;text-decoration:none;background:#fff}
.gv-legal__nav a.gv-legal__nav--accent{color:var(--interactive-deep);border-color:rgba(11,117,104,.35)}
.gv-legal__block{background:#fff;border:1px solid var(--border-subtle);border-radius:16px;margin-top:28px;padding:clamp(22px,4vw,34px) clamp(20px,4vw,38px)}
.gv-legal__block h2{font-size:clamp(22px,3vw,27px);margin:0}
.gv-legal__badge{font:600 10px var(--font-ui);letter-spacing:.8px;color:var(--interactive-deep);background:var(--status-published-bg);border-radius:99px;padding:4px 10px}
.gv-legal__body{font:400 13.5px/1.75 var(--font-ui);color:#26303F;margin-top:16px}
.gv-legal__body a{color:var(--interactive-deep)}
.gv-legal__en{border-top:1px solid var(--border-subtle);margin-top:22px;padding-top:18px;font:400 13px/1.75 var(--font-ui);color:var(--text-secondary)}
.gv-legal__warn{background:var(--status-warning-bg);border:1px solid rgba(185,115,36,.3);border-radius:10px;padding:12px 16px;margin-top:16px;font:600 13px/1.6 var(--font-ui)}
.gv-legal__footer{margin-top:24px;font:400 12.5px var(--font-ui);color:var(--text-secondary)}
.gv-domain-table{background:#fff;border:1px solid var(--border-subtle);border-radius:16px;overflow:hidden;margin-top:28px}
.gv-domain-table__head{padding:16px 24px;border-bottom:1px solid var(--border-subtle);background:var(--cream)}
.gv-domain-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;padding:8px 24px 14px}
.gv-domain-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(16,26,43,.06);font:400 13px var(--font-ui)}
.gv-domain-tld{font:600 14px var(--font-ui)}
.gv-domain-table__title{font:600 14px var(--font-ui);margin:0;color:var(--text-primary)}
.gv-em{font-weight:600}
.gv-legal__label{font-weight:600}
.gv-card-title{margin:0}
.gv-cookie-page{max-width:640px;margin:0 auto;padding-top:48px;padding-bottom:80px}
.gv-cookie-page h1{font-size:clamp(26px,4vw,34px)}
.gv-cookie-page .gv-legal__footer{margin-top:28px}
.gv-error{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:48px 24px}
.gv-error h1{font-size:clamp(28px,5vw,40px);margin-bottom:12px}
.gv-error p{color:var(--text-secondary);max-width:28rem;margin:0 auto 20px}
