/* Pianato — editorial, territory and time. No runtime or framework required. */
:root{--paper:#f3f1ea;--ink:#171c1d;--muted:#535e5b;--green:#345752;--line:#d4d7cb;--dark:#1c2524;--light:#c0cac4;--brass:#a18a5a;--max:1344px;--gutter:48px;color-scheme:light}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
button,input,textarea{font:inherit}
a{color:inherit;text-decoration:none}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
a:hover{text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #937129;outline-offset:5px}
button{cursor:pointer}
img,svg{display:block;max-width:100%}
figure{margin:0}
h1,h2,h3{font-weight:500;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
h1{font-size:clamp(42px,4.8vw,76px)}
h2{font-size:clamp(32px,3.25vw,50px)}
h3{font-size:22px;letter-spacing:-.025em}
em{font-style:normal;color:var(--green)}
p{max-width:68ch}
.wrap{width:calc(100% - var(--gutter)*2);max-width:var(--max);margin-inline:auto}
.section-space{padding-block:112px}
.eyebrow,.section-index,.block-title,.tag,.stack-caption{font-size:11px;line-height:1.4;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.eyebrow{color:var(--green);margin-bottom:28px;display:block}
.section-index{color:var(--muted);margin-bottom:36px}
.block-title{margin-bottom:28px}
.accent{color:inherit}
.skip-link{position:fixed;z-index:100;left:24px;top:0;transform:translateY(-160%);padding:12px 20px;background:var(--ink);color:white}
.skip-link:focus{transform:translateY(12px)}
.header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.logo{font-size:17px;letter-spacing:.16em;white-space:nowrap;text-transform:uppercase;font-weight:600}
.logo span{color:inherit}
.nav{display:flex;align-items:center;gap:32px;font-size:13px}
.nav a{padding-block:10px}
.nav a:hover{color:var(--green)}
.nav .nav-demo{margin-left:20px;border:1px solid var(--ink);padding:10px 18px;display:flex;align-items:center;gap:28px}
.nav-demo span{font-size:18px}
.hero{padding-top:76px}
.hero-intro{display:grid;grid-template-columns:1.35fr 1fr;align-items:end;gap:9%;margin-bottom:54px}
.hero h1{max-width:780px}
.hero-copy{padding-bottom:5px}
.hero-copy p{font-size:16px;color:var(--muted);line-height:1.8}
.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:32px}
.btn{min-height:50px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:13px 23px;border:1px solid var(--ink);border-radius:0;font-size:13px;font-weight:600;line-height:1.5;transition:background-color .2s,color .2s}
.btn.primary{background:var(--ink);color:var(--paper)}
.btn.primary:hover{background:var(--green);border-color:var(--green)}
.btn:not(.primary):hover{background:var(--line)}
.btn span{font-size:18px;line-height:1}
.text-link{font-size:13px;border-bottom:1px solid var(--line);padding-block:10px;display:inline-flex;align-items:center;gap:16px}
.text-link:hover{border-color:var(--green)}
.art-window{position:relative;isolation:isolate;overflow:hidden;background:var(--dark)}
.parallax-media{position:absolute;inset:-48px 0}
.parallax-media picture,.parallax-media img{display:block;width:100%;height:100%}
.parallax-media img{object-fit:cover;object-position:center}
.hero-art{aspect-ratio:2.25;min-height:360px;color:var(--paper)}
.hero-art .parallax-media img{object-position:50% 56%}
.hero-art:after,.connections-art:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(10,16,14,.23),transparent 26%,transparent 70%,rgba(10,16,14,.55));pointer-events:none}
.art-heading{position:absolute;top:30px;left:36px;right:36px;display:flex;align-items:center;gap:22px;font-size:11px;letter-spacing:.035em;z-index:1}
.art-heading span:first-child{font-size:20px;letter-spacing:.15em;padding-right:24px;border-right:1px solid #737971}
.art-window figcaption{position:absolute;bottom:25px;left:36px;right:36px;color:var(--paper);font-size:10px;letter-spacing:.07em;z-index:1;display:flex;justify-content:space-between;gap:20px}
.hero-baseline{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:20px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.09em;color:var(--muted)}
.hero-baseline a{letter-spacing:0;font-size:12px}
.hero-baseline a span{padding-left:32px}
.system{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-bottom:1px solid var(--line)}
.system h2{max-width:560px}
.system-detail{padding-top:48px}
.system-detail p{font-size:15px;color:var(--muted)}
.system-detail .lead{font-size:21px;line-height:1.5;color:var(--ink);letter-spacing:-.02em;margin-bottom:26px}
.data-flow{margin-top:35px;display:flex;align-items:center;gap:13px;padding-top:24px;border-top:1px solid var(--line);font-size:11px;flex-wrap:wrap;color:var(--muted)}
.data-flow strong{font-weight:600;color:var(--green)}
.platform{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:12%}
.platform-copy h2{font-size:clamp(30px,2.65vw,42px);max-width:630px}
.platform-copy p{font-size:15px;color:var(--muted);margin-top:26px}
.platform-copy .hero-actions .btn{font-size:12px}
.stack{border-block:1px solid var(--line);padding-block:28px}
.stack-caption{color:var(--muted);margin-bottom:20px}
.layer{display:flex;gap:25px;align-items:center;padding:22px 24px;background:#e9e8df;border-left:2px solid #bec6bc}
.layer.top{background:var(--green);color:var(--paper);border-color:var(--green)}
.layer-num{font-size:12px;opacity:.7;font-variant-numeric:tabular-nums;align-self:flex-start;padding-top:2px}
.layer strong{display:block;font-size:18px;letter-spacing:-.025em;font-weight:500;line-height:1.4}
.layer .sub{display:block;font-size:12px;margin-top:4px;opacity:.8}
.chip-eye{display:inline-block;font-size:10px;letter-spacing:.1em;border-bottom:1px solid #8aa59b;margin-top:10px}
.layer-link{text-align:center;color:var(--muted);font-size:16px;line-height:1.6}
.odin-section{background:var(--dark);color:var(--paper);padding-block:100px 90px}
.odin-section .section-index,.odin-section .eyebrow,.odin-section .block-title{color:var(--light)}
.odin-intro{display:grid;grid-template-columns:1fr 1fr;gap:26px 12%;margin-bottom:80px}
.odin-intro .section-index{grid-column:1/-1;margin-bottom:2px}
.odin-intro .eyebrow{grid-column:1;margin-bottom:0}
.odin-intro h2{grid-column:1;grid-row:3/5;font-size:clamp(34px,3.4vw,53px)}
.odin-intro>p:not(.section-index){grid-column:2;font-size:15px;line-height:1.8;color:var(--light)}
.odin-intro>p:not(.section-index):not(.odin-definition){grid-row:2/4}
.odin-intro>.odin-definition{font-size:13px!important}
.chronotope{display:grid;grid-template-columns:.9fr 1.1fr;background:#e9e8df;color:var(--ink);margin-bottom:90px}
.chrono-copy{padding:60px 40px 60px 54px}
.chrono-copy .eyebrow{color:var(--green)}
.chrono-copy h2{font-size:clamp(30px,2.7vw,42px);line-height:1.15}
.chrono-copy>p:last-of-type{font-size:14px;line-height:1.8;color:var(--muted);margin-top:25px}
.chrono-art{min-height:480px;background:#e9e8df}
.chrono-art .parallax-media{inset:-32px -25%}
.chrono-art .parallax-media img{object-fit:contain}
.chrono-art figcaption{font-size:9px;color:#48524d;left:24px;right:24px;bottom:22px}
.coordinates{display:flex;gap:40px;margin-top:30px;padding-top:22px;border-top:1px solid #c8cebf}
.coordinates dt{font-size:13px;font-weight:600;color:var(--green)}
.coordinates dd{font-size:11px;line-height:1.6;color:var(--muted);margin-top:5px}
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:45px}
.step{border-top:1px solid #4e5d57;padding-top:25px}
.step-num{font-size:12px;color:#b9a26c;font-variant-numeric:tabular-nums;display:block;margin-bottom:32px}
.step h3{font-size:24px;margin-bottom:18px}
.step p{font-size:14px;color:var(--light);line-height:1.8}
.scope-note{font-size:11px;color:var(--light);margin-top:28px;padding-top:22px;border-top:1px solid #3c4c46;max-width:var(--max)}
.demo{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px 60px;background:var(--paper);color:var(--ink);padding:48px;margin-block:90px}
.demo-heading{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.demo-heading .section-index{grid-column:1/-1;color:var(--muted);margin-bottom:14px}
.demo-heading h2{font-size:36px;max-width:450px}
.demo-heading>p:last-child{font-size:13px;color:var(--muted);justify-self:end;align-self:end;padding-bottom:4px}
.demo-chat{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.demo-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid #b4bdb0;padding:5px 9px}
.demo-chat h3{font-size:18px;line-height:1.4;letter-spacing:-.02em}
.bubble{width:100%;padding:22px;font-size:15px;line-height:1.7}
.bubble small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;color:var(--muted)}
.bubble.q{background:#e5e6dc;border-left:2px solid #96a592}
.bubble.a{padding-left:0;padding-right:0;border-top:1px solid var(--line);min-height:170px;font-size:14px}
.demo-map{align-self:start}
.map-frame{position:relative;background:#e7e8df;border:1px solid #c3cbbd}
.map-frame svg{width:100%;height:auto}
.map-badge{position:absolute;z-index:1;left:18px;top:16px;font-size:10px;letter-spacing:.03em;background:var(--paper);padding:5px 10px;color:var(--green)}
.bld{fill:#b3bcac;stroke:#75836f;stroke-width:1}
.bld.new{fill:#52785d;stroke:#2c523a;stroke-width:1.4}
.bld.off{opacity:0}
.time-control{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding-top:20px;font-size:12px;font-variant-numeric:tabular-nums}
.time-control input{width:100%;accent-color:var(--green);cursor:pointer;min-height:36px}
.time-control output{font-weight:600;color:var(--green)}
.time-hint{color:var(--muted);font-size:11px;line-height:1.5;margin-top:7px}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}
.feature{border-top:1px solid #4e5d57;padding-top:22px}
.tag{color:#b9a26c;display:block;margin-bottom:28px}
.feature h3{font-size:25px;margin-bottom:18px}
.feature p{font-size:14px;line-height:1.8;color:var(--light)}
.sector-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:42px}
.sector-heading .section-index{margin-bottom:0;padding-bottom:6px}
.sector-heading h2{max-width:650px}
.connections-art{aspect-ratio:2.7;color:var(--paper);min-height:300px}
.connections-art .parallax-media img{object-position:50% 48%}
.fit{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:50px}
.fit h3{font-size:28px;margin-bottom:18px}
.fit p:not(.block-title){font-size:14px;color:var(--muted);line-height:1.85}
.sectors{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.sectors li{border-bottom:1px solid var(--line);padding:12px 0;font-size:14px;display:flex;justify-content:space-between;align-items:center}
.sectors li:after{content:"↗";font-size:14px;color:var(--green)}
.contact-section{background:#dfe5dc;padding-block:75px 65px}
.cta-wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:24px 12%;align-items:start}
.cta-wrap>.section-index{grid-column:1/-1;margin-bottom:16px}
.cta-wrap h2{max-width:630px;font-size:clamp(36px,3.5vw,55px)}
.cta-wrap>p:not(.section-index){grid-column:1;color:#46574c;font-size:16px;max-width:500px}
.cta-wrap>.btn{grid-column:1;justify-self:start;margin-top:5px}
.contact-info{grid-column:2;grid-row:2/5;display:flex;flex-direction:column;gap:30px;border-top:1px solid #aebca9;padding-top:25px}
.contact-item span{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;display:block;color:#46574c;margin-bottom:10px}
.contact-item address{font-style:normal;font-size:15px;max-width:310px;line-height:1.8}
.contact-item a{font-size:25px;letter-spacing:-.03em;border-bottom:1px solid #aebca9}
.footer{padding-block:35px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:11px;color:var(--muted)}
.footer-brand{color:var(--ink);font-weight:600;font-size:15px;letter-spacing:.15em;white-space:nowrap}
.modal[hidden]{display:none!important}
.modal{position:fixed;inset:0;z-index:80;background:rgba(16,25,21,.72);display:flex;align-items:center;justify-content:center;padding:24px}
.modal-card{position:relative;width:min(540px,100%);max-height:calc(100dvh - 48px);overflow:auto;background:var(--paper);padding:45px}
.modal-card h2{font-size:33px;margin-bottom:16px;padding-right:30px}
.modal-sub{font-size:14px;color:var(--muted);margin-bottom:28px}
.modal-close{position:absolute;top:18px;right:20px;width:38px;height:38px;border:1px solid var(--line);background:transparent;font-size:25px;line-height:1;color:var(--ink)}
.modal-close:hover{background:var(--line)}
.form-field{margin-bottom:20px}
.form-field label{font-size:12px;display:block;margin-bottom:8px;color:var(--muted)}
.form-field input,.form-field textarea{width:100%;padding:12px 14px;border:1px solid #9da999;background:#faf9f5;border-radius:0;color:var(--ink);font-size:15px}
.form-field textarea{resize:vertical;min-height:112px}
.form-field input::placeholder,.form-field textarea::placeholder{color:#606b62;opacity:1}
.modal .btn{width:100%;justify-content:center}
.form-note{display:none;font-size:13px;color:var(--green);margin-top:20px}
.form-note.show{display:block}
.no-js-demo{display:none}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1600px){.hero{padding-top:90px}.hero-intro{margin-bottom:65px}}
@media(max-width:1100px){:root{--gutter:32px}.hero-intro{gap:6%}.hero h1{font-size:58px}.hero-copy p{font-size:14px}.hero-actions{gap:18px}.btn{padding-inline:19px}.system,.platform,.fit{gap:7%}.chronotope{grid-template-columns:1fr 1fr}.chrono-copy{padding:45px 30px}.chrono-art .parallax-media{inset:-24px -35%}.demo{padding:35px;gap:28px}.nav{gap:24px}.nav .nav-demo{margin-left:0}.coordinates{gap:20px}.steps,.features{gap:26px}}
@media(max-width:900px){.hero-intro{grid-template-columns:1fr;gap:28px}.hero h1{font-size:clamp(43px,7vw,65px);max-width:760px}.hero-copy{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:start}.hero-actions{margin-top:0;gap:16px}.hero-art{min-height:300px}.system,.platform{gap:40px;grid-template-columns:1fr 1fr}.section-space{padding-block:80px}.system-detail{padding-top:45px}.system-detail .lead{font-size:18px}.platform-copy h2{font-size:32px}.chronotope{grid-template-columns:1fr}.chrono-copy{padding:40px}.chrono-art{min-height:400px}.chrono-art .parallax-media{inset:-24px 0}.demo{grid-template-columns:1fr}.demo-chat{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.demo-label{justify-self:start}.demo-chat h3{align-self:center}.bubble.a{min-height:0;border-top:0;padding:20px 0}.demo-heading h2{font-size:30px}.steps,.features{gap:22px}.step h3,.feature h3{font-size:22px}.odin-intro{gap:22px 6%}.odin-intro h2{font-size:38px}.sector-heading h2{font-size:36px}.connections-art{aspect-ratio:2.1}.cta-wrap{gap:24px 8%}.nav .nav-demo{gap:16px}}
@media(max-width:700px){:root{--gutter:20px}.header-inner{height:74px;gap:12px}.logo{font-size:12px;letter-spacing:.11em}.nav{gap:16px;font-size:12px}.nav a:first-child{position:absolute;left:-10000px}.nav a:first-child:focus{position:static}.nav .nav-demo{padding:8px 10px;font-size:11px;gap:10px}.nav-demo span{display:none}.hero{padding-top:44px}.eyebrow{font-size:10px;margin-bottom:24px}.hero-intro{gap:24px;margin-bottom:30px}.hero h1{font-size:43px;letter-spacing:-.05em;line-height:1.06}.desktop-break{display:none}.hero-copy{display:block}.hero-copy p{font-size:14px;line-height:1.8}.hero-actions{margin-top:24px;gap:24px}.hero-art{aspect-ratio:1.2;min-height:0}.hero-art .parallax-media{inset:0 -22% 0 -32%}.hero-art .parallax-media img{object-position:68% center}.art-heading{top:20px;left:20px;right:20px;gap:14px;font-size:10px}.art-heading span:first-child{font-size:16px;padding-right:14px}.art-window figcaption{left:20px;right:20px;bottom:18px;font-size:9px;gap:12px}.hero-art figcaption{display:block}.hero-art figcaption span{display:block;margin-top:6px}.hero-baseline{align-items:start;gap:12px;flex-direction:column;font-size:9px}.hero-baseline a{font-size:11px}.hero-baseline a span{padding-left:10px}.section-space{padding-block:65px}.system,.platform{grid-template-columns:1fr;gap:30px}.system h2{font-size:36px}.section-index{font-size:10px;margin-bottom:25px}.system-detail{padding-top:0}.system-detail .lead{font-size:18px}.system-detail p{font-size:14px}.data-flow{gap:10px;font-size:10px}.platform-copy h2{font-size:34px}.platform-copy p{font-size:14px}.stack{padding-block:20px}.layer{padding:20px}.layer strong{font-size:17px}.odin-section{padding-block:65px}.odin-intro{display:block;margin-bottom:40px}.odin-intro .eyebrow{margin-block:20px}.odin-intro h2{font-size:37px;margin-bottom:26px}.odin-intro>p:not(.section-index){font-size:14px}.odin-intro>.odin-definition{margin-top:18px}.chronotope{margin-bottom:55px}.chrono-copy{padding:30px 24px}.chrono-copy h2{font-size:31px}.chrono-copy>p:last-of-type{font-size:14px}.coordinates{gap:25px}.chrono-art{min-height:295px}.chrono-art .parallax-media{inset:0 -5%}.chrono-art figcaption{font-size:8px;bottom:14px}.steps{grid-template-columns:1fr;gap:28px}.step{display:grid;grid-template-columns:32px 1fr;gap:14px 12px;padding-top:22px}.step-num{margin:0;padding-top:4px;grid-row:1/3}.step h3{font-size:24px;margin:0}.step p{grid-column:2}.scope-note{font-size:10px;line-height:1.8}.demo{padding:25px 20px;margin-block:55px;gap:25px}.demo-heading{display:block}.demo-heading .section-index{margin-bottom:20px}.demo-heading h2{font-size:30px;margin-bottom:16px}.demo-heading>p:last-child{font-size:12px}.demo-chat{display:flex;gap:14px}.demo-chat h3{align-self:start}.bubble{font-size:14px;padding:18px}.bubble.a{padding-block:12px}.map-badge{font-size:9px;left:9px;top:9px;padding:3px 6px}.time-control{gap:10px;padding-top:10px}.features{grid-template-columns:1fr;gap:30px}.feature .tag{margin-bottom:18px}.feature h3{font-size:25px;margin-bottom:14px}.sector-heading{display:block;margin-bottom:30px}.sector-heading .section-index{margin-bottom:20px}.sector-heading h2{font-size:37px}.connections-art{min-height:300px;aspect-ratio:1.15}.connections-art .parallax-media{inset:0 -30%}.connections-art figcaption{font-size:8px}.fit{grid-template-columns:1fr;gap:35px;padding-top:32px}.fit h3{font-size:28px}.sectors{column-gap:20px}.sectors li{font-size:13px}.contact-section{padding-block:55px}.cta-wrap{display:flex;flex-direction:column;gap:22px}.cta-wrap>.section-index{margin-bottom:0}.cta-wrap h2{font-size:40px}.cta-wrap>p:not(.section-index){font-size:14px}.contact-info{margin-top:16px;width:100%;gap:26px}.contact-item a{font-size:25px}.contact-item address{font-size:14px}.footer{padding-block:30px;flex-direction:column;align-items:start;gap:15px;font-size:10px}.footer-brand{font-size:13px}.modal{padding:16px}.modal-card{padding:35px 24px;max-height:calc(100dvh - 32px)}.modal-card h2{font-size:29px}.modal-close{right:16px;top:15px}.form-field{margin-bottom:18px}}
@media(max-width:360px){.nav{gap:11px}.nav .nav-demo{font-size:10px;padding:8px}.logo{font-size:11px}.hero h1{font-size:39px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.parallax-media{transform:none!important}}
/* Keep the three temporal plates within their frame and captions legible. */
.chrono-art .parallax-media{inset:-24px 0}
.chrono-art figcaption{background:rgba(243,241,234,.95);padding:7px 10px;left:14px;right:14px;bottom:14px}
@media(max-width:700px){.nav a:first-child{position:static}.nav .nav-demo{display:none}.nav{gap:18px}.chrono-art .parallax-media{inset:0}.chrono-art figcaption{font-size:8px;padding:5px 8px}}
/* Original full-viewport particle mesh and mouse-driven radial glow.
   Section backgrounds stay below the effect; content stays above it. */
:root{--glow-x:50%;--glow-y:20%}
#pointer-glow{position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at var(--glow-x) var(--glow-y),rgba(146,169,128,.24) 0,transparent 45%)}
#pointer-glow[hidden]{display:none}
#particles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.hero-intro,.hero-baseline,.system>*,.platform>*,.odin-intro,.chronotope>*,.steps>*,.scope-note,.demo>*,.features>*,.sector-heading,.fit>*,.cta-wrap>*,.footer,.art-window{position:relative;z-index:2}
.motion-toggle{position:fixed;right:22px;bottom:20px;z-index:25;display:flex;align-items:center;gap:9px;min-height:38px;padding:8px 12px;border:1px solid #bec5b9;background:rgba(243,241,234,.96);color:#46574c;font-size:10px;line-height:1.4;letter-spacing:.025em;border-radius:0;box-shadow:none}
.motion-toggle:hover{background:#e5e8df;border-color:#7f9180}
.motion-toggle[hidden]{display:none}
.motion-icon{font-size:12px;line-height:1;width:12px;text-align:center}
.modal-open .motion-toggle{visibility:hidden}
@media(prefers-reduced-motion:reduce){.motion-toggle{display:none}}
/* Corporate footer and a quiet, readable privacy page. */
.corporate-footer{display:block}
.footer-main,.footer-details{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%}
.footer-details{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.footer-details nav{display:flex;flex-wrap:wrap;gap:18px;font-size:12px}
.footer-details a,.form-privacy a,.legal-main a{text-decoration:underline;text-underline-offset:3px}
.form-privacy{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 20px}
.form-privacy strong{font-weight:600;color:var(--ink)}
.legal-main{max-width:850px;padding-block:70px 80px}
.legal-main h1{font-size:clamp(36px,5vw,56px);margin-bottom:20px}
.legal-updated{font-size:12px;color:var(--muted);margin-bottom:45px}
.legal-main section{margin-top:32px}
.legal-main h2{font-size:25px;letter-spacing:-.025em;line-height:1.25;margin-bottom:16px}
.legal-main section p{font-size:15px;line-height:1.8;color:var(--muted);max-width:none;margin-bottom:14px}
.legal-main a{overflow-wrap:anywhere;color:var(--green)}
.legal-back{margin-top:45px;padding-top:25px;border-top:1px solid var(--line);font-size:13px}
@media(max-width:700px){.footer-main,.footer-details{align-items:flex-start;flex-direction:column;gap:14px}.footer-main p{font-size:10px}.footer-details{margin-top:18px}.legal-main{padding-block:45px 60px}.legal-main h2{font-size:23px}.legal-main section p{font-size:14px}.legal-updated{margin-bottom:32px}}
@media(max-width:360px){.header-inner{height:auto;min-height:88px;padding-block:13px;gap:8px;flex-direction:column;align-items:flex-start}.logo{font-size:11px;letter-spacing:.09em}.nav{gap:20px;font-size:11px}}
.hero-intro>*,.system>*,.platform>*,.demo>*,.fit>*{min-width:0}
@media(max-width:700px){.connections-art{aspect-ratio:auto;width:100%;min-height:300px}}
/* An additional example, served as a local MP4 after the original parcel demo. */
.madrid-example{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,350px);gap:60px;align-items:center;padding:48px;background:var(--paper);color:var(--ink);margin-block:0 90px}
.madrid-copy{max-width:540px;min-width:0}
.madrid-copy .eyebrow{color:var(--green)}
.madrid-copy h2{font-size:clamp(32px,3.3vw,48px);line-height:1.12;margin-bottom:26px}
.madrid-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;color:var(--muted)}
.madrid-copy .madrid-credit{font-size:11px!important;margin-top:26px}
.madrid-movie{width:100%;max-width:350px;justify-self:end;min-width:0}
.madrid-movie video{display:block;width:100%;height:auto;aspect-ratio:9/16;background:var(--dark)}
.madrid-movie figcaption{margin-top:14px;font-size:10px;line-height:1.7;color:var(--muted)}
@media(max-width:900px){.madrid-example{grid-template-columns:minmax(0,1fr) minmax(220px,290px);gap:32px;padding:35px}.madrid-copy h2{font-size:34px}}
@media(max-width:700px){.madrid-example{grid-template-columns:minmax(0,1fr);padding:25px 20px;gap:28px;margin-bottom:55px}.madrid-movie{justify-self:center}.madrid-copy h2{font-size:32px}.madrid-copy>p:not(.eyebrow){font-size:14px}}

/* Cronotopo: exploración progresiva y detalle desplegable. */
.chrono-detail{position:relative;z-index:2;margin-bottom:80px;padding-top:40px;border-top:1px solid #56645f}
.chrono-detail-heading{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:34px}
.chrono-detail-heading .eyebrow{margin:8px 0 0}
.chrono-detail-heading h2{font-size:clamp(30px,3vw,44px)}
.chrono-explorer{background:var(--paper);color:var(--ink);padding:32px 36px}
.chrono-lead{font-size:19px;line-height:1.6;max-width:76ch}
.chrono-stage-controls{margin-top:28px}
.chrono-stage-controls[hidden],.chrono-stage[hidden]{display:none}
.chrono-stage-buttons{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.chrono-stage-buttons button{background:transparent;border:0;border-bottom:3px solid transparent;padding:16px 12px;text-align:left;color:var(--muted);font-size:16px}
.chrono-stage-buttons button span{font-size:11px;margin-right:12px;font-variant-numeric:tabular-nums}
.chrono-stage-buttons button[aria-pressed="true"]{color:var(--green);border-bottom-color:var(--green);font-weight:600;background:#e4e9e1}
.chrono-stage-buttons button:hover{background:#e4e9e1}
.chrono-stage-progress{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:16px;font-size:12px;color:var(--muted)}
.chrono-stage-progress button{border:0;background:transparent;color:var(--green);padding:8px 0;text-decoration:underline;text-underline-offset:4px}
.chrono-stage{margin-top:22px;animation:chrono-reveal .3s ease-out}
.chrono-stage-copy{display:grid;grid-template-columns:1fr 1.3fr;gap:35px;align-items:start}
.chrono-stage-copy h3{font-size:25px;line-height:1.25}
.chrono-stage-copy p{font-size:14px;line-height:1.75;color:var(--muted)}
.chrono-diagram{overflow-x:auto;margin-top:24px;background:var(--paper)}
.chrono-diagram img{display:block;width:100%;height:auto;min-height:170px;max-height:420px;object-fit:contain}
.chrono-explorer-note{font-size:11px;color:var(--muted);max-width:100ch;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.chrono-reading-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--light);margin-top:32px;margin-bottom:14px}
.chrono-detail-body{color:var(--light);font-size:15px;line-height:1.85}
.chrono-detail-body strong{color:var(--paper)}
.chrono-detail-body em{font-style:italic;color:inherit}
.chrono-detail-body a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.chrono-disclosure{border-top:1px solid #56645f;scroll-margin-top:110px}
.chrono-disclosure:last-child{border-bottom:1px solid #56645f}
.chrono-disclosure summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;color:var(--paper);font-size:18px;line-height:1.5;padding:19px 0;list-style:none}
.chrono-disclosure summary::-webkit-details-marker{display:none}
.chrono-disclosure summary::after{content:"+";font-size:24px;color:#c8b580;font-weight:400}
.chrono-disclosure[open] summary::after{content:"−"}
.chrono-disclosure summary:focus-visible{outline:3px solid #c8b580;outline-offset:3px}
.chrono-disclosure-content{max-width:960px;margin-left:auto;padding:8px 0 30px}
.chrono-disclosure-content p+p{margin-top:18px}
.chrono-reasons{padding-left:24px;margin-top:18px}
.chrono-reasons li+li{margin-top:12px}
.chrono-definition{border-left:2px solid var(--brass);padding-left:22px;font-size:18px}
.chrono-table-scroll{overflow-x:auto;max-width:100%;margin-block:24px}
.chrono-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;line-height:1.75}
.chrono-table caption{text-align:left;font-size:12px;padding-bottom:14px}
.chrono-table th,.chrono-table td{padding:16px 18px 16px 0;border-bottom:1px solid #56645f;vertical-align:top}
.chrono-table th{color:var(--paper)}
.chrono-table tbody th{white-space:nowrap;width:11%}
.chrono-table td:nth-child(2){width:30%}
.chrono-formula{white-space:nowrap;color:var(--paper)}
.chrono-references ol{font-size:12px;padding-left:20px}
.chrono-references li+li{margin-top:12px}
@keyframes chrono-reveal{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
body[data-motion-paused="true"] .chrono-stage{animation:none}
@media(prefers-reduced-motion:reduce){.chrono-stage{animation:none}}
@media(max-width:900px){.chrono-detail-heading{grid-template-columns:1fr;gap:18px}.chrono-stage-copy{gap:24px}}
@media(max-width:700px){.chrono-detail{padding-top:28px;margin-bottom:55px}.chrono-explorer{padding:24px 18px}.chrono-lead{font-size:17px}.chrono-stage-buttons button{font-size:12px;padding:13px 6px}.chrono-stage-buttons button span{display:block;margin:0 0 4px}.chrono-stage-progress{font-size:11px;gap:8px}.chrono-stage-copy{grid-template-columns:1fr;gap:12px}.chrono-stage-copy h3{font-size:24px}.chrono-stage-copy p{font-size:14px}.chrono-diagram img{max-height:none;min-height:0;max-width:350px;margin-inline:auto}.chrono-disclosure summary{font-size:16px}.chrono-table{min-width:590px;font-size:13px}.chrono-definition{font-size:17px;padding-left:16px}}

@media(min-width:701px) and (max-width:900px){.chrono-diagram img{max-height:none;max-width:400px;margin-inline:auto}}
