
:root{
  --petrol:#102A30;--deep:#0A1C21;--raised:#16343A;--line:#2A4B50;
  --mint:#DDF3EB;--muted:#A1C5BC;--lime:#D8E66A;--orange:#F0A05B;
  --max:1180px;--pad:clamp(1.25rem,4vw,4rem)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;min-width:320px;background:var(--petrol);color:var(--mint);
font-family:"Segoe UI Variable","Segoe UI",Inter,system-ui,sans-serif;line-height:1.55;text-rendering:optimizeLegibility}
a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--lime);color:var(--deep);padding:.7rem 1rem}
header{position:fixed;z-index:40;inset:0 0 auto 0;display:grid;grid-template-columns:1fr auto auto;gap:2rem;align-items:center;
padding:1rem var(--pad);background:rgba(16,42,48,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(201,232,223,.08)}
.brand{display:inline-flex;align-items:baseline;gap:.55rem;text-decoration:none;width:max-content}.brand strong{font-size:1.05rem}.brand span{font-size:.78rem;color:var(--muted)}
nav.main{display:flex;gap:1.25rem}nav.main a,.langs a{text-decoration:none;color:var(--muted);font-size:.86rem}nav.main a:hover,.langs a:hover{color:var(--mint)}
.langs{display:flex;gap:.55rem;font-size:.78rem;letter-spacing:.07em}.langs a[aria-current=page]{color:var(--lime);font-weight:650}
.section{padding:clamp(6rem,10vw,10rem) var(--pad);scroll-margin-top:8rem}.inner{width:min(100%,var(--max));margin:auto}.display{font-family:"Segoe UI Variable Display","Segoe UI",Inter,sans-serif;font-weight:650;letter-spacing:-.045em}
.kicker{margin:0 0 1.15rem;font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:var(--lime);font-weight:650}
.hero{min-height:100svh;display:flex;align-items:center;padding-top:8rem;background:
radial-gradient(circle at 76% 22%,rgba(216,230,106,.08),transparent 26%),
radial-gradient(circle at 18% 86%,rgba(240,160,91,.06),transparent 24%),var(--petrol)}
.hero h1{margin:0;max-width:1050px;font-size:clamp(3.4rem,8.8vw,8.4rem);line-height:.91}.hero .accent{color:var(--lime)}
.lede{margin:3rem 0 0;max-width:720px;font-size:clamp(1.12rem,2vw,1.5rem);color:var(--muted)}
.ctas{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.2rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.1rem;border-radius:999px;text-decoration:none;font-weight:650;border:1px solid var(--line)}
.btn.primary{background:var(--orange);border-color:var(--orange);color:var(--deep)}.btn.secondary{color:var(--mint)}
.friction{background:var(--deep)}.head2{display:grid;grid-template-columns:1.1fr .75fr;gap:3rem;align-items:end;margin-bottom:4rem}
h2{margin:0;font-size:clamp(2.5rem,5vw,5.4rem);line-height:.98}.intro{margin:0;color:var(--muted);font-size:1.08rem;max-width:650px}
.flist{border-top:1px solid var(--line)}.fitem{display:grid;grid-template-columns:4rem 1fr;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}
.fitem .n{color:var(--orange)}.fitem p{margin:0;max-width:930px;font-size:clamp(1.12rem,1.5vw,1.4rem);line-height:1.22;letter-spacing:-.018em}
.services .kicker{
  font-size:1rem
}

.services-grid{
  margin-top:2.4rem;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line)
}

.service{
  min-height:250px;
  background:var(--petrol);
  padding:1.6rem 1.7rem 1.8rem;
  display:grid;
  grid-template-rows:auto auto 1fr;
  align-content:start
}

.service .num{
  color:var(--lime);
  font-size:1.05rem;
  line-height:1;
  font-weight:650
}

.service h3{
  margin:1.7rem 0 .75rem;
  font-size:1.9rem;
  line-height:1.1
}

.service p{
  margin:0;
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.5
}
.method{background:var(--raised)}.steps{margin-top:4rem;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.step{border-top:2px solid var(--lime);padding-top:1rem}
.step strong{display:block;color:var(--orange);margin-bottom:2rem}.step h3{margin:0 0 .7rem;font-size:1.5rem}.step p{margin:0;color:var(--muted)}
.knowledge{background:linear-gradient(135deg,rgba(216,230,106,.05),transparent 42%),var(--deep)}.kgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;align-items:center}
.kcopy p{color:var(--muted);font-size:1.1rem}.manifest{margin-top:2rem;border-left:2px solid var(--orange);padding-left:1.35rem;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.25}
.folderbox{background:var(--petrol);border:1px solid var(--line);padding:1rem}.panel{padding:1rem 0;border-top:1px solid var(--line)}.panel:first-child{border-top:0}
.panel h3{margin:.1rem 0 1rem;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.row{display:flex;gap:.45rem;flex-wrap:wrap;margin:.4rem 0}.folder{padding:.32rem .48rem;border:1px solid var(--line);border-radius:.3rem;font-size:.73rem;color:var(--muted)}.folder:before{content:"▱ ";color:var(--lime)}.i1{padding-left:1rem}.i2{padding-left:2rem}.i3{padding-left:3rem}.clean .folder{color:var(--mint)}.clean .folder:before{color:var(--orange)}
.about-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:4rem}.about-copy{color:var(--muted);font-size:1.12rem}.about-note{border-top:1px solid var(--line);padding-top:1.2rem;color:var(--mint)}
.contact{background:var(--lime);color:var(--deep)}.contact .kicker{color:var(--deep)}.contact p{max-width:720px;font-size:1.15rem}.contact .primary{background:var(--deep);color:var(--mint);border-color:var(--deep)}
footer{padding:2.5rem var(--pad);background:var(--deep);color:var(--muted);font-size:.82rem}.foot{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:1fr auto auto;gap:2rem}
@media(max-width:980px){
  header{grid-template-columns:1fr auto;gap:.55rem 1rem;padding-top:.8rem;padding-bottom:.75rem}
  .brand{grid-column:1;grid-row:1}
  .langs{grid-column:2;grid-row:1}
  nav.main{grid-column:1/-1;grid-row:2;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.35rem 1rem}
  .head2,.kgrid,.about-grid{grid-template-columns:1fr}
  .services-grid,.steps{grid-template-columns:1fr 1fr}
  .foot{grid-template-columns:1fr}
}
@media(max-width:620px){
  .brand span{display:none}
  header{gap:.45rem .75rem}
  nav.main{justify-content:flex-start;gap:.25rem .8rem}
  nav.main a{font-size:.78rem}
  .section{padding:5.5rem 1.25rem;scroll-margin-top:10rem}
  .hero{padding-top:9rem}
  .hero h1{font-size:clamp(3rem,17vw,5rem)}
  .fitem{grid-template-columns:2.5rem 1fr}
  .services-grid,.steps{grid-template-columns:1fr}
  .service{min-height:240px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* Legal pages and footer legal links */
.legal-links{display:flex;gap:.9rem;flex-wrap:wrap;justify-content:center}.legal-links a{text-decoration:none;color:var(--muted)}.legal-links a:hover,.legal-links a:focus-visible{color:var(--mint)}
.legal-hero{padding-top:10rem;padding-bottom:4rem;background:radial-gradient(circle at 78% 18%,rgba(216,230,106,.07),transparent 28%),var(--petrol)}
.legal-hero h1{margin:0;max-width:900px;font-size:clamp(3rem,7vw,6.8rem);line-height:.95}.legal-hero .lede{max-width:760px;margin-top:2rem}
.legal-jump{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2.4rem}.legal-jump a{display:inline-flex;align-items:center;padding:.72rem 1rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--mint)}.legal-jump a:hover,.legal-jump a:focus-visible{border-color:var(--lime);color:var(--lime)}
.legal-section{padding-top:5rem;padding-bottom:5rem}.legal-section.alt{background:var(--deep)}.legal-copy{max-width:860px}.legal-copy h2{margin:0 0 2rem;font-size:clamp(2.2rem,4.5vw,4.5rem)}.legal-copy h3{margin:2.4rem 0 .7rem;font-size:1.35rem}.legal-copy p,.legal-copy li{color:var(--muted);font-size:1rem}.legal-copy strong{color:var(--mint)}.legal-copy a{color:var(--mint)}
.legal-meta{margin:1.5rem 0 2rem;padding:1.2rem 1.3rem;border:1px solid var(--line);background:rgba(22,52,58,.35)}.legal-meta p{margin:.3rem 0}.back-top{display:inline-block;margin-top:2rem;color:var(--lime);text-decoration:none}
@media(max-width:980px){.legal-links{justify-content:flex-start}}

/* Visual completions: supporting evidence, shared criteria and lasting autonomy. */
:focus-visible{outline:2px solid var(--lime);outline-offset:5px}
.contact :focus-visible{outline-color:var(--deep)}
.visual-row{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;margin-top:4.5rem;padding-top:3rem;border-top:1px solid var(--line)}
.visual-row>*{min-width:0}.visual-copy h3{font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.12;margin:0 0 1.3rem;letter-spacing:-.025em}
.visual-copy p{color:var(--muted);font-size:1.05rem}.visual-copy .kicker{color:var(--lime);font-size:.75rem}.visual-copy .fine{font-size:.9rem}
figure{margin:0}figcaption{font-size:.8rem;color:var(--muted)}
.criteria{list-style:none;padding:0;display:grid;gap:.65rem;margin:1.6rem 0}.criteria li{border-left:2px solid var(--orange);padding-left:.85rem}
.storage-map{padding:clamp(1.25rem,3vw,2rem);background:var(--petrol);border:1px solid var(--line);border-radius:.6rem}
.storage-question{font-size:clamp(1.4rem,2.5vw,2rem);font-weight:650;color:var(--lime)}
.document-node{width:fit-content;margin:1.5rem auto;padding:.8rem 1rem;border:1px solid var(--orange);border-radius:.35rem}.document-node span{color:var(--orange);margin-right:.3rem}
.storage-choices{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;padding:1.2rem 0;border-top:1px dashed var(--line)}
.storage-choices span{padding:.4rem .65rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.85rem}
.storage-map figcaption{border-top:1px solid var(--line);padding-top:1rem;margin-top:.4rem;font-size:1rem;color:var(--mint)}
.rack{width:100%;max-width:520px;justify-self:center}.rack-pair{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.image-label{font-size:.8rem;color:var(--orange);margin:0 0 .6rem}.rack-pair>div:last-child .image-label{color:var(--lime)}
.rack-frames{position:relative;aspect-ratio:3/4}.rack-frame,.rack-after{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;background:var(--deep);border:1px solid var(--line);border-radius:.25rem}
.rack-frame{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}.rack-frame.is-active{opacity:1}.rack-controls{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.8rem}.rack-controls[hidden]{display:none}.rack-controls button{font:inherit;font-size:.8rem;cursor:pointer;border:1px solid var(--line);background:var(--petrol);color:var(--mint);padding:.5rem .8rem;min-height:40px;border-radius:.3rem}.rack-views{display:flex;gap:.35rem}.rack-views button[aria-pressed=true]{color:var(--deep);background:var(--lime);border-color:var(--lime)}.rack figcaption{margin-top:.7rem}
.steps{list-style:none;padding:0;gap:1.5rem}.step{position:relative}.step strong{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.step:not(:last-child) strong:after{content:'→';color:var(--lime);font-size:1.4rem}.step:last-child{border-color:var(--orange)}
.method h2{max-width:900px;font-size:clamp(2.5rem,4.5vw,4.5rem)}.method .intro{margin-top:1.5rem}.knowledge h2{font-size:clamp(2rem,3.7vw,3.6rem);line-height:1.08}.kgrid{gap:3rem}
.foundation-figure img{display:block;width:100%;height:auto;border-radius:.5rem}.foundation-labels{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.foundation-labels strong{display:block;color:var(--orange);font-size:.88rem;margin-bottom:.4rem}.foundation-labels>div:last-child strong{color:var(--lime)}.foundation-labels span{display:block;font-size:.78rem}
@media(max-width:1100px){header{gap:1rem}nav.main{gap:.8rem}.brand span{display:none}}
@media(max-width:760px){.visual-row{grid-template-columns:1fr;margin-top:3rem;padding-top:2.5rem}.rack{max-width:480px}.steps{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.steps{grid-template-columns:1fr}.step:not(:last-child) strong:after{content:'↓'}.rack-pair{grid-template-columns:1fr}.rack{max-width:280px}.foundation-labels{gap:.65rem}.folderbox{padding:.75rem}.i3{padding-left:1.5rem}.head2{gap:1.5rem;margin-bottom:2.5rem}}
@media(prefers-reduced-motion:reduce){.rack-frame{transition:none}}
