/* Zethic: estilos compartilhados da home e das páginas de cada frente. */
  /* Identidade visual Zethic (PDF "Logo e identidade visual da Zethic", 10/10/2026):
     paleta #02041A, #00E5FF, #FFFFFF, #A7B2D1; tipografia Public Sans (fonte embutida no PDF), hospedada no próprio site (licença OFL em /assets/fonts/OFL.txt). */
  @font-face{font-family:"Public Sans";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/public-sans-latin-300-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
  @font-face{font-family:"Public Sans";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/public-sans-latin-ext-300-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
  @font-face{font-family:"Public Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/public-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
  @font-face{font-family:"Public Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/public-sans-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
  @font-face{font-family:"Public Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/public-sans-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
  @font-face{font-family:"Public Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/public-sans-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
  @font-face{font-family:"Public Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/public-sans-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
  @font-face{font-family:"Public Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/public-sans-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
  @font-face{font-family:"Public Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/public-sans-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
  @font-face{font-family:"Public Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/public-sans-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
  :root{
    --navy:#02041A; --cyan:#00E5FF; --white:#FFFFFF; --ice:#A7B2D1;
    --surface:rgba(167,178,209,.06); --surface-2:rgba(167,178,209,.1);
    --line:rgba(167,178,209,.2); --line-strong:rgba(167,178,209,.55);
    --font:"Public Sans",system-ui,sans-serif;
    --wrap:72rem;
    --hex:url("/assets/img/hex.svg");
  }
  *,*::before,*::after{box-sizing:border-box}
  html{scroll-behavior:smooth;scroll-padding-top:5rem}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
  html{color-scheme:dark}
  body{margin:0;background:var(--navy);color:var(--white);font-family:var(--font);font-weight:400;font-size:1.0625rem;line-height:1.65}
  a{color:inherit;text-decoration-color:var(--cyan);text-underline-offset:.18em}
  a:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
  .wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.25rem}
  h1,h2,h3{font-family:var(--font);line-height:1.15;margin:0;text-wrap:balance}
  p{text-wrap:pretty}
  h1{font-weight:700}
  h2{font-weight:600;font-size:clamp(1.8rem,4.2vw,2.6rem);max-width:24ch}
  h2::after{content:"";display:block;width:3.5rem;height:3px;border-radius:2px;background:var(--cyan);margin-top:1rem;box-shadow:0 0 12px rgba(0,229,255,.45)}
  h3{font-weight:600;font-size:1.25rem}
  p{margin:0 0 1rem}
  .lead{font-size:1.15rem;color:var(--ice);max-width:58ch;margin-top:1.2rem}
  section{padding:clamp(3.5rem,8vw,6rem) 0}
  .alt{background:linear-gradient(rgba(167,178,209,.04),rgba(167,178,209,.04)),var(--navy);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .hex{position:relative;isolation:isolate}
  .hex::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--hex);
    -webkit-mask-image:radial-gradient(circle at 0 0,#000,transparent 38%),radial-gradient(circle at 100% 100%,#000,transparent 38%);
    mask-image:radial-gradient(circle at 0 0,#000,transparent 38%),radial-gradient(circle at 100% 100%,#000,transparent 38%)}
  .skip{position:absolute;left:1rem;top:1rem;transform:translateY(-200%);z-index:20;background:var(--cyan);color:var(--navy);padding:.6rem 1rem;border-radius:6px;font-weight:700;text-decoration:none}
  .skip:focus{transform:none}

  /* Logotipo: Z ≡ THIC, com o E em três barras (branca, ciano, branca) */
  /* Logotipo principal (Seção 01 do PDF): Public Sans Medium; o E são três barras da cor das letras,
     com ~70% da altura das maiúsculas, centralizadas nelas. A marca reduzida (favicon) usa a barra do meio ciano. */
  .logo{display:inline-flex;align-items:flex-start;font-weight:500;font-size:1.75rem;letter-spacing:0;line-height:1;text-decoration:none;color:var(--white)}
  .logo-e{display:block;flex:none;width:.72em;height:.525em;margin:.22em .11em 0 .09em;fill:currentColor}

  .btn{display:inline-block;padding:.95rem 1.5rem;border-radius:6px;font-weight:700;font-size:1rem;text-decoration:none;line-height:1.2}
  .btn-main{background:var(--cyan);color:var(--navy)}
  .btn-main:hover{background:var(--white)}
  .btn-line{border:1px solid var(--line-strong);color:var(--white)}
  .btn-line:hover{border-color:var(--cyan)}
  .btn-dark{background:var(--navy);color:var(--white)}
  .btn-dark:hover{color:var(--cyan)}

  header{position:sticky;top:0;z-index:10;background:rgba(2,4,26,.94);border-bottom:1px solid var(--line)}
  .bar{display:flex;align-items:center;gap:1.5rem;height:4.25rem}
  nav{margin-left:auto;display:flex;gap:1.4rem;font-size:.95rem}
  nav a{text-decoration:none;color:var(--ice);white-space:nowrap}
  nav a:hover{color:var(--cyan)}
  .bar .btn{padding:.65rem 1rem;font-size:.92rem;white-space:nowrap}
  @media (max-width:70rem){nav{display:none}.bar .btn{margin-left:auto}}
  @media (max-width:22rem){.bar .btn{padding:.6rem .8rem}.logo{font-size:1.5rem}}

  .hero{overflow:hidden;padding:clamp(3rem,8vw,6rem) 0 clamp(3.5rem,7vw,5.5rem);
    background:radial-gradient(48rem 26rem at 80% 45%,rgba(0,229,255,.10),transparent 65%),var(--navy)}
  .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
  .hero-grid>*{min-width:0}
  .hero h1{font-size:clamp(2.3rem,6.2vw,4.3rem);line-height:1.05;max-width:14ch}
  .hero h1::after{content:"";display:block;width:4.5rem;height:3px;border-radius:2px;background:var(--cyan);margin-top:1.4rem;box-shadow:0 0 12px rgba(0,229,255,.5)}
  .hero .lead{color:var(--ice);margin:1.4rem 0 2rem;font-size:1.2rem}
  .hero-ctas{display:flex;flex-wrap:wrap;gap:.8rem}
  .hero small{display:block;margin-top:1.4rem;color:var(--ice);font-weight:300;font-size:.9rem}
  @media (max-width:56rem){.hero-grid{grid-template-columns:1fr}}

  .coins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem 1rem;max-width:26rem;margin-left:auto;padding:0;list-style:none}
  .coin{aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;padding:.9rem;
    border:2px solid var(--cyan);background:radial-gradient(circle at 35% 30%,rgba(167,178,209,.16),rgba(167,178,209,.05) 60%,var(--navy));overflow-wrap:break-word;hyphens:auto;
    box-shadow:0 0 20px rgba(0,229,255,.25),inset 0 0 16px rgba(0,229,255,.12);
    font-weight:600;font-size:clamp(.78rem,1.4vw,.86rem);line-height:1.25;color:var(--white)}
  .coin:nth-child(3n+2){transform:translateY(.9rem)}
  @media (max-width:30rem){.coins{grid-template-columns:repeat(2,minmax(0,1fr));max-width:19rem;gap:1.2rem 1.4rem}.coin:nth-child(3n+2){transform:none}.coin:nth-child(even){transform:translateY(1.4rem)}.coin{font-size:.86rem}}
  .coins-caption{max-width:26rem;margin:2.2rem 0 0 auto;font-size:.9rem;font-weight:300;color:var(--ice)}
  @media (max-width:56rem){.coins,.coins-caption{margin-left:0}}
  @media (max-width:30rem){.coins-caption{margin-top:3rem}}
  @media (prefers-reduced-motion:no-preference){
    .coin{animation:cunhar .6s cubic-bezier(.2,.7,.2,1) both}
    .coin:nth-child(1){animation-delay:.15s}.coin:nth-child(2){animation-delay:.3s}.coin:nth-child(3){animation-delay:.45s}
    .coin:nth-child(4){animation-delay:.6s}.coin:nth-child(5){animation-delay:.75s}.coin:nth-child(6){animation-delay:.9s}
    @keyframes cunhar{from{opacity:0;scale:.6}to{opacity:1;scale:1}}
  }

  .benefits{background:linear-gradient(rgba(167,178,209,.04),rgba(167,178,209,.04)),var(--navy);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0}
  .benefits ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
  .benefits li{padding:1.8rem 1.4rem 1.9rem;border-left:1px solid var(--line)}
  .benefits li:first-child{border-left:0;padding-left:0}
  .benefits strong{display:block;font-weight:600;font-size:1.15rem;margin-bottom:.35rem;color:var(--cyan)}
  .benefits span{display:block;color:var(--ice);font-size:.95rem;line-height:1.5}
  @media (max-width:56rem){.benefits ul{grid-template-columns:1fr 1fr}.benefits li{border-left:0;padding-left:0;border-top:1px solid var(--line)}.benefits li:nth-child(-n+2){border-top:0}.benefits li:nth-child(even){padding-left:1.4rem;border-left:1px solid var(--line)}}
  @media (max-width:30rem){.benefits ul{grid-template-columns:1fr}.benefits li,.benefits li:nth-child(even){padding-left:0;border-left:0;border-top:1px solid var(--line)}.benefits li:first-child{border-top:0}}

  .pains{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2.5rem}
  .pain{background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;padding:1.6rem 1.5rem}
  .pain h3{margin-bottom:.6rem}
  .pain p{color:var(--ice);font-size:.98rem;margin:0}
  .pain .fix{margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line);color:var(--cyan);font-weight:600;font-size:.95rem}
  @media (max-width:46rem){.pains{grid-template-columns:1fr}}
  .case{margin:2.5rem 0 0;padding:1.6rem 1.6rem 1.4rem;border-left:3px solid var(--cyan);border-radius:0 10px 10px 0;background:var(--surface);max-width:48rem}
  .case blockquote{margin:0}
  .case p{font-size:1.2rem;line-height:1.55;margin:0 0 .6rem}
  .case figcaption{font-weight:300;color:var(--ice);font-size:.92rem}

  .entry{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:center;border:1px solid var(--cyan);border-radius:12px;padding:clamp(1.6rem,4vw,2.6rem);margin:2.5rem 0 3rem;
    background:var(--surface-2);box-shadow:0 0 28px rgba(0,229,255,.12)}
  .entry h3{font-weight:700;font-size:clamp(1.5rem,3.2vw,2rem);margin-bottom:.8rem}
  .entry p{color:var(--ice)}
  .entry ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
  .entry-link{margin:1rem 0 0}
  .entry li{padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.97rem}
  @media (max-width:52rem){.entry{grid-template-columns:1fr}}
  .lines{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem 2rem}
  .line h3{font-size:1.1rem;padding-bottom:.6rem;border-bottom:2px solid var(--cyan);margin-bottom:.4rem}
  .line dl{margin:0}
  .line dt{font-weight:600;margin-top:.8rem}
  .line dd{margin:.1rem 0 0;color:var(--ice);font-size:.95rem;line-height:1.5}
  @media (max-width:60rem){.lines{grid-template-columns:1fr 1fr}}
  @media (max-width:40rem){.lines{grid-template-columns:1fr}}

  .steps{list-style:none;margin:2.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:passo}
  .steps li{counter-increment:passo;border-top:1px solid var(--line);padding-top:1rem}
  .steps li::before{content:counter(passo);display:block;font-weight:700;font-size:2.4rem;line-height:1;color:var(--cyan);margin-bottom:.8rem}
  .steps strong{display:block;font-weight:600;font-size:1.05rem;margin-bottom:.35rem}
  .steps span{color:var(--ice);font-size:.95rem;line-height:1.5;display:block}
  @media (max-width:56rem){.steps{grid-template-columns:1fr 1fr}}
  @media (max-width:32rem){.steps{grid-template-columns:1fr}}
  .moedas-title{margin-top:4rem;font-size:clamp(1.4rem,3vw,1.8rem)}
  .moedas{display:grid;grid-template-columns:repeat(3,1fr);margin-top:1.2rem;border-top:1px solid var(--line)}
  .moedas div{padding:1.2rem 1.2rem 1.3rem 0;border-bottom:1px solid var(--line)}
  .moedas b{display:block;font-weight:600;font-size:1.1rem;color:var(--cyan);margin-bottom:.25rem}
  .moedas span{display:block;color:var(--ice);font-size:.94rem;line-height:1.5}
  @media (max-width:52rem){.moedas{grid-template-columns:1fr 1fr}}
  @media (max-width:32rem){.moedas{grid-template-columns:1fr}}

  .report-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
  @media (max-width:52rem){.report-grid{grid-template-columns:1fr}}
  .artifact{background:var(--surface);border:1px solid var(--line-strong);border-top:3px solid var(--cyan);border-radius:10px;padding:1.5rem 1.4rem}
  .artifact h3{font-size:.95rem;font-weight:600;color:var(--ice);margin:0 0 1rem}
  .artifact dl{margin:0;font-size:.97rem}
  .artifact dl div{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--line)}
  .artifact dt{color:var(--ice)}
  .artifact dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
  .artifact .zero{color:var(--cyan)}
  .artifact .note{font-size:.9rem;font-weight:300;color:var(--ice);margin:1rem 0 0;line-height:1.55}

  .founder{background:var(--cyan);color:var(--navy);padding:clamp(2.5rem,6vw,4rem) 0}
  .founder .wrap{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;align-items:center;justify-content:space-between}
  .founder h2{font-weight:600;font-size:clamp(1.5rem,3.4vw,2.2rem);max-width:26ch}
  .founder h2::after{background:var(--navy);box-shadow:none}
  .founder p{margin:.8rem 0 0;max-width:52ch;font-weight:500}
  .founder a:focus-visible{outline-color:var(--navy)}

  .about{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:start}
  @media (max-width:52rem){.about{grid-template-columns:1fr}.badge{order:1;max-width:24rem}}
  .badge{border:1px solid var(--line-strong);border-radius:12px;padding:2rem 1.6rem;background:var(--surface)}
  .badge img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:8px;margin-bottom:1.4rem}
  .badge .name{font-weight:700;font-size:1.6rem;line-height:1.15}
  .badge .role{color:var(--cyan);font-weight:500;margin:.4rem 0 1.4rem}
  .badge ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
  .badge li{padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.94rem;color:var(--ice)}
  .about p{max-width:62ch}
  .about .first{margin-top:1.4rem}
  .about .creds{color:var(--ice);font-weight:300;font-size:.97rem}

  .faq{max-width:50rem;margin-top:2rem;border-top:1px solid var(--line)}
  details{border-bottom:1px solid var(--line)}
  summary{cursor:pointer;list-style:none;padding:1.15rem 2.5rem 1.15rem 0;position:relative;font-weight:600;font-size:1.05rem}
  summary::-webkit-details-marker{display:none}
  summary::after{content:"+";content:"+"/"";position:absolute;right:.3rem;top:50%;translate:0 -50%;font-weight:300;font-size:1.8rem;color:var(--cyan);line-height:1;transition:rotate .2s}
  details[open] summary::after{rotate:45deg}
  @media (prefers-reduced-motion:reduce){summary::after{transition:none}}
  details p{color:var(--ice);margin:0 0 1.2rem;max-width:64ch}

  .contact{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
  @media (max-width:52rem){.contact{grid-template-columns:1fr}}
  .contact .lead{margin-bottom:1.6rem}
  .contact dl{margin:0;border-top:1px solid var(--line)}
  .contact dl div{display:flex;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.97rem}
  .contact dt{flex:0 0 6.5rem;color:var(--ice);font-weight:300}
  .contact dd{margin:0;word-break:break-word}


  /* Calculadora de custo de parada (main, PR #5), na identidade visual */
  .calc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:start}
  .calc-grid>*{min-width:0}
  @media (max-width:52rem){.calc-grid{grid-template-columns:minmax(0,1fr)}}
  .calc-note{color:var(--ice);font-weight:300;font-size:.92rem;max-width:52ch}
  .calc{background:var(--surface);border:1px solid var(--line-strong);border-top:3px solid var(--cyan);border-radius:10px;padding:1.5rem 1.4rem;display:grid;gap:1rem}
  .calc label{display:grid;gap:.35rem;font-size:.95rem;color:var(--ice)}
  .calc input{font:inherit;color:var(--white);background:var(--navy);border:1px solid var(--line-strong);border-radius:6px;padding:.7rem .8rem;width:100%}
  .calc input:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}
  .calc output{display:block;font-size:1.15rem;line-height:1.45;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .calc output b{color:var(--cyan);font-weight:700;font-size:1.5rem}
  .calc .btn{text-align:center}

  /* Botão fixo no celular (main, PR #5) */
  .sticky-cta{display:none}
  @media (max-width:52rem){
    .sticky-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:20;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));background:rgba(2,4,26,.96);border-top:1px solid var(--line)}
    .sticky-cta .btn{display:block;text-align:center}
    body{padding-bottom:4.6rem}
  }

  /* Robustez no celular (main, PR #7): nenhuma coluna mais larga que a tela, mesmo com fonte aumentada */
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  h1,h2,h3,p,li,dt,dd,summary,legend,label,a,small,span,b,strong{overflow-wrap:break-word}
  img,video{max-width:100%;height:auto}
  .report-grid>*,.about>*,.contact>*,.entry>*{min-width:0}
  .artifact dd{white-space:nowrap}
  @media (max-width:30rem){
    .hero h1{font-size:clamp(2.1rem,10vw,2.8rem)}
    .hero .lead{font-size:1.05rem}
    .btn{white-space:normal;text-align:center}
    .bar .btn{white-space:nowrap}
    .hero-ctas .btn{display:block;width:100%}
    .artifact dd{white-space:normal;text-align:right}
    .contact dt{flex-basis:5.2rem}
  }
  .logo{white-space:nowrap;flex:0 0 auto}

  /* No celular, as frentes aparecem logo após o texto do topo; as 6 Moedas seguem explicadas em "Como funciona". */
  @media (max-width:56rem){.hero-coins{display:none}}

  /* Frentes (hub da home) e páginas de cada frente */
  .frentes{padding-top:clamp(2.5rem,6vw,4rem)}
  .doors{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
  @media (max-width:60rem){.doors{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media (max-width:34rem){.doors{grid-template-columns:minmax(0,1fr)}}
  .door{display:flex;flex-direction:column;height:100%;padding:1.5rem 1.3rem 1.3rem;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);text-decoration:none;color:var(--white);transition:border-color .2s,background .2s}
  .door:hover{border-color:var(--cyan);background:var(--surface-2)}
  @media (prefers-reduced-motion:reduce){.door{transition:none}}
  .door-n{color:var(--cyan);font-weight:700;font-size:1.25rem;margin-bottom:.5rem}
  .door strong{font-weight:600;font-size:1.05rem;line-height:1.35;margin-bottom:.5rem}
  .door .door-d{color:var(--ice);font-size:.94rem;line-height:1.5;flex:1}
  .door .door-go{margin-top:1.1rem;font-weight:600;color:var(--cyan);text-decoration:underline;text-underline-offset:.2em}
  .crumb{margin:0 0 1.2rem;font-size:.92rem}
  .crumb a{color:var(--ice)}
  .door-hero h1{max-width:20ch}
  .situ{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
  @media (max-width:46rem){.situ{grid-template-columns:minmax(0,1fr)}}
  .situ li{padding:1.2rem 1.3rem;border:1px solid var(--line-strong);border-left:3px solid var(--cyan);border-radius:0 10px 10px 0;background:var(--surface)}
  .principle{margin:2rem 0 0;max-width:48rem;font-size:1.15rem;line-height:1.55}
  .principle b{color:var(--cyan)}
  .svc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:2rem}
  @media (max-width:46rem){.svc-grid{grid-template-columns:minmax(0,1fr)}}
  .svc{padding:1.5rem 1.4rem;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface)}
  .svc.feature{border-color:var(--cyan);box-shadow:0 0 28px rgba(0,229,255,.12)}
  .svc h3{margin-bottom:.5rem}
  .svc p{color:var(--ice);margin:0 0 .9rem}
  .svc ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
  .svc li{padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.95rem}
  .svc .svc-link{margin:1rem 0 0}

  footer{background:var(--navy);color:var(--ice);font-weight:300;font-size:.85rem;padding:2.2rem 0 2rem;border-top:1px solid var(--line)}
  footer .logo{font-size:1.5rem;margin-bottom:1rem}
  footer p{margin:0 0 .3rem}
