﻿/* -------- TOKENS -------- */
  :root{
    --cream:        #FAF8F4;
    --cream-deep:   #F5EFE6;
    --sand:         #D8C3A5;
    --sand-soft:    #E8DAC2;
    --terracotta:   #B97A56;
    --terracotta-d: #9A5F3F;
    --flame:        #D9663B;
    --sage:         #A3B18A;
    --sage-d:       #7D8E69;
    --earth:        #6B4F3A;
    --charcoal:     #2B2B2B;
    --ink:          #1C1A17;

    --serif: "Cormorant Garamond", "Times New Roman", serif;
    --sans:  "Manrope", system-ui, sans-serif;
    --mono:  "JetBrains Mono", ui-monospace, monospace;

    --container: 1280px;
    --ease: cubic-bezier(.22,.61,.36,1);
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html,body{background:var(--cream);color:var(--charcoal);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
  html{scroll-behavior:smooth}
  body{overflow-x:hidden;line-height:1.55;font-size:16px;letter-spacing:.005em}
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  a:focus-visible,button:focus-visible{outline:2px solid var(--flame);outline-offset:4px}
  h1,h2,h3{overflow-wrap:break-word;hyphens:auto}
  h2,h3{text-wrap:balance}
  p{text-wrap:pretty}

  /* -------- GRAIN OVERLAY (organic texture) -------- */
  .grain{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.08;mix-blend-mode:multiply;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .15  0 0 0 0 .12  0 0 0 0 .08  0 0 0 .8 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  }

  /* -------- NAV -------- */
  .nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:22px 40px;display:flex;align-items:center;justify-content:space-between;
       transition:background .6s var(--ease), backdrop-filter .6s var(--ease), padding .4s var(--ease), color .6s var(--ease);}
  .nav.scrolled{background:rgba(250,248,244,.75);backdrop-filter:blur(14px) saturate(110%);padding:14px 40px;border-bottom:1px solid rgba(43,43,43,.06)}
  .brand{font-family:var(--serif);font-size:22px;letter-spacing:.42em;font-weight:400}
  .brand span{font-style:italic;letter-spacing:.05em;font-weight:300}
  /* logo in nav */
  .nav-logo{display:flex;align-items:center;height:38px}
  .nav-logo a{display:block;line-height:0}
  .nav-logo .logo{display:block;width:130px;height:25px;object-fit:contain;object-position:left center;
    transition:width .4s var(--ease),height .4s var(--ease),opacity .4s var(--ease);
    user-select:none;-webkit-user-drag:none}
  .nav.scrolled .nav-logo .logo{width:112px;height:22px}
  .nav-links{display:flex;gap:34px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500}
  .nav-links a{position:relative;padding:6px 0;opacity:.78;transition:opacity .3s}
  .nav-links a:hover{opacity:1}
  .nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .5s var(--ease)}
  .nav-links a:hover::after{right:0}
  .nav-cta{font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;border:1px solid currentColor;padding:10px 18px;border-radius:999px;opacity:.85;transition:opacity .3s,background .3s,color .3s}
  .nav-cta:hover{opacity:1;background:var(--charcoal);color:var(--cream)}

  /* -------- HERO -------- */
  .hero{position:relative;min-height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:120px 40px 140px;color:var(--ink);text-align:center}
  .hero-bg{position:absolute;inset:-8% -4%;z-index:0;will-change:transform}
  .hero-bg::before{
    content:"";position:absolute;inset:0;
    background:
      radial-gradient(ellipse at 25% 30%, rgba(216,195,165,.55), transparent 55%),
      radial-gradient(ellipse at 78% 70%, rgba(185,122,86,.32), transparent 60%),
      radial-gradient(circle at 50% 100%, rgba(107,79,58,.18), transparent 70%),
      linear-gradient(180deg, var(--cream-deep) 0%, #EFE5D2 100%);
  }
  /* breathing orb — visible core + soft halo */
  .breath{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68vmin;height:68vmin;border-radius:50%;
    background:
      radial-gradient(circle at 40% 35%, rgba(255,250,240,.95) 0%, rgba(245,228,200,.7) 22%, rgba(216,195,165,.55) 48%, rgba(185,122,86,.35) 74%, transparent 100%);
    filter:blur(6px);
    animation:breath var(--breath-duration,8s) ease-in-out infinite;
    will-change:transform,opacity;
    box-shadow:0 0 120px 20px rgba(216,195,165,.35);
  }
  .breath::before{
    content:"";position:absolute;inset:-18%;border-radius:50%;
    background:radial-gradient(circle at 50% 50%, rgba(185,122,86,.18) 0%, rgba(216,195,165,.12) 40%, transparent 75%);
    filter:blur(40px);
    animation:breath-halo var(--breath-duration,8s) ease-in-out infinite;
  }
  .breath::after{
    content:"";position:absolute;inset:18%;border-radius:50%;border:1px solid rgba(185,122,86,.18);
    animation:breath-ring var(--breath-duration,8s) ease-in-out infinite;
  }
  @keyframes breath{
    0%,100%{transform:translate(-50%,-50%) scale(var(--breath-min,.88));opacity:.85}
    50%{transform:translate(-50%,-50%) scale(var(--breath-max,1.06));opacity:1}
  }
  @keyframes breath-halo{
    0%,100%{transform:scale(.92);opacity:.7}
    50%{transform:scale(1.12);opacity:1}
  }
  @keyframes breath-ring{
    0%,100%{transform:scale(.94);opacity:.4}
    50%{transform:scale(1.06);opacity:.9}
  }
  /* abstract orbs */
  .orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;will-change:transform}
  .orb.a{width:520px;height:520px;left:-120px;top:-80px;background:radial-gradient(circle,var(--sage) 0%,transparent 70%);opacity:.32}
  .orb.b{width:640px;height:640px;right:-180px;bottom:-220px;background:radial-gradient(circle,var(--terracotta) 0%,transparent 70%);opacity:.4}

  .hero-inner{position:relative;z-index:2;width:100%;max-width:1000px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:44px;text-align:center}
  .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--earth);display:flex;align-items:center;justify-content:center;gap:14px}
  .eyebrow::before,.eyebrow::after{content:"";width:42px;height:1px;background:var(--earth)}

  .hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(64px,11vw,184px);line-height:.92;letter-spacing:-.025em;color:var(--ink);max-width:none;text-align:center}
  .hero h1 em{font-style:italic;font-weight:400;color:var(--terracotta-d)}
  .hero h1 .word{display:inline-block;opacity:0;transform:translateY(40px);animation:rise 1.4s var(--ease) forwards}
  .hero h1 .word:nth-child(1){animation-delay:.2s}
  .hero h1 .word:nth-child(2){animation-delay:.5s}
  @keyframes rise{to{opacity:1;transform:translateY(0)}}

  .hero-meta{display:flex;flex-direction:column;gap:26px;align-items:center;text-align:center;padding-bottom:0}
  .hero-meta p{max-width:46ch;color:var(--earth);line-height:1.6;font-family:var(--serif);font-style:italic;font-size:20px;font-weight:300}
  .hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center}
  .hero-cta{display:inline-flex;align-items:center;gap:14px;padding:18px 28px;border:1px solid var(--ink);border-radius:999px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;background:transparent;color:var(--ink);cursor:pointer;transition:background .4s var(--ease),color .4s var(--ease),padding .4s var(--ease);font-family:var(--sans);font-weight:500}
  .hero-primary{background:var(--ink);color:var(--cream)}
  .hero-cta .arrow{display:inline-block;transition:transform .5s var(--ease)}
  .hero-cta:hover{background:var(--ink);color:var(--cream);padding-right:34px}
  .hero-primary:hover{background:var(--terracotta-d);border-color:var(--terracotta-d)}
  .hero-cta:hover .arrow{transform:translateX(6px)}
  .hero-proof{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(107,79,58,.82)}
  .hero-proof span{display:inline-flex;align-items:center;gap:8px}
  .hero-proof span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--flame)}

  .hero-foot{position:absolute;left:40px;right:40px;bottom:32px;z-index:3;display:flex;justify-content:space-between;align-items:end;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--earth);opacity:.75}
  .scroll-cue{display:flex;flex-direction:column;align-items:center;gap:10px}
  .scroll-cue .line{width:1px;height:46px;background:linear-gradient(to bottom,transparent,var(--earth));animation:scrolldown 2.4s ease-in-out infinite}
  @keyframes scrolldown{0%{transform:scaleY(.2);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}50.01%{transform-origin:bottom}100%{transform:scaleY(.2);transform-origin:bottom}}

  /* -------- TRUST STRIP -------- */
  .trust-strip{background:var(--ink);color:var(--cream);padding:34px 0;border-top:1px solid rgba(107,79,58,.1)}
  .trust-strip .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(250,248,244,.14);padding:0;max-width:none}
  .trust-item{background:var(--ink);padding:24px 34px;min-height:118px;display:flex;flex-direction:column;justify-content:center;gap:10px}
  .trust-item .num{font-family:var(--mono);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--sand)}
  .trust-item strong{font-family:var(--serif);font-size:24px;line-height:1.15;font-weight:300;color:var(--cream)}
  .trust-item p{font-size:13px;line-height:1.55;color:rgba(250,248,244,.68);max-width:28ch}

  /* -------- SECTION SHELL -------- */
  section{position:relative}
  .wrap{max-width:var(--container);margin:0 auto;padding:0 40px}
  .section-label{font-family:var(--mono);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--earth);display:flex;align-items:center;gap:14px}
  .section-label::before{content:"";width:42px;height:1px;background:var(--flame)}

  .reveal{opacity:0;transform:translateY(40px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
  .reveal.in{opacity:1;transform:none}
  .reveal-stagger > *{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
  .reveal-stagger.in > *{opacity:1;transform:none}
  .reveal-stagger.in > *:nth-child(2){transition-delay:.12s}
  .reveal-stagger.in > *:nth-child(3){transition-delay:.24s}
  .reveal-stagger.in > *:nth-child(4){transition-delay:.36s}
  .reveal-stagger.in > *:nth-child(5){transition-delay:.48s}

  /* GSAP split-text word reveal (masked rise) */
  .gsplit-mask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
  .gsplit-word{display:inline-block;will-change:transform}

  @media (prefers-reduced-motion: reduce){
    .reveal,.reveal-stagger>*{opacity:1 !important;transform:none !important;transition:none !important}
  }

  /* -------- ABOUT / QUIENES SOMOS -------- */
  .about{padding:180px 0 160px;background:var(--cream);position:relative;overflow:hidden}
  .about::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(216,195,165,.25),transparent 55%);pointer-events:none}
  .about-head{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:end;margin-bottom:90px}
  .about-head .section-label{margin-bottom:32px}
  .about-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(44px,5.6vw,84px);line-height:1.0;letter-spacing:-.02em;color:var(--ink);max-width:14ch}
  .about-head h2 em{font-style:italic;color:var(--terracotta-d)}
  .about-head .lede{font-family:var(--serif);font-size:22px;line-height:1.55;color:var(--earth);font-weight:300;max-width:42ch;padding-bottom:8px}

  .founders{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
  .founder{display:flex;flex-direction:column;gap:28px}
  .founder .portrait{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:4px;background:var(--sand-soft)}
  .founder .portrait .slot-img{object-fit:cover;width:100%;height:100%;display:block;transition:transform 2s var(--ease)}
  .founder:hover .portrait .slot-img{object-fit:cover;transform:scale(1.03)}
  .founder .portrait::after{content:"";position:absolute;left:18px;top:18px;font-family:var(--mono);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--cream);background:rgba(28,26,23,.55);padding:5px 9px;border-radius:2px;backdrop-filter:blur(6px)}
  .founder.f1 .portrait::after{content:"I · Cofundador"}
  .founder.f2 .portrait::after{content:"II · Cofundador"}
  .founder-meta{padding:0 4px}
  .founder-meta .role{font-family:var(--mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--earth);margin-bottom:14px;display:flex;align-items:center;gap:12px}
  .founder-meta .role::before{content:"";width:28px;height:1px;background:var(--terracotta)}
  .founder-meta h3{font-family:var(--serif);font-weight:300;font-size:48px;line-height:1;letter-spacing:-.015em;color:var(--ink);margin-bottom:18px}
  .founder-meta h3 em{font-style:italic;color:var(--terracotta-d);font-weight:400}
  .founder-meta p{font-family:var(--serif);font-size:18px;line-height:1.6;color:var(--charcoal);font-weight:300;max-width:38ch}

  .origin{margin-top:120px;display:grid;grid-template-columns:4fr 8fr;grid-auto-rows:auto;gap:80px;align-items:start;padding-top:60px;border-top:1px solid rgba(107,79,58,.18)}
  .origin > .origin-centered{grid-column:1 / -1;justify-self:center;margin-top:24px}
  .origin .visual-wrap{position:sticky;top:120px;display:flex;flex-direction:column;gap:22px;align-items:center}
  .origin .visual-wrap .visual-caption{font-family:var(--mono);font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--earth);text-align:center;max-width:24ch;line-height:1.6}
  .origin .visual{position:relative;aspect-ratio:1/1;max-width:380px;justify-self:center;width:100%}
  .origin .visual::before{content:"";position:absolute;inset:-22px;border-radius:50%;border:1px solid rgba(107,79,58,.18);pointer-events:none;animation:breath-ring 11s ease-in-out infinite}
  .origin .visual::after{content:"";position:absolute;inset:-44px;border-radius:50%;border:1px solid rgba(107,79,58,.1);pointer-events:none;animation:breath-ring 14s ease-in-out infinite reverse}
  .origin .visual .slot-img{object-fit:cover;width:100%;height:100%;display:block;border-radius:50%;overflow:hidden;
    --slot-bg:radial-gradient(circle at 35% 30%, var(--sand-soft), var(--sand) 70%, var(--terracotta) 130%);
    box-shadow:0 30px 60px -20px rgba(28,26,23,.25)}
  .origin .visual .slot-img{object-fit:cover;clip-path:circle(50% at 50% 50%)}
  .origin .body{display:flex;flex-direction:column;gap:44px;width:100%}
  .origin .body > .origin-centered{align-self:center}
  .origin .hd{font-family:var(--mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--earth);display:flex;align-items:center;gap:12px}
  .origin .hd::before{content:"";width:32px;height:1px;background:var(--earth)}
  .origin h3{font-family:var(--serif);font-weight:300;font-size:clamp(34px,3.6vw,52px);line-height:1.1;letter-spacing:-.015em;color:var(--ink)}
  .origin h3 em{font-style:italic;color:var(--terracotta-d);font-weight:400}
  .origin .copy{font-family:var(--serif);font-size:20px;line-height:1.85;color:var(--ink);font-weight:300;max-width:52ch;text-transform:none;letter-spacing:0}
  .origin .copy p{margin-bottom:1.6em}
  .origin .copy p:last-child{margin-bottom:0}
  .origin .copy p:first-letter{font-size:1em;font-style:normal;color:inherit}
  .origin .sig{margin-top:18px;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--earth);font-weight:400;text-transform:none;letter-spacing:0;line-height:1.5}

  /* Editorial blocks within Origin */
  .origin .lede-p{font-family:var(--serif);font-size:23px;line-height:1.65;color:var(--ink);font-weight:300;max-width:56ch;letter-spacing:0}
  .origin .lede-p::first-line{letter-spacing:.005em}
  .origin .pullquote{font-family:var(--serif);font-size:clamp(22px,2.2vw,30px);line-height:1.35;color:var(--terracotta-d);font-weight:400;max-width:36ch;margin:8px 0;padding:6px 0 6px 26px;border-left:1px solid var(--terracotta);text-wrap:balance}
  .origin .pullquote em{font-style:italic;color:var(--ink);font-weight:300}
  .origin .pullquote span{display:block}

  .origin-chapter{display:flex;flex-direction:column;gap:18px;max-width:56ch}
  .origin-chapter .ch-label{font-family:var(--mono);font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--terracotta-d);display:flex;align-items:center;gap:14px}
  .origin-chapter .ch-label::before{content:"";width:24px;height:1px;background:var(--terracotta)}
  .origin-chapter .ch-label::after{content:"";flex:1;height:1px;background:rgba(185,122,86,.18)}
  .origin-chapter p{font-family:var(--serif);font-size:19px;line-height:1.7;color:var(--ink);font-weight:300;letter-spacing:0}

  /* Centered editorial column for the inner Origin story */
  .origin-centered{display:flex;flex-direction:column;gap:44px;align-items:center;text-align:center;max-width:680px;margin:0 auto;width:100%}
  .origin-centered .origin-chapter{align-items:center;text-align:center;max-width:60ch}
  .origin-centered .origin-chapter .ch-label{justify-content:center;gap:14px}
  .origin-centered .origin-chapter .ch-label::before,
  .origin-centered .origin-chapter .ch-label::after{content:"";width:32px;flex:0 0 32px;height:1px;background:rgba(185,122,86,.45)}
  .origin-centered .origin-chapter p{text-wrap:pretty}
  .origin-centered .origin-disciplines{width:100%}
  .origin-centered .origin-crossroads{width:100%;text-align:left}
  .origin-centered .origin-coda{align-items:center;text-align:center;padding-top:24px}
  .origin-centered .origin-coda .coda-2{max-width:22ch;margin:0 auto}
  .origin-centered .sig{text-align:center}

  .origin-disciplines{list-style:none;margin-top:6px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(107,79,58,.16);border:1px solid rgba(107,79,58,.16);border-radius:3px;overflow:hidden}
  .origin-disciplines li{background:var(--cream);padding:18px 22px;font-family:var(--serif);font-size:18px;font-style:italic;color:var(--earth);font-weight:400;display:flex;align-items:center;gap:14px;letter-spacing:0;line-height:1.3}
  .origin-disciplines li::before{content:attr(data-i);font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.2em;color:var(--terracotta);font-weight:400}
  .origin-disciplines li:nth-child(5){grid-column:span 2}

  .origin-etymology{margin:8px 0;padding:46px 40px;background:radial-gradient(ellipse at 30% 0%,var(--sand-soft) 0%,var(--cream-deep) 75%);border-radius:4px;text-align:center;position:relative;overflow:hidden;border:1px solid rgba(107,79,58,.1);display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:center;width:100%}
  .origin-etymology::before{content:"";position:absolute;left:25%;top:-30%;width:60%;height:80%;transform:translateX(-50%);background:radial-gradient(circle,rgba(185,122,86,.18),transparent 65%);filter:blur(30px);pointer-events:none}
  .origin-etymology .etym-text{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
  .origin-etymology .etym-label{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--earth);margin-bottom:6px}
  .origin-etymology .etym-word{position:relative;font-family:var(--serif);font-weight:300;font-size:clamp(48px,5.5vw,72px);line-height:1;letter-spacing:-.02em;color:var(--ink);margin-bottom:6px;display:inline-flex;align-items:baseline;gap:.12em}
  .origin-etymology .etym-word .dot{display:inline-block;width:.18em;height:.18em;border-radius:50%;background:var(--terracotta);position:relative;top:-.35em;box-shadow:0 0 24px rgba(185,122,86,.6)}
  .origin-etymology .etym-word em{font-style:italic;color:var(--terracotta-d);font-weight:400}
  .origin-etymology .etym-def{position:relative;font-family:var(--serif);font-size:18px;font-style:italic;color:var(--earth);font-weight:300;max-width:32ch;margin:0 auto;line-height:1.55}
  .origin-etymology .etym-def em{color:var(--terracotta-d);font-weight:400;font-style:italic}
  .origin-etymology .etym-mark{position:relative;display:flex;align-items:center;justify-content:center;padding:18px 12px;border-left:1px solid rgba(107,79,58,.18);min-height:140px}
  .origin-etymology .etym-mark .iso{display:block;width:100%;max-width:200px;height:80px;object-fit:contain;opacity:.85}

  .origin-crossroads{list-style:none;margin-top:4px;display:flex;flex-direction:column}
  .origin-crossroads li{font-family:var(--serif);font-size:clamp(20px,2vw,26px);font-weight:300;color:var(--ink);padding:20px 0;border-bottom:1px solid rgba(107,79,58,.15);display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:28px;line-height:1.3;letter-spacing:-.005em}
  .origin-crossroads li:first-child{border-top:1px solid rgba(107,79,58,.15)}
  .origin-crossroads li .num{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--terracotta);font-weight:400}
  .origin-crossroads li em{font-style:italic;color:var(--terracotta-d);font-weight:400}

  .origin-coda{margin-top:6px;padding:36px 0 4px;text-align:left;display:flex;flex-direction:column;gap:10px}
  .origin-coda .coda-1{font-family:var(--mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--earth)}
  .origin-coda .coda-2{font-family:var(--serif);font-size:clamp(28px,3.4vw,44px);line-height:1.2;color:var(--ink);font-weight:300;letter-spacing:-.015em;max-width:24ch;text-wrap:balance}
  .origin-coda .coda-2 em{font-style:italic;color:var(--terracotta-d);font-weight:400}

  /* Modernista overrides for editorial blocks */
  body[data-type="modernista"] .origin .lede-p,
  body[data-type="modernista"] .origin-chapter p,
  body[data-type="modernista"] .origin .pullquote,
  body[data-type="modernista"] .origin-disciplines li,
  body[data-type="modernista"] .origin-etymology .etym-def,
  body[data-type="modernista"] .origin-crossroads li,
  body[data-type="modernista"] .origin-coda .coda-2{font-family:var(--sans);font-weight:300}
  body[data-type="modernista"] .origin-disciplines li{font-style:normal;font-variant:all-small-caps;letter-spacing:.06em}
  body[data-type="modernista"] .origin-etymology .etym-word{font-family:var(--sans);font-weight:200}

  /* -------- MANIFESTO -------- */
  .manifesto{padding:200px 0 180px;background:var(--cream)}
  .manifesto-grid{display:grid;grid-template-columns:5fr 7fr;gap:120px;align-items:start}
  .manifesto-left{position:sticky;top:120px}
  .manifesto-left .section-label{margin-bottom:40px}
  .manifesto-left h2{font-family:var(--serif);font-weight:300;font-size:clamp(40px,5vw,72px);line-height:1.02;letter-spacing:-.02em;color:var(--ink)}
  .manifesto-left h2 em{font-style:italic;color:var(--terracotta-d)}
  .manifesto-right{font-family:var(--serif);font-size:24px;line-height:1.55;color:var(--ink);font-weight:300;max-width:55ch}
  .manifesto-right p{margin-bottom:1.4em}
  .manifesto-right p:first-letter{font-size:1.4em;font-style:italic;color:var(--terracotta-d)}
  .manifesto-tags{margin-top:60px;display:flex;flex-wrap:wrap;gap:10px}
  .tag{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:8px 14px;border:1px solid rgba(107,79,58,.3);border-radius:999px;color:var(--earth)}

  /* -------- PROCESS -------- */
  .process{padding:150px 0;background:var(--cream);position:relative}
  .process-head{max-width:760px;margin:0 auto 64px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:26px}
  .process-head h2{font-family:var(--serif);font-size:clamp(42px,5vw,76px);line-height:1.02;font-weight:300;letter-spacing:-.02em;color:var(--ink)}
  .process-head h2 em{font-style:italic;color:var(--terracotta-d)}
  .process-head p{font-family:var(--serif);font-size:21px;line-height:1.55;color:var(--earth);font-weight:300;max-width:48ch}
  .process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(107,79,58,.16);border:1px solid rgba(107,79,58,.16);border-radius:5px;overflow:hidden}
  .process-step{background:var(--cream);padding:36px 30px;display:flex;flex-direction:column;gap:20px}
  .process-step .step-num{font-family:var(--mono);font-size:10px;letter-spacing:.28em;color:var(--flame);text-transform:uppercase}
  .process-step h3{font-family:var(--serif);font-size:31px;line-height:1.08;font-weight:300;color:var(--ink);letter-spacing:-.01em}
  .process-step p{font-size:15px;line-height:1.7;color:var(--earth)}
  .process-note{margin:42px auto 0;max-width:720px;text-align:center;font-family:var(--serif);font-size:20px;line-height:1.55;color:var(--ink);font-style:italic}

  /* -------- EXPERIENCES -------- */
  .experiences{padding:160px 0 200px;background:var(--cream-deep);position:relative;overflow:hidden}
  .experiences::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 0%,rgba(163,177,138,.18),transparent 50%);pointer-events:none}
  .exp-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:80px;gap:60px;flex-wrap:wrap}
  .exp-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(48px,6vw,96px);line-height:.98;letter-spacing:-.02em;color:var(--ink);max-width:14ch}
  .exp-head h2 em{font-style:italic;color:var(--terracotta-d)}
  .exp-head .section-label{margin-bottom:24px}
  .exp-head .lede{font-family:var(--serif);font-size:20px;line-height:1.55;color:var(--earth);max-width:36ch;font-weight:300}

  .exp-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:28px}
  .exp-card{position:relative;border-radius:6px;overflow:hidden;background:var(--sand-soft);cursor:pointer;transition:transform .8s var(--ease)}
  .exp-card .media{position:relative;aspect-ratio:4/5;overflow:hidden}
  .exp-card .slot-img{object-fit:cover;width:100%;height:100%;display:block}
  .exp-card .media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(28,26,23,.65) 100%);pointer-events:none}
  .exp-card .meta{position:absolute;left:24px;right:24px;bottom:24px;color:var(--cream);z-index:2}
  .exp-card .meta .idx{font-family:var(--mono);font-size:11px;letter-spacing:.28em;opacity:.78;margin-bottom:8px}
  .exp-card .meta h3{font-family:var(--serif);font-size:30px;line-height:1.05;font-weight:400;margin-bottom:6px}
  .exp-card .meta h3 em{font-style:italic}
  .exp-card .meta p{font-size:13px;opacity:.85;line-height:1.5;max-width:30ch}
  .exp-card .details{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}
  .exp-card .details span{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;border:1px solid rgba(250,248,244,.38);border-radius:999px;padding:4px 7px;color:rgba(250,248,244,.9);background:rgba(28,26,23,.24)}
  .exp-card:hover{transform:translateY(-6px)}
  .exp-card:hover .slot-img{object-fit:cover;transform:scale(1.04)}
  .exp-card .slot-img{object-fit:cover;transition:transform 1.6s var(--ease)}

  .exp-card.c1{grid-column:span 7;margin-top:0}
  .exp-card.c2{grid-column:span 5;margin-top:80px}
  .exp-card.c1{background:linear-gradient(180deg,var(--cream-deep),#EFE2CF)}
  .exp-card.c1 .media::after{background:linear-gradient(180deg,rgba(28,26,23,.08),rgba(28,26,23,.18))}
  .exp-card.c1 .meta{position:relative;left:auto;right:auto;bottom:auto;padding:112px 34px 34px;color:rgb(150,93,61);background:transparent}
  .exp-card.c1 .meta .idx{color:rgb(150,93,61) !important;opacity:.72}
  .exp-card.c1 .meta h3{color:rgb(150,93,61) !important}
  .exp-card.c1 .meta p{color:rgb(150,93,61) !important;max-width:33ch}
  .exp-card.c1 .details span{color:rgba(250,248,244,.92);background:rgba(107,79,58,.35);border-color:rgba(107,79,58,.12)}
  .exp-card.c2{background:linear-gradient(180deg,var(--cream-deep),#EFE2CF)}
  .exp-card.c2 .media{aspect-ratio:4/5}
  .exp-card.c2 .media::after{background:linear-gradient(180deg,rgba(28,26,23,.08),rgba(28,26,23,.18))}
  .exp-card.c2 .meta{position:relative;left:auto;right:auto;bottom:auto;padding:120px 34px 34px;color:rgb(150,93,61);background:transparent}
  .exp-card.c2 .meta .idx{color:rgb(150,93,61) !important;opacity:.72}
  .exp-card.c2 .meta h3{color:rgb(150,93,61) !important}
  .exp-card.c2 .meta p{color:rgb(150,93,61) !important;max-width:33ch}
  .exp-card.c2 .details span{color:rgba(250,248,244,.92);background:rgba(107,79,58,.35);border-color:rgba(107,79,58,.12)}
  .exp-card.c3{grid-column:span 5;margin-top:0}
  .exp-card.c4{grid-column:span 7;margin-top:60px}

  /* -------- INTERLUDE -------- */
  .interlude{padding:240px 0;background:radial-gradient(ellipse at 50% 30%,#3A2A1E 0%,#241A12 55%,#160F0A 100%);position:relative;overflow:hidden;text-align:center}
  .interlude::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 46%,rgba(217,102,59,.20),transparent 46%)}
  .interlude-orb{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:80vmin;height:80vmin;border-radius:50%;
    background:radial-gradient(circle at 45% 40%,rgba(255,214,160,.55),rgba(217,102,59,.30) 46%,transparent 78%);
    filter:blur(44px);will-change:transform;animation:breath 14s ease-in-out infinite}
  .interlude blockquote{position:relative;font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(36px,5.2vw,80px);line-height:1.15;letter-spacing:-.015em;color:#F7ECDD;max-width:18ch;margin:0 auto}
  .interlude blockquote em{color:#F0B27A;font-style:italic}
  .interlude blockquote .mark{font-family:var(--serif);font-size:1.1em;color:#E88A4F;display:block;line-height:1;margin-bottom:.2em}
  .interlude .attr{margin-top:50px;font-family:var(--mono);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:#C79A6E}
  .interlude .lines{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:80px 0;pointer-events:none}
  .interlude .lines span{height:1px;background:linear-gradient(90deg,transparent,rgba(240,178,122,.22),transparent)}

  /* -------- COMMUNITY -------- */
  .community{padding:180px 0 200px;background:var(--cream-deep);position:relative}
  .com-head{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:end;margin-bottom:80px}
  .com-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(48px,6vw,96px);line-height:.98;letter-spacing:-.02em;color:var(--ink)}
  .com-head h2 em{font-style:italic;color:var(--terracotta-d)}
  .com-head .lede{font-family:var(--serif);font-size:22px;line-height:1.5;color:var(--earth);font-weight:300;max-width:42ch;padding-bottom:14px}

  .gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:120px;gap:18px}
  .g-item{position:relative;overflow:hidden;border-radius:4px;background:var(--sand-soft)}
  .g-item .slot-img{object-fit:cover;width:100%;height:100%;display:block;transition:transform 2s var(--ease)}
  .g-item:hover .slot-img{object-fit:cover;transform:scale(1.04)}
  .g-item .cap{position:absolute;left:14px;bottom:14px;font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--cream);background:rgba(28,26,23,.45);padding:5px 9px;border-radius:2px;backdrop-filter:blur(6px);opacity:0;transition:opacity .4s var(--ease)}
  .g-item:hover .cap{opacity:1}
  .g-item.g1{grid-column:span 5;grid-row:span 4}
  .g-item.g2{grid-column:span 4;grid-row:span 3}
  .g-item.g3{grid-column:span 3;grid-row:span 3}
  .g-item.g4{grid-column:span 4;grid-row:span 3}
  .g-item.g5{grid-column:span 3;grid-row:span 3}
  .g-item.g6{grid-column:span 5;grid-row:span 4}
  .g-item.g7{grid-column:span 4;grid-row:span 3}
  .g-item.g8{grid-column:span 3;grid-row:span 3}

  .com-quote{margin-top:120px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:60px}
  .com-quote .q{font-family:var(--serif);font-size:22px;line-height:1.5;color:var(--ink);font-weight:300;font-style:italic;padding-top:30px;border-top:1px solid rgba(107,79,58,.25)}
  .com-quote .who{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--earth);margin-top:24px}
  .trust-panel{margin-top:90px;border:1px solid rgba(107,79,58,.18);background:rgba(250,248,244,.56);display:grid;grid-template-columns:1.1fr 1fr;gap:1px}
  .trust-panel > div{padding:42px;background:rgba(250,248,244,.72)}
  .trust-panel h3{font-family:var(--serif);font-size:42px;line-height:1.05;font-weight:300;color:var(--ink);margin-bottom:20px}
  .trust-panel p{font-size:16px;line-height:1.75;color:var(--earth)}
  .trust-list{list-style:none;display:grid;gap:16px}
  .trust-list li{font-size:15px;line-height:1.55;color:var(--ink);display:grid;grid-template-columns:22px 1fr;gap:12px}
  .trust-list li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--flame);margin-top:.55em}

  /* -------- TEAM BUILDING / PARA EQUIPOS -------- */
  .teams{padding:180px 0 190px;background:var(--cream);position:relative;overflow:hidden}
  .teams::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 18% 0%,rgba(163,177,138,.16),transparent 52%);pointer-events:none}
  .teams-head{max-width:64ch;margin:0 auto 90px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:30px}
  .teams-head .section-label{justify-content:center}
  .teams-head .section-label::after{content:"";width:42px;height:1px;background:currentColor}
  .teams-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(40px,5.4vw,82px);line-height:1.02;letter-spacing:-.02em;color:var(--ink);max-width:18ch}
  .teams-head h2 em{font-style:italic;color:var(--terracotta-d)}
  .teams-head .lede{font-family:var(--serif);font-size:22px;line-height:1.65;color:var(--earth);font-weight:300;max-width:54ch}
  .teams-head .lede em{font-style:italic;color:var(--terracotta-d)}

  .team-pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(107,79,58,.16);border:1px solid rgba(107,79,58,.16);border-radius:5px;overflow:hidden}
  .team-pillar{background:var(--cream);padding:48px 44px;display:flex;gap:26px;align-items:flex-start;position:relative;transition:background .5s var(--ease)}
  .team-pillar:hover{background:var(--cream-deep)}
  .tp-icon{flex:0 0 auto;width:42px;height:42px;color:var(--flame);margin-top:2px;transition:transform .5s var(--ease)}
  .tp-icon svg{width:42px;height:42px;display:block}
  .team-pillar:hover .tp-icon{transform:translateY(-3px) rotate(-4deg)}
  .tp-body{display:flex;flex-direction:column;gap:18px}
  .team-pillar .tp-head{display:flex;align-items:baseline;gap:16px}
  .team-pillar .tp-num{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--flame);font-weight:400}
  .team-pillar .tp-label{font-family:var(--mono);font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--earth);font-weight:500}
  .team-pillar p{font-family:var(--serif);font-size:20px;line-height:1.65;color:var(--ink);font-weight:300;letter-spacing:0;max-width:42ch}
  .team-pillar p em{font-style:italic;color:var(--terracotta-d)}

  .teams-coda{margin-top:80px;display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:center;padding-top:60px;border-top:1px solid rgba(107,79,58,.18)}
  .teams-coda .tc-copy{font-family:var(--serif);font-size:clamp(24px,2.6vw,34px);line-height:1.45;color:var(--ink);font-weight:300;letter-spacing:-.01em;text-wrap:pretty}
  .teams-coda .tc-copy em{font-style:italic;color:var(--terracotta-d)}
  .teams-coda .tc-action{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
  .teams-coda .tc-action .tc-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--earth)}
  .teams-cta{display:inline-flex;align-items:center;gap:16px;padding:20px 32px;border-radius:999px;background:var(--ink);color:var(--cream);font-family:var(--sans);font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;cursor:pointer;border:none;transition:padding .5s var(--ease),background .4s var(--ease)}
  .teams-cta:hover{padding-right:42px;background:var(--terracotta)}
  .teams-cta .arrow{transition:transform .5s var(--ease)}
  .teams-cta:hover .arrow{transform:translateX(8px)}

  body[data-type="modernista"] .teams-head h2{font-family:var(--sans);font-weight:200}
  body[data-type="modernista"] .teams-head .lede,
  body[data-type="modernista"] .team-pillar p,
  body[data-type="modernista"] .teams-coda .tc-copy{font-family:var(--sans);font-weight:300}

  /* -------- SEARCH INTENT -------- */
  .search-intent{padding:140px 0;background:var(--cream);position:relative;overflow:hidden}
  .search-intent::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(163,177,138,.1),transparent 55%);pointer-events:none}
  .search-grid{display:grid;grid-template-columns:5fr 7fr;gap:78px;align-items:start;position:relative;z-index:1}
  .search-copy h2{font-family:var(--serif);font-size:clamp(38px,4.8vw,72px);line-height:1.04;font-weight:300;color:var(--ink);letter-spacing:-.02em;margin-top:28px;text-wrap:balance}
  .search-copy h2 em{font-style:italic;color:var(--terracotta-d)}
  .search-copy .lede{margin-top:28px;font-family:var(--serif);font-size:21px;line-height:1.65;color:var(--earth);font-weight:300;text-wrap:pretty}
  .search-topics{display:grid;gap:18px}
  .search-topics article{padding:30px 0;border-top:1px solid rgba(107,79,58,.18);display:grid;grid-template-columns:52px 1fr;column-gap:26px}
  .search-topics article:last-child{border-bottom:1px solid rgba(107,79,58,.18)}
  .search-topics span{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--terracotta-d);line-height:1.8}
  .search-topics h3{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);font-weight:600;margin-bottom:12px}
  .search-topics p{grid-column:2;font-size:16px;line-height:1.75;color:var(--earth);max-width:58ch}

  /* -------- FAQ -------- */
  .faq{padding:150px 0;background:var(--cream-deep)}
  .faq-grid{display:grid;grid-template-columns:4fr 8fr;gap:80px;align-items:start}
  .faq-head{position:sticky;top:120px}
  .faq-head h2{font-family:var(--serif);font-size:clamp(42px,5vw,76px);line-height:1.02;font-weight:300;color:var(--ink);letter-spacing:-.02em;margin-top:28px}
  .faq-head h2 em{font-style:italic;color:var(--terracotta-d)}
  .faq-list{display:grid;border-top:1px solid rgba(107,79,58,.18)}
  .faq-item{padding:28px 0;border-bottom:1px solid rgba(107,79,58,.18);display:grid;grid-template-columns:3fr 5fr;gap:34px}
  .faq-item h3{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--earth);font-weight:500}
  .faq-item p{font-size:16px;line-height:1.75;color:var(--ink)}

  /* -------- CTA FINAL -------- */
  .final{position:relative;background:var(--terracotta);color:var(--cream);padding:200px 0 160px;overflow:hidden}
  .final::before{
    content:"";position:absolute;inset:0;opacity:.55;mix-blend-mode:multiply;
    background:
      radial-gradient(ellipse at 20% 20%,rgba(107,79,58,.7),transparent 60%),
      radial-gradient(ellipse at 90% 80%,rgba(43,43,43,.4),transparent 55%);
  }
  .final::after{
    content:"";position:absolute;inset:0;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .4 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    opacity:.18;mix-blend-mode:multiply;pointer-events:none
  }
  .final-inner{position:relative;z-index:2;text-align:center;max-width:980px;margin:0 auto;padding:0 40px}
  .final .section-label{justify-content:center;color:rgba(250,248,244,.7)}
  .final .section-label::before{background:rgba(250,248,244,.7)}
  .final h2{font-family:var(--serif);font-weight:300;font-size:clamp(48px,7vw,112px);line-height:1.02;letter-spacing:-.025em;margin:40px 0 60px}
  .final h2 .ln{display:block}
  .final h2 em{font-style:italic;color:#F5E6D6}
  .final .cta{display:inline-flex;align-items:center;gap:16px;padding:22px 36px;border-radius:999px;background:var(--cream);color:var(--ink);font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;cursor:pointer;border:none;font-family:var(--sans);transition:padding .5s var(--ease),background .4s var(--ease)}
  .final .cta:hover{padding-right:46px;background:#fff}
  .final .cta .arrow{transition:transform .5s var(--ease)}
  .final .cta:hover .arrow{transform:translateX(8px)}
  .final .sub{margin-top:36px;font-family:var(--mono);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:rgba(250,248,244,.7)}

  /* -------- FOOTER -------- */
  footer{background:var(--ink);color:var(--cream);padding:80px 0 40px}
  footer .wrap{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;align-items:start}
  footer .brand{color:var(--cream);font-size:28px;margin-bottom:18px}
  footer .tag-line{font-family:var(--serif);font-style:italic;font-size:18px;color:rgba(250,248,244,.7);max-width:30ch;line-height:1.5}
  footer h4{font-family:var(--mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:rgba(250,248,244,.55);margin-bottom:18px;font-weight:400}
  footer ul{list-style:none;display:flex;flex-direction:column;gap:10px}
  footer ul a,footer ul span{font-size:14px;color:rgba(250,248,244,.85);transition:color .3s}
  footer ul a:hover{color:var(--sand)}
  footer ul span{color:rgba(250,248,244,.45)}
  .copy{margin-top:80px;padding-top:30px;border-top:1px solid rgba(250,248,244,.12);font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(250,248,244,.55);display:flex;justify-content:space-between}

  /* -------- WHATSAPP FLOAT -------- */
  .wa-float{position:fixed;right:24px;bottom:24px;z-index:90;
    display:inline-flex;align-items:center;gap:12px;
    padding:14px 20px 14px 16px;border-radius:999px;
    background:var(--terracotta);color:var(--cream);
    font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
    box-shadow:0 10px 28px -6px rgba(28,26,23,.35),0 0 0 1px rgba(28,26,23,.05);
    opacity:0;transform:translateY(20px) scale(.9);pointer-events:none;
    transition:opacity .6s var(--ease),transform .6s var(--ease),background .3s var(--ease),padding .4s var(--ease);
    cursor:pointer;text-decoration:none;border:none}
  .wa-float.in{opacity:1;transform:none;pointer-events:auto}
  .wa-float:hover{background:var(--terracotta-d);padding-right:24px}
  .wa-float svg{width:18px;height:18px;flex-shrink:0;display:block}
  .wa-float .lbl{display:inline-block;white-space:nowrap}
  .wa-float::before{content:"";position:absolute;inset:-4px;border-radius:999px;background:radial-gradient(circle,rgba(185,122,86,.35),transparent 70%);opacity:.6;z-index:-1;animation:wa-pulse 2.6s ease-in-out infinite}
  @keyframes wa-pulse{0%,100%{transform:scale(1);opacity:.4}50%{transform:scale(1.18);opacity:0}}
  .mobile-quick{display:none}
  @media (max-width:720px){
    .wa-float{right:16px;bottom:16px;padding:12px 16px 12px 14px;font-size:10px;letter-spacing:.18em;gap:10px}
    .wa-float svg{width:16px;height:16px}
    .wa-float .lbl{display:none}
    .wa-float{padding:14px;border-radius:50%}
  }

  /* -------- TYPE MODES (driven by [data-type] on body) -------- */
  body{transition:background-color .8s var(--ease),color .8s var(--ease)}
  /* Modernista: trade serif italics for clean sans + small-caps emphasis */
  body[data-type="modernista"] .hero h1,
  body[data-type="modernista"] .manifesto-left h2,
  body[data-type="modernista"] .about-head h2,
  body[data-type="modernista"] .exp-head h2,
  body[data-type="modernista"] .com-head h2,
  body[data-type="modernista"] .final h2,
  body[data-type="modernista"] .founder-meta h3,
  body[data-type="modernista"] .exp-card .meta h3,
  body[data-type="modernista"] .interlude blockquote{
    font-family:var(--sans);font-weight:300;letter-spacing:-.03em}
  body[data-type="modernista"] .hero h1{font-weight:200}
  body[data-type="modernista"] .interlude blockquote{font-style:normal;font-weight:300}
  body[data-type="modernista"] em{font-style:normal;font-weight:600;font-variant:all-small-caps;letter-spacing:.04em}
  body[data-type="modernista"] .manifesto-right,
  body[data-type="modernista"] .origin .copy,
  body[data-type="modernista"] .com-head .lede,
  body[data-type="modernista"] .exp-head .lede,
  body[data-type="modernista"] .about-head .lede,
  body[data-type="modernista"] .founder-meta p,
  body[data-type="modernista"] .com-quote .q,
  body[data-type="modernista"] footer .tag-line{
    font-family:var(--sans);font-weight:300}
  body[data-type="modernista"] .com-quote .q{font-style:normal}
  body[data-type="modernista"] .manifesto-right p:first-letter,
  body[data-type="modernista"] .origin .copy p:first-letter{font-size:1em;font-style:normal;color:inherit}

  /* -------- DARK ATMOSPHERE adjustments -------- */
  body[data-atmosphere="crepusculo"]{background:var(--cream)}
  body[data-atmosphere="crepusculo"] .nav.scrolled{background:rgba(27,24,19,.78)}
  body[data-atmosphere="crepusculo"] .nav-logo .logo{opacity:.92}
  body[data-atmosphere="crepusculo"] .grain{opacity:.14;mix-blend-mode:overlay}
  body[data-atmosphere="crepusculo"] .hero-bg::before{
    background:
      radial-gradient(ellipse at 25% 30%, rgba(217,152,106,.18), transparent 55%),
      radial-gradient(ellipse at 78% 70%, rgba(185,122,86,.22), transparent 60%),
      radial-gradient(circle at 50% 100%, rgba(0,0,0,.4), transparent 70%),
      linear-gradient(180deg, #241F18 0%, #14110D 100%);
  }
  body[data-atmosphere="crepusculo"] .breath{
    background:radial-gradient(circle at 40% 35%, rgba(255,225,180,.55) 0%, rgba(217,152,106,.4) 28%, rgba(185,122,86,.25) 55%, transparent 100%);
    box-shadow:0 0 160px 30px rgba(217,152,106,.22)}
  body[data-atmosphere="crepusculo"] .tag{border-color:rgba(201,169,136,.35);color:var(--earth)}
  body[data-atmosphere="crepusculo"] .origin{border-top-color:rgba(201,169,136,.22)}
  body[data-atmosphere="crepusculo"] .com-quote .q{border-top-color:rgba(201,169,136,.22)}
  body[data-atmosphere="crepusculo"] footer{background:#0F0D0A}
  body[data-atmosphere="crepusculo"] .interlude .lines span{background:linear-gradient(90deg,transparent,rgba(201,169,136,.28),transparent)}
  body[data-atmosphere="crepusculo"] .experiences::before{background:radial-gradient(ellipse at 80% 0%,rgba(125,142,105,.12),transparent 50%)}
  body[data-atmosphere="crepusculo"] .about::before{background:radial-gradient(ellipse at 50% 0%,rgba(90,70,52,.35),transparent 55%)}
  body[data-atmosphere="crepusculo"] .nav-cta:hover{background:var(--cream);color:var(--ink)}

  /* bruma atmosphere: cooler grain + softer glow */
  body[data-atmosphere="bruma"] .breath{
    background:radial-gradient(circle at 40% 35%, rgba(248,250,243,.85) 0%, rgba(216,220,200,.6) 30%, rgba(142,155,122,.3) 60%, transparent 100%);
    box-shadow:0 0 120px 20px rgba(199,207,184,.4)}
  body[data-atmosphere="bruma"] .hero-bg::before{
    background:
      radial-gradient(ellipse at 25% 30%, rgba(199,207,184,.55), transparent 55%),
      radial-gradient(ellipse at 78% 70%, rgba(142,155,122,.25), transparent 60%),
      radial-gradient(circle at 50% 100%, rgba(90,99,87,.18), transparent 70%),
      linear-gradient(180deg, var(--cream-deep) 0%, #D8DCC8 100%);
  }

  /* production image styling */
  .slot-img{object-fit:cover;
    --slot-bg: linear-gradient(135deg, #E8DAC2 0%, #D8C3A5 100%);
    --slot-fg: rgba(43,43,43,.55);
  }

  /* -------- RESPONSIVE -------- */
  @media (max-width:1200px){
    .manifesto-grid{gap:80px}
    .about-head,.com-head,.origin{gap:60px}
  }

  @media (max-width:1024px){
    .nav{padding:18px 24px;gap:16px}
    .nav.scrolled{padding:12px 24px}
    .nav-links{display:none}
    .wrap{padding:0 24px}

    .hero{padding:120px 24px 120px;min-height:auto}
    .hero-inner{gap:32px;max-width:100%}
    .hero h1{font-size:clamp(56px,10vw,128px)}
    .hero-foot{left:24px;right:24px;flex-wrap:wrap;gap:14px;justify-content:center;text-align:center;font-size:10px}
    .hero-foot > div:not(.scroll-cue){flex:1;min-width:120px}

    .about{padding:120px 0 100px}
    .about-head{grid-template-columns:1fr;gap:32px;margin-bottom:60px}
    .about-head h2{max-width:none}
    .founders{grid-template-columns:1fr 1fr;gap:32px}
    .founder-meta h3{font-size:clamp(32px,5vw,44px)}
    .founder-meta p{font-size:16px}
    .origin{grid-template-columns:1fr;gap:48px;margin-top:80px;padding-top:50px}
    .origin .visual-wrap{position:static}
    .origin .visual{max-width:320px}
    .origin .copy{font-size:18px}
    .origin .body{gap:36px}
    .origin-disciplines{grid-template-columns:1fr}
    .origin-disciplines li:nth-child(5){grid-column:auto}
    .origin-etymology{padding:36px 24px;grid-template-columns:1fr;gap:24px}
    .origin-etymology .etym-mark{border-left:none;border-top:1px solid rgba(107,79,58,.18);padding-top:24px;min-height:auto}
    .origin-etymology .etym-mark .iso{height:54px;max-width:180px}

    .manifesto{padding:120px 0}
    .manifesto-grid{grid-template-columns:1fr;gap:50px}
    .manifesto-left{position:static}
    .manifesto-left h2{max-width:none}
    .manifesto-right{font-size:20px;max-width:none}

    .experiences{padding:120px 0}
    .exp-head{margin-bottom:50px;gap:24px}
    .exp-head h2{max-width:none}
    .exp-grid{grid-template-columns:repeat(2,1fr);gap:20px}
    .exp-card.c1,.exp-card.c2,.exp-card.c3,.exp-card.c4{grid-column:span 1;margin-top:0}

    .interlude{padding:140px 0}

    .community{padding:120px 0}
    .com-head{grid-template-columns:1fr;gap:24px;margin-bottom:50px}
    .com-head h2{max-width:none}
    .gallery{grid-template-columns:repeat(6,1fr);grid-auto-rows:90px}
    .g-item.g1{grid-column:span 4;grid-row:span 3}
    .g-item.g2{grid-column:span 2;grid-row:span 3}
    .g-item.g3{grid-column:span 3;grid-row:span 2}
    .g-item.g4{grid-column:span 3;grid-row:span 2}
    .g-item.g5{grid-column:span 3;grid-row:span 2}
    .g-item.g6{grid-column:span 3;grid-row:span 3}
    .g-item.g7{grid-column:span 3;grid-row:span 2}
    .g-item.g8{grid-column:span 3;grid-row:span 2}
    .com-quote{grid-template-columns:1fr;gap:30px;margin-top:70px}
    .trust-panel{grid-template-columns:1fr;margin-top:60px}
    .trust-panel > div{padding:30px}
    .process{padding:110px 0}
    .process-grid{grid-template-columns:1fr 1fr}
    .search-intent{padding:110px 0}
    .search-grid{grid-template-columns:1fr;gap:48px}
    .faq{padding:110px 0}
    .faq-grid{grid-template-columns:1fr;gap:44px}
    .faq-head{position:static;text-align:center}
    .faq-head .section-label{justify-content:center}

    .team-pillars{grid-template-columns:1fr}
    .team-pillar{padding:38px 32px}
    .teams-coda{grid-template-columns:1fr;gap:36px;margin-top:60px;padding-top:48px;text-align:center}
    .teams-coda .tc-action{align-items:center}
    .teams-coda .tc-action .tc-eyebrow{text-align:center}

    .final{padding:120px 0}
    .final .cta{font-size:11px;padding:20px 28px;max-width:90%;word-break:break-word;text-align:center;line-height:1.4}

    footer{padding:60px 0 32px}
    footer .wrap{grid-template-columns:1fr 1fr;gap:40px}
    footer .brand{font-size:24px}
    .copy{flex-direction:column;gap:10px;align-items:flex-start;margin-top:50px}
  }

  @media (max-width:720px){
    .nav{padding:14px 20px}
    .nav.scrolled{padding:10px 20px}
    .nav-cta{font-size:10px;padding:9px 14px;letter-spacing:.18em}
    .nav-logo .logo{width:108px;height:21px}
    .nav.scrolled .nav-logo .logo{width:96px;height:19px}

    .wrap{padding:0 20px}

    .hero{padding:110px 20px 110px}
    .hero h1{font-size:clamp(48px,13vw,84px);letter-spacing:-.02em}
    .hero-inner{gap:26px}
    .hero-meta{gap:22px}
    .hero-meta p{font-size:17px;max-width:30ch}
    .hero-cta{padding:16px 24px;font-size:11px}
    .hero-actions{gap:10px}
    .hero-proof{font-size:9px;letter-spacing:.16em}
    .eyebrow{font-size:10px;letter-spacing:.24em}
    .eyebrow::before,.eyebrow::after{width:24px}
    .hero-foot{bottom:20px}
    .breath{width:90vmin;height:90vmin}

    .about{padding:90px 0 80px}
    .about-head{margin-bottom:48px;text-align:center;justify-items:center}
    .about-head h2,.manifesto-left h2,.exp-head h2,.com-head h2{font-size:clamp(34px,7.5vw,52px)}
    .about-head .lede,.exp-head .lede,.com-head .lede{font-size:18px}
    .about-head h2{max-width:none}
    .about-head .lede{max-width:none}
    .about-head .section-label{justify-content:center}
    .founders{grid-template-columns:1fr;gap:48px}
    .founder{align-items:center;text-align:center}
    .founder-meta h3{font-size:36px}
    .founder-meta .role{justify-content:center}
    .origin{margin-top:60px;padding-top:40px}
    .origin .copy{font-size:17px}

    .manifesto{padding:90px 0}
    .manifesto-right{font-size:18px}
    .manifesto-right p{margin-bottom:1.2em}
    .manifesto-tags{margin-top:40px;gap:8px}

    .experiences{padding:90px 0}
    .exp-grid{grid-template-columns:1fr;gap:24px}
    .exp-card .meta h3{font-size:24px}
    .exp-card .meta p{font-size:12px}
    .exp-card .meta,.exp-card .meta *{color:var(--cream) !important}
    .exp-card.c1 .meta{padding:86px 24px 30px}
    .exp-card.c1 .meta,.exp-card.c1 .meta *{color:rgb(150,93,61) !important}
    .exp-card.c1 .details span{color:rgba(250,248,244,.92) !important}
    .exp-card.c2 .meta{padding:86px 24px 30px}
    .exp-card.c2 .meta,.exp-card.c2 .meta *{color:rgb(150,93,61) !important}
    .exp-card.c2 .details span{color:rgba(250,248,244,.92) !important}

    .interlude{padding:110px 0}
    .interlude blockquote{font-size:clamp(30px,8vw,56px)}
    .interlude .attr{margin-top:36px}

    .community{padding:90px 0}
    .com-quote{margin-top:50px;gap:24px}
    .com-quote .q{font-size:18px;padding-top:24px}

    .final{padding:100px 0 90px}
    .final h2{font-size:clamp(40px,9vw,72px);margin:32px 0 44px}
    .final .sub{font-size:10px;letter-spacing:.22em;padding:0 16px;line-height:1.6}

    footer{padding:60px 0 28px}
    footer .wrap{grid-template-columns:1fr;gap:36px}
    footer .tag-line{font-size:16px}
    .trust-strip .wrap{grid-template-columns:1fr 1fr}
    .trust-item{padding:22px 20px;min-height:116px}
    .trust-item strong{font-size:21px}
    .process-grid{grid-template-columns:1fr}
    .process-step{padding:30px 24px}
    .process-head p{font-size:18px}
    .search-intent{padding:86px 0}
    .search-copy{text-align:center}
    .search-copy .section-label{justify-content:center}
    .search-copy h2{font-size:clamp(34px,8vw,52px)}
    .search-copy .lede{font-size:18px}
    .search-topics article{grid-template-columns:1fr;gap:10px;text-align:left}
    .search-topics p{grid-column:1}
    .faq-item{grid-template-columns:1fr;gap:12px}
    .mobile-quick{position:fixed;left:14px;right:70px;bottom:16px;z-index:88;display:grid;grid-template-columns:1fr 1fr;gap:8px;pointer-events:none}
    .mobile-quick a{pointer-events:auto;text-align:center;padding:12px 10px;border-radius:999px;background:rgba(250,248,244,.9);color:var(--ink);font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;box-shadow:0 8px 24px -12px rgba(28,26,23,.45);backdrop-filter:blur(10px)}
  }

  @media (max-width:480px){
    .nav-cta{display:none}
    .nav{justify-content:flex-start}
    .nav-logo{margin-left:0}

    .hero{padding:100px 18px 100px}
    .hero h1{font-size:clamp(44px,14vw,72px)}
    .hero-foot{font-size:9px;letter-spacing:.16em}
    .hero-foot > div:not(.scroll-cue){min-width:0;flex-basis:auto}

    .wrap{padding:0 18px}

    .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:120px;gap:12px}
    .g-item.g1,.g-item.g2,.g-item.g3,.g-item.g4,.g-item.g5,.g-item.g6,.g-item.g7,.g-item.g8{grid-column:span 1;grid-row:span 2}
    .g-item.g1{grid-column:span 2;grid-row:span 2}

    .founder-meta h3{font-size:30px}
    .exp-card .meta{left:18px;right:18px;bottom:18px}
    .exp-card .meta h3{font-size:22px}
    .exp-card.c1 .meta{left:auto;right:auto;bottom:auto;padding:76px 24px 28px}
    .exp-card.c2 .meta{left:auto;right:auto;bottom:auto;padding:76px 24px 28px}

    .final .cta{font-size:10px;letter-spacing:.18em;padding:18px 22px}
    .hero-actions{flex-direction:column}
    .hero-actions .hero-cta{width:100%;max-width:280px;justify-content:center}
    .trust-strip .wrap{grid-template-columns:1fr}
    .trust-item{min-height:auto}
  }
/* Security hardening: former inline styles moved to classes */
.eyebrow-mono { font-family: "JetBrains Mono", monospace; }
.mt-32 { margin-top: 32px; }
.mt-24 { margin-top: 24px; }
.mt-18 { margin-top: 18px; }
.exp-card .meta .warm-copy,
.exp-card .meta.warm-copy,
.warm-copy { color: rgb(150, 93, 61); }
.warm-copy-soft { color: rgb(148, 92, 60); }
.interlude-content { position: relative; z-index: 2; }
.quote-mark-spaced { margin: 0 0 8px; }
.inline-flex-label { display: inline-flex; }
