/* Tipografia temporária de licença livre — Avenir/Helvetica Neue removidas por licenciamento (ver nota no pacote).
   Jost substitui a Avenir (display/títulos), Archivo substitui a Helvetica Neue (corpo/UI).
   Carregadas via Google Fonts no <head> de cada página. */

/* Sobre nós */
.about-page { background:var(--paper); }
.about-header { color:#fff; }
.about-header .brand { opacity:1; transform:none; pointer-events:auto; }
.about-header .brand img { filter:brightness(0) invert(1); }
.about-header nav .current { color:var(--orange); }
.about-header.scrolled .brand img { filter:none; }
.about-hero { position:relative; min-height:100svh; overflow:hidden; color:#fff; background:#0b2e3d; }
.about-film { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.about-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,22,31,.68),rgba(3,22,31,.06) 63%),linear-gradient(0deg,rgba(3,22,31,.46),transparent 45%); }
.about-film-title { position:absolute; z-index:1; right:4vw; bottom:4vw; margin:0; color:#fff; font-family:var(--font-display); font-size:clamp(5rem,11vw,13rem); font-weight:400; line-height:.68; letter-spacing:-.08em; text-align:right; pointer-events:none; text-shadow:0 3px 24px rgba(0,0,0,.2); }
.about-kicker,.about-hero-claim,.about-hero h1,.film-controls { position:absolute; z-index:1; }
.about-kicker { top:clamp(7rem,14vh,11rem); left:4vw; margin:0; color:var(--orange); font-size:.72rem; letter-spacing:.15em; font-weight:700; text-transform:uppercase; }
.about-hero h1 { left:3.5vw; bottom:clamp(8rem,17vh,12rem); margin:0; font-family:var(--font-display); font-size:clamp(7rem,17vw,19rem); font-weight:400; line-height:.72; letter-spacing:-.09em; }
.about-hero-claim { right:4vw; bottom:clamp(5rem,9vh,7rem); margin:0; font-family:var(--font-display); font-size:clamp(1.8rem,3.6vw,4rem); line-height:.92; letter-spacing:-.055em; text-align:right; }
.film-controls { right:4vw; bottom:1.8rem; display:flex; align-items:center; gap:.7rem; }
.film-toggle { display:grid; place-items:center; width:42px; height:42px; padding:0; border:0; color:#fff; background:transparent; cursor:pointer; }.sound-icon { display:block; width:31px; height:31px; filter:drop-shadow(0 1px 5px rgba(0,0,0,.32)); }
.about-manifesto { padding:clamp(8rem,15vw,16rem) 7vw; display:grid; grid-template-columns:.7fr 2fr 1fr; gap:3vw; }
.about-manifesto h2,.process-intro h2,.about-product h2,.about-principles h2 { margin:1.6rem 0 0; font-family:var(--font-display); font-weight:400; letter-spacing:-.065em; }
.about-manifesto h2 { font-size:clamp(3.3rem,7vw,8.7rem); line-height:.84; }
.about-manifesto h2 i { color:var(--orange); font-style:normal; }
.about-manifesto-copy { align-self:end; color:#657073; font-size:1rem; line-height:1.6; }
.about-years { padding:clamp(4rem,9vw,9rem) 7vw; display:grid; grid-template-columns:1fr 1.25fr; gap:10vw; color:#fff; background:var(--petrol); }
.about-year { display:flex; align-items:center; gap:.18em; margin:0; font-family:var(--font-display); font-size:clamp(3rem,6vw,7rem); line-height:.85; letter-spacing:-.07em; }
.about-year i { width:.9em; height:1px; margin-top:.12em; background:currentColor; }
.about-year strong { color:var(--orange); font:inherit; }
.about-year-detail { margin:1rem 0 0; color:var(--orange); font-size:.77rem; letter-spacing:.1em; text-transform:uppercase; }
.about-years>p { max-width:690px; margin:0; align-self:end; font-size:clamp(1.25rem,2vw,2rem); line-height:1.22; letter-spacing:-.035em; }
.about-processes { min-height:90svh; padding:clamp(6rem,9vw,10rem) 4vw; display:grid; grid-template-columns:minmax(360px,.72fr) minmax(0,1.28fr); gap:5vw; align-items:center; background:#eceae4; }
.process-intro { width:min(100%,900px); margin:0 0 0 3vw; }
.process-intro h2 { font-size:clamp(4rem,10vw,12rem); line-height:.76; }
.process-intro h2 span { color:var(--orange); }
.process-intro>p:last-child { max-width:410px; margin:2.6rem 0 0; color:#616a6c; line-height:1.55; }
.process-journey { width:min(100%,1320px); margin:0 auto; }
.process-card { min-height:62vh; display:grid; grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr); gap:8vw; align-items:center; padding:5rem 0; border-top:1px solid rgba(11,46,61,.18); opacity:.42; transition:opacity .45s ease; }
.process-card.is-active { opacity:1; }
.process-card:nth-child(even) { grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr); }
.process-card:nth-child(even)>div { order:2; }
.process-card span { color:var(--orange); font-size:.76rem; letter-spacing:.12em; }
.process-card h3 { margin:1rem 0; font-family:var(--font-display); font-size:clamp(2.5rem,5vw,6rem); line-height:.86; font-weight:400; letter-spacing:-.065em; }
.process-card p { max-width:260px; margin:0; color:#657073; line-height:1.5; }
.process-card img { aspect-ratio:1.4; object-fit:cover; filter:saturate(.86); }
.process-note { width:min(100%,1320px); margin:1rem auto 0; color:var(--orange); font-size:.75rem; letter-spacing:.11em; text-transform:uppercase; }
.process-teaser-open { position:relative; width:100%; padding:0; overflow:hidden; border:0; color:#fff; background:#0b2e3d; cursor:pointer; text-align:left; box-shadow:0 28px 70px rgba(11,46,61,.14); }
.process-teaser { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; transition:transform 1.3s cubic-bezier(.16,1,.3,1),filter .55s ease; }
.process-teaser-open::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(3,22,31,.72)); transition:background .45s ease; }
.process-teaser-open:hover .process-teaser,.process-teaser-open:focus-visible .process-teaser { transform:scale(1.018); filter:saturate(1.08); }
.process-teaser-action { position:absolute; z-index:2; left:clamp(1rem,2.2vw,2rem); right:clamp(1rem,2.2vw,2rem); bottom:clamp(1rem,2.2vw,2rem); display:grid; grid-template-columns:1fr auto; align-items:end; gap:.25rem 1rem; }
.process-teaser-action b { font-size:.72rem; letter-spacing:.13em; text-transform:uppercase; }
.process-teaser-action em { grid-column:1; font-family:var(--font-display); font-size:clamp(1.5rem,2.4vw,2.7rem); font-style:normal; line-height:.9; letter-spacing:-.04em; }
.process-teaser-action i { grid-column:2; grid-row:1/3; width:52px; height:52px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.7); border-radius:50%; font-size:.9rem; font-style:normal; }
.film-dialog { width:100vw; max-width:none; height:100svh; max-height:none; margin:0; padding:0; border:0; color:#fff; background:#041a23; overflow:hidden; }
.film-dialog::backdrop { background:#041a23; }
.film-dialog-inner,.film-player { position:relative; width:100%; height:100%; }
.film-full { width:100%; height:100%; display:block; object-fit:contain; background:#000; }
.film-dialog-close { position:absolute; z-index:4; top:20px; right:24px; min-height:44px; padding:.65rem 1rem; border:1px solid rgba(255,255,255,.48); color:#fff; background:rgba(4,26,35,.5); backdrop-filter:blur(10px); font:inherit; font-size:.78rem; cursor:pointer; transition:opacity .35s,border-color .25s,color .25s; }
.film-player-controls { position:absolute; z-index:3; left:24px; right:24px; bottom:20px; min-height:60px; padding:.75rem 1rem; display:grid; grid-template-columns:44px auto minmax(100px,1fr) auto minmax(90px,150px) auto; gap:.8rem; align-items:center; background:rgba(4,26,35,.74); backdrop-filter:blur(14px); transition:opacity .35s,transform .35s; }
.film-player.controls-idle .film-player-controls,.film-dialog-inner:has(.film-player.controls-idle) .film-dialog-close { opacity:0; pointer-events:none; transform:translateY(8px); }
.film-player-controls button { min-height:42px; padding:.5rem .7rem; border:0; color:#fff; background:transparent; font:inherit; font-size:.78rem; cursor:pointer; }
.film-player-controls button:hover,.film-player-controls button:focus-visible { color:var(--orange); }
.film-play { font-size:1.05rem!important; }
.film-time { white-space:nowrap; font-size:.72rem; font-variant-numeric:tabular-nums; }
.film-progress,.film-volume { accent-color:var(--orange); cursor:pointer; }
.about-processes .process-intro { min-width:0; max-width:100%; }
.about-processes .process-intro h2 { max-width:100%; font-size:clamp(4rem,6.2vw,7.5rem); line-height:.78; }
.about-processes .process-intro>p:last-child { max-width:360px; }
.about-culture { min-height:100svh; padding:clamp(4rem,7vw,7rem) 6vw; display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.9fr); gap:7vw; align-items:center; background:#fff; }.about-culture>figure { margin:0; overflow:hidden; }.about-culture>figure img { width:100%; aspect-ratio:1.07; object-fit:cover; object-position:54% 50%; }.culture-panel { padding:1rem 0; }.culture-grid { margin-top:2.5rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 3.5rem; }.culture-grid article { padding-top:1rem; border-top:1px solid var(--line); }.culture-number { margin:0; color:var(--orange); font-size:.7rem; letter-spacing:.12em; }.culture-grid h2 { margin:.9rem 0 .65rem; font-family:var(--font-display); font-size:clamp(1.8rem,2.5vw,3rem); font-weight:400; line-height:.9; letter-spacing:-.055em; }.culture-grid p:last-child { margin:0; color:#4f5b5f; font-size:.92rem; line-height:1.48; }
.factory-processes { padding:clamp(6rem,9vw,9rem) 6vw; background:#eceae4; }.factory-heading { width:min(100%,1320px); margin:0 auto clamp(3rem,6vw,6rem); }.factory-heading h2 { margin:1.5rem 0 0; font-family:var(--font-display); font-size:clamp(4rem,8vw,9rem); font-weight:400; line-height:.76; letter-spacing:-.075em; }.factory-heading h2 span { color:var(--orange); }.factory-mosaic { width:min(100%,1320px); margin:0 auto; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:clamp(10px,1.2vw,20px); }.factory-tile { position:relative; grid-column:span 4; min-height:clamp(280px,28vw,420px); overflow:hidden; background:var(--ink); isolation:isolate; }.factory-tile:nth-child(1) { grid-column:span 7; }.factory-tile:nth-child(2) { grid-column:span 5; }.factory-tile img { width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .7s ease; }.factory-tile::after { content:""; position:absolute; inset:30% 0 0; z-index:1; background:linear-gradient(180deg,transparent,rgba(5,27,37,.88)); pointer-events:none; }.factory-tile-copy { position:absolute; z-index:2; left:clamp(1.2rem,2vw,2rem); right:clamp(1.2rem,2vw,2rem); bottom:clamp(1.2rem,2vw,2rem); color:#fff; transform:translateY(2.8rem); transition:transform .65s cubic-bezier(.2,.7,.2,1); }.factory-tile-copy span { color:var(--orange); font-size:.7rem; letter-spacing:.15em; }.factory-tile-copy h3 { max-width:90%; margin:.7rem 0 .55rem; font-family:var(--font-display); font-size:clamp(1.8rem,3vw,3.8rem); font-weight:400; line-height:.87; letter-spacing:-.055em; }.factory-tile-copy p { max-width:360px; margin:0; font-size:.86rem; line-height:1.45; opacity:0; transform:translateY(.7rem); transition:opacity .45s ease .08s,transform .45s ease .08s; }.factory-tile:hover img { transform:scale(1.045); filter:saturate(1.05); }.factory-tile:hover .factory-tile-copy { transform:none; }.factory-tile:hover .factory-tile-copy p { opacity:1; transform:none; }
.factory-responsive-image { display:block; width:100%; height:100%; }
.factory-tile img.factory-montagem-image { object-position:right top; }
.about-cta { min-height:52vh; padding:7vw; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; background:var(--orange); color:#fff; }
.about-cta p { max-width:920px; margin:0 0 2.5rem; font-family:var(--font-display); font-size:clamp(4rem,9vw,11rem); line-height:.78; letter-spacing:-.075em; }
.about-cta a { border-color:#fff; color:#fff; }
.about-cta a:hover { color:var(--orange); background:#fff; }
@media (max-width:800px) { .about-header nav { gap:1rem; }.about-header nav a:nth-child(3) { display:none; }.about-manifesto,.about-years,.about-culture { grid-template-columns:1fr; gap:3rem; }.about-manifesto-copy { max-width:430px; }.about-manifesto { padding-left:6vw; }.about-years>p { font-size:1.3rem; }.about-culture { min-height:auto; }.about-culture>figure img { aspect-ratio:1.25; }.culture-grid { gap:2rem 1rem; }.culture-grid h2 { font-size:2rem; }.culture-grid p:last-child { font-size:.82rem; }.factory-mosaic { display:flex; margin-left:0; width:calc(100vw - 20px); overflow-x:auto; gap:12px; padding:0 20px 1.25rem 0; scroll-snap-type:x mandatory; scrollbar-width:none; }.factory-mosaic::-webkit-scrollbar { display:none; }.factory-tile,.factory-tile:nth-child(n) { flex:0 0:min(82vw,390px); min-height:min(116vw,510px); scroll-snap-align:start; }.factory-tile-copy { transform:none; }.factory-tile-copy p { opacity:1; transform:none; }.film-controls { bottom:1.8rem; left:auto; right:4vw; }.about-hero-claim { font-size:2rem; bottom:7rem; }.about-hero h1 { bottom:13rem; }.about-kicker { top:7rem; } }
:root { --ink:#0b2e3d; --petrol:#17495d; --orange:#f04d23; --paper:#f7f6f2; --white:#fff; --warm:#dcd8cf; --muted:#71787a; --line:rgba(11,46,61,.18); --font-body:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif; --font-display:"Jost",Avenir,"Helvetica Neue",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--font-body); font-weight:400; -webkit-font-smoothing:antialiased; }
button,input,textarea,select { font-family:inherit; }
h1,h2,.nomia-label strong,.ways-list a,.catalog-dialog header strong { font-family:var(--font-display); }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
figure,h1,h2,p { margin-top:0; }
.eyebrow { margin:0; color:var(--orange); font-size:.73rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.site-header { position:fixed; inset:0 0 auto; z-index:30; height:76px; padding:0 2.5vw; display:flex; align-items:center; justify-content:space-between; color:var(--white); border-bottom:0; transition:background .3s,color .3s,height .3s; }
.site-header.scrolled,.site-header.menu-open { height:58px; color:var(--ink); background:rgba(247,246,242,.95); backdrop-filter:blur(18px); border-color:var(--line); }
.brand { position:relative; display:block; width:clamp(120px,8.5vw,154px); height:45px; opacity:0; transform:translateY(-8px); pointer-events:none; transition:opacity .35s ease,transform .45s cubic-bezier(.16,1,.3,1); }
.site-header.scrolled .brand,.site-header.menu-open .brand { opacity:1; transform:none; pointer-events:auto; }
.logo { position:absolute; inset:0; height:100%; object-fit:contain; object-position:left center; }
nav { display:flex; align-items:center; gap:clamp(1rem,2.2vw,2.4rem); font-size:.78rem; }
nav a { position:relative; }
nav a::after,.nav-catalog::after,.nav-contact::after { content:""; position:absolute; left:0; right:100%; bottom:-6px; height:1px; background:currentColor; transition:right .25s; }
nav a:hover::after,nav a:focus-visible::after,.nav-catalog:hover::after,.nav-catalog:focus-visible::after,.nav-contact:hover::after,.nav-contact:focus-visible::after { right:0; }
.nav-catalog,.nav-contact { position:relative; padding:0; border:0; color:inherit; background:transparent; font:inherit; cursor:pointer; }
.nav-contact { color:inherit; }
.pricehub-link { width:clamp(58px,4.5vw,72px); height:18px; display:flex; align-items:center; }
.pricehub-link img { width:100%; height:100%; object-fit:contain; }
.pricehub-link::after { display:none; }
.menu-button { display:none; border:0; background:none; color:inherit; font:inherit; }
.hero { position:relative; min-height:100svh; overflow:hidden; display:grid; place-items:center; color:var(--white); background:#5a554f; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 38%,rgba(0,0,0,.22)); }
.hero-photo { position:absolute; inset:0; height:100%; object-fit:cover; object-position:center bottom; }
.hero-wordmark { position:relative; z-index:1; width:min(78vw,1160px); height:auto; }
.hero>p { position:absolute; z-index:2; left:2.5vw; bottom:2.2rem; margin:0; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; }
.scroll-cue { position:absolute; z-index:2; right:2.5vw; bottom:1.7rem; display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(255,255,255,.55); border-radius:50%; font-size:1.2rem; }
.manifesto { padding:clamp(7rem,12vw,13rem) 6vw; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr); gap:10vw; align-items:end; }
.manifesto h1 { max-width:970px; margin:2rem 0 0; font-size:clamp(3.2rem,7vw,7.5rem); line-height:.91; letter-spacing:-.055em; font-weight:500; }
.manifesto-copy { padding-bottom:.5rem; color:#5f686c; font-size:1.02rem; line-height:1.55; }
.manifesto-copy p { margin-bottom:1.2rem; }
.manifesto-copy strong { display:block; margin-top:2.2rem; color:var(--ink); font-size:.86rem; }
.contexts { padding:0 0 6.5rem; overflow:hidden; touch-action:pan-y; cursor:grab; user-select:none; }
.contexts.dragging { cursor:grabbing; }
.contexts-track { display:flex; width:max-content; gap:1.15vw; will-change:transform; }
.contexts figure { width:clamp(270px,29vw,460px); flex:0 0 auto; margin:0; }
.contexts figure:first-child { margin-left:2.5vw; }
.contexts img { aspect-ratio:1.78; object-fit:cover; filter:saturate(.88); pointer-events:none; }
.contexts figcaption { margin-top:.7rem; color:var(--muted); font-size:.72rem; }
.explore-shell { background:var(--white); }
.explore-intro { position:relative; min-height:78vh; padding:7vw 4vw; display:grid; grid-template-columns:52vw 40vw 0; align-items:center; background:var(--petrol); color:var(--white); overflow:hidden; transition:grid-template-columns 1.7s cubic-bezier(.16,1,.3,1); }
.explore-intro.is-open { grid-template-columns:34vw 36vw 22vw; }
.explore-image { position:relative; width:100%; height:clamp(280px,30vw,450px); margin:0; overflow:hidden; transform:none; }
.explore-image::before { display:none; }
.explore-image img { position:relative; z-index:2; width:auto; max-width:none; height:100%; object-fit:cover; object-position:left center; }
.explore-copy { position:relative; z-index:3; margin-left:1.5vw; transition:margin 1.7s cubic-bezier(.16,1,.3,1),transform 1.7s cubic-bezier(.16,1,.3,1); }
.explore-intro h2 { margin:0; font-size:clamp(4.6rem,9.5vw,10rem); line-height:.76; letter-spacing:-.07em; font-weight:400; transition:font-size 1.7s cubic-bezier(.16,1,.3,1),transform 1.7s cubic-bezier(.16,1,.3,1); }
.explore-intro h2 span { color:var(--orange); }
.explore-intro.is-open .explore-image { width:100%; margin:0; transform:none; }
.explore-intro.is-open .explore-copy { margin-left:1.5vw; transform:none; }
.explore-intro.is-open h2 { font-size:clamp(4rem,7vw,7.8rem); }
.product-menu { position:relative; z-index:6; min-width:190px; display:flex; flex-direction:column; align-items:flex-start; gap:.72rem; opacity:0; transform:translateX(38px); pointer-events:none; transition:opacity .8s ease .5s,transform 1.25s cubic-bezier(.16,1,.3,1) .32s; }
.explore-intro.is-open .product-menu { opacity:1; transform:none; pointer-events:auto; }
.category-button { position:relative; padding:.15rem 0; border:0; color:rgba(255,255,255,.76); background:transparent; font:inherit; font-size:clamp(.9rem,1.05vw,1.08rem); text-align:left; cursor:pointer; transition:color .25s,transform .25s; }
.category-button::before { content:""; position:absolute; left:-1rem; top:50%; width:0; height:1px; background:var(--orange); transition:width .25s; }
.category-button.active,.category-button:hover,.category-button:focus-visible { color:var(--orange); transform:translateX(.65rem); }
.category-button.active::before { width:.65rem; }
.explore-request { position:absolute; z-index:8; right:clamp(4.8rem,7vw,8.5rem); bottom:clamp(2.4rem,4vw,4.5rem); width:min(28vw,360px); padding:1rem 1.15rem; display:flex; justify-content:space-between; border:1px solid rgba(240,77,35,.78); color:var(--orange); background:rgba(255,255,255,.07); backdrop-filter:blur(8px); font-size:.82rem; font-weight:500; text-align:left; cursor:pointer; transition:color .25s,border-color .25s,background .25s,transform .25s; }
.explore-request span { color:var(--orange); }
.explore-request:hover,.explore-request:focus-visible { color:#ff704d; border-color:#ff704d; background:rgba(255,255,255,.12); transform:translateY(-2px); }
.r-mark { position:absolute; z-index:7; right:2.5vw; bottom:2.2vw; width:34px; height:34px; object-fit:contain; }
.category-preview { max-height:0; padding:0 3vw; overflow:hidden; opacity:0; transform:translateY(-20px); transition:max-height 1s cubic-bezier(.16,1,.3,1),padding .8s cubic-bezier(.16,1,.3,1),opacity .55s ease,transform .8s cubic-bezier(.16,1,.3,1); }
.category-preview.is-visible { max-height:1300px; padding-top:clamp(3rem,6vw,7rem); padding-bottom:clamp(5rem,9vw,10rem); opacity:1; transform:none; }
.category-preview.is-swapping .category-stage,.category-preview.is-swapping .preview-actions { opacity:0; transform:translateY(16px); }
.category-stage { position:relative; width:min(100%,1320px); height:clamp(470px,60vw,810px); margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) 0fr; grid-template-rows:minmax(0,1fr) auto; gap:0; overflow:hidden; opacity:1; transform:none; transition:grid-template-columns 1.15s cubic-bezier(.16,1,.3,1),opacity .35s ease,transform .45s ease; }
.category-main-figure { position:relative; grid-column:1; grid-row:1; min-width:0; height:100%; margin:0; overflow:hidden; background:#fff; }
.category-main-figure>img { width:100%; height:100%; object-fit:contain; object-position:center; }
.category-label-cover { position:absolute; z-index:2; left:0; top:0; bottom:0; width:20%; background:#fff; }
.category-stage[data-category="sofas"] .category-label-cover { width:10%; }
.category-side-trigger { position:absolute; z-index:4; right:1.2%; top:50%; padding:0; display:flex; flex-direction:column; align-items:center; gap:1rem; border:0; color:#666; background:transparent; font:inherit; cursor:pointer; transform:translateY(-50%); }
.category-side-trigger>span { font-family:var(--font-display); font-size:clamp(1.8rem,3.1vw,3.4rem); line-height:1; letter-spacing:-.035em; writing-mode:vertical-rl; transform:rotate(180deg); }
.category-side-trigger i { display:flex; align-items:center; gap:.35rem; color:var(--orange); font-style:normal; }
.category-side-trigger b { font-size:1.05rem; font-weight:400; }
.category-side-trigger em { font-size:.9rem; font-style:normal; transition:transform .45s cubic-bezier(.16,1,.3,1); }
.category-extra-carousel { grid-column:2; grid-row:1 / 3; min-width:0; height:100%; overflow-x:auto; overflow-y:hidden; opacity:0; background:#f4f3ef; cursor:grab; scrollbar-width:none; touch-action:pan-y; user-select:none; transition:opacity .65s ease .2s; }
.category-extra-carousel::-webkit-scrollbar { display:none; }
.category-extra-carousel.is-dragging { cursor:grabbing; }
.category-extra-track { height:100%; display:flex; gap:10px; width:max-content; padding:0 10px; }
.category-extra-track img { width:auto; height:100%; flex:0 0 auto; object-fit:contain; background:#fff; cursor:zoom-in; -webkit-user-drag:none; }
.category-stage.has-carousel.is-carousel-open { grid-template-columns:minmax(0,.58fr) minmax(0,.42fr); }
.category-stage.has-carousel.is-carousel-open .category-extra-carousel { opacity:1; }
.category-stage.has-carousel.is-carousel-open .category-side-trigger em { transform:translateX(.35rem); }
.preview-actions { grid-column:1; grid-row:2; padding-top:1.5rem; display:flex; flex-direction:column; align-items:center; gap:.75rem; background:#fff; transition:opacity .35s ease,transform .45s ease; }
.category-preview.is-swapping .preview-actions { opacity:0; transform:translateY(16px); }
.preview-actions a { width:max-content; padding-bottom:.5rem; display:block; border-bottom:1px solid var(--line); transition:color .25s,border-color .25s,opacity .25s; }
.preview-product-link { font-size:.86rem; }
.preview-product-link strong { font-weight:500; }
.preview-actions a span { margin-left:1rem; color:var(--orange); }
.preview-actions a:hover,.preview-actions a:focus-visible { color:var(--orange); border-color:var(--orange); }
.product-page { min-height:100vh; padding:clamp(1rem,2.5vw,2.5rem); background:var(--white); }
.product-page-header { position:relative; z-index:3; margin-bottom:clamp(1rem,2vw,2rem); display:flex; align-items:center; justify-content:space-between; }
.product-page-logo { width:clamp(110px,8vw,145px); }
.product-page-back { padding:.7rem 0; border-bottom:1px solid var(--line); font-size:.8rem; transition:color .25s,border-color .25s; }
.product-page-back span { margin-right:.8rem; color:var(--orange); }
.product-page-back:hover,.product-page-back:focus-visible { color:var(--orange); border-color:var(--orange); }
.product-page-frame { position:relative; width:min(100%,1600px); margin:0 auto; overflow:hidden; background:var(--white); }
.product-page-frame>img { width:100%; height:auto; }
.nomia-title-correction { position:absolute; left:0; top:0; width:25%; height:8%; padding:1.25% 1.5%; color:#696969; background:#fff; font-size:clamp(.65rem,1.15vw,1.3rem); }
.nomia-title-correction strong { font-family:var(--font-display); font-weight:600; }
.mova-copy-correction { position:absolute; left:79.2%; top:48%; width:19.5%; height:20.4%; margin:0; padding:2.51% .75% .8% 2.25%; color:#696969; background:#fff; font-size:clamp(.48rem,.68vw,.78rem); line-height:1.22; }
.product-page-footer { width:min(100%,1600px); margin:clamp(1.5rem,3vw,3rem) auto 0; padding-top:1rem; display:flex; justify-content:flex-end; border-top:1px solid var(--line); }
.product-page-footer a { font-size:.8rem; }
.product-page-footer span { margin-left:.8rem; color:var(--orange); }
.catalog-dialog { width:min(94vw,1500px); max-width:none; max-height:94vh; padding:0; border:0; color:var(--ink); background:var(--paper); box-shadow:0 30px 100px rgba(5,29,39,.36); overflow:auto; }
.catalog-dialog::backdrop { background:rgba(4,24,33,.78); backdrop-filter:blur(10px); }
.catalog-dialog-inner { padding:1rem; }
.catalog-dialog header { padding:.25rem .25rem 1rem; display:flex; align-items:flex-end; justify-content:space-between; }
.catalog-dialog header div { display:flex; align-items:baseline; gap:.5rem; }
.catalog-dialog header span { color:var(--orange); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; }
.catalog-dialog header strong { font-size:1.1rem; }
.catalog-close { padding:.55rem .75rem; border:1px solid var(--line); color:var(--ink); background:transparent; font:inherit; font-size:.72rem; cursor:pointer; }
.catalog-dialog img { width:100%; height:auto; background:#fff; }
.request-dialog { width:min(92vw,1120px); max-width:none; max-height:92vh; padding:0; border:0; color:var(--ink); background:var(--paper); box-shadow:0 30px 100px rgba(5,29,39,.36); overflow:auto; }
.request-dialog::backdrop { background:rgba(4,24,33,.78); backdrop-filter:blur(10px); }
.request-layout { display:grid; grid-template-columns:1.05fr .95fr; min-height:680px; }
.request-form-panel { position:relative; padding:clamp(2.2rem,5vw,5rem); }
.request-close { position:absolute; top:1.25rem; right:1.25rem; padding:.55rem .75rem; border:1px solid var(--line); color:var(--ink); background:transparent; font:inherit; font-size:.72rem; cursor:pointer; }
.request-form-panel h2 { margin:1rem 0 .8rem; max-width:480px; font-size:clamp(2.8rem,4.5vw,5.2rem); line-height:.9; letter-spacing:-.05em; font-weight:500; }
.request-intro { max-width:430px; margin-bottom:2.2rem; color:#657074; line-height:1.5; }
#catalog-request-form,#design-request-form { display:grid; gap:1.2rem; }
#catalog-request-form label,#design-request-form label { display:grid; gap:.35rem; color:#59666b; font-size:.75rem; }
#catalog-request-form input,#catalog-request-form select,#design-request-form input,#design-request-form textarea { width:100%; min-height:42px; padding:.45rem 0; border:0; border-bottom:1px solid var(--ink); border-radius:0; color:var(--ink); background:transparent; font-size:1rem; outline:none; resize:vertical; }
#catalog-request-form input:focus,#catalog-request-form select:focus,#design-request-form input:focus,#design-request-form textarea:focus { border-bottom-color:var(--orange); }
.request-submit { margin-top:.6rem; padding:1rem 1.2rem; display:flex; justify-content:space-between; border:0; color:var(--white); background:var(--ink); font-size:.82rem; font-weight:700; cursor:pointer; }
.request-submit span { color:var(--orange); }
.request-image { margin:0; min-height:100%; overflow:hidden; background:#edf0e6; }
.request-image img { width:100%; height:100%; object-fit:contain; object-position:right center; }
.contact-dialog { width:min(92vw,760px); max-width:none; padding:0; border:0; color:var(--white); background:var(--petrol); box-shadow:0 30px 100px rgba(5,29,39,.4); overflow:hidden; }
.contact-dialog::backdrop { background:rgba(4,24,33,.78); backdrop-filter:blur(10px); }
.contact-dialog-inner { position:relative; padding:clamp(2.6rem,6vw,5.5rem); }
.contact-close { position:absolute; top:1.25rem; right:1.25rem; padding:.55rem .75rem; border:1px solid rgba(255,255,255,.28); color:var(--white); background:transparent; font:inherit; font-size:.72rem; cursor:pointer; }
.contact-dialog h2 { margin:1.2rem 0 clamp(2.4rem,5vw,4.5rem); font-size:clamp(4rem,9vw,7.5rem); line-height:.8; letter-spacing:-.06em; font-weight:500; }
.contact-details { border-top:1px solid rgba(255,255,255,.22); }
.contact-details>a,.contact-detail-row { position:relative; min-height:76px; padding:1.2rem 2.4rem 1.2rem 0; display:grid; grid-template-columns:130px 1fr; align-items:center; gap:1rem; border-bottom:1px solid rgba(255,255,255,.22); transition:color .25s,background .25s,padding .25s; }
.contact-details>a:hover,.contact-details>a:focus-visible { padding-left:.75rem; color:var(--orange); background:rgba(255,255,255,.04); outline:0; }
.contact-details span { color:var(--orange); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.contact-details strong { font-size:clamp(.95rem,1.5vw,1.2rem); line-height:1.35; font-weight:400; }
.contact-details i { position:absolute; right:.25rem; color:var(--orange); font-style:normal; }
.contact-phone-row strong { display:flex; align-items:center; gap:.7rem; }
.contact-phone-row a { display:inline; min-height:0; padding:0; border:0; transition:color .25s; }
.contact-phone-row a:hover,.contact-phone-row a:focus-visible { color:var(--orange); outline:0; }
.contact-phone-row em { color:rgba(255,255,255,.42); font-style:normal; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ways { padding:clamp(7rem,11vw,12rem) 2.5vw clamp(5rem,8vw,8rem); }
.ways .eyebrow { margin-bottom:3rem; font-size:clamp(1rem,1.35vw,1.4rem); letter-spacing:.16em; }
.ways-list { display:flex; flex-direction:column; }
.way-item { display:flex; flex-direction:column; }
.way-button { position:relative; width:100%; padding:.11em 0 .06em; border:0; color:#ced0cf; background:transparent; font-family:var(--font-display); font-size:clamp(3.8rem,8.1vw,9rem); line-height:.92; letter-spacing:-.055em; text-align:left; text-transform:uppercase; cursor:pointer; transition:color .35s,transform .55s cubic-bezier(.16,1,.3,1); }
.way-button span { position:absolute; top:.35em; right:.3em; font-family:var(--font-body); font-size:.75rem; letter-spacing:0; }
.way-button:hover,.way-button:focus-visible,.way-button.active { color:var(--orange); transform:translate(1.2vw,.13em); outline:0; }
.ways-gallery { max-height:0; margin:0 -2.5vw; opacity:0; overflow:hidden; transform:translateY(12px); cursor:grab; touch-action:pan-y; user-select:none; transition:max-height .58s cubic-bezier(.16,1,.3,1),margin .55s cubic-bezier(.16,1,.3,1),opacity .28s ease,transform .5s cubic-bezier(.16,1,.3,1); }
.ways-gallery.is-open { max-height:440px; margin:clamp(2rem,4vw,4rem) -2.5vw 1rem; opacity:1; transform:none; }
.ways-gallery.is-changing { opacity:0; transform:translateY(8px); transition-duration:.2s; }
.ways-gallery.dragging { cursor:grabbing; }
.ways-gallery-track { display:flex; width:max-content; align-items:center; gap:1.15vw; will-change:transform; }
.ways-gallery figure { flex:0 0 auto; margin:0; background:transparent; }
.ways-gallery img { width:auto; height:clamp(190px,22vw,350px); max-width:none; object-fit:contain; pointer-events:none; }
.product-cloud { position:relative; padding:clamp(6rem,10vw,10rem) 0; overflow:hidden; background:var(--white); }
.product-cloud-canvas { position:relative; width:min(94vw,1520px); height:clamp(3400px,360vw,5400px); margin:0 auto; }
.cloud-item { position:absolute; margin:0; opacity:0; filter:blur(14px); transform:translateY(56px) scale(.985); transition:opacity .9s ease var(--delay,0ms),filter 1.2s ease var(--delay,0ms),transform 1.2s cubic-bezier(.16,1,.3,1) var(--delay,0ms); }
.cloud-item.visible { opacity:1; filter:blur(0); transform:none; }
.cloud-item img { width:100%; height:auto; object-fit:contain; }
.collection { display:none; }
.product-categories { padding:0 2.5vw clamp(9rem,14vw,15rem); display:grid; grid-template-columns:repeat(3,1fr); gap:2vw; }
.category div { overflow:hidden; background:#e8e7e3; }
.category img { aspect-ratio:.84; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.category:hover img { transform:scale(1.035); }
.category>span,.category>b { display:inline-block; margin-top:.8rem; font-size:.76rem; font-weight:400; }
.category>b { float:right; opacity:0; transition:opacity .25s; }
.category:hover>b { opacity:1; }
.category i { color:var(--orange); font-style:normal; }
.collection { padding-bottom:clamp(10rem,17vw,19rem); background:var(--white); overflow:hidden; }
.collection-title { padding:7rem 3vw 6rem; display:grid; grid-template-columns:70px 1fr auto; align-items:end; gap:2vw; }
.collection-index { align-self:start; color:var(--orange); font-size:.72rem; }
.collection-title h2 { margin:0; font-size:clamp(5rem,11.5vw,12rem); line-height:.72; letter-spacing:-.06em; font-weight:500; }
.collection-title p { margin:.7rem 0 0; font-size:1.15rem; text-transform:lowercase; }
.collection-title a { padding-bottom:.3rem; border-bottom:1px solid var(--line); font-size:.76rem; }
.collection-title a span { color:var(--orange); margin-left:1.2rem; }
.collection-title-right { padding-left:34vw; }
.editorial-grid { position:relative; width:100%; }
.nomia-grid { height:112vw; }
.vert-grid { height:130vw; }
.norm-grid { height:140vw; }
.editorial-grid figure { position:absolute; margin:0; overflow:hidden; }
.editorial-grid img { height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.editorial-grid figure:hover img { transform:scale(1.025); }
.editorial-grid p { position:absolute; color:#626b6e; font-size:.9rem; line-height:1.45; }
.n-blue { left:2vw; top:4rem; width:26vw; height:32vw; }
.n-main { right:2.5vw; top:0; width:62vw; height:35vw; }
.n-copy { left:35.5vw; top:37vw; width:18rem; }
.n-detail { left:36vw; top:48vw; width:31vw; height:38vw; }
.n-office { left:0; top:65vw; width:31vw; height:42vw; }
.n-colors { right:0; top:77vw; width:26vw; height:30vw; }
.collection-vert { background:var(--paper); }
.v-orange { left:0; top:4vw; width:38vw; height:32vw; }
.v-white { right:2.5vw; top:0; width:43vw; height:55vw; }
.v-meeting { left:8vw; top:49vw; width:34vw; height:28vw; }
.v-copy { left:10vw; top:79vw; width:19rem; }
.v-lobby { left:0; top:93vw; width:56vw; height:32vw; }
.v-brown { right:2.5vw; top:87vw; width:31vw; height:39vw; }
.s-main { left:0; top:0; width:66vw; height:36vw; }
.s-lobby { left:2vw; top:49vw; width:34vw; height:43vw; }
.s-color { right:2vw; top:56vw; width:48vw; height:27vw; }
.s-copy { right:14vw; top:86vw; width:20rem; }
.s-blue { left:5vw; top:103vw; width:46vw; height:27vw; }
.s-chair { right:5vw; top:98vw; width:31vw; height:39vw; }
.projects { padding:clamp(5rem,8vw,8rem) 3vw; display:grid; grid-template-columns:1.2fr .72fr .72fr; align-items:center; gap:1.5vw; color:var(--white); background:var(--ink); }
.projects-copy { padding-right:4vw; }
.projects-copy h2 { max-width:680px; margin:1.5rem 0 2rem; font-size:clamp(3rem,5.5vw,6rem); line-height:.9; letter-spacing:-.055em; font-weight:600; }
.projects-copy h2 span { color:var(--orange); }
.projects-copy>p:not(.eyebrow) { max-width:620px; color:rgba(255,255,255,.72); font-size:.93rem; line-height:1.55; }
.projects-copy strong { color:var(--white); font-weight:700; }
.project-actions { max-width:264px; margin-top:2.4rem; display:grid; grid-template-columns:1fr; }
.project-action { min-height:48px; padding:.85rem 1rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; border:1px solid rgba(240,77,35,.82); color:var(--orange); background:rgba(255,255,255,.035); font:inherit; font-size:.72rem; text-align:left; cursor:pointer; transition:transform .4s cubic-bezier(.16,1,.3,1),background .35s ease,border-color .35s ease,color .35s ease; }
.project-action span { font-size:.86rem; transition:transform .4s cubic-bezier(.16,1,.3,1); }
.project-action:hover { transform:translateY(-2px); border-color:var(--orange); color:var(--white); background:rgba(240,77,35,.13); }
.project-action:hover span { transform:translate(2px,-2px); color:var(--orange); }
.projects-banner { position:relative; grid-column:2/-1; align-self:center; aspect-ratio:1.5; margin-bottom:clamp(3.2rem,4vw,4.5rem); background:#082532; cursor:grab; touch-action:pan-y; user-select:none; }
.projects-banner::after { content:""; position:absolute; left:0; right:0; top:100%; height:clamp(3.2rem,4vw,4.5rem); background:var(--ink); }
.projects-banner.is-dragging { cursor:grabbing; }
.cases-track { width:100%; height:100%; display:flex; align-items:stretch; gap:clamp(.55rem,.8vw,.9rem); overflow:hidden; scrollbar-width:none; }
.cases-track::-webkit-scrollbar { display:none; }
.cases-track figure { flex:0 0 auto; width:auto; height:100%; margin:0; }
.cases-track img { width:auto; max-width:none; height:100%; object-fit:contain; object-position:center; cursor:zoom-in; }
.cases-title { position:absolute; z-index:3; left:0; top:calc(100% + .55rem); margin:0; display:flex; align-items:center; gap:.75rem; color:var(--orange); font-family:var(--font-display); font-size:clamp(1.7rem,2.5vw,3rem); line-height:1; letter-spacing:-.035em; }
.cases-title span { font-family:var(--font-body); font-size:.8rem; transform:translateY(-.1em); }
.design-partnership { padding:clamp(6rem,9vw,10rem) 3vw; overflow:hidden; background:var(--paper); }
.design-partnership-intro { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.7fr); gap:clamp(3rem,8vw,9rem); align-items:end; }
.design-partnership h2 { max-width:850px; margin:1.5rem 0 0; font-family:var(--font-display); font-size:clamp(4rem,8vw,9rem); font-weight:500; line-height:.78; letter-spacing:-.07em; }
.design-partnership h2 span { color:var(--orange); }
.design-partnership-copy { padding-bottom:.75rem; }
.design-partnership-copy p { max-width:510px; margin:0 0 2rem; color:#536064; font-size:1rem; line-height:1.65; }
.design-partnership-copy button { width:min(100%,270px); min-height:50px; padding:.8rem 1rem; display:flex; align-items:center; justify-content:space-between; border:1px solid var(--orange); color:var(--orange); background:transparent; font:inherit; font-size:.76rem; cursor:pointer; transition:color .35s ease,background .35s ease,transform .35s ease; }
.design-partnership-copy button:hover { color:#fff; background:var(--orange); transform:translateY(-2px); }
.design-request-dialog .request-layout { min-height:min(780px,90vh); }
.design-request-dialog .request-form-panel { padding-top:clamp(3.8rem,5vw,5rem); padding-bottom:2.5rem; }
.design-request-dialog .request-form-panel h2 { font-size:clamp(2.7rem,4vw,4.6rem); }
.design-request-dialog .request-intro { margin-bottom:1.5rem; }
.design-request-image img { object-fit:cover; object-position:center; }
.design-partnership-steps { margin:clamp(4rem,7vw,7rem) 0 clamp(3rem,5vw,5rem); padding:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); list-style:none; border-top:1px solid var(--line); }
.design-partnership-steps li { min-height:112px; padding:1rem 1rem 1rem 0; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid var(--line); }
.design-partnership-steps li:not(:first-child) { padding-left:1rem; }
.design-partnership-steps li:last-child { border-right:0; }
.design-partnership-steps span { color:var(--orange); font-size:.68rem; letter-spacing:.13em; }
.design-partnership-steps strong { max-width:160px; font-family:var(--font-display); font-size:clamp(1rem,1.3vw,1.35rem); font-weight:500; line-height:1.15; }
.design-carousel { position:relative; cursor:grab; user-select:none; touch-action:pan-y; }
.design-carousel.is-dragging { cursor:grabbing; }
.design-track { height:clamp(300px,42vw,620px); display:flex; gap:clamp(.7rem,1vw,1rem); overflow:hidden; scrollbar-width:none; }
.design-track::-webkit-scrollbar { display:none; }
.design-track figure { flex:0 0 auto; width:auto; height:100%; margin:0; background:#fff; }
.design-track img { width:auto; max-width:none; height:100%; object-fit:contain; cursor:zoom-in; pointer-events:auto; }
.design-carousel>p { margin:1rem 0 0; color:var(--orange); font-family:var(--font-display); font-size:clamp(1.5rem,2.4vw,2.8rem); letter-spacing:-.035em; }
.design-carousel>p span { margin-left:.35rem; font-family:var(--font-body); font-size:.75rem; }
.finishes { padding:clamp(3rem,5vw,6rem) 3vw; overflow:hidden; background:var(--paper); }
.finishes-layout { margin:0; overflow:hidden; background:var(--white); box-shadow:0 0 0 1px rgba(11,46,61,.035); }
.finishes-layout img { width:100%; height:auto; transform:scale(1.018); transition:transform 2.2s cubic-bezier(.16,1,.3,1); }
.finishes-layout.visible img { transform:scale(1); }
.finishes-mobile { display:none; }
.finishes .reveal { filter:blur(7px); transform:translateY(42px); transition:opacity 1.15s ease var(--finish-delay,0ms),filter 1.4s ease var(--finish-delay,0ms),transform 1.55s cubic-bezier(.16,1,.3,1) var(--finish-delay,0ms); }
.finishes .reveal.visible { filter:blur(0); transform:none; }
.contact { padding:clamp(7rem,11vw,12rem) 5vw 7rem; background:var(--warm); }
.contact h2 { margin:2rem 0 4rem; color:var(--orange); font-size:clamp(4.5rem,11vw,12rem); line-height:.76; letter-spacing:-.07em; text-transform:uppercase; font-weight:650; }
.contact-line { display:block; overflow:hidden; margin:-.13em -.05em; padding:.13em .05em; white-space:nowrap; }
.contact-word { display:inline-block; overflow:visible; vertical-align:bottom; }
.contact-word>span { display:inline-block; }
.contact.motion-ready .eyebrow { opacity:0; transform:translateY(12px); transition:opacity .65s ease,transform .8s cubic-bezier(.16,1,.3,1); }
.contact.motion-ready .contact-word>span { opacity:.08; transform:translateY(112%); transition:opacity .7s ease,transform 1.05s cubic-bezier(.16,1,.3,1); }
.contact.motion-ready .contact-word:nth-child(2)>span { transition-delay:.13s; }
.contact.motion-ready .contact-line:nth-child(2) .contact-word:first-child>span { transition-delay:.26s; }
.contact.motion-ready .contact-line:nth-child(2) .contact-word:nth-child(2)>span { transition-delay:.39s; }
.contact.motion-ready .contact-row { opacity:0; transform:translateY(18px); transition:opacity .75s ease .75s,transform 1s cubic-bezier(.16,1,.3,1) .75s; }
.contact.motion-ready.is-visible .eyebrow,.contact.motion-ready.is-visible .contact-word>span,.contact.motion-ready.is-visible .contact-row { opacity:1; transform:none; }
.contact-row { display:flex; justify-content:space-between; align-items:flex-end; gap:3rem; }
.contact-row p { max-width:370px; margin:0; color:#647073; line-height:1.45; }
.contact-row a { min-width:210px; padding:1rem 1.2rem; display:flex; justify-content:space-between; color:var(--white); background:var(--orange); font-size:.75rem; text-transform:uppercase; }
footer { padding:5rem 3vw 2rem; display:grid; grid-template-columns:2fr repeat(3,1fr); gap:4vw; background:var(--paper); font-size:.72rem; }
footer img { width:clamp(130px,11vw,180px); height:auto; object-fit:contain; object-position:left; }
footer p { margin-top:1.2rem; color:#70787a; line-height:1.45; }
footer div:not(.footer-brand) { display:flex; flex-direction:column; gap:.55rem; }
footer b { margin-bottom:.65rem; color:#9ca1a1; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; }
footer a:hover { color:var(--orange); }
.footer-instagram { width:max-content; display:inline-flex!important; flex-direction:row!important; align-items:center; gap:.55rem!important; color:var(--ink); }
.footer-instagram svg { width:18px; height:18px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.7; }
.footer-instagram .instagram-dot { fill:currentColor; stroke:none; }
.footer-instagram:hover { color:var(--orange); }
.image-lightbox { width:100vw; max-width:none; height:100vh; max-height:none; margin:0; padding:0; border:0; color:var(--white); background:rgba(5,29,39,.96); overflow:hidden; }
.image-lightbox::backdrop { background:rgba(4,24,33,.84); backdrop-filter:blur(12px); }
.image-lightbox-inner { position:relative; width:100%; height:100%; padding:clamp(4rem,7vw,6rem) clamp(1rem,4vw,4rem) clamp(1.5rem,3vw,3rem); display:grid; place-items:center; }
.image-lightbox-close { position:absolute; z-index:2; top:clamp(1rem,2vw,1.8rem); left:clamp(1rem,3vw,3rem); padding:.7rem 1rem; border:1px solid rgba(255,255,255,.4); color:var(--white); background:transparent; font:inherit; font-size:.78rem; cursor:pointer; transition:border-color .25s,color .25s,transform .25s; }
.image-lightbox-close:hover,.image-lightbox-close:focus-visible { border-color:var(--orange); color:var(--orange); transform:translateX(-2px); }
.image-lightbox figure { width:100%; height:100%; margin:0; display:grid; place-items:center; }
.image-lightbox img { width:auto; max-width:100%; height:auto; max-height:calc(100vh - 8.5rem); object-fit:contain; box-shadow:0 22px 70px rgba(0,0,0,.3); }
.image-lightbox-nav { position:absolute; z-index:3; top:50%; width:clamp(42px,4vw,58px); height:clamp(42px,4vw,58px); padding:0 0 .16em; display:grid; place-items:center; border:1px solid rgba(255,255,255,.34); border-radius:50%; color:var(--white); background:rgba(5,29,39,.18); font:300 clamp(2rem,3vw,3.2rem)/1 var(--font-display); cursor:pointer; transform:translateY(-50%); backdrop-filter:blur(6px); transition:border-color .25s,color .25s,background .25s,transform .25s; }
.image-lightbox-prev { left:clamp(.75rem,2.2vw,2.4rem); }
.image-lightbox-next { right:clamp(.75rem,2.2vw,2.4rem); }
.image-lightbox-nav:hover,.image-lightbox-nav:focus-visible { border-color:var(--orange); color:var(--orange); background:rgba(5,29,39,.52); transform:translateY(-50%) scale(1.04); }
.image-lightbox-nav[hidden] { display:none; }
.contexts-track img,.ways-gallery-track img { cursor:zoom-in; }
.copyright { grid-column:1/-1; margin:4rem 0 0; padding-top:1.5rem; display:flex; justify-content:space-between; border-top:1px solid var(--line); }
.reveal { opacity:0; transform:translateY(28px); transition:opacity .8s ease,transform .8s ease; }
.reveal.visible { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) {
  .contact.motion-ready .eyebrow,.contact.motion-ready .contact-word>span,.contact.motion-ready .contact-row { opacity:1; transform:none; transition:none; }
}
.cloud-item.reveal { opacity:0; filter:blur(14px); transform:translateY(56px) scale(.985); transition:opacity .95s ease var(--delay,0ms),filter 1.15s ease var(--delay,0ms),transform 1.2s cubic-bezier(.16,1,.3,1) var(--delay,0ms); }
.cloud-item.reveal.visible { opacity:1; filter:blur(0); transform:none; }
@media (max-width:900px) {
  .site-header { height:58px; padding:0 20px; }
  .brand { width:112px; }
  .menu-button { display:block; cursor:pointer; }
  nav { position:absolute; top:58px; left:0; right:0; padding:2rem 20px 2.5rem; display:none; flex-direction:column; align-items:flex-start; gap:1.2rem; color:var(--ink); background:rgba(247,246,242,.98); border-bottom:1px solid var(--line); font-size:1.05rem; }
  .menu-open nav { display:flex; }
  .hero { min-height:78svh; }
  .hero-photo { object-position:52% center; }
  .hero-wordmark { width:90vw; }
  .hero>p { left:20px; bottom:20px; }
  .scroll-cue { display:none; }
  .manifesto { padding:7rem 20px; display:block; }
  .manifesto h1 { margin-top:2rem; font-size:clamp(3.3rem,13vw,6rem); }
  .manifesto-copy { margin-top:4rem; max-width:620px; }
  .contexts { padding:0 0 5rem; }
  .contexts-track { gap:14px; }
  .contexts figure { width:min(78vw,420px); }
  .contexts figure:first-child { margin-left:20px; }
  .contexts img { aspect-ratio:1.55; }
  .explore-intro,.explore-intro.is-open { min-height:78svh; padding:5rem 20px 8rem; display:grid; grid-template-columns:1fr; grid-template-rows:auto auto auto; }
  .explore-image { width:118%; height:65vw; margin:0 0 3rem -28%; }
  .explore-copy { margin-left:15vw; }
  .explore-intro h2 { font-size:18vw; }
  .explore-intro.is-open .explore-image { width:118%; margin:0 0 3rem -28%; transform:none; }
  .explore-intro.is-open .explore-copy { margin-left:6vw; transform:none; }
  .explore-intro.is-open h2 { font-size:14vw; transform:none; }
  .product-menu { padding:2.5rem 0 0 15vw; gap:.65rem; }
  .category-button { font-size:1rem; }
  .explore-request { right:52px; bottom:24px; width:calc(100% - 72px); }
  .r-mark { width:26px; height:26px; right:20px; bottom:20px; }
  .category-preview.is-visible { padding:4.5rem 20px 7rem; }
  .category-stage { height:auto; grid-template-columns:1fr; grid-template-rows:72vw auto 0fr; transition:grid-template-rows .9s cubic-bezier(.16,1,.3,1); }
  .category-stage.has-carousel.is-carousel-open { grid-template-columns:1fr; grid-template-rows:72vw auto 55vw; }
  .category-main-figure { height:72vw; }
  .category-side-trigger { right:0; }
  .category-side-trigger>span { font-size:clamp(1.35rem,7vw,2.3rem); }
  .category-extra-carousel { grid-column:1; grid-row:3; height:auto; }
  .category-extra-track { height:55vw; }
  .preview-actions { padding:1.2rem 0 1.5rem; }
  .preview-product-link { font-size:.82rem; }
  .product-page { padding:16px; }
  .product-page-header { margin-bottom:2rem; }
  .mova-copy-correction { font-size:1.25vw; }
  .product-page-footer { justify-content:flex-start; }
  .catalog-dialog { width:96vw; max-height:92vh; }
  .catalog-dialog-inner { padding:.65rem; }
  .request-dialog { width:96vw; }
  .request-layout { grid-template-columns:1fr; }
  .request-form-panel { padding:4rem 24px 3rem; }
  .request-image { min-height:300px; }
  .request-image img { aspect-ratio:1.45; }
  .pricehub-link { width:78px; height:22px; }
  .contact-dialog { width:96vw; }
  .contact-dialog-inner { padding:4.5rem 24px 2.5rem; }
  .contact-details>a,.contact-detail-row { grid-template-columns:1fr; gap:.35rem; }
  .ways { padding:7rem 20px 5rem; }
  .way-button { padding:.28em 0; font-size:clamp(2.8rem,11.5vw,5rem); line-height:.9; }
  .way-button span { display:none; }
  .ways-gallery { margin-left:-20px; margin-right:-20px; }
  .ways-gallery.is-open { max-height:340px; margin:2rem -20px 1rem; }
  .ways-gallery-track { gap:10px; }
  .ways-gallery img { height:clamp(180px,55vw,280px); }
  .product-cloud { padding:6rem 20px; }
  .product-cloud-canvas { width:100%; height:auto; display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,10vw,6rem) 14px; align-items:start; }
  .cloud-item { position:relative!important; left:auto!important; top:auto!important; width:auto!important; }
  .cloud-item:nth-child(4n+1) { grid-column:1/-1; width:78%!important; justify-self:start; }
  .cloud-item:nth-child(4n+3) { margin-top:18vw; }
  .product-categories { padding:0 20px 8rem; grid-template-columns:1fr; gap:3rem; }
  .category img { aspect-ratio:1.15; object-fit:contain; }
  .category>b { opacity:1; }
  .collection { padding-bottom:9rem; }
  .collection-title,.collection-title-right { padding:5rem 20px 4rem; display:grid; grid-template-columns:35px 1fr; }
  .collection-title h2 { font-size:20vw; }
  .collection-title a { grid-column:2; margin-top:2rem; justify-self:start; }
  .editorial-grid,.nomia-grid,.vert-grid,.norm-grid { height:auto; min-height:0; padding:0 20px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .editorial-grid figure,.editorial-grid p { position:static; width:auto; height:auto; margin:0; }
  .editorial-grid figure img { aspect-ratio:1; object-fit:cover; }
  .editorial-grid p { padding:2rem 0; grid-column:1/-1; font-size:1rem; }
  .n-main,.v-white,.s-main { grid-column:1/-1; }
  .n-main img,.v-white img,.s-main img { aspect-ratio:1.35!important; }
  .n-copy,.v-copy,.s-copy { order:3; }
  .n-office { grid-row:span 2; }
  .n-office img { aspect-ratio:.68!important; }
  .v-lobby,.s-blue { grid-column:1/-1; }
  .v-lobby img,.s-blue img { aspect-ratio:1.55!important; }
  .projects { padding:6rem 20px; grid-template-columns:1fr 1fr; gap:3rem 14px; }
  .projects-copy { grid-column:1/-1; padding:0; }
  .projects-banner { grid-column:1/-1; }
  .projects-copy h2 { font-size:14vw; }
  .project-actions { max-width:none; }
  .design-partnership { padding:6rem 20px; }
  .design-partnership-intro { grid-template-columns:1fr; gap:2.5rem; }
  .design-partnership-copy p { max-width:620px; }
  .design-partnership-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .design-partnership-steps li { min-height:96px; border-bottom:1px solid var(--line); }
  .design-partnership-steps li:nth-child(2n) { border-right:0; }
  .design-partnership-steps li:nth-child(odd) { padding-left:0; }
  .design-track { height:min(58vw,470px); overflow:auto; scroll-snap-type:x mandatory; }
  .design-track figure { scroll-snap-align:start; }
  .finishes { padding:4rem 20px; }
  .contact { padding:7rem 20px 5rem; }
  .contact h2 { font-size:16vw; line-height:.8; }
  .contact-row { display:block; }
  .contact-row a { margin-top:2rem; }
  footer { padding:4rem 20px 2rem; grid-template-columns:1fr 1fr; gap:3rem; }
  .footer-brand { grid-column:1/-1; }
  .copyright { display:block; }
  .copyright span { display:block; margin-top:.5rem; }
}
@media (max-width:520px) {
  .hero { min-height:78svh; }
  .manifesto h1 { font-size:14.5vw; }
  .explore-intro { min-height:64svh; }
  .ways-list a { font-size:11vw; }
  .projects { grid-template-columns:1fr; }
  .projects-copy,.projects-banner { grid-column:1; }
  .projects-banner { aspect-ratio:1.25; }
  .project-actions { grid-template-columns:1fr; }
  .design-partnership { padding:5rem 16px; }
  .design-partnership h2 { font-size:15vw; }
  .design-partnership-copy button { width:100%; }
  .design-partnership-steps { grid-template-columns:1fr; margin-top:3.5rem; }
  .design-partnership-steps li,.design-partnership-steps li:not(:first-child) { min-height:72px; padding:.8rem 0; border-right:0; }
  .design-partnership-steps li { flex-direction:row; align-items:center; justify-content:flex-start; gap:1.2rem; }
  .design-partnership-steps strong { max-width:none; font-size:1rem; }
  .design-track { width:calc(100vw - 16px); height:min(58vw,270px); }
  .design-track figure { width:auto; height:100%; }
  .finishes { padding:3rem 14px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } .reveal { opacity:1; transform:none; } }

/* Auditoria responsiva — mantém a composição editorial e melhora leitura e toque. */
html { overflow-x:clip; }
body { overflow-x:hidden; }
section[id],main[id] { scroll-margin-top:76px; }
button,a { -webkit-tap-highlight-color:transparent; }

@media (max-width:1200px) {
  .manifesto,.about-manifesto { gap:6vw; }
  .projects { gap:5vw; }
  .about-culture { gap:5vw; }
}

@media (max-width:900px) {
  section[id],main[id] { scroll-margin-top:58px; }
  .site-header { padding-inline:16px; }
  .menu-button { min-width:44px; min-height:44px; padding:0 0 0 .65rem; font-size:.9rem; }
  nav { padding:1.4rem 20px 1.8rem; gap:.35rem; }
  nav a,.nav-catalog,.nav-contact { min-height:44px; display:flex; align-items:center; font-size:1rem; }
  .pricehub-link { width:92px; height:30px; }
  .brand { width:118px; }
  .eyebrow { font-size:.75rem; }
  .manifesto-copy,.about-manifesto-copy,.process-intro>p:last-child,.contact-row p { font-size:1rem; }
  .contexts { cursor:grab; }
  .contexts figure { width:min(82vw,420px); }
  .contexts figcaption { font-size:.82rem; }
  .category-button { min-height:44px; padding:.45rem 0; font-size:1rem; }
  .explore-request,.project-action,.contact-row a { min-height:48px; align-items:center; }
  .category-side-trigger { min-width:48px; min-height:104px; justify-content:center; }
  .preview-actions { align-items:stretch; }
  .preview-actions a { min-height:44px; width:100%; display:flex; align-items:center; justify-content:space-between; font-size:.95rem; }
  .way-button { min-height:56px; }
  .ways-gallery { touch-action:pan-y; }
  .cases-title { font-size:1.05rem; }
  .catalog-dialog,.request-dialog,.contact-dialog { width:min(96vw,680px); }
  .catalog-close,.request-close,.contact-close { min-width:44px; min-height:44px; }
  .image-lightbox-inner { padding:4.8rem 16px 1.5rem; }
  .image-lightbox-close { min-height:44px; padding:.7rem 1rem; }
  .image-lightbox img { max-height:calc(100svh - 8.5rem); }
  .image-lightbox-nav { width:44px; height:44px; background:rgba(5,29,39,.42); }
  .about-header .brand { opacity:1; transform:none; pointer-events:auto; }
  .about-header:not(.scrolled):not(.menu-open) .menu-button { color:#fff; }
  .about-header nav a:nth-child(3) { display:flex; }
  .about-hero { min-height:100svh; }
  .about-film-title { right:20px; bottom:28px; font-size:clamp(4.5rem,18vw,8rem); }
  .film-controls { right:16px; bottom:16px; }
  .film-toggle { width:48px; height:48px; }
  .sound-icon { width:32px; height:32px; }
  .about-manifesto,.about-years,.about-culture { padding-left:20px; padding-right:20px; }
  .about-manifesto { padding-top:6rem; padding-bottom:6rem; }
  .about-manifesto h2 { font-size:clamp(3.15rem,13vw,5.8rem); }
  .about-years { padding-top:4.5rem; padding-bottom:4.5rem; }
  .about-year { font-size:clamp(3.1rem,16vw,5.8rem); }
  .about-year-detail { font-size:.78rem; }
  .about-processes,.factory-processes { padding-left:20px; padding-right:20px; }
  .about-processes { min-height:auto; padding-top:6rem; padding-bottom:6rem; grid-template-columns:1fr; gap:4rem; }
  .process-intro { margin-left:0; margin-right:0; }
  .process-teaser-open { width:100%; }
  .factory-heading { margin-bottom:4rem; }
  .about-cta { min-height:48svh; padding:20px; }
  .film-player-controls { left:12px; right:12px; bottom:12px; padding:.6rem; grid-template-columns:42px 1fr auto; gap:.4rem .65rem; }
  .film-time { grid-column:2; }
  .film-progress { grid-column:1/-1; grid-row:2; width:100%; }
  .film-mute { grid-column:1; grid-row:3; }
  .film-volume { grid-column:2; grid-row:3; width:100%; }
  .film-fullscreen { grid-column:3; grid-row:3; }
  .film-dialog-close { top:12px; right:12px; }
}

@media (max-width:640px) {
  .hero-wordmark { width:88vw; }
  .manifesto { padding:5.5rem 20px; }
  .manifesto h1 { font-size:14vw; line-height:.9; }
  .manifesto-copy { margin-top:3rem; }
  .explore-intro,.explore-intro.is-open { min-height:720px; padding:5rem 20px 7.5rem; }
  .explore-image { width:122%; height:70vw; margin-left:-30%; }
  .explore-intro.is-open .explore-image { width:122%; margin-left:-30%; }
  .explore-copy { margin-left:11vw; }
  .explore-intro h2 { font-size:17.5vw; }
  .explore-intro.is-open .explore-copy { margin-left:5vw; }
  .explore-intro.is-open h2 { font-size:13.5vw; }
  .product-menu { padding-left:11vw; }
  .explore-request { right:48px; bottom:20px; width:calc(100% - 68px); }
  .category-preview.is-visible { padding:3.5rem 16px 5rem; }
  .category-stage { grid-template-rows:minmax(280px,72vw) auto 0fr; }
  .category-stage.has-carousel.is-carousel-open { grid-template-rows:minmax(280px,72vw) auto minmax(220px,58vw); }
  .category-main-figure { height:min(72vw,360px); }
  .category-extra-track { height:min(58vw,290px); }
  .ways { padding:5.5rem 20px 4rem; }
  .way-button { font-size:11vw; }
  .ways-gallery.is-open { max-height:290px; margin-top:1rem; }
  .projects { padding:5.5rem 20px; }
  .projects-copy h2 { font-size:15vw; }
  .projects-banner { aspect-ratio:1.08; }
  .finishes { padding:2.5rem 12px; }
  .collection-title,.collection-title-right { padding:4rem 16px 3rem; }
  .editorial-grid,.nomia-grid,.vert-grid,.norm-grid { padding:0 16px; gap:10px; }
  .editorial-grid p { padding:1.5rem 0; font-size:1rem; }
  .contact { padding:5.5rem 20px 4rem; }
  .contact h2 { font-size:15vw; }
  footer { padding:3.5rem 20px 2rem; gap:2.4rem 1rem; font-size:.82rem; }
  footer b { font-size:.68rem; }
  footer a { min-height:30px; display:flex; align-items:center; }
  .about-manifesto-copy { font-size:1rem; }
  .about-film-title { right:16px; bottom:24px; font-size:clamp(4rem,20vw,6.5rem); }
  .about-years { gap:2rem; }
  .about-years>p { font-size:1.25rem; }
  .about-culture { gap:2.5rem; padding-top:4rem; padding-bottom:4rem; }
  .culture-grid { grid-template-columns:1fr; gap:1.5rem; margin-top:1.75rem; }
  .culture-grid h2 { font-size:2rem; }
  .culture-grid p:last-child { font-size:.98rem; }
  .factory-heading h2 { font-size:16vw; }
  .about-cta p { font-size:15vw; }
  .process-teaser-action i { width:46px; height:46px; }
  .film-player.controls-idle .film-player-controls,.film-dialog-inner:has(.film-player.controls-idle) .film-dialog-close { opacity:1; pointer-events:auto; transform:none; }
}

@media (max-width:390px) {
  .site-header { padding-inline:14px; }
  .brand { width:108px; }
  nav { padding-inline:16px; }
  .hero>p { left:14px; bottom:16px; font-size:.68rem; }
  .manifesto,.ways,.projects,.contact { padding-left:16px; padding-right:16px; }
  .explore-intro,.explore-intro.is-open { min-height:680px; padding-left:16px; padding-right:16px; }
  .explore-request { right:42px; width:calc(100% - 58px); font-size:.78rem; }
  .r-mark { right:14px; }
  .category-preview.is-visible { padding-left:14px; padding-right:14px; }
  .category-stage,.category-stage.has-carousel.is-carousel-open { grid-template-rows:minmax(260px,72vw) auto minmax(0,58vw); }
  .category-stage:not(.is-carousel-open) { grid-template-rows:minmax(260px,72vw) auto 0fr; }
  .preview-product-link { font-size:.88rem; }
  .projects-copy h2,.contact h2 { font-size:15.5vw; }
  .contact-row a { min-width:0; width:100%; }
  .request-form-panel { padding:3.6rem 18px 2.2rem; }
  .about-manifesto,.about-years,.about-culture,.about-processes,.factory-processes,.about-cta { padding-left:16px; padding-right:16px; }
  .about-year { font-size:15vw; }
  .about-year i { width:.65em; }
  .about-year-detail { font-size:.7rem; }
}

/* Revisão responsiva final — 1920px a 390px */
@media (min-width:1600px) {
  .manifesto,.design-partnership-intro,.design-partnership-steps,.design-carousel,.finishes-layout,.projects { max-width:1920px; margin-left:auto; margin-right:auto; }
  .about-manifesto,.about-years,.about-processes,.about-culture { padding-left:max(7vw,calc((100vw - 1920px)/2 + 96px)); padding-right:max(7vw,calc((100vw - 1920px)/2 + 96px)); }
}

@media (max-width:1024px) and (min-width:901px) {
  .explore-intro,.explore-intro.is-open { grid-template-columns:38vw minmax(0,1fr) 22vw; padding-inline:3vw; }
  .explore-intro h2,.explore-intro.is-open h2 { font-size:7.7vw; }
  .projects { grid-template-columns:1fr 1fr; gap:3rem 2vw; }
  .projects-copy,.projects-banner { grid-column:1/-1; }
  .design-partnership-intro { gap:4vw; }
  .about-processes { grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr); gap:3vw; }
}

@media (max-width:700px) {
  body.nav-open { overflow:hidden; }
  .site-header { height:60px; padding-top:env(safe-area-inset-top); }
  nav { top:60px; max-height:calc(100dvh - 60px); overflow-y:auto; padding:1rem 18px 1.5rem; box-shadow:0 18px 40px rgba(11,46,61,.12); }
  nav a,.nav-catalog,.nav-contact { width:100%; padding:.35rem 0; border-bottom:1px solid rgba(11,46,61,.1); }
  .pricehub-link { width:100%; height:48px; justify-content:flex-start; }
  .pricehub-link img { width:88px; height:24px; }

  .hero-photo { object-position:58% center; }
  .hero-wordmark { width:86vw; }
  .hero>p { max-width:70vw; line-height:1.35; }
  .manifesto h1 { overflow-wrap:anywhere; }

  .explore-intro,.explore-intro.is-open { min-height:auto; padding:5rem 18px 8.5rem; grid-template-columns:1fr; grid-template-rows:auto auto auto; align-content:start; }
  .explore-image,.explore-intro.is-open .explore-image { width:calc(100% + 36px); height:66vw; max-height:330px; margin:0 -18px 2.6rem; transform:none; }
  .explore-image img { width:100%; height:100%; object-fit:cover; object-position:22% center; }
  .explore-copy,.explore-intro.is-open .explore-copy { margin:0; transform:none; }
  .explore-intro h2,.explore-intro.is-open h2 { font-size:clamp(4.25rem,20vw,7rem); line-height:.78; }
  .product-menu { width:100%; padding:2.2rem 0 0; display:grid; grid-template-columns:1fr 1fr; gap:.15rem 1rem; transform:translateY(20px); }
  .category-button { width:100%; }
  .explore-request { left:18px; right:58px; bottom:20px; width:auto; }
  .r-mark { right:18px; bottom:27px; }

  .category-preview.is-visible { padding-top:2.75rem; padding-bottom:4.5rem; }
  .category-side-trigger { top:auto; right:10px; bottom:10px; min-height:48px; flex-direction:row; gap:.55rem; padding:.55rem .7rem; background:rgba(255,255,255,.9); transform:none; backdrop-filter:blur(8px); }
  .category-side-trigger>span { font-family:var(--font-body); font-size:.78rem; writing-mode:horizontal-tb; transform:none; }
  .category-side-trigger i { gap:.2rem; }
  .preview-actions { padding-top:1rem; }

  .product-cloud-canvas { grid-template-columns:1fr; gap:3.25rem; }
  .cloud-item,.cloud-item:nth-child(n) { width:min(86%,430px)!important; margin:0!important; justify-self:start; }
  .cloud-item:nth-child(even) { justify-self:end; }

  .editorial-grid,.nomia-grid,.vert-grid,.norm-grid { grid-template-columns:1fr; }
  .editorial-grid figure,.n-main,.v-white,.s-main,.v-lobby,.s-blue { grid-column:1; }
  .editorial-grid figure img,.n-main img,.v-white img,.s-main img,.v-lobby img,.s-blue img,.n-office img { aspect-ratio:1.12!important; object-fit:cover; }
  .editorial-grid p { grid-column:1; }

  .projects { gap:2.5rem; }
  .projects-banner { width:calc(100% + 36px); margin-left:-18px; aspect-ratio:1.18; }
  .cases-title { left:18px; }
  .design-partnership-steps { display:block; }
  .design-partnership-steps li,.design-partnership-steps li:not(:first-child) { min-height:58px; padding:.8rem 0; flex-direction:row; align-items:center; gap:1rem; border-right:0; border-bottom:1px solid var(--line); }
  .design-partnership-steps strong { font-size:1rem; }
  .design-track { height:clamp(230px,68vw,340px); }

  .request-dialog,.catalog-dialog,.contact-dialog { width:100vw; max-width:none; max-height:100dvh; margin:0; }
  .request-dialog { height:100dvh; }
  .request-layout { min-height:100%; }
  .request-form-panel { padding:4.2rem 18px 2rem; }
  .request-form-panel h2,.design-request-dialog .request-form-panel h2 { font-size:clamp(2.75rem,13vw,4rem); }
  .request-image { min-height:220px; }
  .request-image img { min-height:220px; aspect-ratio:1.35; }
  .contact-dialog-inner { min-height:100dvh; padding:4.5rem 18px 2rem; }
  .contact-dialog h2 { font-size:clamp(3.6rem,17vw,5.5rem); }

  footer { grid-template-columns:1fr; }
  .footer-brand { grid-column:1; }
  footer div:not(.footer-brand) { padding-top:1.25rem; border-top:1px solid var(--line); }
  .copyright { grid-column:1; }

  .about-film { object-position:52% center; }
  .about-film-title { right:18px; bottom:24px; font-size:clamp(4.2rem,20vw,6.5rem); line-height:.72; }
  .about-manifesto h2 { font-size:clamp(3.1rem,14vw,5rem); overflow-wrap:anywhere; }
  .about-year { flex-wrap:nowrap; font-size:clamp(3rem,14vw,4.7rem); }
  .about-culture>figure img { aspect-ratio:1; object-position:center; }
  .factory-processes { overflow:hidden; }
  .factory-mosaic { width:calc(100vw - 18px); }
  .factory-tile,.factory-tile:nth-child(n) { flex-basis:min(84vw,390px); min-height:min(118vw,500px); }
  .about-cta { min-height:420px; }
  .about-cta p { font-size:clamp(3.6rem,16vw,5.6rem); }
}

@media (max-width:430px) {
  .manifesto,.ways,.projects,.contact { padding-left:16px; padding-right:16px; }
  .manifesto h1 { font-size:clamp(3.15rem,14.5vw,4.1rem); }
  .explore-intro,.explore-intro.is-open { padding-left:16px; padding-right:16px; }
  .explore-image,.explore-intro.is-open .explore-image { width:calc(100% + 32px); margin-left:-16px; margin-right:-16px; }
  .explore-request { left:16px; right:54px; }
  .r-mark { right:14px; }
  .projects-banner { width:calc(100% + 32px); margin-left:-16px; }
  .cases-title { left:16px; }
  .design-partnership { padding-left:16px; padding-right:16px; }
  .design-partnership h2 { font-size:clamp(3.5rem,15vw,4.8rem); }
  .finishes { padding-left:10px; padding-right:10px; }
  .contact-line { white-space:normal; }
  .contact h2 { font-size:clamp(3.45rem,15.5vw,4.4rem); }
  footer { padding-left:16px; padding-right:16px; }
  .about-manifesto,.about-years,.about-culture,.about-processes,.factory-processes,.about-cta { padding-left:16px; padding-right:16px; }
}

@media (hover:none) {
  .project-action:hover,.design-partnership-copy button:hover,.explore-request:hover { transform:none; }
  .factory-tile img { transform:none!important; }
}

/* Mobile-first final: composição própria para celulares e tablets estreitos. */
@media (max-width:768px) {
  html,body { width:100%; max-width:100%; overflow-x:hidden; }
  body { font-size:16px; }
  img,video { max-width:100%; }

  .site-header { height:60px; padding:env(safe-area-inset-top) 16px 0; }
  .site-header.scrolled,.site-header.menu-open { height:60px; }
  .brand { width:112px; height:38px; }
  .about-header.menu-open .brand img { filter:none; }
  .menu-button { min-width:52px; min-height:48px; padding:0; text-align:right; }
  nav { position:fixed; top:60px; bottom:auto; padding:1rem 16px 1.4rem; max-height:calc(100dvh - 60px); gap:0; overflow-y:auto; }
  nav a,.nav-catalog,.nav-contact { min-height:50px; padding:.35rem 0; font-size:1rem; }

  .hero { height:72svh; min-height:520px; max-height:680px; }
  .hero-photo { object-position:58% center; }
  .hero-wordmark { width:86vw; }
  .hero>p { left:16px; bottom:18px; font-size:.68rem; }

  .manifesto { padding:5.2rem 18px 4.5rem; }
  .manifesto h1 { max-width:100%; margin-top:1.5rem; font-size:clamp(3rem,13.8vw,5.4rem); line-height:.92; overflow-wrap:normal; }
  .manifesto-copy { margin-top:2.5rem; font-size:1rem; line-height:1.58; }
  .manifesto-copy strong { margin-top:1.7rem; }

  .contexts { padding-bottom:4.5rem; }
  .contexts-track { gap:10px; }
  .contexts figure { width:84vw; }
  .contexts figure:first-child { margin-left:18px; }
  .contexts img { aspect-ratio:1.35; }

  .explore-intro,.explore-intro.is-open { min-height:auto; padding:0 18px 8rem; display:grid; grid-template-columns:1fr; grid-template-rows:auto auto auto; align-content:start; }
  .explore-image,.explore-intro.is-open .explore-image { width:calc(100% + 36px); height:58vw; min-height:220px; max-height:330px; margin:0 -18px 2.8rem; }
  .explore-image img { width:100%; height:100%; object-fit:cover; object-position:24% center; }
  .explore-copy,.explore-intro.is-open .explore-copy { margin:0; }
  .explore-intro h2,.explore-intro.is-open h2 { font-size:clamp(4.15rem,18.5vw,7rem); line-height:.8; }
  .product-menu,.explore-intro.is-open .product-menu { width:100%; padding:2.2rem 0 0; display:grid; grid-template-columns:1fr 1fr; gap:.2rem 1rem; opacity:1; transform:none; pointer-events:auto; }
  .category-button { min-height:46px; width:100%; font-size:.95rem; }
  .explore-request { left:18px; right:60px; bottom:20px; width:auto; min-height:50px; }
  .r-mark { right:18px; bottom:28px; }

  .category-preview,.category-preview.is-visible { max-height:none; padding:3.25rem 16px 5rem; opacity:1; transform:none; }
  .category-stage,.category-stage.has-carousel.is-carousel-open { height:auto; grid-template-columns:1fr; grid-template-rows:minmax(260px,72vw) auto 0fr; }
  .category-stage.has-carousel.is-carousel-open { grid-template-rows:minmax(260px,72vw) auto minmax(230px,58vw); }
  .category-main-figure { height:min(72vw,380px); }
  .category-label-cover { width:14%; }
  .category-side-trigger { right:10px; bottom:10px; top:auto; min-height:48px; padding:.55rem .7rem; flex-direction:row; gap:.45rem; color:var(--ink); background:rgba(255,255,255,.92); transform:none; }
  .category-side-trigger>span { font-family:var(--font-body); font-size:.78rem; writing-mode:horizontal-tb; transform:none; }
  .category-side-trigger { pointer-events:none; }
  .category-side-trigger i { display:none; }
  .category-extra-carousel { grid-column:1; grid-row:3; }
  .category-extra-track { height:min(58vw,300px); }
  .preview-actions { padding:1rem 0 0; }
  .preview-actions a { width:100%; padding:.8rem 0; }

  .ways { padding:5rem 18px 4rem; }
  .ways .eyebrow { margin-bottom:2rem; font-size:.82rem; }
  .way-button { min-height:58px; padding:.32em 0; font-size:clamp(2.45rem,10.7vw,4rem); line-height:.94; }
  .ways-gallery.is-open { max-height:320px; margin-top:1rem; }
  .ways-gallery img { height:min(58vw,270px); }

  .product-cloud { padding:4.8rem 18px; }
  .product-cloud-canvas { display:grid; grid-template-columns:1fr 1fr; gap:3.5rem 12px; }
  .cloud-item,.cloud-item:nth-child(n) { width:auto!important; margin:0!important; justify-self:stretch; }
  .cloud-item:nth-child(4n+1) { grid-column:1/-1; width:78%!important; justify-self:start; }
  .cloud-item:nth-child(4n+3) { margin-top:12vw!important; }
  .cloud-item img { width:100%; height:auto; }

  .product-categories { padding:0 18px 6rem; gap:2.4rem; }
  .category img { aspect-ratio:1.15; object-fit:contain; }

  .collection { padding-bottom:6.5rem; }
  .collection-title,.collection-title-right { padding:4rem 18px 2.5rem; grid-template-columns:30px 1fr; }
  .collection-title h2 { font-size:clamp(4.4rem,19vw,7rem); line-height:.78; }
  .collection-title p { font-size:1rem; }
  .collection-title a { grid-column:2; margin-top:1.5rem; min-height:44px; display:flex; align-items:center; }
  .editorial-grid,.nomia-grid,.vert-grid,.norm-grid { padding:0 18px; display:grid; grid-template-columns:1fr; gap:12px; }
  .editorial-grid figure,.editorial-grid p,.n-main,.v-white,.s-main,.v-lobby,.s-blue { position:static; width:100%; height:auto; grid-column:1; }
  .editorial-grid figure img,.n-main img,.v-white img,.s-main img,.v-lobby img,.s-blue img,.n-office img { width:100%; aspect-ratio:1.12!important; object-fit:cover; }
  .editorial-grid p { padding:1.4rem 0 1.8rem; font-size:1rem; line-height:1.55; }

  .projects { padding:5rem 18px 6rem; display:grid; grid-template-columns:1fr; gap:2.5rem; }
  .projects-copy,.projects-banner { grid-column:1; }
  .projects-copy h2 { margin:1.25rem 0 1.8rem; font-size:clamp(3.4rem,14.5vw,5.2rem); line-height:.92; }
  .projects-copy>p:not(.eyebrow) { font-size:1rem; }
  .projects-banner { width:calc(100% + 36px); margin-left:-18px; aspect-ratio:1.05; }
  .cases-title { left:18px; font-size:1.5rem; }

  .design-partnership { padding:5rem 18px; }
  .design-partnership-intro { gap:2rem; }
  .design-partnership h2 { font-size:clamp(3.55rem,15vw,5.2rem); line-height:.82; }
  .design-partnership-copy p { font-size:1rem; line-height:1.58; }
  .design-partnership-copy button { width:100%; }
  .design-partnership-steps { margin:3rem 0 2.5rem; display:block; }
  .design-partnership-steps li,.design-partnership-steps li:not(:first-child) { min-height:58px; padding:.8rem 0; flex-direction:row; align-items:center; gap:1rem; border-right:0; border-bottom:1px solid var(--line); }
  .design-track { height:clamp(240px,68vw,350px); overflow-x:auto; }

  .finishes { padding:2.5rem 0; }
  .finishes-layout { overflow-x:auto; overscroll-behavior-inline:contain; }
  .finishes-layout img { width:auto; min-width:720px; height:auto; max-width:none; transform:none; }

  .contact { padding:5rem 18px 4rem; }
  .contact h2 { margin:1.5rem 0 2.5rem; font-size:clamp(3.45rem,15vw,5rem); line-height:.84; }
  .contact-line { white-space:normal; }
  .contact-row { display:block; }
  .contact-row p { font-size:1rem; }
  .contact-row a { width:100%; min-width:0; min-height:52px; margin-top:1.8rem; align-items:center; }
  footer { padding:3.5rem 18px 2rem; display:grid; grid-template-columns:1fr; gap:1.8rem; font-size:.88rem; }
  .footer-brand,.copyright { grid-column:1; }
  footer div:not(.footer-brand) { padding-top:1rem; border-top:1px solid var(--line); }
  footer a { min-height:38px; display:flex; align-items:center; }
  .copyright { margin-top:1rem; }

  .request-dialog,.catalog-dialog,.contact-dialog { width:100vw; max-width:none; height:100dvh; max-height:100dvh; margin:0; }
  .request-layout { min-height:100%; grid-template-columns:1fr; }
  .request-form-panel { padding:4.2rem 18px 2rem; }
  .request-form-panel h2,.design-request-dialog .request-form-panel h2 { font-size:clamp(2.8rem,12vw,4rem); }
  .request-image { min-height:220px; }
  .request-image img { min-height:220px; aspect-ratio:1.35; object-fit:cover; }
  .catalog-dialog-inner { padding:.5rem; }
  .catalog-dialog header { position:sticky; top:0; z-index:2; background:var(--paper); }
  .catalog-dialog img { min-width:760px; }
  .contact-dialog-inner { min-height:100%; padding:4.5rem 18px 2rem; }
  .contact-dialog h2 { font-size:clamp(3.6rem,16vw,5.2rem); }
  .contact-details>a,.contact-detail-row { min-height:72px; padding-right:0; }
  .image-lightbox-inner { padding:4.5rem 12px 1rem; }

  .about-hero { height:72svh; min-height:520px; max-height:680px; }
  .about-film { object-position:52% center; }
  .about-film-title { right:18px; bottom:24px; font-size:clamp(4.4rem,20vw,7rem); }
  .about-manifesto { padding:5rem 18px; grid-template-columns:1fr; gap:2rem; }
  .about-manifesto h2 { margin-top:0; font-size:clamp(3rem,12.8vw,4.8rem); line-height:.88; }
  .about-manifesto-copy { max-width:none; font-size:1rem; }
  .about-years { padding:4.2rem 18px; grid-template-columns:1fr; gap:2rem; }
  .about-year { font-size:clamp(3.1rem,14vw,4.8rem); }
  .about-years>p { font-size:1.2rem; line-height:1.35; }
  .about-processes { padding:5rem 18px; grid-template-columns:1fr; gap:2.5rem; }
  .about-processes .process-intro h2 { font-size:clamp(3.7rem,15.5vw,5.5rem); }
  .process-intro>p:last-child { margin-top:1.8rem; font-size:1rem; }
  .process-teaser { aspect-ratio:4/3; }
  .process-teaser-action em { font-size:1.55rem; }
  .about-culture { padding:4rem 18px; grid-template-columns:1fr; gap:2.5rem; }
  .about-culture>figure img { aspect-ratio:1; object-position:center; }
  .culture-grid { grid-template-columns:1fr; gap:1.4rem; }
  .culture-grid article { padding-top:1rem; }
  .culture-grid h2 { font-size:2.2rem; }
  .culture-grid p:last-child { font-size:1rem; }
  .factory-processes { padding:5rem 18px; overflow:hidden; }
  .factory-heading { margin-bottom:2.5rem; }
  .factory-heading h2 { font-size:clamp(3.8rem,15.5vw,5.5rem); }
  .factory-mosaic { width:calc(100vw - 18px); gap:10px; padding-right:18px; }
  .factory-tile,.factory-tile:nth-child(n) { flex:0 0 82vw; min-height:112vw; }
  .factory-tile-copy h3 { font-size:2.25rem; }
  .factory-tile-copy p { font-size:.95rem; }
  .about-cta { min-height:390px; padding:4rem 18px; }
  .about-cta p { font-size:clamp(3.6rem,15.5vw,5.2rem); }
  .about-cta a { min-width:min(100%,290px); min-height:50px; padding:.9rem 1rem; display:flex; align-items:center; justify-content:space-between; border:1px solid #fff; }
  .film-player-controls { left:8px; right:8px; bottom:max(8px,env(safe-area-inset-bottom)); }

  .reveal,.cloud-item.reveal,.finishes .reveal { opacity:1; filter:none; transform:none; }
  .contact.motion-ready .eyebrow,.contact.motion-ready .contact-word>span,.contact.motion-ready .contact-row { opacity:1; transform:none; }
}

@media (max-width:420px) {
  .hero,.about-hero { height:68svh; min-height:500px; }
  .manifesto,.ways,.projects,.design-partnership,.contact { padding-left:16px; padding-right:16px; }
  .explore-intro,.explore-intro.is-open { padding-left:16px; padding-right:16px; }
  .explore-image,.explore-intro.is-open .explore-image { width:calc(100% + 32px); margin-left:-16px; margin-right:-16px; }
  .product-menu,.explore-intro.is-open .product-menu { grid-template-columns:1fr; gap:0; }
  .category-button { min-height:42px; }
  .projects-banner { width:calc(100% + 32px); margin-left:-16px; }
  .about-manifesto,.about-years,.about-processes,.about-culture,.factory-processes,.about-cta { padding-left:16px; padding-right:16px; }
  .film-player-controls { grid-template-columns:40px minmax(0,1fr) auto; }
  .film-player-controls button { padding:.4rem; font-size:.72rem; }
}

/* Correção mobile integral: todo o conteúdo em fluxo, sem cortes ou larguras de desktop. */
@media (max-width:768px) {
  html { overflow-x:clip; scroll-padding-top:60px; }
  body { overflow-x:clip; }
  main,main>section,footer { width:100%; max-width:100%; }
  button,a,input { -webkit-tap-highlight-color:transparent; }

  .hero,.about-hero {
    height:clamp(500px,72svh,680px);
    min-height:0;
    max-height:none;
  }
  .hero-photo,.about-film { width:100%; height:100%; }
  .scroll-cue { width:46px; height:46px; right:14px; bottom:14px; }

  .contexts-track,.design-track,.factory-mosaic {
    scroll-padding-inline:18px;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }
  .contexts figure,.design-slide,.factory-tile { scroll-snap-stop:always; }

  .explore-intro,.explore-intro.is-open { overflow:visible; }
  .category-stage,.category-stage.has-carousel.is-carousel-open {
    min-width:0;
    overflow:visible;
  }
  .category-main-figure { min-width:0; }
  .category-main-figure img { width:100%; height:100%; object-fit:contain; }
  .category-extra-carousel { min-width:0; overflow:hidden; }
  .category-extra-track { overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; }
  .category-extra-track figure { scroll-snap-align:start; }

  /* As três coleções possuem conteúdo completo e passam a integrar o mobile. */
  .collection { display:block; width:100%; padding-bottom:5.5rem; }
  .collection-title,.collection-title-right {
    width:100%;
    padding:4rem 18px 2.3rem;
    grid-template-columns:28px minmax(0,1fr);
    gap:.7rem 1rem;
  }
  .collection-title h2 { overflow-wrap:normal; word-break:normal; }
  .collection-title a { width:100%; justify-content:space-between; }
  .editorial-grid,.nomia-grid,.vert-grid,.norm-grid {
    width:100%;
    height:auto;
    min-height:0;
    padding:0 18px;
  }
  .editorial-grid figure,
  .editorial-grid figure:nth-child(n),
  .editorial-grid p,
  .n-main,.v-white,.s-main,.v-lobby,.s-blue {
    position:static;
    inset:auto;
    width:100%;
    height:auto;
    margin:0;
    grid-column:1;
  }
  .editorial-grid figure img,
  .editorial-grid figure:nth-child(n) img,
  .n-main img,.v-white img,.s-main img,.v-lobby img,.s-blue img,.n-office img {
    display:block;
    width:100%;
    height:auto;
    max-height:none;
    aspect-ratio:auto!important;
    object-fit:contain;
  }
  .editorial-grid p { max-width:34rem; }

  /* A arte de acabamentos e o catálogo aparecem inteiros, sem rolagem lateral obrigatória. */
  .finishes { padding:2.5rem 12px; }
  .finishes-layout { width:100%; overflow:visible; }
  .finishes-layout img {
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
    height:auto;
  }
  .catalog-dialog { overflow:hidden; }
  .catalog-dialog-inner { height:100%; overflow:auto; overscroll-behavior:contain; }
  .catalog-dialog img { display:block; width:100%; min-width:0; max-width:100%; height:auto; }

  .request-dialog,.contact-dialog { overflow:hidden; }
  .request-layout { height:100%; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
  .request-form-panel { min-width:0; }
  .request-form-panel form { width:100%; }
  .request-form-panel input,.request-form-panel select,.request-form-panel textarea { width:100%; min-width:0; font-size:16px; }
  .request-image { min-height:260px; }
  .request-image img { width:100%; min-height:260px; height:100%; aspect-ratio:auto; object-fit:cover; }
  .design-request-dialog .request-image img { object-position:center 54%; }

  .image-lightbox-inner { width:100%; max-width:100%; }
  .image-lightbox img { max-width:calc(100vw - 24px); max-height:calc(100dvh - 7rem); object-fit:contain; }
  .image-lightbox-nav { top:auto; bottom:max(18px,env(safe-area-inset-bottom)); transform:none; backdrop-filter:blur(7px); }
  .image-lightbox-prev { left:18px; }
  .image-lightbox-next { right:18px; }

  .about-manifesto h2 br { display:none; }
  .about-manifesto h2 i::before { content:"\00a0"; }
  .about-year { width:100%; display:grid; grid-template-columns:auto minmax(24px,1fr) auto; align-items:center; gap:.45rem; }
  .about-year i { width:100%; min-width:24px; margin:0; }
  .process-teaser-open { width:100%; min-width:0; }
  .process-teaser { width:100%; height:auto; min-height:0; object-fit:cover; }
  .about-culture>figure { width:100%; min-width:0; }
  .about-culture>figure img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; object-position:center; }
  .factory-mosaic { padding-bottom:1rem; }
  .factory-tile,.factory-tile:nth-child(n) { min-height:min(112vw,510px); }
  .factory-tile-copy { transform:none; }
  .factory-tile-copy p { opacity:1; transform:none; }

  .film-dialog { width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; }
  .film-dialog-inner,.film-player { width:100%; height:100%; }
  .film-full { width:100%; height:100%; object-fit:contain; }
  .film-dialog-close { top:max(10px,env(safe-area-inset-top)); right:10px; min-width:44px; min-height:44px; }
  .film-player-controls {
    grid-template-columns:42px minmax(0,1fr) auto;
    grid-template-rows:auto auto auto;
    gap:8px;
    padding:10px;
  }
  .film-play { grid-column:1; grid-row:1; }
  .film-time { grid-column:2; grid-row:1; align-self:center; }
  .film-progress { grid-column:1/-1; grid-row:2; width:100%; }
  .film-mute { grid-column:1; grid-row:3; }
  .film-volume { grid-column:2; grid-row:3; width:100%; }
  .film-fullscreen { grid-column:3; grid-row:3; }
}

@media (max-width:420px) {
  .hero,.about-hero { height:clamp(470px,66svh,590px); }
  .collection-title,.collection-title-right,.editorial-grid,.nomia-grid,.vert-grid,.norm-grid { padding-left:16px; padding-right:16px; }
  .about-film-title { font-size:clamp(4rem,19vw,5.2rem); }
  .request-image { min-height:230px; }
  .request-image img { min-height:230px; }
  .film-time { font-size:.66rem; }
  .film-fullscreen { white-space:nowrap; }
}

@media (max-width:768px) and (orientation:landscape) and (max-height:520px) {
  .hero,.about-hero { height:100svh; min-height:390px; }
  .hero-wordmark { width:min(58vw,520px); }
  .about-film-title { font-size:clamp(3.6rem,12vw,5.6rem); }
  .site-header { height:54px; }
  nav { top:54px; max-height:calc(100dvh - 54px); }
}

/* Banner inicial da Home: proporção editorial mais baixa no mobile. */
@media (max-width:768px) and (orientation:portrait) {
  .hero {
    height:clamp(320px,88vw,590px);
    min-height:0;
    max-height:590px;
  }
  .hero-photo { object-position:50% center; }
  .hero-wordmark { width:72vw; }
  .hero>p { bottom:clamp(14px,4vw,24px); }

}

@media (max-width:768px) {
  .film-player:fullscreen,
  .film-player:-webkit-full-screen,
  .film-player.is-pseudo-fullscreen {
    width:100vw;
    height:100dvh;
    min-height:0;
    background:#000;
  }
  .film-player.is-pseudo-fullscreen {
    position:fixed;
    inset:0;
    z-index:100;
  }
  .film-player:fullscreen .film-full,
  .film-player:-webkit-full-screen .film-full,
  .film-player.is-pseudo-fullscreen .film-full {
    width:100%;
    height:100%;
    object-fit:contain;
  }
}

@media (max-width:768px) and (orientation:portrait) {
  .film-player.is-pseudo-fullscreen {
    top:50%;
    left:50%;
    right:auto;
    bottom:auto;
    width:100dvh;
    height:100vw;
    transform:translate(-50%,-50%) rotate(90deg);
    transform-origin:center;
  }
}

/* Sequência e enquadramento mobile iguais à Home desktop. */
@media (max-width:768px) {
  /* As coleções editoriais não fazem parte da sequência atual da Home. */
  .collection { display:none!important; }
  #request-dialog .request-image { display:none; }

  .projects {
    padding:4.75rem 16px 6rem;
    display:block;
    overflow:hidden;
  }
  .projects-copy {
    width:100%;
    max-width:none;
    padding:0;
  }
  .projects-copy h2 {
    width:100%;
    max-width:none;
    margin:1.25rem 0 1.75rem;
    font-size:clamp(3.15rem,13.6vw,5rem);
    line-height:.9;
    overflow-wrap:normal;
    word-break:normal;
  }
  .projects-copy>p:not(.eyebrow) {
    width:100%;
    max-width:none;
    font-size:1rem;
    line-height:1.58;
  }
  .project-actions {
    width:100%;
    max-width:none;
    margin-top:2rem;
  }
  .project-action { width:100%; min-height:52px; }

  .projects-banner {
    width:calc(100% + 32px);
    height:min(92vw,460px);
    aspect-ratio:auto;
    margin:3rem -16px 3.7rem;
  }
  .cases-track {
    width:100%;
    height:100%;
    gap:10px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:none;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }
  .cases-track figure,
  .cases-track figure.portrait {
    flex:0 0 auto;
    width:auto;
    height:100%;
    display:block;
    background:#082532;
  }
  .cases-track img,
  .cases-track figure.portrait img {
    display:block;
    width:auto;
    max-width:none;
    height:100%;
    object-fit:contain;
    object-position:center;
  }
  .design-track { scroll-snap-type:none; }
  .projects-banner::after { height:3rem; }
  .cases-title {
    left:16px;
    top:calc(100% + .7rem);
    font-size:1.5rem;
  }
  .design-carousel>p { line-height:1.05; }
  .design-partnership { padding-bottom:2rem; }
  .finishes { padding:1rem 0 2rem; }
  .finishes-layout { display:none; }
  .finishes-mobile { width:100%; margin:0; display:grid; gap:0; overflow:hidden; background:#fff; }
  .finishes-mobile-copy { padding:3rem 20px 0; color:var(--ink); background:#fff; }
  .finishes-mobile-eyebrow { margin:0 0 1.5rem; color:var(--orange); font-size:.7rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
  .finishes-mobile-copy h3 { margin:0; max-width:10ch; font-family:var(--font-display); font-size:clamp(3.35rem,15vw,5rem); font-weight:400; line-height:.84; letter-spacing:-.065em; }
  .finishes-mobile-description { max-width:35rem; margin:2rem 0 2.5rem; color:#657073; font-size:1rem; line-height:1.5; }
  .finishes-mobile-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .finishes-mobile-stats p { min-height:104px; margin:0; padding:1rem 0; display:flex; flex-direction:column; justify-content:center; }
  .finishes-mobile-stats p:nth-child(odd) { padding-right:1rem; border-right:1px solid var(--line); }
  .finishes-mobile-stats p:nth-child(even) { padding-left:1rem; }
  .finishes-mobile-stats p:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .finishes-mobile-stats strong { color:var(--orange); font-family:var(--font-display); font-size:2.9rem; font-weight:400; line-height:.8; letter-spacing:-.055em; }
  .finishes-mobile-stats sup { font-size:.45em; vertical-align:top; }
  .finishes-mobile-stats span { margin-top:.7rem; color:#657073; font-size:.67rem; line-height:1.15; letter-spacing:.035em; text-transform:uppercase; }
  .finishes-mobile-moodboard { width:100%; margin-top:1.5rem; overflow:hidden; background:#fff; }
  .finishes-mobile-moodboard img { display:block; width:100%; height:auto; max-width:none; transform:none; }
}
