/* EVOLUX / tech premium. Shared system for every route. */

:root {
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --space-12:48px;
  --space-16:64px;
  --space-20:80px;
  --type-caption:.75rem;
  --type-small:.875rem;
  --type-body:1rem;
  --section-space:clamp(48px,6vw,80px);
  --panel-space:clamp(24px,3vw,40px);
  --grid-gap:var(--space-6);
  --control-height:52px;
  --radius-control:12px;
  --radius-panel:24px;
  --glass:rgba(255,255,255,.72);
  --glass-border:rgba(255,255,255,.95);
  --shadow:0 18px 60px -35px #143f7e40;
  --radius:24px;
  --ink:#10243a;
  --blue:#0066ff;
  --quiet:#52667c;
}

html {
  background:#f8fafc;
  scroll-padding-top:120px;
}

body {
  background:radial-gradient(ellipse 750px 520px at 95% 0,#0066ff0b,transparent),radial-gradient(ellipse 700px 700px at 0 34%,#7baeff0d,transparent),#f8fafc;
  font-family:'Space Grotesk',sans-serif;
  letter-spacing:-.025em;
}

body,button,input,select,textarea,option,summary {
  font-family:'Space Grotesk',sans-serif;
}

button,input,select,textarea {
  font-size:1rem;
}

h1,h2,h3,p {
  overflow-wrap:break-word;
}

h1,h2,h3 {
  font-weight:500;
  text-wrap:balance;
}

h2 {
  font-size:clamp(2rem,1.35rem + 2.3vw,3.5rem);
  letter-spacing:-.055em;
  line-height:1.1;
}

p {
  color:var(--quiet);
}

.section {
  padding:var(--section-space) 0;
  background:transparent;
  border:0;
}

.section-top {
  margin-bottom:var(--space-8);
  gap:var(--space-8);
}

.eyebrow {
  color:#0054d6;
  font-size:var(--type-caption);
  letter-spacing:.13em;
}

.eyebrow:before {
  width:6px;
  height:6px;
  box-shadow:0 0 0 4px #0066ff0a;
}

.muted {
  color:var(--quiet);
}

header {
  top:16px;
  margin:var(--space-4) auto 0;
  border-radius:22px;
  border:1px solid #ffffff;
  background:rgba(248,250,252,.84);
  backdrop-filter:blur(24px) saturate(1.3);
  -webkit-backdrop-filter:blur(24px) saturate(1.3);
  box-shadow:0 5px 30px #10243a08;
}



.nav {
  min-height:80px;
  height:auto;
  padding-block:var(--space-3);
  gap:var(--space-6);
}

#navigation {
  gap:var(--space-5);
  font-size:var(--type-small);
}

#navigation>a:not(.button) {
  min-height:44px;
  display:flex;
  align-items:center;
  position:relative;
}

#navigation>a[aria-current]:not(.button):after {
  content:'';
  width:4px;
  height:4px;
  background:#0066ff;
  position:absolute;
  bottom:3px;
  left:calc(50% - 2px);
  border-radius:50%;
}

.nav .brand b,footer .brand b {
  font-size:1.35rem;
  letter-spacing:.1em;
}

.nav .brand small,footer .brand small {
  font-size:var(--type-caption);
  letter-spacing:.12em;
}

.button {
  border-radius:var(--radius-control);
  padding:var(--space-3) var(--space-6);
  min-height:var(--control-height);
  font-size:var(--type-small);
  gap:var(--space-4);
  font-weight:500;
  background:#0066ff;
  box-shadow:0 6px 15px #0066ff14;
}

.button.outline,.button.ghost {
  background:#ffffff70;
  border:1px solid #bdd2ed;
  color:#0054d6;
  box-shadow:none;
}

.button:hover {
  background:#0054d6;
}

.button.outline:hover {
  background:#eaf2ff;
}

.text-link {
  font-weight:500;
  font-size:var(--type-small);
  min-height:44px;
}

.menu {
  border-radius:12px;
  background:#ffffff70;
  border-color:#dce5f0;
}

.studio-meta {
  padding-top:var(--space-8);
  letter-spacing:.13em;
}

.studio-hero-grid {
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  gap:var(--space-12);
  padding:var(--space-12) 0;
  align-items:center;
}

.studio-intro h1 {
  font-size:clamp(3rem,1.4rem + 4vw,5.5rem);
  line-height:1.03;
  letter-spacing:-.065em;
  margin:var(--space-6) 0;
}

.studio-intro h1 em {
  color:#0066ff;
}

.studio-intro>p {
  font-size:1rem;
  line-height:1.85;
  max-width:490px;
}

.studio-intro .actions {
  margin-top:var(--space-8);
  gap:var(--space-5);
}

.studio-secondary {
  font-size:var(--type-small);
}

.studio-visual {
  margin:0;
  border-radius:32px;
  border:1px solid white;
  background:linear-gradient(145deg,#ffffffb3,#e5efff65);
  box-shadow:0 25px 80px -35px #0066ff35,inset 0 0 0 1px #0066ff08;
  backdrop-filter:blur(18px);
  overflow:hidden;
}

.visual-top {
  padding:var(--space-6) var(--space-6) 0;
  font-size:.55rem;
  color:#52667c;
}

.visual-bottom {
  padding:var(--space-5) var(--space-6);
  font-size:var(--type-caption);
  border-top-color:#0066ff0d;
}

.studio-visual .orbital {
  height:380px;
  background-image:radial-gradient(#0066ff21 1px,transparent 1px);
  background-size:20px 20px;
}

.visual-tag {
  background:#ffffffb5;
  border-color:white;
  backdrop-filter:blur(16px);
  border-radius:12px;
  box-shadow:0 8px 28px #133d7710;
  padding:var(--space-3) var(--space-4);
  font-size:var(--type-caption);
}

.tag-a {
  top:84px;
  right:20px;
}

.tag-b {
  bottom:60px;
  left:20px;
}

.visual-cross {
  color:#7baeff;
}

.studio-principles {
  padding:var(--space-5) var(--space-6);
  border:1px solid white;
  background:#ffffff65;
  border-radius:18px;
  gap:var(--space-6);
  box-shadow:0 4px 24px #10243a03;
}

.studio-principles b {
  font-size:var(--type-small);
}

.studio-principles span {
  font-size:var(--type-caption);
}

.cards {
  gap:var(--grid-gap);
  border:0;
  align-items:stretch;
}

.card,.card:first-child,.card:last-child {
  padding:var(--panel-space);
  border:1px solid white;
  border-radius:var(--radius);
  background:linear-gradient(145deg,#ffffffd9,#ffffff80);
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px);
  min-width:0;
}

.card .icon {
  border:1px solid #d0e1fa;
  background:#edf4ff;
  border-radius:15px;
  width:50px;
  height:50px;
}

.card h3 {
  font-size:1.5rem;
  min-block-size:2.4em;
  margin:var(--space-4) 0;
}

.card p {
  font-size:var(--type-body);
}

.card .text-link {
  margin-top:auto;
}

.system-grid,.catalog-invitation {
  gap:var(--space-12);
}

.journey-panel {
  padding:var(--space-2) var(--space-8);
  border:1px solid white;
  border-radius:28px;
  background:#ffffff75;
  box-shadow:var(--shadow);
  backdrop-filter:blur(20px);
}

.journey-caption {
  border-color:#e7edf5;
  padding:var(--space-5) 0;
}

.journey-step {
  border-color:#e7edf5;
  padding:var(--space-6) 0;
}

.journey-icon {
  border-radius:12px;
  background:#eff5ff;
  border-color:#deebff;
}

.journey-step h3 {
  font-size:1.15rem;
}

.journey-step p {
  line-height:1.65;
}

.journey-note {
  font-size:var(--type-caption);
}

.format-cloud {
  gap:var(--space-3);
}

.format-cloud span,.format-cloud span:first-child {
  padding:var(--space-4) var(--space-5);
  border:1px solid #fff;
  border-radius:16px;
  background:#ffffff80;
  font-size:1.15rem;
  box-shadow:0 8px 25px -20px #10243a30;
}

.process {
  gap:var(--grid-gap);
}

.process article {
  border:1px solid white;
  background:#ffffff80;
  padding:var(--space-6);
  border-radius:22px;
  box-shadow:var(--shadow);
}

.process h3 {
  margin-top:var(--space-6);
}

.process p {
  font-size:var(--type-small);
}

.process b {
  font-size:var(--type-caption);
}

.founder-teaser,.founder-grid {
  grid-template-columns:minmax(0,.7fr) minmax(0,1.2fr);
  gap:var(--space-12);
  align-items:center;
}

.founder-signature {
  min-height:300px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  padding:var(--space-8);
  border-radius:28px;
  border:1px solid white;
  background:radial-gradient(ellipse at 90% 0,#7baeff30,transparent 70%),linear-gradient(140deg,#ffffffd9,#eaf2ff80);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.founder-signature:after {
  content:'';
  position:absolute;
  right:-80px;
  bottom:10px;
  width:230px;
  height:230px;
  border:1px solid #0066ff16;
  border-radius:50%;
  box-shadow:0 0 0 25px #0066ff03,0 0 0 50px #0066ff03;
}

.founder-signature>span {
  font-size:var(--type-caption);
  letter-spacing:.15em;
  color:#52667c;
}

.founder-signature b {
  font-size:6rem;
  line-height:1;
  letter-spacing:-.08em;
  font-weight:400;
  color:#0066ff;
}

.founder-signature small {
  font-size:var(--type-caption);
  letter-spacing:.1em;
  line-height:1.8;
  color:#52667c;
}

.founder-name {
  font-size:clamp(1.3rem,1rem + 1vw,2rem);
  color:#10243a;
  letter-spacing:-.04em;
}

.founder-copy h2 {
  font-size:clamp(2rem,1.2rem + 2vw,3.1rem);
}

.founder-quote {
  font-size:1.15rem;
  border-color:#0066ff33;
}

.purpose-grid {
  gap:var(--grid-gap);
}

.purpose-card {
  background:#ffffff80;
  border:1px solid white;
  border-radius:24px;
  padding:var(--space-8);
  box-shadow:var(--shadow);
}

.purpose-number {
  color:#0054d6;
}

.purpose-card h3 {
  font-size:1.75rem;
}

.faq-layout {
  gap:var(--space-12);
}

.faq details {
  background:#ffffff70;
  border:1px solid #fff;
  border-radius:16px;
}

.faq summary {
  font-size:var(--type-body);
}

.faq details p {
  margin-bottom:0;
}

.dark.section {
  background:transparent;
}

.cta {
  border:1px solid white;
  border-radius:30px;
  background:radial-gradient(ellipse at 100% 100%,#0066ff12,transparent 65%),#ffffff80;
  box-shadow:var(--shadow);
  align-items:center;
}

.cta h2 {
  font-size:clamp(2rem,1.2rem + 2.5vw,3.8rem);
}

.page-hero {
  background:transparent;
  padding:var(--space-12) 0 var(--space-8);
  border:0;
}

.page-hero>.wrap {
  padding-block:var(--panel-space);
  border-radius:30px;
  border:1px solid white;
  background:radial-gradient(ellipse at 100% 0,#7baeff1c,transparent 70%),#ffffff6b;
  box-shadow:0 12px 55px -40px #10243a40;
}

.page-hero h1 {
  font-size:clamp(2.4rem,1.25rem + 3.4vw,4.5rem);
  line-height:1.09;
  max-width:1000px;
  margin:var(--space-6) 0;
}

.page-hero p {
  font-size:1rem;
  max-width:720px;
}

.page-hero+.section {
  padding-top:var(--space-8);
}

.detail {
  margin-top:var(--space-6);
  padding:var(--panel-space);
  border:1px solid white;
  border-radius:24px;
  background:#ffffff78;
  gap:7%;
}

.detail h2 {
  font-size:clamp(1.8rem,1.1rem + 1.5vw,2.6rem);
}

.feature {
  background:#ffffff80;
  border:1px solid white;
  border-radius:24px;
  box-shadow:var(--shadow);
}

.catalog-tools,.ia-tools {
  padding:var(--space-6);
  border:1px solid white;
  background:#ffffff80;
  border-radius:22px;
  box-shadow:0 10px 40px -30px #10243a30;
  backdrop-filter:blur(16px);
}

input,select,textarea,.catalog-tools input,.catalog-tools select {
  border-radius:11px;
  background:#ffffffa6;
  border:1px solid #cedcee;
  color:#10243a;
  font-size:1rem;
  min-width:0;
}

.catalog-grid,.ia-grid {
  border:0;
  gap:var(--grid-gap);
}

.catalog-card,.ia-card {
  background:#ffffff9c;
  border:1px solid white;
  border-radius:var(--radius-panel);
  padding:var(--space-6);
  box-shadow:var(--shadow);
  backdrop-filter:blur(12px);
}

.catalog-card:hover {
  border-color:#c7dcf9;
}

.catalog-card h3,.ia-card h3 {
  font-size:1.4rem;
  line-height:1.25;
}

.ia-card-top {
  align-items:start;
}

.ia-icon {
  border-radius:12px;
  background:#edf4ff;
  border-color:#d0e1fa;
}

.ia-quote {
  border-radius:10px;
  background:#f5f9ff;
  border-color:#d3e2f8;
}

.ia-pagination button {
  border-radius:12px;
}

.ia-catalog-note {
  background:#ffffff75;
  border:1px solid white;
  border-radius:24px;
  padding:var(--space-8);
  max-width:none;
  margin-top:var(--space-12);
}

.ia-detail-aside {
  background:#ffffffa6;
  border:1px solid white;
  border-radius:24px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(20px);
  top:125px;
}

.ia-detail-content section {
  padding:var(--panel-space);
  border:1px solid white;
  border-radius:22px;
  background:#ffffff75;
}

.ia-detail-content section+section {
  margin-top:0;
  padding-top:var(--panel-space);
  border-top:1px solid white;
}

.ia-detail-content h2 {
  margin-top:0;
}

.ia-detail-content section .eyebrow {
  margin-bottom:var(--space-5);
}

.ia-detail-layout {
  gap:4%;
  grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);
}

.ia-promo {
  padding:var(--panel-space);
  margin-top:var(--space-8);
  margin-bottom:var(--space-16);
  border:1px solid white;
  border-radius:24px;
  background:#ffffff80;
  box-shadow:var(--shadow);
}

.ia-introduction {
  gap:7%;
}

.ia-empty {
  border-radius:22px;
  background:#ffffff80;
  border-color:white;
}

.ia-results-bar {
  padding:0 var(--space-1);
}

.form {
  border-radius:var(--radius-panel);
  background:#ffffffa1;
  border:1px solid white;
  box-shadow:var(--shadow);
  padding:var(--panel-space);
  backdrop-filter:blur(20px);
}

.contact-grid {
  gap:var(--space-12);
}

.form textarea {
  min-height:150px;
}

.notice {
  border:1px solid #d0e1fa;
  background:#edf4ff;
  border-radius:15px;
}

.legal {
  max-width:900px;
  background:#ffffff80;
  border:1px solid white;
  border-radius:24px;
  padding:var(--space-8);
}

.legal .notice {
  margin-bottom:var(--space-8);
}

footer {
  background:#f8fafc;
  border-top:1px solid #e1eaf6;
  padding-top:var(--space-12);
}

.footer-statement {
  font-size:clamp(4rem,15vw,12rem);
  color:#e0eaf8;
}

.upper .links {
  flex-wrap:wrap;
}

.bottom {
  border-color:#e1eaf6;
}

footer .brand {
  width:max-content;
  max-width:100%;
}

.error {
  padding-top:var(--space-20);
  padding-bottom:100px;
}

.brand-reference {
  display:none;
}

@media(max-width:1100px) {

  header {
    top:10px;
    margin-top:var(--space-2);
    border-radius:18px;
  }



  .nav {
    min-height:72px;
    height:auto;
  }

  #navigation {
    left:0;
    right:0;
    background:#f8fafcf5;
    backdrop-filter:blur(25px);
    border:1px solid white;
    border-radius:20px;
    box-shadow:var(--shadow);
  }

  #navigation>a {
    min-height:44px;
  }

  #navigation>a[aria-current]:not(.button):after {
    display:none;
  }

  .studio-hero-grid {
    gap:4%;
    padding-top:var(--space-12);
  }

  .studio-intro h1 {
    font-size:clamp(3rem,1.2rem + 4vw,4.8rem);
  }

  .studio-visual .orbital {
    height:350px;
  }

  .studio-intro .actions {
    gap:var(--space-3);
  }

  .cards {
    gap:var(--grid-gap);
  }

  .card,.card:first-child,.card:last-child {
    padding:var(--panel-space);
  }

  .card h3 {
    font-size:1.3rem;
  }

  .section {
    padding:var(--section-space) 0;
  }

  .process article {
    padding:var(--space-5);
  }

  .ia-grid,.catalog-grid {
    gap:var(--grid-gap);
  }
}

@media(max-width:900px) {
  .founder-teaser,.founder-grid {
    grid-template-columns:.75fr 1.2fr;
    gap:6%;
  }

  .founder-signature {
    min-height:310px;
    padding:var(--space-6);
  }

  .studio-visual .orbital {
    height:320px;
  }

  .studio-principles {
    gap:var(--space-4);
    padding:var(--space-5);
  }

  .cta {
    padding:var(--space-8);
  }

  .detail {
    padding:var(--space-8);
  }

  .ia-detail-aside {
    padding:var(--space-6);
  }
}

@media(max-width:740px) {

  .section {
    padding:var(--section-space) 0;
  }

  header {
    top:8px;
    margin-top:var(--space-2);
    border-radius:16px;
  }

  .nav {
    min-height:72px;
    height:auto;
    gap:var(--space-3);
  }

  .nav .brand b,footer .brand b {
    font-size:1.15rem;
  }

  .nav .brand small,footer .brand small {
    font-size:var(--type-caption);
  }

  .nav .brand,footer .brand {
    gap:var(--space-2);
  }

  #navigation {
    top:74px;
    max-height:calc(100dvh - 98px);
  }

  .studio-hero-grid {
    grid-template-columns:minmax(0,1fr);
  }

  .studio-intro h1 {
    line-height:1.05;
    margin:var(--space-5) 0;
  }

  .studio-intro>p {
    line-height:1.8;
  }

  .studio-intro .button {
    padding:var(--space-3) var(--space-4);
    gap:var(--space-3);
  }

  .studio-secondary {
    gap:var(--space-2);
  }

  .studio-visual {
    border-radius:25px;
    width:100%;
    max-width:500px;
  }

  .studio-visual .orbital {
    height:290px;
  }

  .visual-top {
    padding:var(--space-6) var(--space-6) 0;
    font-size:.5rem;
  }

  .visual-bottom {
    padding:var(--space-5);
    font-size:.4rem;
  }

  .tag-a {
    top:65px;
    right:16px;
  }

  .tag-b {
    bottom:48px;
    left:16px;
  }

  .visual-tag {
    padding:var(--space-2) var(--space-3);
    font-size:.55rem;
  }

  .studio-principles {
    grid-template-columns:1fr;
    border-radius:18px;
  }

  .section-top h2 {
    font-size:2.2rem;
  }

  .cards {
    gap:var(--grid-gap);
  }

  .card h3 {
    font-size:1.55rem;
  }

  .card p {
    font-size:var(--type-body);
  }

  .system-grid,.catalog-invitation,.founder-teaser,.founder-grid,.faq-layout {
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-6);
  }

  .system-copy h2,.catalog-invitation h2,.founder-teaser h2 {
    font-size:2.4rem;
  }

  .journey-panel {
    padding:var(--space-1) var(--space-6);
  }

  .journey-step {
    gap:var(--space-4);
  }

  .journey-step h3 {
    font-size:1.1rem;
  }

  .journey-caption {
    font-size:.55rem;
  }

  .process {
    gap:var(--space-3);
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .process article {
    padding:var(--space-6) var(--space-5);
  }

  .process h3 {
    font-size:1.1rem;
  }

  .process p {
    font-size:var(--type-small);
  }

  .founder-signature {
    min-height:240px;
    padding:var(--space-6);
    max-width:none;
  }

  .founder-signature b {
    font-size:5rem;
  }

  .founder-grid .founder-signature {
    display:none;
  }

  .founder-copy h2 {
    font-size:2.2rem;
  }

  .purpose-card {
    padding:var(--space-6);
  }

  .faq details {
    padding:var(--space-5);
  }

  .faq summary {
    font-size:var(--type-body);
  }

  .cta {
    padding:var(--space-8) var(--space-6);
    border-radius:24px;
    display:block;
  }

  .cta h2 {
    font-size:2.3rem;
  }

  .cta h2 br {
    display:none;
  }

  .cta .button {
    white-space:normal;
  }

  .dark.section {
    padding:var(--space-8) 0 var(--space-12);
  }

  .page-hero {
    padding:var(--space-8) 0;
  }

  .page-hero>.wrap {
    border-radius:24px;
  }

  .page-hero h1 {
    letter-spacing:-.05em;
  }

  .page-hero p {
    line-height:1.8;
  }

  .detail {
    padding:var(--space-6);
    margin-top:var(--space-5);
    gap:var(--space-5);
  }

  .detail h2 {
    font-size:1.9rem;
  }

  .detail p,.detail li {
    font-size:var(--type-body);
  }

  .feature {
    padding:var(--space-6);
  }

  .catalog-tools,.ia-tools {
    padding:var(--space-5);
    border-radius:18px;
  }

  .catalog-grid,.ia-grid {
    gap:var(--space-4);
  }

  .ia-card,.catalog-card {
    padding:var(--space-6);
    border-radius:20px;
  }

  .ia-card h3,.catalog-card h3 {
    font-size:1.4rem;
  }

  .ia-description,.catalog-card p {
    font-size:var(--type-body);
  }

  .ia-introduction h2 {
    font-size:2rem;
  }

  .ia-detail-layout {
    grid-template-columns:minmax(0,1fr);
  }

  .ia-detail-content section {
    padding:var(--space-6);
  }

  .ia-detail-content section+section {
    padding-top:var(--space-6);
  }

  .ia-detail-aside {
    position:static;
    padding:var(--space-6);
  }

  .ia-detail-content h2 {
    font-size:1.6rem;
  }

  .ia-catalog-note {
    padding:var(--space-6);
    margin-top:var(--space-8);
  }

  .ia-promo h2 {
    font-size:2rem;
  }

  .ia-promo .button {
    white-space:normal;
  }

  .ia-breadcrumb {
    font-size:var(--type-caption);
  }

  .form {
    padding:var(--space-6);
  }

  .form label {
    font-size:var(--type-small);
  }

  .legal {
    padding:var(--space-6);
  }

  .footer-statement {
    font-size:21vw;
    margin-bottom:var(--space-8);
  }

  footer .upper {
    gap:var(--space-6);
  }

  footer .links {
    row-gap:0;
  }

  .bottom {
    line-height:1.8;
  }

  input,select,textarea {
    font-size:16px;
  }

  .ia-category {
    font-size:var(--type-caption);
  }
}

@media(max-width:380px) {

  .studio-intro .actions {
    flex-direction:column;
    align-items:stretch;
    gap:var(--space-2);
  }

  .studio-secondary {
    justify-content:space-between;
  }

  .ia-pagination {
    gap:var(--space-2);
  }

  .ia-pagination button {
    font-size:var(--type-small);
  }

  .nav .brand b {
    font-size:1.05rem;
  }
}

@supports not (backdrop-filter:blur(1px)) {
  header,.card,.form,.ia-card,.catalog-card,.ia-detail-aside {
    background:#f8fafc;
  }
}

/* Descripción de agencia: texto completo sin recortes en móvil. */

.studio-meta>span:first-child {
  min-width:0;
  max-width:750px;
  line-height:1.8;
}

.studio-meta>span:last-child {
  flex-shrink:0;
}

@media(max-width:740px) {
  .studio-meta {
    flex-direction:column;
    align-items:flex-start;
  }

  .studio-meta>span:last-child {
    max-width:none;
    text-align:left;
  }
}

/* Audited shared rhythm, readable metadata and consistent interactive states. */

main {
  min-width:0;
}

main section {
  scroll-margin-top:120px;
}

.section :is(.section-top,.system-grid,.catalog-invitation,.founder-teaser,.faq-layout)>* {
  min-width:0;
}

.eyebrow,.card .num,.catalog-category,.purpose-number,.ia-kicker {
  font-size:var(--type-caption);
  line-height:1.6;
  letter-spacing:.08em;
}

.studio-meta {
  font-size:var(--type-caption);
  gap:var(--space-6);
}

.card .num {
  margin-top:var(--space-6);
}

.card p,.catalog-card p,.process p,.purpose-card p,.detail p,.detail li,.founder-copy>.muted,.founder-teaser p,.system-copy>p,.catalog-invitation p,.faq details p,.ia-description,.ia-detail-content p,.ia-detail-content li,.ia-introduction>p,.ia-catalog-note p,.ia-promo p {
  font-size:var(--type-body);
  line-height:1.75;
}

.card .text-link,.catalog-card .text-link,.ia-details,.ia-quote,.ia-results-bar>p,.ia-results-bar .text-link,.ia-pagination>div,.ia-pagination button,.ia-detail-aside .button,.ia-detail-aside .text-link,.ia-detail-aside>p {
  font-size:var(--type-small);
  line-height:1.6;
}

.card {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.card p {
  margin:0 0 var(--space-5);
}

.card .text-link {
  align-self:stretch;
  justify-content:space-between;
}

.catalog-card h3 {
  min-block-size:2.5em;
}

.catalog-card .text-link {
  margin-top:auto;
  align-self:stretch;
  justify-content:space-between;
}

.ia-card h3 {
  margin:var(--space-5) 0 var(--space-3);
}

.ia-card dl {
  font-size:var(--type-small);
  margin-bottom:var(--space-6);
}

.ia-card dt {
  font-size:var(--type-caption);
}

.ia-card dl>div+div {
  margin-top:var(--space-4);
}

.ia-card-actions {
  gap:var(--space-3);
}

.ia-category {
  font-size:var(--type-caption);
  letter-spacing:.04em;
}

.ia-card-top {
  gap:var(--space-3);
  min-block-size:48px;
}

.ia-small,.ia-interest-help {
  font-size:var(--type-small);
  line-height:1.7;
}

.ia-detail-aside h2 {
  font-size:1.75rem;
  line-height:1.2;
}

.ia-detail-aside {
  max-height:calc(100dvh - 152px);
  overflow:auto;
}

.ia-breadcrumb {
  padding-top:var(--space-6);
  gap:var(--space-3);
  font-size:var(--type-small);
}

.ia-breadcrumb a {
  min-height:44px;
}

.ia-detail-content section {
  margin-bottom:var(--space-6);
}

.ia-detail-content section:last-child {
  margin-bottom:0;
}

.ia-pagination {
  gap:var(--space-4);
  margin-top:var(--space-8);
}

.ia-results-bar {
  margin:var(--space-6) 0;
  gap:var(--space-4);
}

.ia-results-bar .text-link {
  margin:0;
}

.ia-introduction {
  margin-bottom:var(--space-8);
}

.ia-introduction h2 {
  margin-bottom:0;
}

.ia-catalog-note h2,.ia-promo h2 {
  margin-top:var(--space-4);
}

.form .field {
  margin:0 0 var(--space-6);
}

.form label,.catalog-tools label,.ia-tools label {
  font-size:var(--type-small);
  line-height:1.6;
  margin-bottom:var(--space-2);
}

.form input:not([type=checkbox]),.form select,.catalog-tools :is(input,select),.ia-tools :is(input,select) {
  min-height:var(--control-height);
  padding:var(--space-3) var(--space-4);
}

.form textarea {
  padding:var(--space-3) var(--space-4);
  line-height:1.7;
  resize:vertical;
}

.form .check {
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  align-items:start;
  gap:var(--space-3);
  margin:0;
  font-size:var(--type-small);
}

.form .check input {
  margin:var(--space-1) 0 0;
  min-height:20px;
  accent-color:var(--blue);
}

.notice,#form-status {
  font-size:var(--type-small);
  line-height:1.75;
}

.notice {
  padding:var(--space-5);
}

#form-status:empty {
  margin:0;
}

#form-status:not(:empty) {
  margin:var(--space-4) 0 0;
  padding:var(--space-4);
  border:1px solid #bdd2ed;
  border-radius:var(--radius-control);
  background:#edf4ff;
}

.ia-interest-help {
  margin:var(--space-2) 0 0;
  overflow-wrap:anywhere;
}

.button,.ia-quote {
  line-height:1.5;
  min-height:48px;
}

.button:disabled,.ia-pagination button:disabled {
  background:#edf1f7;
  color:#52667c;
  border-color:#dce5f0;
  box-shadow:none;
  cursor:not-allowed;
}

.button:not(:disabled):active,.ia-quote:active {
  background:#e0edff;
  color:#0054d6;
  border-color:#7baeff;
}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:3px solid #0066ff;
  outline-offset:4px;
}

.form :is(input,select,textarea):user-invalid {
  border:2px solid #a42b3d;
  background:#fffafb;
}

.skip {
  z-index:1000;
  border-radius:var(--radius-control);
}

.faq summary {
  align-items:center;
  min-height:44px;
}

.faq summary:after {
  flex:0 0 24px;
  text-align:center;
}

.faq details {
  padding:var(--space-4) var(--space-6);
  margin-bottom:var(--space-3);
}

.faq details p {
  margin-top:var(--space-4);
}

.faq-layout h2 {
  margin-bottom:0;
}

.cta {
  padding:var(--panel-space);
  gap:var(--space-8);
}

.cta h2 {
  margin-top:var(--space-4);
  margin-bottom:var(--space-4);
}

.cta .button {
  margin:0;
}

.dark.section {
  padding:var(--space-8) 0 var(--section-space);
}

.footer-statement {
  margin-bottom:var(--space-8);
}

footer .links {
  gap:var(--space-6);
}

footer .links a {
  font-size:var(--type-small);
}

.bottom {
  font-size:var(--type-caption);
  letter-spacing:.04em;
}

.founder-quote {
  margin-inline:0;
  padding-left:var(--space-6);
  max-width:60ch;
}

.legal p {
  max-width:68ch;
}

.legal h2 {
  margin-top:var(--space-8);
  margin-bottom:var(--space-4);
}

@media(max-width:1100px) {
  #navigation {
    top:calc(100% + 8px);
    max-height:calc(100dvh - 120px);
    padding:var(--space-4);
    gap:var(--space-1);
  }

  #navigation a {
    font-size:var(--type-body);
  }

  #navigation .button {
    font-size:var(--type-small);
  }
}

@media(min-width:741px) and (max-width:1000px) {
  .cards {
    grid-template-columns:minmax(0,1fr);
  }

  .card h3 {
    min-block-size:0;
  }

  .card p {
    max-width:65ch;
  }

  .card h3 br {
    display:none;
  }

  .card .text-link {
    align-self:flex-start;
    gap:var(--space-8);
  }
}

@media(max-width:900px) {
  .studio-hero-grid,.system-grid,.catalog-invitation,.founder-teaser,.founder-grid,.faq-layout,.ia-introduction,.ia-detail-layout {
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-8);
  }

  .studio-intro h1 {
    font-size:clamp(3rem,1.4rem + 5vw,4.5rem);
  }

  .studio-intro .actions {
    flex-direction:row;
    align-items:center;
    flex-wrap:wrap;
  }

  .studio-visual {
    width:min(100%,520px);
    justify-self:center;
  }

  .ia-detail-aside {
    position:static;
    max-height:none;
    overflow:visible;
  }

  .ia-detail-layout {
    gap:var(--space-6);
  }

  .ia-detail-aside .button {
    max-width:320px;
  }

  .ia-introduction>p {
    max-width:65ch;
  }

  .founder-teaser .founder-signature {
    display:none;
  }

  .founder-grid .founder-signature {
    display:none;
  }

  .process {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ia-promo {
    align-items:flex-start;
    gap:var(--space-6);
    flex-direction:column;
  }

  .ia-promo h2 br {
    display:none;
  }

  .ia-promo .button {
    margin:0;
  }
}

@media(max-width:740px) {
  :root {
    --panel-space:24px;
    --grid-gap:var(--space-6);
  }

  .section-top {
    margin-bottom:var(--space-6);
  }

  .section-top p {
    margin-top:var(--space-4);
  }

  .studio-meta {
    font-size:var(--type-caption);
    padding-top:var(--space-6);
    gap:var(--space-2);
  }

  .studio-hero-grid {
    padding:var(--space-8) 0;
    gap:var(--space-8);
  }

  .studio-intro h1 {
    font-size:clamp(2.75rem,1.5rem + 5vw,4rem);
  }

  .studio-intro>p {
    font-size:var(--type-body);
  }

  .studio-intro .actions {
    gap:var(--space-3);
    margin-top:var(--space-6);
    align-items:stretch;
    flex-direction:column;
  }

  .studio-secondary {
    font-size:var(--type-small);
    justify-content:space-between;
    min-height:48px;
  }

  .studio-intro .button {
    font-size:var(--type-small);
    min-height:52px;
  }

  .studio-principles {
    gap:var(--space-4);
    padding:var(--space-6);
  }

  .studio-principles b {
    font-size:var(--type-small);
  }

  .page-hero>.wrap {
    padding-block:var(--panel-space);
  }

  .page-hero h1 {
    font-size:clamp(2rem,1.4rem + 3vw,3rem);
    line-height:1.15;
    margin:var(--space-5) 0;
  }

  .page-hero p {
    font-size:var(--type-body);
    margin-bottom:0;
  }

  .card h3,.catalog-card h3 {
    min-block-size:0;
  }

  .card,.card:first-child,.card:last-child {
    padding:var(--panel-space);
  }

  .ia-card,.catalog-card,.purpose-card,.form,.detail,.feature,.legal {
    padding:var(--panel-space);
  }

  .ia-detail-content section,.ia-detail-content section+section {
    padding:var(--panel-space);
  }

  .ia-pagination>div {
    gap:var(--space-3);
  }

  .ia-pagination button {
    font-size:var(--type-small);
    min-height:48px;
  }

  .ia-tools .button {
    width:100%;
  }

  .ia-promo {
    padding:var(--panel-space);
    margin-bottom:var(--space-12);
  }

  .cta .button {
    margin-top:var(--space-6);
  }

  .purpose-card h3 {
    font-size:1.5rem;
  }

  .contact-grid {
    gap:var(--space-8);
  }

  footer .links {
    gap:var(--space-4);
  }

  .bottom {
    font-size:var(--type-caption);
  }

  .ia-breadcrumb {
    padding-top:var(--space-6);
  }

  .founder-name {
    font-size:1.5rem;
  }
}

@media(max-width:380px) {
  .process {
    grid-template-columns:minmax(0,1fr);
  }

  .studio-intro h1 {
    font-size:2.75rem;
  }

  .ia-pagination button {
    padding:var(--space-3);
  }

  .page-hero>.wrap {
    padding-block:var(--space-6);
  }
}

@media(max-height:650px) {
  .ia-detail-aside {
    position:static;
    max-height:none;
    overflow:visible;
  }
}

/* Global content grid: one gutter at each viewport edge; no nested gutters. */
:root { --content-max:1360px; --content-gutter:40px; }
.wrap {
  box-sizing:border-box;
  width:100%;
  max-width:var(--content-max);
  margin-inline:auto;
  padding-inline:var(--content-gutter);
}
header { width:min(calc(var(--content-max) - var(--content-gutter)),calc(100% - var(--content-gutter))); border:0; box-shadow:inset 0 0 0 1px white,0 5px 30px #10243a08; }
.nav { position:relative; padding-inline:calc(var(--content-gutter) / 2); }
.page-hero>.wrap { padding-inline:var(--content-gutter); border:0; box-shadow:inset 0 0 0 1px white,0 12px 55px -40px #10243a40; }
.wrap.cta,.wrap.ia-promo,.wrap.legal { border:0; box-shadow:inset 0 0 0 1px white,var(--shadow); }
.ia-results-bar { padding-inline:0; }
img,video,iframe { max-width:100%; }
@media(max-width:1100px) {
  :root { --content-gutter:28px; }
  #navigation { left:calc(var(--content-gutter) / 2); right:calc(var(--content-gutter) / 2); }
}
@media(max-width:740px) {
  :root { --content-gutter:18px; }
}
@media(max-width:380px) {
  :root { --content-gutter:14px; }
}

.legal>p { max-width:75ch; }
