/* Intentional identities; shared interaction geometry, not shared page templates. */
:root{--motion:cubic-bezier(.2,.7,.2,1)}
body{overflow-wrap:break-word}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}input,select,textarea{font-size:16px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #4169bd;outline-offset:5px}dialog{max-height:92dvh;overscroll-behavior:contain}.dialog-top{position:sticky;top:0;z-index:3;background:var(--paper);padding:16px 24px}.dialog-body>img{max-height:480px;width:100%;object-fit:cover}.dialog-body .split>img{object-fit:contain}.nav a:not(.brand){min-height:44px;display:inline-flex;align-items:center}.project-nav{gap:20px;flex-wrap:wrap}
.product-landing{--accent:#bd472e;--paper:#f6f4ee}.audio-heading{grid-template-columns:1.1fr 1fr;align-items:center;gap:8vw}.audio-heading h1{font-weight:500;font-size:clamp(48px,6.3vw,92px)}.audio-photo{height:min(62vw,660px);border-radius:2px}.audio-word{font-size:clamp(64px,10vw,150px);bottom:20px;left:28px;letter-spacing:-.07em}.audio-caption{top:24px;bottom:auto;right:24px}.audio-spec-strip{gap:12px}.audio-spec-strip strong{font-size:clamp(24px,3.5vw,42px)}.audio-modes{background:#292a27}.sound-stage{background:#353730}.sound-bars i{animation-iteration-count:3}.kit-editorial{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:start}.kit-editorial h2{margin:18px 0 28px}.kit-comparison{display:grid;grid-template-columns:1fr 1fr;gap:28px}.kit-comparison article{padding:26px 0;border-top:1px solid #aeb1a6}.kit-comparison p{margin:18px 0}.kit-comparison ul{padding-left:18px;line-height:2;margin:20px 0}.kit-comparison strong{font-size:24px;display:block;margin:24px 0}.audio-config .copy>img{height:390px;border-radius:2px}.audio-config form{border:1px solid #dedfd8;box-shadow:none}.audio-ending{background:#343930}.audio-ending .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:20px 50px}.audio-ending h2{flex:1;margin:0;font-size:clamp(44px,6vw,80px)}.audio-ending p{width:100%;font-size:15px}
.studio{--paper:#f1f0eb;--ink:#343a34}.studio .monument{font-weight:400;letter-spacing:-.075em;font-size:clamp(90px,20.8vw,310px);margin:10px 0 25px}.forma-opening .statement{padding:0 0 30px}.studio .hero-image{border-radius:0;height:min(58vw,700px)}.studio #trabajos .grid2{grid-template-columns:1.25fr .85fr;align-items:start;gap:6vw}.studio #trabajos .project:nth-child(2){margin-top:130px}.studio .project img{border-radius:0;height:auto;aspect-ratio:4/5;object-fit:cover}.studio .project-caption{display:block;padding-top:20px}.studio .project-caption span{display:block;margin-top:12px;font-size:13px;color:#697067}.studio-services{background:#dfe2d7;color:#343a34}.studio-services p{color:#50584f}.studio .service-line{padding-block:34px}.studio-team{background:#ede9e0}.case-study-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;margin-top:32px}.case-note{padding:28px;background:#e7e7dd}.case-note p{margin-top:18px}.material-list{padding-left:18px;line-height:1.9;margin-top:16px}.studio .project-meta{padding:22px 0;border-bottom:1px solid #d0d2c7}
.catalog{--accent:#2759b5}.catalog-filter-toggle{display:none}.catalog .vehicle{border-radius:4px;background:#edf0f1;padding:26px}.catalog .vehicle>img{height:210px;object-fit:contain}.catalog .vehicle .actions{flex-wrap:wrap}.catalog .vehicle h3{font-weight:600}.catalog .filters{background:#fff;padding:24px;align-self:start;border-radius:4px}.catalog .compare-bar{position:sticky;bottom:16px;z-index:2;background:#263443;color:white;padding:18px 22px;box-shadow:0 8px 26px #15283b18}.catalog-specs>div{border-radius:4px}.comparison-scroll{overflow-x:auto;max-width:100%;margin-top:25px}.compare-table{min-width:540px;width:100%;table-layout:fixed}.compare-table td,.compare-table th{white-space:normal;vertical-align:top}.catalog-hero .btn{margin-top:8px}.catalog-editorial{background:#dce3e7}
.booking{--paper:#f6f4ed;--ink:#333e32}.booking-hero{min-height:660px}.booking-hero h1{font-weight:400;letter-spacing:-.06em;font-size:clamp(60px,8vw,112px)}.booking-hero .wrap{padding-block:110px}.booking .booking-form{border-radius:6px;box-shadow:0 10px 45px #25382712;background:#fff}.booking-calendar{align-items:start}.calendar-box{border:1px solid #d4d9cc;box-shadow:none}.calendar-days button{min-width:0;min-height:44px}.booking .room-card{display:flex;flex-direction:column;align-items:start}.booking .room-card>img{width:100%;height:330px;object-fit:cover;border-radius:2px}.booking .room-card h3{font-size:28px;margin:22px 0 12px}.booking .room-card p{margin-bottom:15px}.booking .room-bottom{margin-top:auto;width:100%;gap:15px}.room-comparison-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:38px;padding-top:25px;border-top:1px solid #c8cebf}.room-compare{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:28px 0}.room-compare img{aspect-ratio:4/3;object-fit:cover;width:100%}.room-compare h3{font-size:24px;margin:20px 0}.room-compare dl>div{padding:12px 0;border-bottom:1px solid #d2d8cb}.room-compare dt{font-size:12px;color:#65705f}.room-compare dd{margin:5px 0 0}.room-compare p{font-size:14px;margin-top:18px}.reservation-extras label{min-height:52px}.booking-experiences .grid3{gap:30px}
@media(max-width:950px){.audio-heading,.kit-editorial{grid-template-columns:1fr;gap:28px}.audio-heading>div{max-width:520px}.studio #trabajos .project:nth-child(2){margin-top:70px}.booking .room-card>img{height:250px}.room-compare{grid-template-columns:1fr}.room-compare article{display:grid;grid-template-columns:.8fr 1fr;gap:0 20px}.room-compare img{grid-row:1/5}.case-study-grid{grid-template-columns:1fr}}
@media(max-width:700px){.nav{padding-block:18px}.nav nav{width:100%;gap:6px 16px}.nav .btn{padding:10px 14px}.demo-note{gap:12px;line-height:1.5}.demo-note a{flex-shrink:0}.audio-photo{height:400px}.audio-heading h1{font-size:clamp(42px,10vw,54px)}.audio-word{font-size:65px;left:16px}.audio-caption{font-size:11px;top:15px;right:15px}.kit-comparison{gap:18px}.kit-comparison h3{font-size:24px}.kit-comparison p,.kit-comparison li{font-size:14px}.audio-config .copy>img{height:270px}.studio .hero-image{height:400px}.studio #trabajos .grid2{grid-template-columns:1fr;gap:40px}.studio #trabajos .project:nth-child(2){margin:0}.studio .project img{aspect-ratio:5/4}.studio .statement{display:block}.studio .statement p+p{margin-top:20px}.catalog-filter-toggle{display:block;margin-bottom:18px;width:100%;min-height:48px}.catalog #catalog-filters{display:none}.catalog #catalog-filters.is-open{display:grid}.catalog .compare-bar{bottom:8px;font-size:12px;padding:14px;gap:12px}.catalog .compare-bar .btn{padding:12px}.catalog .vehicle{padding:20px}.catalog .vehicle>img{height:190px}.booking-hero{min-height:560px}.booking-hero .wrap{padding-block:80px}.booking-hero h1{font-size:64px}.booking .room-card>img{height:300px}.calendar-box{padding:14px}.calendar-days{gap:2px}.calendar-days button{min-height:40px}.room-comparison-bar{align-items:start;flex-direction:column}.room-compare article{display:block}.room-compare img{max-height:240px}.booking-progress{flex-wrap:wrap}.dialog-body{padding:22px}.dialog-body h2{font-size:30px}.dialog-top{padding:14px 20px}.project-meta{gap:15px}.project-meta strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.gallery-controls{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.gallery-controls button{min-height:44px;font-size:12px}.gallery-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.room-gallery>img{object-fit:cover!important;height:340px!important}.room-compare img{height:auto!important}.save{min-width:44px;min-height:44px}
.booking-form>*{min-width:0}.booking-form input{min-width:0;max-width:100%}@media(max-width:430px){.booking-form{grid-template-columns:minmax(0,1fr);padding:22px}.booking-form .form-result{grid-column:1}.calendar-box{padding:10px}.calendar-days button{min-height:40px}}
@media(hover:none){.btn:hover{transform:none;background:var(--ink);color:var(--paper)}.btn.light:hover{background:var(--paper);color:var(--ink)}}
