/* Restrained homepage, using the existing Söhne brand tokens. */
.platform-site { --ae-type-h2:clamp(2rem,3vw,2.5rem); font-kerning:normal; --story-rule: color-mix(in srgb,var(--ink) 20%,transparent); }
.platform-site::after { display:none; }
.platform-site [hidden] { display:none!important; }
.platform-site .platform-hero-title { max-inline-size:24ch; }
.platform-site .hero-industry { display:none; }
.site-story { max-inline-size:1360px; margin-inline:auto; }
.site-chapter { min-block-size:100svh; padding-block:clamp(4rem,9svh,7rem); display:flex; flex-direction:column; justify-content:center; }
.site-chapter:focus { outline:none; }
.site-chapter h2 { margin:0; font-size:var(--ae-type-h2); font-weight:500; line-height:1.2; letter-spacing:-.015em; max-inline-size:23ch; text-wrap:balance; }
.site-chapter p { margin:0; max-inline-size:65ch; }
.story-intro { display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(2rem,6vw,6rem); align-items:start; }
.story-intro > p { color:var(--muted); }
.architecture-art { margin:2.5rem 0; position:relative; }
.architecture-art picture,.architecture-art img { display:block; inline-size:100%; }
.architecture-art img { block-size:auto; aspect-ratio:2.45; object-fit:cover; }
.architecture-visual { position:relative; }
.architecture-labels { display:grid; grid-template-columns:1fr 1fr 1fr; text-align:center; font-size:var(--ae-type-body-sm); position:absolute; inset:0 0 auto; }
.architecture-labels span { background:var(--canvas); padding:.25rem .75rem; justify-self:center; }
.architecture-key { display:flex; justify-content:space-between; gap:3rem; color:var(--muted); font-size:var(--ae-type-small); margin-block-start:1rem; }
.architecture-key p { flex:1; max-inline-size:38ch; }
.architecture-key p:last-child { text-align:end; }
.provider-section { --logo-scale:1; padding-block:1rem 2rem; }
.provider-section .compatibility-note { margin-block-start:0; }
.provider-section .deployment-note { max-inline-size:65ch; margin:0 0 1rem; color:var(--muted); font-size:var(--ae-type-body-sm); }
.provider-section .compatibility-logos { grid-template-columns:repeat(12,1.5rem); }
.provider-section .compatibility-group { margin-block-start:1.5rem; }
.site-examples { min-block-size:100svh; padding-block:clamp(4rem,9svh,7rem); display:flex; flex-direction:column; justify-content:center; }
.site-examples > .ontology-explorer { inline-size:100%; }
.site-closing { container-type:inline-size; min-block-size:100svh; display:flex; flex-direction:column; padding-block:clamp(3rem,8svh,7rem) 1rem; }
.closing-row { display:flex; flex:1; align-items:center; padding-block:3rem; }
.closing-row h2 { inline-size:100%; margin:0; font-weight:400; }
.story-cta { display:grid; grid-template-columns:minmax(0,1fr) .72em; align-items:start; gap:.2em; inline-size:100%; color:var(--ink); font-size:clamp(6rem,24cqw,21rem); line-height:.88; letter-spacing:-.04em; text-decoration:none; }
.cta-label { display:block; }
.cta-arrow { display:block; inline-size:100%; block-size:auto; margin-block-start:.04em; transition:transform 200ms cubic-bezier(.22,1,.36,1); }
html[lang="es"] .story-cta { font-size:clamp(3.5rem,16cqw,14rem); }
html[lang="fr"] .story-cta { font-size:clamp(5rem,21cqw,18rem); }
.models-disclosure { margin-block-start:2rem; }
.models-disclosure > summary { width:fit-content; min-block-size:48px; padding-block:.75rem; font-size:var(--ae-type-small); color:var(--muted); cursor:pointer; }
.site-closing :is(a,summary):focus-visible { outline:2px solid var(--ink); outline-offset:8px; }
.platform-site .site-footer address, .platform-site .site-footer a, .platform-site .language-switcher { font-size:var(--ae-type-small); }
.platform-site .site-footer { padding-block-start:2rem; }
@media(hover:hover){.story-cta:hover .cta-arrow{transform:translate(6px,-6px)}.models-disclosure > summary:hover{color:var(--ink)}}
@media(max-width:800px){.story-intro{grid-template-columns:1fr;gap:1.5rem}.provider-section .compatibility-logos{grid-template-columns:repeat(8,1.5rem)}}
@media(max-width:639px){
 .site-chapter,.site-examples{padding-block:3.5rem;}.architecture-art{max-inline-size:420px;inline-size:100%;margin:2rem auto;}.architecture-art img{aspect-ratio:2/3;object-fit:contain;}.architecture-labels{display:block;inset:0;}.architecture-labels span{position:absolute;left:50%;transform:translateX(-50%);font-size:.875rem;white-space:nowrap;}.architecture-labels span:nth-child(1){top:0}.architecture-labels span:nth-child(2){top:26%}.architecture-labels span:nth-child(3){top:72%}.architecture-key{flex-direction:column;gap:.75rem;margin-block-start:1rem;}.architecture-key p:last-child{text-align:start;}.provider-section .compatibility-logos{grid-template-columns:repeat(6,1.5rem);row-gap:1.25rem}.site-chapter h2{max-inline-size:24ch}.site-closing{padding-block-start:2rem}.story-cta{grid-template-columns:minmax(0,1fr);gap:.45em;font-size:clamp(5rem,34cqw,13rem)}.cta-arrow{inline-size:.7em;justify-self:end;margin:0}html[lang="es"] .story-cta{font-size:clamp(3rem,22cqw,8rem)}html[lang="fr"] .story-cta{font-size:clamp(4rem,29cqw,11rem)}
}
@media(prefers-reduced-motion:reduce){.cta-arrow{transition:none}.story-cta:hover .cta-arrow{transform:none}}
@media(forced-colors:active){.story-cta{border:2px solid ButtonText}.architecture-art img{opacity:.9}}
@media print{.site-chapter,.site-examples,.site-closing{min-block-size:auto;padding-block:2rem;break-inside:avoid}.provider-section{display:none}.architecture-art{max-inline-size:32rem}.story-cta{font-size:4rem!important}}
