/* KitVerge shared visual system: home and privacy pages. */
:root {
  --background:#d52340; --surface:#f8e2e6; --text:#ffffff; --muted:#ffffff;
  --primary:#682812; --secondary:#bfeaf8; --accent:#3dc7f5; --button-text:#ffffff;
  --heading-font:'Big Shoulders Text',Impact,sans-serif; --body-font:'Hanken Grotesk',Arial,sans-serif;
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem; --space-6:1.5rem;
  --space-8:2rem; --space-12:3rem; --space-16:4rem; --space-24:6rem; --space-32:8rem;
  --radius-sm:.75rem; --radius-md:1.5rem; --radius-lg:1.75rem;
  --shadow-low:0 3px 7px #68281218,0 1px 2px #d5234022;
  --shadow-mid:0 13px 24px #68281224,0 3px 7px #d5234026;
  --shadow-high:0 30px 65px #68281235,0 9px 22px #d5234030;
  --ease:cubic-bezier(.2,.8,.2,1); --header-height:4.5rem;
}
/* Reset */
*,*::before,*::after{box-sizing:border-box}
html{font-size:clamp(16px,0.55vw + 11px,22px);scroll-behavior:smooth;overflow-x:clip}
body{margin:0;overflow-x:clip;background:var(--background);color:var(--text);font-family:var(--body-font);font-weight:400;line-height:1.7}
body::before{content:'';position:fixed;inset:0;background:repeating-conic-gradient(#ffffff0a 0% 25%,transparent 0% 50%) 0 0 / 3.5rem 3.5rem;pointer-events:none;z-index:-1}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--accent);color:var(--primary)}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
/* Typography */
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--heading-font);font-weight:800;line-height:1.07;letter-spacing:-.018em;text-wrap:balance}
h1{font-size:clamp(3.4rem,9vw,8rem)}h2{font-size:clamp(2.8rem,5vw,5.5rem)}h3{font-size:clamp(1.8rem,2.7vw,3rem)}p{font-size:1.05rem;text-wrap:pretty;margin-bottom:1.15em}
.eyebrow{font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:.875rem}.intro{max-width:49rem;font-size:1.13rem}
/* Layout */
.container{width:min(100% - 2.5rem,1360px);margin-inline:auto}.section{position:relative;padding-block:clamp(4rem,10vw,8rem);min-height:72svh}
.section__head{margin-bottom:var(--space-12)}.section__head p{max-width:49rem}.section__index{font-family:var(--heading-font);font-size:1.65rem;letter-spacing:.1em;opacity:.83}
/* Components */
.site-header{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-4);border:1px solid #ffffff45;border-radius:var(--radius-lg);background:linear-gradient(145deg,#f8e2e630,#d5234060);box-shadow:var(--shadow-mid),inset 1px 1px #ffffff3d;position:relative;z-index:3}
.site-header__brand,.footer__brand{display:flex;align-items:center;gap:var(--space-3);min-width:0}.site-header__brand span,.footer__brand span{font:800 1.6rem/1 var(--heading-font);letter-spacing:.035em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site-header__logo,.footer__logo{width:2.25rem;height:2.25rem;flex:none;object-fit:contain;border-radius:var(--radius-sm);box-shadow:var(--shadow-low)}
.action{display:inline-flex;justify-content:center;align-items:center;min-height:3rem;padding:.7rem 1.5rem;border:1px solid #ffffff55;border-radius:var(--radius-md);background:var(--accent);color:var(--button-text);font-weight:600;box-shadow:0 5px 0 #68281280,var(--shadow-mid),inset 0 2px #ffffff60;transition:transform .2s var(--ease),box-shadow .2s var(--ease);white-space:nowrap}
.action:hover{transform:translateY(-3px)}.action:active{transform:translateY(2px);box-shadow:0 2px 0 #68281280,inset 2px 3px 9px #68281230}.action[aria-current=page]{background:var(--primary);box-shadow:inset 2px 3px 9px #d5234060}
.soft-card{border:1px solid #ffffff86;background:linear-gradient(145deg,var(--surface),#f8e2e6db);color:var(--primary);padding:var(--space-8);border-radius:var(--radius-lg);box-shadow:var(--shadow-mid),inset 1px 1px #ffffff;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.soft-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-high)}.soft-card:active{transform:scale(.99);box-shadow:inset 5px 5px 10px #d5234026}.soft-card p:last-child{margin:0}
.soft-card__symbol{font-family:var(--heading-font);font-size:3.3rem;line-height:1;color:var(--background);filter:drop-shadow(3px 4px 0 #3dc7f555)}.soft-card h3{margin:.7rem 0 .6rem}
/* Home hero: editorial staircase with a crafted lower-left sculpture */
.hero {
  --hs: 1;
  height: 100vh;
  height: 100svh;
  height: 100dvh;
  min-height: 0;
  padding: var(--space-4);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  isolation: isolate;
  position: relative;
  background: radial-gradient(ellipse 42% 28% at 23% 82%, #bfeaf839, transparent 90%),
    radial-gradient(ellipse 55% 70% at 95% 10%, #68281226, transparent 80%),
    linear-gradient(125deg, #d52340 15%, #d52340 70%, #68281222);
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg, transparent 0 69px, #f8e2e60a 70px 71px),
    repeating-linear-gradient(90deg, transparent 0 69px, #f8e2e60a 70px 71px);
  pointer-events: none;
  z-index: -1;
}
.hero .site-header { background: linear-gradient(135deg, #f8e2e62c, #d5234045); }
.hero__content {
  width: min(100%, 1360px);
  height: 100%;
  min-height: 0;
  margin-inline: auto;
  padding: min(5svh, 3rem) min(4vw, 3rem);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: calc(var(--hs) * min(3svh, 1.75rem));
}
.hero__stem {
  position: absolute;
  left: 13%;
  top: 12%;
  height: 27%;
  width: 1px;
  background: linear-gradient(transparent, #bfeaf8b0, transparent);
  pointer-events: none;
}
.hero__intro {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  width: 100%;
  max-width: 100%;
  padding-left: 19%;
  position: relative;
  z-index: 1;
}
.hero__index {
  flex: none;
  font: 600 calc(var(--hs) * clamp(1rem, 1.6vw, 1.6rem))/1 var(--heading-font);
  letter-spacing: .08em;
  color: var(--secondary);
  padding-top: .5em;
}
.hero h1 {
  font-size: calc(var(--hs) * clamp(3.7rem, min(8.4vw, 10svh), 8.9rem));
  line-height: .92;
  letter-spacing: -.022em;
  text-transform: uppercase;
  max-width: 13ch;
  margin: 0;
  text-shadow: 0 8px 30px #68281224;
}
.hero__line {
  margin: 0 0 0 30%;
  width: min(30rem, 64%);
  max-width: 29ch;
  font-size: calc(var(--hs) * clamp(1rem, min(2.1vw, 2.8svh), 1.4rem));
  line-height: 1.4;
  font-weight: 600;
  color: var(--surface);
  position: relative;
  z-index: 1;
}
.hero__action {
  margin-left: 40%;
  align-self: flex-start;
  padding: .85rem 2rem;
  min-height: 3.25rem;
  position: relative;
  z-index: 2;
}
.hero__sculpture {
  position: absolute;
  left: 4%;
  bottom: 5%;
  width: calc(var(--hs) * min(29vw, 32svh, 24rem));
  aspect-ratio: 1.18;
  max-height: 36svh;
  pointer-events: none;
  filter: drop-shadow(0 2rem 2rem #68281270);
}
.hero__sculpture::before {
  content: '';
  position: absolute;
  inset: 46% -10% -7%;
  border-radius: 50%;
  background: radial-gradient(ellipse, #bfeaf8ab, #3dc7f52b 49%, transparent 72%);
  filter: blur(1rem);
}
.hero__sculpture::after {
  content: '';
  position: absolute;
  inset: 6%;
  border-radius: 50%;
  border: 1px solid #f8e2e6a8;
  box-shadow: 0 0 0 1.2rem #bfeaf817, 0 0 0 2.5rem #f8e2e60a;
  transform: rotate(-25deg) scaleY(.72);
}
.sculpture__plate, .sculpture__core, .sculpture__mark { position: absolute; display: block; }
.sculpture__plate {
  inset: 19% 10%;
  border-radius: 32% 42% 28% 38%;
  transform: rotate(-27deg) skew(-9deg);
  background: repeating-linear-gradient(90deg, #ffffff00 0 9px, #ffffff15 10px 11px),
    linear-gradient(135deg, var(--secondary), var(--accent) 47%, #d52340 98%);
  border: 1px solid #ffffffac;
  box-shadow: inset 0 8px 17px #ffffff8a, inset 0 -14px 28px #68281255, var(--shadow-high);
}
.sculpture__core {
  inset: 17% 30%;
  border-radius: 42% 28% 40% 30%;
  transform: rotate(25deg);
  background: linear-gradient(150deg, var(--surface), var(--secondary) 37%, var(--accent) 85%);
  border: 1px solid #ffffffcf;
  box-shadow: inset 5px 5px 14px #ffffffb4, 12px 16px 24px #68281269;
}
.sculpture__mark {
  width: 35%;
  height: 13%;
  left: 33%;
  top: 44%;
  transform: rotate(-21deg);
  border-radius: 50%;
  background: linear-gradient(110deg, var(--surface), var(--accent));
  box-shadow: inset 3px 3px 9px #ffffffa3, 0 6px 15px #68281280;
}
/* Distinct section compositions */
.about__inner{max-width:51rem;margin:auto;text-align:center}.pull-quote{font-family:var(--heading-font);font-size:clamp(2.8rem,6vw,6.6rem);line-height:1.05;margin:var(--space-12) auto;max-width:18ch}
.support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);text-align:left}
.staircase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8)}.staircase .soft-card:nth-child(even){transform:translateY(var(--space-12))}.staircase .soft-card:nth-child(even):hover{transform:translateY(calc(var(--space-12) - 3px))}
.number-rows{display:grid;gap:var(--space-8)}.number-row{display:grid;grid-template-columns:minmax(5rem,17%) 1fr;gap:var(--space-8);align-items:start;border-bottom:1px solid #ffffff52;padding-bottom:var(--space-6)}.number-row__num{font:800 clamp(4rem,9vw,9rem)/.8 var(--heading-font);-webkit-text-stroke:1px #ffffffa6;color:transparent}.number-row__body{max-width:52rem}
.glance{background:linear-gradient(115deg,#68281222,#bfeaf81c)}.glance__statement{font:800 clamp(3rem,6.5vw,7rem)/1.08 var(--heading-font);max-width:18ch}.glance__cards{margin-top:var(--space-12)}.proofs{display:flex;flex-wrap:wrap;gap:var(--space-3)}.proof{padding:var(--space-3) var(--space-4);border-radius:3rem;border:1px solid #ffffff65;background:#f8e2e630;font-weight:600}
.choice-list{counter-reset:choices;display:grid;gap:var(--space-6)}.choice{display:grid;grid-template-columns:5rem 1fr;gap:var(--space-6);align-items:start}.choice::before{counter-increment:choices;content:counter(choices,decimal-leading-zero);font:800 3.5rem/1 var(--heading-font);color:var(--secondary)}.choice__text{padding-bottom:var(--space-4);border-bottom:1px solid #ffffff55}
.alternating{display:grid;gap:var(--space-8)}.alternating .soft-card{width:80%}.alternating .soft-card:nth-child(even){margin-left:auto;background:var(--secondary)}
.closing{padding-block:var(--space-24);background:linear-gradient(105deg,var(--primary) 0 50%,var(--secondary) 50% 100%);text-align:center}.closing__inner{background:var(--background);border-radius:var(--radius-lg);box-shadow:var(--shadow-high);padding:var(--space-12);max-width:45rem;margin:auto}.closing h2{margin-bottom:var(--space-6)}
.site-footer{background:#682812cf;padding:var(--space-16) 0 var(--space-8)}.site-footer__layout{display:flex;justify-content:space-between;align-items:center;gap:var(--space-8);flex-wrap:wrap}.site-footer__details{text-align:right;font-size:.9rem}.site-footer__details p{font-size:.9rem;margin:0}
/* Privacy page */
.privacy-shell{padding:var(--space-4) var(--space-4) var(--space-24)}.privacy-title{text-align:center;max-width:760px;margin:var(--space-16) auto var(--space-4)}.privacy-title h1{font-size:clamp(3.4rem,8vw,7rem);margin:0}.double-rule{height:.55rem;border-block:1px solid #ffffffb0;margin:var(--space-6) 0}.privacy-article{max-width:760px;margin:auto}.privacy-block{padding:var(--space-8);background:var(--surface);color:var(--primary);border:1px solid #ffffff95;border-radius:var(--radius-lg);box-shadow:var(--shadow-mid);margin-bottom:var(--space-6)}.privacy-block h2{font-size:2.2rem;background:#d5234014;box-shadow:inset 3px 3px 10px #d5234028;border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-6)}.privacy-block p,.privacy-block li{font-size:1rem;line-height:1.75}.privacy-block p:last-child{margin-bottom:0}.privacy-block ul{padding-left:1.5rem}.privacy-block li{margin-bottom:.55rem}.privacy-leading{white-space:pre-line}.privacy-leading p{margin-bottom:.5rem}
/* Utilities */
.skip-link{position:absolute;top:-7rem;left:1rem;background:var(--secondary);color:var(--primary);padding:var(--space-3);z-index:10}.skip-link:focus{top:1rem}.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s var(--ease),transform .55s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
/* Responsive */
@media(min-width:768px){.container{width:min(100% - 4rem,1360px)}.hero{padding:var(--space-8)}}
@media(min-width:1024px){.container{width:min(100% - 6rem,1360px)}}
@media(max-width:767px){:root{--header-height:4rem}.hero{padding:var(--space-3)}.support-grid,.staircase{grid-template-columns:1fr}.staircase .soft-card:nth-child(even),.staircase .soft-card:nth-child(even):hover{transform:none}.number-row{grid-template-columns:4.5rem 1fr;gap:var(--space-4)}.number-row__num{font-size:4.5rem}.soft-card,.privacy-block{padding:var(--space-6)}.alternating .soft-card{width:100%}.closing__inner{margin:0 var(--space-4)}.site-footer__details{text-align:left}.choice{grid-template-columns:3.5rem 1fr}.choice::before{font-size:2.9rem}}
@media(max-width:380px){.site-header__brand span{font-size:1.35rem}.site-header{padding:var(--space-2)}.site-header .action{padding:.65rem .8rem;font-size:.9rem}.site-header__brand{gap:var(--space-2)}}
/* Hero composition adapts before the display becomes cramped. */
@media(max-width:767px){
  .hero__content{padding:1.5svh var(--space-3);justify-content:center;gap:calc(var(--hs)*2svh)}
  .hero__intro{padding-left:2%;gap:.45rem}
  .hero h1{font-size:calc(var(--hs)*clamp(3rem,min(12vw,9svh),5.5rem));max-width:10ch}
  .hero__index{font-size:calc(var(--hs)*1rem)}
  .hero__line{margin-left:10%;width:85%;font-size:calc(var(--hs)*clamp(1rem,2.7svh,1.25rem))}
  .hero__action{margin-left:18%}
  .hero__sculpture{left:16%;bottom:4%;width:calc(var(--hs)*min(52vw,23svh));max-height:24svh}
  .hero__stem{display:none}
  .hero__content{padding-bottom:23svh}
}
@media(max-height:600px){
  .hero__content{justify-content:center;gap:1svh;padding:1svh 2rem}
  .hero__intro{padding-left:10%}
  .hero h1{font-size:calc(var(--hs)*min(7vw,13svh))}
  .hero__line{margin-left:21%;font-size:calc(var(--hs)*min(2vw,3.2svh))}
  .hero__action{margin-left:30%}
  .hero__sculpture{left:auto;right:4%;bottom:10%;width:calc(var(--hs)*min(26vw,30svh))}
}
@media(max-height:420px){
  .hero__content{padding-bottom:0}
  .hero__sculpture,.hero__stem{display:none}
  .hero h1{font-size:calc(var(--hs)*min(7vw,16svh))}
  .hero__line{font-size:calc(var(--hs)*min(2vw,4svh))}
}
.hero--compact .hero__sculpture,.hero--compact .hero__stem{display:none}
/* Motion */
@keyframes hero-reveal{from{opacity:0;filter:blur(10px);transform:translateY(12px)}to{opacity:1;filter:blur(0);transform:none}}
.hero__intro{animation:hero-reveal .7s var(--ease) both}.hero__line{animation:hero-reveal .7s .12s var(--ease) both}.hero__action{animation:hero-reveal .7s .23s var(--ease) both}.hero__sculpture{animation:hero-reveal .7s .34s var(--ease) both}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero__intro,.hero__line,.hero__action,.hero__sculpture{animation:none}.action,.soft-card{transition:none}}
/* Print */
@media print{body{background:#ffffff;color:#682812}.site-header,.site-footer,.closing,.hero{display:none}.privacy-block{box-shadow:none;break-inside:avoid}.reveal{opacity:1;transform:none}}
