/* O Studio quality pass: preserve the visual identity, clarify the offer and controls. */
:root{--copy-quiet:#58677c}
h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}
.intro>p{max-width:43ch;color:#42516a}.scene-caption,.sculpture-caption{display:none}
.section-pad{scroll-margin-top:100px}.service-list p,.faq-items details p,.process-grid p{color:#42516a}
.service-list .service-example figcaption{color:#42516a}
.management-demo{background:#f5f7fb;border-block:1px solid #d5dce8}
.management-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:40px}
.management-intro h2{font-size:clamp(40px,4.7vw,66px);letter-spacing:-.035em}.management-intro h2 span{color:#2554ee}
.management-intro p{font-size:17px;color:#42516a;max-width:45ch}.management-intro .demo-disclosure{font-size:13px;color:#536174;margin-top:14px}
.management-shell{background:#fff;border:1px solid #cbd4e3;border-radius:16px;overflow:hidden;min-width:0}
.management-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 24px;border-bottom:1px solid #d5dce8;flex-wrap:wrap}
.management-brand{font-weight:600;font-size:14px;color:#243551}.management-brand>span{color:#718099;margin-inline:10px}
.management-tabs{display:flex;gap:4px;flex-wrap:wrap}.management-tabs button{background:transparent;color:#42516a;border-radius:6px;padding:10px 18px;min-height:44px;font-size:14px;border:1px solid transparent}
.management-tabs button[aria-selected=true]{background:#edf2ff;color:#1744d0;border-color:#cedaff}
.management-shell [role=tabpanel]{padding:28px}
.demo-view-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;flex-wrap:wrap}.demo-view-heading h3,.demo-editor h3{font-size:24px;font-weight:500;letter-spacing:-.025em}.demo-view-heading p,.demo-editor p{font-size:14px;color:#536174;margin-top:5px}
.demo-days{display:flex;gap:6px;flex-wrap:wrap}.demo-days button{min-height:44px;min-width:56px;padding:8px 13px;background:#f5f7fb;color:#42516a;border-radius:6px;border:1px solid #d5dce8;font-size:14px}.demo-days button[aria-pressed=true]{background:#142038;color:#fff;border-color:#142038}
.demo-appointment{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:20px;padding:18px 0;border-top:1px solid #d5dce8}
.demo-appointment time{font-size:18px;font-variant-numeric:tabular-nums;direction:ltr;color:#243551}.demo-appointment strong{font-size:15px;display:block;font-weight:500}.demo-appointment div>span{font-size:13px;color:#536174;display:block;margin-top:4px}
.demo-arrival{min-height:44px;padding:9px 16px;background:#fff;color:#1744d0;border:1px solid #bbc9e7;border-radius:6px;font-size:14px}.demo-arrival[aria-pressed=true]{color:#116544;background:#eaf7f0;border-color:#8dc5ac}
.demo-feedback{font-size:13px;min-height:24px;margin-top:18px;color:#42516a}
.demo-editor{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.demo-editor label{display:block;font-size:14px;margin-top:22px;margin-bottom:8px}.demo-editor input{display:block;width:100%;min-height:48px;background:#fff;color:#142038;border:1px solid #b7c5da;border-radius:6px;padding:10px 12px;font-size:16px}.demo-publish{min-height:44px;padding:10px 18px;background:#2554ee;color:#fff;border-radius:6px;margin-top:14px;font-size:14px}
.demo-site-preview{background:#edf2fb;min-height:240px;padding:32px;text-align:center;display:flex;flex-direction:column;justify-content:center;overflow-wrap:anywhere;border-radius:12px}.demo-site-preview>span{font-size:13px;color:#536174}.demo-site-preview h3{font-size:30px;line-height:1.25;margin-top:24px;color:#142038}.demo-site-preview p{font-size:14px}.demo-preview-rule{width:50px;height:2px;background:#2554ee;align-self:center;margin:24px 0 12px}.management-cta{display:inline-flex;gap:14px;align-items:center;margin-top:24px;min-height:44px}
.management-shell button{transition:background 160ms ease,color 160ms ease,border-color 160ms ease}.management-shell button:active{scale:.98}.management-shell button:focus-visible,.management-shell input:focus-visible{outline:2px solid #2554ee;outline-offset:4px}.management-shell button:disabled{opacity:.55;cursor:default}
@media(hover:hover) and (pointer:fine){.management-tabs button:hover{background:#edf2ff}.demo-arrival:hover{background:#edf2ff}.demo-days button:hover{border-color:#2554ee}}
@media(max-width:650px){.management-intro{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.management-intro p{font-size:16px}.management-intro .demo-disclosure{font-size:13px}.management-toolbar{padding:16px;gap:14px}.management-shell [role=tabpanel]{padding:20px 16px}.management-tabs{width:100%}.management-tabs button{flex:1;padding:10px}.demo-view-heading h3,.demo-editor h3{font-size:22px}.demo-view-heading p,.demo-editor p{font-size:15px}.demo-editor{grid-template-columns:1fr;gap:28px}.demo-appointment{grid-template-columns:55px minmax(0,1fr);gap:14px}.demo-arrival{grid-column:2;justify-self:start}.demo-appointment time{align-self:start;padding-top:3px}.demo-feedback{font-size:14px}.demo-site-preview{padding:28px 20px}.intro-actions{flex-wrap:wrap}.email-link{overflow-wrap:anywhere}.form-row{grid-template-columns:1fr}.service-list p,.faq-items details p,.process-grid p{font-size:16px}.service-list h3{font-size:24px;line-height:1.35}}
/* Enlarged text uses a readable document layout instead of fixed gallery choreography. */
html.text-enlarged .story{height:auto!important}html.text-enlarged .world{position:relative;height:auto!important;min-height:0;overflow:visible;opacity:1!important;perspective:none}
html.text-enlarged .intro{position:relative;inset:auto;width:auto;max-width:1100px;padding:150px 7% 56px;transform:none!important;translate:none!important;visibility:visible!important;opacity:1!important}
html.text-enlarged .hero-line{overflow:visible}html.text-enlarged .intro-actions{flex-wrap:wrap}
html.text-enlarged .gallery-heading{position:relative;inset:auto;padding:0 7% 28px;opacity:1!important}
html.text-enlarged .deck{position:relative;inset:auto;display:grid;gap:28px;padding:0 7% 60px;perspective:none;transform-style:flat;pointer-events:auto}
html.text-enlarged .deck .project-card{position:relative;inset:auto;left:auto;top:auto;width:100%;height:560px;min-height:560px;max-height:none;transform:none!important;animation:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
html.text-enlarged .scene-rail,html.text-enlarged .scene-bottom,html.text-enlarged .gallery-aperture,html.text-enlarged .project-light,html.text-enlarged .world-shade,html.text-enlarged .global-scene,html.text-enlarged .story-progress{display:none}
html.text-enlarged .depth-plane{transform:none!important;opacity:1!important}html.text-enlarged .service-list>a{animation:none!important;transform:none!important}
html.text-enlarged .form-row,html.text-enlarged .management-intro,html.text-enlarged .demo-editor{grid-template-columns:1fr}
html.text-enlarged .site-header{position:relative;gap:14px;flex-wrap:wrap;background:#fff}html.text-enlarged .motion-toggle{position:static}
@media(max-width:650px){html.text-enlarged .intro{padding-top:40px}html.text-enlarged .deck .project-card{height:540px;min-height:540px}html.text-enlarged .demo-appointment{grid-template-columns:1fr}html.text-enlarged .demo-arrival{grid-column:1}html.text-enlarged .brand .o-wordmark{width:110px}}
/* A single coherent high contrast palette, including nested component surfaces. */
html.hc{--bg:#000;--ink:#fff;--muted:#fff;--line:#fff;--copy-secondary:#fff;--copy-quiet:#fff;--lime:#ffec60;--purple:#ffec60;color-scheme:dark}
html.hc body,html.hc .global-scene,html.hc .world,html.hc .studio,html.hc .maker,html.hc .process,html.hc .faq,html.hc .contact,html.hc .management-demo{background:#000!important;color:#fff!important}
html.hc :is(.form-wrap,.service-list>a,.faq-items details,.management-shell,.management-toolbar,.demo-site-preview,.case-topbar,.case-controls,.case-stage,.case-device-frame,.case-actions,.case-navigation,.a11y-panel,.capsule,dialog){background:#111!important;color:#fff!important;border-color:#fff!important;box-shadow:none!important}
html.hc :is(p,span,li,label,h1,h2,h3,h4,summary,strong,b,small,figcaption,time,.a11y-title,.a11y-row){color:#fff!important;-webkit-text-fill-color:currentColor!important}
html.hc :is(a,.primary-link,.submit-btn,.management-cta,.case-actions a){color:#ffec60!important;background:#000!important;border-color:#ffec60!important}
html.hc :is(button,input,select,textarea,.demo-days button,.demo-arrival,.demo-publish){background:#000!important;color:#fff!important;border-color:#fff!important}
html.hc :is(.primary-link,.submit-btn,.case-actions a)>span{color:inherit!important}
html.hc :is(button[aria-pressed=true],button[aria-selected=true]){border-color:#ffec60!important;color:#ffec60!important;outline:1px solid #ffec60;outline-offset:-3px;text-decoration:underline;text-underline-offset:4px}
html.hc .capsule a.contact-nav,html.hc .contact-context{background:#000!important;color:#ffec60!important;border:1px solid #ffec60}
html.hc .o-wordmark{filter:invert(1)}html.hc .management-intro h2 span{color:#ffec60!important}html.hc ::placeholder{color:#dedede!important;opacity:1}
html.hc :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #ffec60!important;outline-offset:4px}
html.hc #form-err{color:#ffec60!important}html.hc .a11y-reset,html.hc .a11y-link{color:#ffec60!important}
@media(prefers-reduced-motion:reduce){.management-shell button{transition:none}}
