/* Shared usability improvements; individual concept identities remain independent. */
html{scroll-padding-top:100px;overflow-x:clip}body{padding-bottom:64px!important;overflow-x:clip}section{scroll-margin-top:100px}img{max-width:100%}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #9f83ff;outline-offset:5px}button,a{touch-action:manipulation}.demo-skip{position:fixed;top:8px;left:12px;padding:12px 20px;background:#14121a;color:#fff;z-index:10000;transform:translateY(-200%);font:13px system-ui}.demo-skip:focus{transform:none}.demo-toolbar{position:fixed;bottom:0;left:0;right:0;z-index:9000;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px clamp(18px,4vw,60px);background:#15141bf5;color:#f0edf7;border-top:1px solid #ffffff25;box-shadow:0 -6px 35px #0002;font:11px/1.5 system-ui;backdrop-filter:blur(14px)}.demo-toolbar a{min-height:34px;display:inline-flex;align-items:center;white-space:nowrap}.demo-toolbar>span{color:#b9b2c8;font-size:10px}.demo-use{background:#dacbff;color:#21192c;padding:7px 14px;border-radius:6px}.demo-placeholder{display:block;border:0;padding:0;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer;min-height:34px}.footer-col .demo-placeholder{font-size:13px;margin-bottom:6px;opacity:.75}.demo-dialog{position:fixed;inset:0;margin:auto;width:min(480px,calc(100% - 36px));border:1px solid #d9d0e8;border-radius:18px;padding:38px 30px;background:#f8f5ff;color:#201b29;z-index:10001;box-shadow:0 25px 100px #0005;font:15px/1.8 system-ui;max-height:80svh;overflow:auto}.demo-dialog::backdrop{background:#0b0915b8;backdrop-filter:blur(8px)}.demo-dialog h2{font:500 30px/1.2 system-ui!important;color:#201b29!important;letter-spacing:-1px!important;margin:10px 0 18px!important}.demo-dialog p{color:#544b60!important;font:14px/1.8 system-ui!important}.demo-dialog .demo-dialog-kicker{font-size:9px!important;letter-spacing:2px}.demo-dialog>a{display:inline-block;margin-top:24px;padding:12px 18px;background:#2f214e;color:white;border-radius:8px;font-size:12px}.demo-dialog-close{position:absolute;right:15px;top:10px;width:36px;height:36px;border:0;background:transparent;font-size:27px;cursor:pointer;color:#201b29}.demo-form-note,#reservationStatus{font-size:12px;line-height:1.8;margin-top:20px;color:var(--mid,#bdb1a2)}
/* Content is visible without JavaScript and for motion-sensitive visitors. */
body:not(.demo-motion) .darkroom-overlay{display:none}
body:not(.demo-motion) :is(.hero-headline,.hero-title,.hero-kicker,.hero-sub,.hero-meta,.hero-actions,.hero-chart,.nav,.hero-scroll,.hero-scroll-hint,.spec-img,.res-field,.res-submit,.advisor-media,.hero-chart-fill,.hero-stats-row,.hero-note,.nav-logo,.nav-links){opacity:1!important;clip-path:none!important;transform:none!important;filter:none!important}
body:not(.demo-motion) .hero-headline .line span{transform:none!important}
body:not(.demo-motion) :is(.hero-chart-path,.proj-chart path,.timeline-line){stroke-dashoffset:0!important}
body:not(.demo-motion) :is(.step-dot,.order-column,.order-columns,.aperture-copy .val){opacity:1!important;transform:none!important}
body:not(.demo-motion) :is(.portfolio-track,.how-track,.services-track,.svc-track){display:grid!important;width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr));height:auto!important;gap:24px;transform:none!important}
body:not(.demo-motion) :is(.port-item,.how-card,.service-card,.svc-card){width:100%!important;min-width:0!important;flex-basis:auto!important}
body:not(.demo-motion) .aperture{height:auto!important;min-height:450px}
body:not(.demo-motion) .aperture-sticky{position:relative!important;height:auto!important;min-height:450px;padding:70px 20px}
body:not(.demo-motion) .aperture-copy{opacity:1!important;position:relative;inset:auto;transform:none;max-width:500px}
body:not(.demo-motion) .aperture-canvas-wrap{display:none}
body:not(.demo-motion) .advisor-media{clip-path:none!important}
/* Stillhaus: stronger art direction and a gallery that works with touch. */
body[data-template^="stillhaus"]{--bg:#f5f2eb;--gold:#d4b985;--ink-soft:#686259}
body[data-template^="stillhaus"] .hero{height:100svh;min-height:650px}
body[data-template^="stillhaus"] .hero:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0007,transparent 70%),linear-gradient(0deg,#0008,transparent 70%);z-index:1}
body[data-template^="stillhaus"] .hero-photo{object-position:57% 45%;filter:brightness(.8)}
body[data-template^="stillhaus"] .hero-content{padding-bottom:88px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px}
body[data-template^="stillhaus"] .hero-headline{font-size:clamp(58px,8vw,120px);line-height:.93;letter-spacing:-.045em;grid-column:1}
.stillhaus-hero-link{grid-column:1;display:inline-flex;align-items:center;justify-content:space-between;gap:60px;width:max-content;color:#fff;border-bottom:1px solid #ffffff70;padding:12px 0;font:11px/1.5 'DM Mono',monospace;letter-spacing:.04em}
body[data-template^="stillhaus"] .hero-meta{grid-column:2;grid-row:1/3;align-self:end;text-align:right}
body[data-template^="stillhaus"] .about{padding:110px 0}
body[data-template^="stillhaus"] .about-photo-wrap{border-radius:2px;overflow:hidden}
body[data-template^="stillhaus"] .portfolio-head{padding-top:65px}
body[data-template^="stillhaus"] .portfolio-head h2{font-size:clamp(42px,5vw,72px);letter-spacing:-.04em}
body[data-template^="stillhaus"] .port-item{border-radius:3px;overflow:hidden}
body[data-template^="stillhaus"] .port-item img{width:100%;height:100%;object-fit:cover}
body[data-template^="stillhaus"] .port-caption{opacity:1!important;background:linear-gradient(transparent,#000c);padding:50px 22px 20px}
body[data-template^="stillhaus"] :is(.specialties,.process){padding:100px 0}
body[data-template^="stillhaus"] .spec-card{border-radius:3px}
body[data-template^="stillhaus"] .cta-btn,body[data-template^="stillhaus"] .cta-btn-ghost{display:inline-flex;min-height:48px;align-items:center;justify-content:center}
body[data-template="flowdesk"] .price-card{border-radius:18px;box-shadow:0 18px 60px #21273408;transition:box-shadow .3s,border-color .3s}
body[data-template="flowdesk"] .price-card:hover{box-shadow:0 24px 60px #21273415}
body[data-template="flowdesk"] .hero{overflow:hidden}
body[data-template="solano"] :is(.nav,.hero-kicker,.hero-title,.hero-sub){text-wrap:balance}
body[data-template="solano"] input,body[data-template="solano"] select,body[data-template="solano"] textarea{font-size:16px;min-height:48px}
body[data-template="fathom-finance"] .proj-tool{border-radius:20px;box-shadow:0 20px 70px #20291e0c}
@media(max-width:999px){.demo-toolbar>span{display:none}.demo-toolbar{padding:10px 18px;font-size:10px}body{padding-bottom:60px!important}.nav{padding-left:20px!important;padding-right:20px!important;gap:12px}.nav-links{gap:16px!important}.hero{height:auto!important;min-height:100svh!important;padding-top:120px;padding-bottom:80px}body[data-template^="stillhaus"] .hero{padding:0;min-height:700px!important;height:100svh!important}body[data-template^="stillhaus"] .hero-content{padding:130px 22px 90px;display:block}body[data-template^="stillhaus"] .hero-headline{font-size:clamp(56px,10vw,90px)}body[data-template^="stillhaus"] .hero-meta{text-align:left;margin-top:25px}.stillhaus-hero-link{margin-top:24px}body[data-template^="stillhaus"] .hero-photo{object-position:28% center}body[data-template^="stillhaus"] .about{padding:70px 0}body[data-template^="stillhaus"] .portfolio-head p{text-align:left}body[data-template^="stillhaus"] .specialties,body[data-template^="stillhaus"] .process{padding:70px 0}.stats-grid,.svc-grid,.pricing-grid{min-width:0}.stat-block{padding:30px 15px!important}.hero h1{overflow-wrap:normal}.timeline-step .step-node{display:none}.hero-sub{max-width:100%}.portfolio-track-wrap{padding:0 22px}.portfolio-head{padding-left:22px!important;padding-right:22px!important}}
@media(max-width:650px){body:not(.demo-motion) :is(.portfolio-track,.how-track,.services-track,.svc-track){grid-template-columns:1fr!important;padding:0!important}.port-item{aspect-ratio:4/5!important;min-height:0!important}.demo-toolbar .demo-use{padding:7px 10px}.nav-links a:not(:last-child){display:none!important}.nav a,.nav button{min-height:40px}.nav-logo{font-size:20px!important}body[data-template^="stillhaus"] .hero-headline{font-size:clamp(49px,13vw,75px)}body[data-template="solano"] .hero-title{font-size:clamp(64px,19vw,100px)!important}.about-grid,.footer-grid,.res-grid{grid-template-columns:1fr!important}.hero-actions{flex-wrap:wrap}.stats-grid{grid-template-columns:1fr 1fr!important}.stat-block .num{font-size:42px!important}.about-photo-wrap{max-height:480px}.demo-dialog{padding:34px 24px}}
body[data-template^="stillhaus"] .darkroom-overlay{opacity:.35;pointer-events:none}
body:not(.demo-motion) .menu-track{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-bottom:60px}
body:not(.demo-motion) .dish-card{width:100%;min-width:0}
body:not(.demo-motion) .ambience-stack{height:auto;max-height:none;display:grid;gap:18px;padding:0 var(--pad) 60px}
body:not(.demo-motion) .ambi-card{position:relative;height:auto;aspect-ratio:4/3}
body:not(.demo-motion) .how-track-wrap{height:auto!important;padding-bottom:60px}
body:not(.demo-motion) .ledger-card{width:100%!important;min-width:0;height:auto;min-height:340px;padding:30px 24px;margin-left:0!important}
body:not(.demo-motion) .signature-stage{height:auto;padding:0 20px}
body:not(.demo-motion) .chaos-item{display:none}
body:not(.demo-motion) .order-columns{position:relative;inset:auto;grid-template-columns:1fr;height:auto}
body:not(.demo-motion) .story-left{height:auto;min-height:0}
@media(max-width:650px){body:not(.demo-motion) .menu-track{grid-template-columns:1fr}.how-track{padding:0 22px!important}.services-track{padding:0 22px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.darkroom-overlay{display:none!important}canvas{display:none!important}}

