/* Sam's approved violet paper world, with the requested elevation and motion. */
:root{--pointed-shadow-rest:0 4px 8px rgba(30,11,60,.04),0 18px 42px rgba(30,11,60,.10);--pointed-shadow-lift:0 8px 16px rgba(30,11,60,.08),0 28px 58px rgba(76,29,149,.18)}
.button,.primary,.secondary{position:relative;isolation:isolate;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s ease,background .2s ease}
.button,.primary{box-shadow:0 3px 5px rgba(30,11,60,.09),0 10px 24px rgba(76,29,149,.22)}
.button--secondary,.secondary{box-shadow:0 3px 6px rgba(30,11,60,.04),0 9px 20px rgba(30,11,60,.08)}
.button>span,.primary>span,.secondary>span{display:inline-block;transition:transform .25s ease}
.build-option,.ongoing-plan,.guide-card,.scope-panel{box-shadow:var(--pointed-shadow-rest);transition:box-shadow .3s ease,border-color .3s ease}
.pointed-illustrated-hero{overflow:hidden}
.pointed-illustrated-hero::after{display:none}
.pointed-illustrated-hero .wrap{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(16rem,.75fr);gap:clamp(1.5rem,5vw,5rem);align-items:center}
.illustration-hero-copy{min-width:0}
.illustration-hero-copy .display{font-size:clamp(2.5rem,5.1vw,4.75rem);line-height:1.18;max-width:17ch;letter-spacing:0}
.paper-hero-art{position:relative;min-width:0;width:100%;aspect-ratio:1;display:grid;place-items:center}
.paper-hero-art>img{width:100%;height:auto;display:block;filter:drop-shadow(0 22px 20px rgba(30,11,60,.15))}
[data-paper-art] img{animation:pointed-paper-float 7s cubic-bezier(.45,0,.55,1) infinite;animation-play-state:paused;transform-origin:50% 70%}
[data-paper-art].paper-in-view img{animation-play-state:running}
.paper-feature{display:block;width:8.5rem;height:8.5rem;object-fit:contain;margin:0 0 1rem;filter:drop-shadow(0 9px 8px rgba(30,11,60,.13));transition:transform .35s ease}
.paper-section-accent{width:11rem;height:11rem;object-fit:contain;filter:drop-shadow(0 12px 10px rgba(30,11,60,.12));float:right;margin:0 0 1rem 1rem}
.site-footer a,.prose a:not(.button){text-underline-offset:.2em;text-decoration-thickness:1px;transition:text-decoration-color .2s ease}
@keyframes pointed-paper-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}
@media(hover:hover) and (pointer:fine){
 .button:hover,.primary:hover,.secondary:hover{transform:translateY(-3px);box-shadow:var(--pointed-shadow-lift)}
 .button:hover>span,.primary:hover>span,.secondary:hover>span{transform:translateX(4px)}
 .button:active,.primary:active,.secondary:active{transform:translateY(0);box-shadow:0 3px 8px rgba(30,11,60,.16)}
 .build-option:hover,.ongoing-plan:hover,.guide-card:hover,.scope-panel:hover{box-shadow:var(--pointed-shadow-lift)}
 .build-option:hover .paper-feature,.guide-card:hover .paper-feature{transform:translateY(-5px) rotate(2deg)}
 .site-footer a:hover,.prose a:not(.button):hover{text-decoration-thickness:2px}
}
@media(max-width:760px){.pointed-illustrated-hero .wrap{grid-template-columns:1fr;gap:1rem}.illustration-hero-copy .display{font-size:clamp(2.15rem,9vw,3.2rem);max-width:17ch}.paper-hero-art{width:min(72%,18rem);justify-self:end;margin-top:-.5rem;aspect-ratio:1}.paper-feature{width:7rem;height:7rem}.paper-section-accent{width:7.5rem;height:7.5rem}}
@media(prefers-reduced-motion:reduce){[data-paper-art] img{animation:none!important}.button,.primary,.secondary,.button>span,.primary>span,.secondary>span,.paper-feature,.build-option,.ongoing-plan,.guide-card,.scope-panel{transition:none!important;transform:none!important}}
@media(max-width:760px){.prose>.display{font-size:clamp(1.68rem,7vw,2.4rem);line-height:1.25}}

/* Mobile reading rhythm: separate sections without stacking desktop-sized gaps. */
@media(max-width:760px){
 main>section:not(.hero):not(.page-hero):not(.trust){padding-block:2.5rem}
 main>section.page-hero{padding-block:3rem}
 .section-intro{gap:1.25rem}
 .home-final-section{padding-bottom:3rem}
 .home-final-cta .actions{margin-top:1.5rem}
 .pointed-illustrated-hero .wrap{gap:.75rem}
 .scope-grid{grid-template-columns:minmax(0,1fr)}
 .scope-panel{min-width:0}
 .scope-panel .display{font-size:clamp(1.68rem,7vw,2.4rem)}
}

/* Long display words must stay within prose headings at every viewport. */
.prose>.display{max-width:18ch;overflow-wrap:anywhere}
