/* Presentation presets use fixed tokens; administrator input never becomes CSS. */
body[data-theme="sage"]{--studio-hero:#f6f7f4;--studio-stats:#eaf0e8;--studio-network:#f3f6f0;--studio-about:#eff3f0;--studio-contact:#173b3d}
body[data-theme="mist"]{--studio-hero:#eef5f7;--studio-stats:#e4eef2;--studio-network:#eaf3f5;--studio-about:#e6eff2;--studio-contact:#173846}
body[data-theme="ivory"]{--studio-hero:#fbf7ef;--studio-stats:#f3ecdc;--studio-network:#f8f1e5;--studio-about:#f4ecde;--studio-contact:#3a4038}
body:not(.admin-page) .hero{background:var(--studio-hero)}
body:not(.admin-page) .showcase-stats{background:var(--studio-stats)}
body:not(.admin-page) .network-section{background:var(--studio-network)}
body:not(.admin-page) .about-section{background:var(--studio-about)}
body:not(.admin-page) .contact-section{background:var(--studio-contact)}
body[data-theme="mist"] .hero:before,body[data-theme="ivory"] .hero:before{content:"";position:absolute;inset:-15% auto auto -13%;width:60vw;height:60vw;max-width:850px;max-height:850px;border-radius:50%;pointer-events:none;opacity:.42;background:radial-gradient(circle,#d3e9e4 0,transparent 68%)}
body[data-theme="ivory"] .hero:before{background:radial-gradient(circle,#f1dab9 0,transparent 68%)}
.hero-grid,.hero-baseline{position:relative;z-index:1}
body[data-motion="calm"]{--studio-speed:.7;--studio-offset:12px}
body[data-motion="balanced"]{--studio-speed:1;--studio-offset:28px}
body[data-motion="expressive"]{--studio-speed:1.25;--studio-offset:36px}
body:not([data-motion="off"]):not(.admin-page) .hero-copy .eyebrow{animation:studio-entrance calc(.8s * var(--studio-speed,1)) .08s both}
body:not([data-motion="off"]):not(.admin-page) .hero-topic{animation:studio-entrance calc(.85s * var(--studio-speed,1)) .22s both}
body:not([data-motion="off"]):not(.admin-page) .hero h1{animation:studio-entrance calc(1.05s * var(--studio-speed,1)) .35s both}
body:not([data-motion="off"]):not(.admin-page) .hero h1.title-built{animation:none}
body:not([data-motion="off"]):not(.admin-page) .hero-copy>p{animation:studio-entrance calc(1s * var(--studio-speed,1)) .72s both}
body:not([data-motion="off"]):not(.admin-page) .hero-actions{animation:studio-entrance calc(1s * var(--studio-speed,1)) .94s both}
body:not([data-motion="off"]):not(.admin-page) .hero-footnote{animation:studio-entrance calc(.9s * var(--studio-speed,1)) 1.17s both}
body:not([data-motion="off"]):not(.admin-page) .hero-art{animation:studio-art calc(1.55s * var(--studio-speed,1)) .17s both}
body:not([data-motion="off"]):not(.admin-page) .hero-art img{animation:photo-settle calc(3.2s * var(--studio-speed,1)) ease-out both}
.hero-title-line{display:block;white-space:nowrap}
.hero-title-char{display:inline-block;opacity:0;animation:studio-letter 1.25s cubic-bezier(.19,1,.22,1) both;animation-delay:var(--char-delay,350ms);will-change:transform,opacity,filter}
.hero-title-char.is-space{width:.26em}
body[data-motion="calm"] .hero-title-char{animation-duration:.7s}
body[data-motion="expressive"] .hero-title-char{animation-duration:1.5s}
body:not([data-motion="off"]):not(.admin-page) .motion-pending{opacity:0;transform:translateY(26px);filter:blur(5px)}
body:not([data-motion="off"]):not(.admin-page) .motion-enter{animation:studio-entrance calc(.95s * var(--studio-speed,1)) cubic-bezier(.19,1,.22,1) var(--reveal-delay,0ms) both}
@keyframes studio-entrance{from{opacity:0;transform:translateY(var(--studio-offset,28px));filter:blur(7px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes studio-letter{from{opacity:0;transform:translate3d(0,.62em,0) rotateX(-24deg);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes studio-art{from{opacity:.35;transform:translate3d(30px,18px,0) scale(.965);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}
body[data-motion="off"] .hero-particles{display:none}
body[data-motion="off"] :is(.hero-copy .eyebrow,.hero-topic,.hero h1,.hero-copy>p,.hero-actions,.hero-art,.hero-art img,.hero-footnote,.media-center,.motion-enter){animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
body[data-motion="off"] .motion-pending{opacity:1!important;transform:none!important;filter:none!important}
.studio-intro{background:linear-gradient(115deg,#112d36,#1b4c50);color:#fff;position:relative;overflow:hidden;padding:37px 42px}
.studio-intro:after{content:"";position:absolute;right:-90px;top:-120px;width:360px;height:360px;border:1px solid #ffffff36;border-radius:50%;box-shadow:0 0 0 55px #ffffff08,0 0 0 110px #ffffff08}
.studio-intro>span{font-size:10px;color:#9bc9bd;letter-spacing:.22em}
.studio-intro h2{font-size:26px;font-weight:550;margin:12px 0 8px}
.studio-intro p{font-size:12px;line-height:1.8;color:#b6ceca;max-width:540px}
.studio-add{padding:0 0 17px;border-bottom:1px solid #e3ebe8}
.studio-add summary{cursor:pointer;list-style:none;color:#246d68;font-size:13px;font-weight:650;background:#f0f7f2;border:1px dashed #bdd5ca;border-radius:10px;padding:17px 21px}
.studio-add summary::-webkit-details-marker{display:none}
.studio-add[open] summary{margin-bottom:23px}
.studio-row summary{gap:14px}
.studio-row summary>span:nth-child(2){flex:1}
.studio-row summary b{margin-left:12px}
.studio-row textarea{min-height:185px}
.studio-pagination{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 28px}.studio-pagination>div{display:flex;align-items:center;gap:15px;background:#e9f1ed;border:1px solid #d5e4dd;border-radius:10px;padding:16px 20px;font-size:12px}.studio-pagination strong{font-weight:650;color:#284f4c}.studio-pagination a{color:#28756d;border-bottom:1px solid #9fc8ba;padding-bottom:3px}
@media(max-width:760px){.studio-intro{padding:30px 25px}.studio-intro:after{right:-210px}.studio-row summary b{font-size:10px}}
@media(max-width:600px){.hero-title-line{white-space:normal}.hero-title-char{will-change:auto}}
@media(prefers-reduced-motion:reduce){.hero-title-char{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}.motion-pending{opacity:1!important;transform:none!important;filter:none!important}}
