:root { --ink:#11110f; --gold:#f5ad16; --cream:#ffffff; --line:rgba(255,255,255,.18); }
* { box-sizing:border-box; }
html { overflow-x:clip; scroll-behavior:smooth; }
body { width:100%; margin:0; overflow-x:clip; background:var(--cream); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
body.site-is-loading { overflow:hidden; }
.site-loader { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; background:#f7f6f2; opacity:1; transition:opacity 240ms cubic-bezier(.23,1,.32,1); }
.site-loader[hidden] { display:none; }
.site-loader.is-leaving { opacity:0; pointer-events:none; }
.site-loader-content { display:grid; justify-items:center; gap:16px; }
.site-loader-mark { width:112px; height:112px; overflow:hidden; border:1px solid rgba(17,17,15,.08); border-radius:28px; background:#FFFFFF; box-shadow:0 20px 55px rgba(17,17,15,.12); animation:gelb-loader-breathe 1.6s cubic-bezier(.77,0,.175,1) infinite alternate; }
.site-loader-mark img { display:block; width:100%; height:100%; object-fit:cover; }
.site-loader-progress { width:118px; height:3px; overflow:hidden; border-radius:999px; background:rgba(17,17,15,.12); }
.site-loader-progress span { display:block; width:48%; height:100%; border-radius:inherit; background:#f5ad16; animation:gelb-loader-progress 1.05s cubic-bezier(.77,0,.175,1) infinite; transform:translateX(-110%); }
.site-loader-label { color:#5f5b53; font-family:'Montserrat',Arial,Helvetica,sans-serif; font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
@keyframes gelb-loader-breathe { from { opacity:.84; transform:scale(.97); } to { opacity:1; transform:scale(1); } }
@keyframes gelb-loader-progress { 0% { transform:translateX(-110%); } 58%,100% { transform:translateX(220%); } }
button,input,textarea { font:inherit; }
a { color:inherit; text-decoration:none; }
a:focus-visible,button:focus-visible,input:focus-visible { outline:3px solid rgba(245,173,22,.72); outline-offset:4px; }
.shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.hero { position:relative; width:100%; height:100svh; min-height:0; color:white; overflow:hidden; background:#141412; }
.hero-carousel,.hero-slide { position:absolute; inset:0; }
.hero-carousel { z-index:0; }
.hero-slide { opacity:0; overflow:hidden; transition:opacity 1s ease; }
.hero-slide.is-active { z-index:1; opacity:1; }
.hero-slide img { width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.07); transition:transform 7s cubic-bezier(.16,1,.3,1); }
.hero-slide:nth-child(2) img,.hero-slide:nth-child(3) img { object-position:center 48%; }
.hero-slide.is-active img { transform:scale(1.015); }
.hero-shade { position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(8,8,7,.92),rgba(10,10,9,.69) 46%,rgba(9,9,8,.25) 75%),linear-gradient(0deg,rgba(9,9,8,.76),transparent 42%); pointer-events:none; }
.nav { position:fixed; z-index:10; top:14px; left:50%; width:min(1180px,calc(100% - 32px)); height:88px; display:flex; align-items:center; justify-content:space-between; padding-inline:24px; border:1px solid rgba(255,255,255,.17); border-radius:22px; background:rgba(12,12,11,.72); box-shadow:0 16px 50px rgba(0,0,0,.2); backdrop-filter:blur(18px) saturate(1.15); -webkit-backdrop-filter:blur(18px) saturate(1.15); transform:translate(-50%,0); transition:transform .42s cubic-bezier(.16,1,.3,1),top .35s,height .35s,background .35s,box-shadow .35s,border-color .35s; will-change:transform; }
.nav.is-scrolled { top:10px; height:80px; border-color:rgba(255,255,255,.2); background:rgba(12,12,11,.84); box-shadow:0 18px 55px rgba(0,0,0,.28); }
.nav.is-hidden { transform:translate(-50%,-145%); }
.brand { display:flex; width:196px; height:66px; align-items:center; overflow:hidden; }
.brand img { width:100%; height:100%; object-fit:contain; }
.nav-links { display:flex; justify-content:flex-end; margin-left:auto; gap:46px; color:#f7f5f0; font-family:'Montserrat',Arial,Helvetica,sans-serif; font-size:15px; font-weight:600; letter-spacing:.075em; text-transform:uppercase; }
.nav-links a:hover { color:var(--gold); }
.menu-button { display:none; border:1px solid rgba(255,255,255,.28); border-radius:999px; background:rgba(255,255,255,.08); color:white; padding:12px 17px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; backdrop-filter:blur(12px); }
.hero-content { position:relative; z-index:2; display:flex; min-height:100%; flex-direction:column; align-items:flex-start; justify-content:center; padding-block:120px; text-align:left; }
.eyebrow { display:flex; align-items:center; gap:11px; margin:0 0 25px; color:#dad8d1; font-size:10px; font-weight:700; letter-spacing:.28em; text-transform:uppercase; }
.eyebrow span { display:block; width:34px; height:2px; background:var(--gold); }
.hero h1,.section-intro h2,.work h2,.team h2,.office h2,.contact h2 { margin:0; font-family:'Montserrat',Arial,Helvetica,sans-serif; font-style:normal; font-weight:700; letter-spacing:-.04em; line-height:.94; text-transform:uppercase; }
.hero h1 { max-width:760px; font-size:clamp(48px,4.6vw,72px); line-height:.98; letter-spacing:-.032em; }
.hero .hero-logo-title { display:block; width:clamp(390px,44vw,650px); max-width:84vw; margin:0; }
.hero .hero-logo-title img { display:block; width:100%; height:auto; object-fit:contain; filter:drop-shadow(0 14px 30px rgba(0,0,0,.28)); }
.hero > .nav .nav-actions { margin-left:auto; }
h2 { font-size:clamp(48px,5.2vw,76px); }
.gelb-title { color:#000000; }
.hero .gelb-title,.work .gelb-title,.contact .gelb-title { color:#FFFFFF; }
.title-line { display:block; }
.title-highlight { color:#FFC107; font-style:normal; font-weight:600; letter-spacing:-.025em; }
.title-highlight.title-line { font-size:1em; }
.hero .title-highlight { font-weight:400; letter-spacing:.025em; }
.hero-copy { max-width:620px; margin:31px 0 0; color:#d7d5cf; font-size:17px; line-height:1.7; }
.hero-actions { display:flex; align-items:center; justify-content:flex-start; gap:38px; margin-top:38px; }
.button-gold { background:var(--gold); color:#12110e; min-width:224px; }
.button-gold span { color:#12110e; }
.text-link { position:relative; isolation:isolate; display:inline-flex; min-width:236px; min-height:58px; align-items:center; justify-content:space-between; gap:28px; overflow:hidden; padding:7px 8px 7px 24px; border:1px solid rgba(255,255,255,.24); border-radius:999px; background:rgba(13,13,12,.82); color:#FFFFFF; box-shadow:0 12px 34px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.1); font-family:'Montserrat',Arial,Helvetica,sans-serif; font-size:13px; font-weight:600; letter-spacing:.01em; backdrop-filter:blur(18px) saturate(1.08); -webkit-backdrop-filter:blur(18px) saturate(1.08); transition:transform 150ms cubic-bezier(.23,1,.32,1),border-color 180ms ease,background-color 180ms ease,box-shadow 180ms ease; }
.text-link::before { position:absolute; z-index:-1; inset:0; border-radius:inherit; background:linear-gradient(110deg,rgba(255,255,255,.055),transparent 42%); content:""; pointer-events:none; }
.text-link span { display:grid; width:42px; height:42px; flex:0 0 auto; place-items:center; border:1px solid rgba(255,255,255,.42); border-radius:50%; background:#FFC107; color:#090909; box-shadow:inset 0 1px 0 rgba(255,255,255,.55); font-size:18px; font-weight:500; line-height:1; transition:transform 150ms cubic-bezier(.23,1,.32,1),background-color 180ms ease; }
.text-link:focus-visible { outline:3px solid rgba(255,193,7,.42); outline-offset:4px; border-color:#FFC107; }
.text-link:active { transform:scale(.97); }
.text-link:active span { transform:scale(.94); }
@media (hover:hover) and (pointer:fine) {
  .text-link:hover { border-color:rgba(255,193,7,.56); background:rgba(20,20,18,.9); box-shadow:0 15px 38px rgba(0,0,0,.29),inset 0 1px 0 rgba(255,255,255,.13); transform:translateY(-1px); }
  .text-link:hover span { background:#FFD23F; }
}
@media (prefers-reduced-motion:reduce) {
  .text-link,.text-link span { transition:background-color 120ms ease,border-color 120ms ease; }
  .text-link:hover,.text-link:active,.text-link:active span { transform:none; }
}

/* Editorial navigation */
.nav { justify-content:flex-start; gap:18px; padding-inline:17px 24px; overflow:visible; }
.nav .brand { width:190px; height:64px; flex:0 0 auto; }
.menu-button { position:relative; display:inline-flex; width:58px; height:58px; flex:0 0 auto; align-items:center; justify-content:center; margin:0; padding:0; border:1px solid rgba(255,255,255,.2); border-radius:18px; background:rgba(255,255,255,.07); color:#FFFFFF; cursor:pointer; transition:transform 150ms cubic-bezier(.23,1,.32,1),border-color 180ms ease,background-color 180ms ease; }
.menu-button:active { transform:scale(.97); }
.menu-button-lines { position:relative; display:grid; width:21px; gap:5px; }
.menu-button-lines i { display:block; width:100%; height:2px; border-radius:99px; background:currentColor; transform-origin:center; transition:transform 200ms cubic-bezier(.23,1,.32,1),opacity 140ms cubic-bezier(.23,1,.32,1); }
.menu-button[aria-expanded="true"] { border-color:rgba(255,193,7,.62); background:#FFC107; color:#11110f; }
.menu-button[aria-expanded="true"] .menu-button-lines i:first-child { transform:translateY(7px) rotate(45deg); }
.menu-button[aria-expanded="true"] .menu-button-lines i:nth-child(2) { opacity:0; }
.menu-button[aria-expanded="true"] .menu-button-lines i:last-child { transform:translateY(-7px) rotate(-45deg); }
.menu-button-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.nav-links { position:absolute; top:calc(100% + 12px); left:0; display:grid; width:min(410px,calc(100vw - 32px)); gap:0; margin:0; padding:15px; border:1px solid rgba(255,255,255,.16); border-radius:22px; background:rgba(13,13,12,.96); box-shadow:0 26px 70px rgba(0,0,0,.34); opacity:0; pointer-events:none; transform:translateY(-8px) scale(.97); transform-origin:29px top; transition:opacity 180ms cubic-bezier(.23,1,.32,1),transform 180ms cubic-bezier(.23,1,.32,1); backdrop-filter:blur(22px) saturate(1.1); -webkit-backdrop-filter:blur(22px) saturate(1.1); }
.nav-links.is-open { display:grid; opacity:1; pointer-events:auto; transform:translateY(0) scale(1); }
.nav-menu-kicker { display:block; padding:9px 13px 14px; color:#9d9a92; font-family:'Montserrat',Arial,Helvetica,sans-serif; font-size:9px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.nav-links a { display:grid; min-height:64px; grid-template-columns:32px 1fr 28px; align-items:center; gap:7px; padding:0 13px; border-top:1px solid rgba(255,255,255,.1); color:#FFFFFF; font-family:'Montserrat',Arial,Helvetica,sans-serif; }
.nav-links a>span { color:#FFC107; font-size:9px; font-weight:700; letter-spacing:.1em; }
.nav-links a>strong { font-size:15px; font-weight:600; letter-spacing:.08em; }
.nav-links a>em { display:grid; width:28px; height:28px; place-items:center; border:1px solid rgba(255,255,255,.16); border-radius:50%; color:#c9c6be; font-size:12px; font-style:normal; transition:transform 150ms cubic-bezier(.23,1,.32,1),background-color 180ms ease,color 180ms ease; }
@media (hover:hover) and (pointer:fine) {
  .menu-button:hover { border-color:rgba(255,193,7,.54); background:rgba(255,193,7,.1); color:#FFC107; }
  .menu-button[aria-expanded="true"]:hover { background:#FFD23F; color:#11110f; }
  .nav-links a:hover { color:#FFFFFF; }
  .nav-links a:hover>em { background:#FFC107; color:#11110f; transform:rotate(45deg); }
}
@media (max-width:820px) {
  .nav { gap:12px; padding-inline:12px 17px; }
  .nav .brand { width:168px; height:56px; }
  .menu-button { width:50px; height:50px; border-radius:15px; }
  .nav-links { top:calc(100% + 9px); left:0; display:grid; padding:13px; }
  .nav-links.is-open { display:grid; }
}
@media (max-width:540px) {
  .nav { padding-inline:9px 13px; }
  .nav .brand { width:145px; height:49px; }
  .menu-button { width:46px; height:46px; border-radius:14px; }
  .nav-links { left:0; width:100%; }
  .nav-links a { min-height:60px; }
}

/* Minimal right-side header controls */
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; }
.nav { justify-content:flex-start; }
.nav .brand { margin-right:auto; }
.nav-actions { display:flex; align-items:center; gap:10px; }
.nav-language { position:relative; display:block; }
.nav-language::after { position:absolute; top:50%; right:14px; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; content:""; pointer-events:none; transform:translateY(-70%) rotate(45deg); }
.nav-language select { height:46px; padding:0 34px 0 17px; border:1px solid rgba(255,255,255,.2); border-radius:999px; appearance:none; background:rgba(255,255,255,.06); color:#FFFFFF; outline:none; font-family:'Montserrat',Arial,Helvetica,sans-serif; font-size:12px; font-weight:700; letter-spacing:.08em; cursor:pointer; }
.nav-language select:focus-visible { outline:3px solid rgba(245,173,22,.72); outline-offset:3px; }
.nav-language select option { background:#11110f; color:#FFFFFF; }
.nav-call { display:inline-flex; min-width:102px; height:46px; align-items:center; justify-content:center; padding:0 20px; border:1px solid rgba(255,255,255,.3); border-radius:999px; color:#FFFFFF; font-family:'Montserrat',Arial,Helvetica,sans-serif; font-size:12px; font-weight:600; letter-spacing:.02em; transition:transform 150ms cubic-bezier(.23,1,.32,1),border-color 180ms ease,background-color 180ms ease,color 180ms ease; }
.nav-call:active { transform:scale(.97); }
.nav-actions .menu-button { width:50px; height:50px; border:0; border-radius:50%; background:transparent; }
.nav-links { right:0; left:auto; width:min(330px,calc(100vw - 32px)); padding:10px; transform-origin:calc(100% - 25px) top; }
.nav-links a { display:flex; min-height:58px; align-items:center; padding:0 18px; border-top:1px solid rgba(255,255,255,.1); color:#FFFFFF; font-family:'Montserrat',Arial,Helvetica,sans-serif; font-size:14px; font-weight:600; letter-spacing:.08em; }
.nav-links a:first-child { border-top:0; }
@media (hover:hover) and (pointer:fine) {
  .nav-call:hover { border-color:#FFC107; background:#FFC107; color:#11110f; }
  .nav-language:hover select { border-color:rgba(255,193,7,.66); }
  .nav-links a:hover { background:rgba(255,193,7,.1); color:#FFC107; }
}
@media (max-width:820px) {
  .nav-actions { gap:7px; }
  .nav-language select { height:42px; padding-right:31px; padding-left:14px; }
  .nav-call { min-width:88px; height:42px; padding-inline:16px; }
  .nav-actions .menu-button { width:46px; height:46px; }
  .nav-links { right:0; left:auto; width:min(330px,calc(100vw - 24px)); }
}
@media (max-width:540px) {
  .nav .brand { width:132px; }
  .nav-actions { gap:4px; }
  .nav-language select { height:38px; padding:0 27px 0 11px; font-size:10px; }
  .nav-language::after { right:11px; }
  .nav-call { min-width:70px; height:38px; padding-inline:11px; font-size:10px; }
  .nav-actions .menu-button { width:40px; height:40px; }
  .nav-links { right:0; left:auto; width:min(300px,calc(100vw - 20px)); }
}
@media (prefers-reduced-motion:reduce) {
  .nav-links { transition:opacity 160ms ease; transform:none; }
  .menu-button-lines i,.nav-links a>em { transition:opacity 120ms ease,background-color 120ms ease,color 120ms ease; }
  .menu-button[aria-expanded="true"] .menu-button-lines i:first-child,
  .menu-button[aria-expanded="true"] .menu-button-lines i:last-child,
  .nav-links a:hover>em { transform:none; }
}
.hero-foot { position:absolute; z-index:2; bottom:0; left:50%; transform:translateX(-50%); min-height:108px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); color:#d8d6d0; }
.hero-foot p { margin:0; display:flex; align-items:center; gap:15px; font-size:11px; letter-spacing:.05em; line-height:1.45; }
.hero-foot strong { color:white; font-family:Georgia,serif; font-size:36px; font-weight:400; }
.status-dot { width:7px; height:7px; border-radius:99px; background:var(--gold); box-shadow:0 0 0 5px rgba(245,173,22,.12); }
.area { text-transform:uppercase; letter-spacing:.15em!important; }
.services { padding-block:76px 96px; }
.section-intro { margin-bottom:32px; }
.services-intro { display:block; }
.services-intro h2 { max-width:980px; font-size:clamp(40px,3.9vw,56px); line-height:.98; }
.services .title-highlight { font-weight:400; letter-spacing:.025em; }
.work .title-highlight { font-weight:400; letter-spacing:.025em; }
.eyebrow.dark { color:#6d6a63; }
.service-showcase { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.service-experience { position:relative; min-height:520px; overflow:hidden; border-radius:26px; background:#11110f; color:white; isolation:isolate; box-shadow:0 18px 55px rgba(18,17,14,.09); cursor:pointer; }
.service-experience-main { grid-column:1/-1; min-height:410px; height:clamp(410px,52svh,470px); }
.service-experience:not(.service-experience-main) { min-height:360px; height:clamp(360px,43svh,410px); }
.service-experience>img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.16,1,.3,1),filter .6s; }
.service-experience-main>img { object-position:center 57%; }
.service-experience:not(.service-experience-main)>img { object-position:center 54%; }
.service-experience::after { position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(7,7,6,.86) 0%,rgba(7,7,6,.14) 62%,rgba(7,7,6,.12)); content:""; }
.service-experience-main::after { background:linear-gradient(90deg,rgba(7,7,6,.82),rgba(7,7,6,.18) 68%),linear-gradient(0deg,rgba(7,7,6,.55),transparent 55%); }
.service-experience:hover>img { transform:scale(1.035); filter:saturate(1.05); }
.service-experience:focus-visible { outline:3px solid #FFC107; outline-offset:5px; }
.service-glow { position:absolute; z-index:-1; right:-10%; bottom:-35%; width:55%; aspect-ratio:1; border-radius:50%; background:rgba(245,173,22,.22); filter:blur(80px); opacity:.55; }
.service-content { position:absolute; left:44px; bottom:40px; max-width:500px; }
.service-experience-main .service-content { left:42px; bottom:36px; }
.service-content>p { margin:0 0 14px; color:var(--gold); font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.service-content h3 { margin:0; color:#FFFFFF; font-family:'Montserrat',Arial,Helvetica,sans-serif; font-size:clamp(38px,4.5vw,68px); font-weight:300; letter-spacing:-.035em; line-height:.95; }
.service-experience:not(.service-experience-main) .service-content h3 { font-size:clamp(22px,2.25vw,32px); }
.service-experience-main .service-content h3 { font-size:clamp(22px,2.25vw,32px); }
.service-content span { display:block; max-width:440px; margin-top:18px; color:rgba(255,255,255,.7); font-size:14px; line-height:1.65; }
.service-experience>a { position:absolute; z-index:2; top:28px; right:28px; display:flex; min-width:122px; min-height:48px; align-items:center; justify-content:space-between; gap:16px; padding:7px 8px 7px 18px; border:1px solid rgba(255,255,255,.38); border-radius:999px; background:rgba(12,12,11,.68); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; backdrop-filter:blur(16px); transition:background .3s,color .3s,border-color .3s,transform .3s; }
.service-experience>a b { display:grid; width:32px; height:32px; place-items:center; border-radius:50%; background:var(--gold); color:#111; font-size:16px; font-weight:400; transition:transform .35s; }
.service-experience>a:hover { border-color:white; background:white; color:var(--ink); }
.service-experience>a:hover b { transform:rotate(90deg); }

.partners { overflow:hidden; padding:70px 0 76px; border-block:1px solid rgba(255,255,255,.09); background:#11110f; color:#FFFFFF; }
.partners-heading { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:42px; }
.partners-heading p { margin:0; color:#FFC107; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.partners-heading h2 { max-width:620px; margin:0; font-family:'Montserrat',Arial,Helvetica,sans-serif; font-size:clamp(34px,4vw,56px); font-weight:700; letter-spacing:-.045em; line-height:.95; text-align:right; }
.brand-marquee { position:relative; overflow:hidden; }
.brand-marquee::before,.brand-marquee::after { position:absolute; z-index:2; top:0; bottom:0; width:min(13vw,170px); content:""; pointer-events:none; }
.brand-marquee::before { left:0; background:linear-gradient(90deg,#11110f,transparent); }
.brand-marquee::after { right:0; background:linear-gradient(270deg,#11110f,transparent); }
.brand-track { display:flex; width:max-content; will-change:transform; animation:brand-marquee 30s linear infinite; }
.brand-list { display:flex; flex:0 0 auto; align-items:center; gap:18px; padding-right:18px; }
.brand-item { display:flex; width:250px; min-height:112px; flex:0 0 auto; align-items:center; justify-content:center; flex-direction:column; border:1px solid rgba(255,255,255,.12); border-radius:22px; background:rgba(255,255,255,.035); box-shadow:inset 0 1px 0 rgba(255,255,255,.055); }
.brand-item strong { color:#F7F5F0; font-family:'Montserrat',Arial,Helvetica,sans-serif; font-size:24px; font-weight:700; letter-spacing:.06em; line-height:1; }
.brand-item span { margin-top:12px; color:rgba(255,255,255,.48); font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }
.brand-item-serif strong { font-family:Georgia,'Times New Roman',serif; letter-spacing:.08em; }
.brand-item-minimal strong { color:#FFC107; font-size:31px; font-weight:600; letter-spacing:-.07em; text-transform:lowercase; }
@keyframes brand-marquee { to { transform:translateX(-50%); } }
@media (hover:hover) and (pointer:fine) { .brand-marquee:hover .brand-track { animation-play-state:paused; } }
@media (prefers-reduced-motion:reduce) { .brand-track { width:100%; animation:none; } .brand-list { width:100%; overflow-x:auto; padding-inline:15px; } .brand-list[aria-hidden="true"] { display:none; } }
@media (max-width:820px) { .partners-heading{display:block}.partners-heading h2{max-width:540px;margin-top:14px;text-align:left}.brand-item{width:220px} }
@media (max-width:540px) { .partners{padding:54px 0 58px}.partners-heading{margin-bottom:30px}.partners-heading p{font-size:10px}.partners-heading h2{font-size:36px}.brand-item{width:190px;min-height:96px;border-radius:18px}.brand-item strong{font-size:20px}.brand-item span{font-size:10px} }
.work { padding-block:112px 125px; background:#151513; color:white; }
.work-head { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:54px; }
.work-head>p { max-width:390px; margin:0 0 5px; color:#aaa79e; font-size:14px; line-height:1.7; }
.project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.project-placeholder { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:470px; padding:28px; overflow:hidden; isolation:isolate; }
.project-small .project-placeholder { min-height:355px; }
.project-placeholder::before,.project-placeholder::after { content:""; position:absolute; inset:0; z-index:-1; }
.project-placeholder::before { background:linear-gradient(135deg,#36332e,#8f7554 50%,#1d1d1a); }
.closet-material::before { background:linear-gradient(135deg,#b4a48d,#3e342b 58%,#171715); }
.project-placeholder::after { background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%),repeating-linear-gradient(90deg,transparent 0 18%,rgba(255,255,255,.07) 18% 18.4%); }
.project-placeholder span { color:#d3cec3; font-size:9px; letter-spacing:.2em; text-transform:uppercase; }
.project-placeholder strong { margin-top:7px; font-family:Georgia,serif; font-size:28px; font-weight:400; }
.comparison,.project-small .comparison { position:relative; height:auto; aspect-ratio:4/5; overflow:hidden; background:#24231f; cursor:ew-resize; user-select:none; }
.comparison>img,.comparison-after img { width:100%; height:100%; object-fit:cover; }
.comparison-after { position:absolute; inset:0; clip-path:inset(0 50% 0 0); will-change:clip-path; }
.comparison-label { position:absolute; z-index:2; top:18px; padding:8px 10px; background:rgba(12,12,10,.75); color:white; font-size:8px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; backdrop-filter:blur(8px); }
.before-label { left:18px; }
.after-label { right:18px; }
.comparison-handle { position:absolute; z-index:3; top:0; bottom:0; left:50%; width:1px; background:rgba(255,255,255,.92); pointer-events:none; }
.comparison-handle span { position:absolute; top:50%; left:50%; display:grid; width:46px; height:46px; place-items:center; border-radius:50%; background:var(--gold); color:var(--ink); font-size:16px; transform:translate(-50%,-50%); box-shadow:0 8px 25px rgba(0,0,0,.28); }
.comparison input { position:absolute; z-index:4; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; }
.team { display:flex; height:100svh; min-height:680px; max-height:920px; flex-direction:column; justify-content:center; padding-block:clamp(54px,7svh,76px); }
.team-intro { display:flex; flex:0 0 auto; align-items:flex-end; justify-content:space-between; gap:7vw; margin-bottom:clamp(26px,3.5svh,38px); }
.team-intro h2 { max-width:760px; font-size:clamp(44px,5vw,72px); line-height:.96; }
.team .title-highlight { font-weight:400; letter-spacing:.025em; }
.team-intro h2 em { color:var(--gold); }
.team-intro>p { max-width:380px; margin:0 0 8px; color:#696761; font-size:15px; line-height:1.7; }
.team-grid { display:grid; min-height:0; flex:1 1 auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.team-member { display:flex; min-height:0; flex-direction:column; }
.team-photo { position:relative; min-height:0; flex:1 1 auto; overflow:hidden; border-radius:26px; background:#eee; }
.team-photo::after { position:absolute; inset:0; background:linear-gradient(0deg,rgba(9,9,8,.18),transparent 35%); content:""; pointer-events:none; }
.team-photo img { width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform 1s cubic-bezier(.16,1,.3,1),filter .5s; }
.team-photo-freddy img { object-position:68% center; }
.team-photo-karen img { object-position:center 16%; }
.team-member:hover .team-photo img { transform:scale(1.035); filter:saturate(.92); }
.team-profile-button { position:absolute; z-index:3; top:18px; right:18px; display:flex; min-height:46px; align-items:center; gap:13px; padding:6px 7px 6px 16px; border:1px solid rgba(255,255,255,.38); border-radius:999px; background:rgba(10,10,9,.7); color:#FFFFFF; box-shadow:0 12px 30px rgba(0,0,0,.2); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; backdrop-filter:blur(15px); -webkit-backdrop-filter:blur(15px); transition:background .3s,color .3s,border-color .3s,transform .3s; }
.team-profile-button span { display:grid; width:32px; height:32px; place-items:center; border-radius:50%; background:#FFC107; color:#000000; font-size:16px; font-weight:400; transition:transform .35s; }
.team-profile-button:hover { border-color:#FFC107; background:#000000; transform:translateY(-2px); }
.team-profile-button:hover span { transform:rotate(90deg); }
.team-meta { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:19px 5px 0; }
.team-meta h3 { margin:0 0 7px; font-size:22px; font-weight:600; letter-spacing:-.035em; }
.team-meta p { margin:0; color:#77736b; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.team-meta>span { color:var(--gold); font-size:10px; letter-spacing:.12em; }
.contact-location { display:grid; height:100svh; min-height:720px; max-height:960px; grid-template-rows:minmax(0,.86fr) minmax(0,1.14fr); overflow:hidden; }
.office { display:flex; min-height:0; padding-block:clamp(26px,3.6svh,38px); background:#f5f5f3; }
.office>.shell { display:flex; min-height:0; flex-direction:column; }
.office-intro { display:block; flex:0 0 auto; margin-bottom:18px; }
.office-intro h2 { font-size:clamp(32px,3.2vw,46px); }
.office .title-highlight { font-weight:400; letter-spacing:.025em; }
.office-intro h2 em { color:var(--gold); }
.office-intro>p { max-width:380px; margin:0 0 8px; color:#696761; font-size:15px; line-height:1.7; }
.office-grid { display:grid; min-height:0; flex:1 1 auto; grid-template-columns:1.45fr .75fr .75fr; gap:16px; }
.office-card { position:relative; min-height:0; overflow:hidden; padding:20px; border-radius:20px; }
.office-card>p { position:relative; z-index:2; margin:0; font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.office-card h3 { margin:0; font-family:Arial,Helvetica,sans-serif; font-weight:600; letter-spacing:-.05em; line-height:1; }
.office-location { display:flex; flex-direction:column; justify-content:space-between; background:#121211; color:white; isolation:isolate; }
.office-location::after { position:absolute; z-index:-1; right:-12%; bottom:-35%; width:70%; aspect-ratio:1; border-radius:50%; background:rgba(245,173,22,.24); filter:blur(90px); content:""; }
.map-grid { position:absolute; z-index:-1; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px); background-size:70px 70px; transform:rotate(-8deg) scale(1.25); }
.map-grid::before,.map-grid::after { position:absolute; width:150%; height:2px; background:rgba(245,173,22,.75); content:""; transform:rotate(25deg); }
.map-grid::before { top:35%; left:-20%; }
.map-grid::after { top:65%; left:-10%; transform:rotate(-18deg); }
.map-grid i { position:absolute; top:41%; left:65%; width:24px; height:24px; border:7px solid var(--gold); border-radius:50% 50% 50% 0; background:#121211; transform:rotate(-45deg); }
.office-location>div:not(.map-grid) { position:relative; z-index:2; }
.office-location h3 { margin-bottom:10px; font-size:clamp(30px,2.8vw,42px); }
.office-location address { color:rgba(255,255,255,.62); font-size:12px; font-style:normal; line-height:1.6; }
.office-location>a { position:absolute; z-index:3; top:20px; right:20px; display:flex; min-height:46px; align-items:center; gap:16px; padding:7px 8px 7px 17px; border:1px solid rgba(255,255,255,.32); border-radius:999px; background:rgba(12,12,11,.68); font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; backdrop-filter:blur(14px); transition:background .3s,color .3s,transform .3s; }
.office-location>a span { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; background:var(--gold); color:#111; font-size:14px; transition:transform .3s; }
.office-location>a:hover { background:white; color:#111; }
.office-location>a:hover span { transform:rotate(45deg); }
.office-years { display:flex; flex-direction:column; background:var(--gold); color:#111; }
.office-years strong { margin:auto 0 12px; font-size:clamp(68px,6vw,96px); font-weight:600; letter-spacing:-.1em; line-height:.75; }
.office-years strong span { font-size:.38em; vertical-align:top; }
.office-years h3 { max-width:210px; font-size:19px; }
.office-licensed { display:flex; flex-direction:column; background:white; color:#111; box-shadow:0 20px 60px rgba(20,19,16,.08); }
.credential-mark { display:grid; width:55px; height:55px; place-items:center; margin:auto 0 15px; border-radius:50%; background:#111; color:var(--gold); font-size:23px; box-shadow:0 0 0 8px #f1efe9; }
.office-licensed h3 { font-size:clamp(29px,2.7vw,39px); }
.office-licensed small { display:block; margin-top:14px; color:#77736b; font-size:10px; line-height:1.5; }
.contact { display:flex; min-height:0; padding-block:clamp(28px,4svh,42px); background:radial-gradient(circle at 12% 100%,rgba(245,173,22,.16),transparent 38%),#121211; color:white; }
.contact-panel { display:grid; grid-template-columns:1.15fr .85fr; gap:8vw; align-items:center; }
.contact-main>p { margin:0 0 13px; color:var(--gold); font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.contact-main h2 { font-size:clamp(38px,3.8vw,54px); }
.contact .title-highlight { font-weight:400; letter-spacing:.025em; }
.contact-main h2 em { color:var(--gold); }
.contact-main>span { display:block; max-width:500px; margin-top:14px; color:rgba(255,255,255,.55); font-size:12px; line-height:1.55; }
.contact-options { display:flex; flex-direction:column; }
.contact-option { position:relative; display:flex; min-height:68px; flex-direction:column; justify-content:center; padding:12px 54px 12px 2px; border-top:1px solid rgba(255,255,255,.2); background:transparent; transition:padding .3s,color .3s; }
.contact-option:nth-child(2) { border-bottom:1px solid rgba(255,255,255,.2); }
.contact-option:hover { padding-left:12px; color:var(--gold); }
.contact-option-call { color:white; }
.contact-option>span,.contact-hours>span { margin-bottom:10px; font-size:9px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.contact-option strong { overflow-wrap:anywhere; font-size:clamp(17px,1.55vw,24px); font-weight:600; letter-spacing:-.025em; }
.contact-option i { position:absolute; top:50%; right:4px; display:grid; width:36px; height:36px; place-items:center; border:0; border-radius:50%; background:var(--gold); color:#111; font-size:0; font-style:normal; transform:translateY(-50%); transition:transform .3s,background .3s; }
.contact-option i::before { width:12px; height:2px; background:currentColor; content:""; transform:translate(-1px,1px) rotate(-45deg); }
.contact-option i::after { position:absolute; width:8px; height:8px; border-top:2px solid currentColor; border-right:2px solid currentColor; content:""; transform:translate(4px,-4px); }
.contact-option:hover i { transform:translateY(-50%) rotate(45deg); }
.contact-hours { margin:11px 0 0; padding:0 2px; color:rgba(255,255,255,.5); font-size:9px; line-height:1.55; }
.contact-hours>span { display:block; color:white; }
footer { padding-top:70px; background:#10100f; color:white; }
.footer-main { display:grid; grid-template-columns:minmax(200px,.65fr) minmax(130px,.35fr) minmax(0,1.4fr); align-items:start; gap:clamp(40px,5vw,80px); padding-bottom:52px; }
.footer-brand { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.footer-brand>span { color:#76736d; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.footer-services { display:grid; align-content:start; gap:12px; }
.footer-services strong,.footer-contact address span,.footer-email span,.footer-phones a span { display:block; margin-bottom:10px; color:#FFC107; font-size:8px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.footer-services a { width:max-content; color:#FFFFFF; font-size:13px; font-weight:600; text-decoration:none; transition:color 180ms ease,transform 150ms cubic-bezier(.23,1,.32,1); }
.footer-services a:active { transform:scale(.97); }
.footer-contact { display:grid; grid-template-columns:minmax(210px,.8fr) minmax(340px,1.2fr); gap:48px; }
.footer-address-group { display:grid; gap:28px; }
.footer-contact address { margin:0; color:rgba(255,255,255,.7); font-size:12px; font-style:normal; line-height:1.7; }
.footer-email { color:#FFFFFF; text-decoration:none; }
.footer-email strong { display:block; overflow-wrap:anywhere; font-size:12px; font-weight:600; line-height:1.45; }
.footer-phones { display:grid; grid-template-columns:repeat(2,minmax(145px,1fr)); gap:22px 30px; }
.footer-phones a { color:#FFFFFF; }
.footer-phones a:last-child { grid-column:1/-1; }
.footer-phones strong { display:block; font-size:13px; font-weight:600; letter-spacing:-.01em; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding-block:24px; border-top:1px solid rgba(255,255,255,.13); color:#76736d; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.footer-credit { color:rgba(255,255,255,.58); text-align:left; }
.footer-credit strong { color:#FFC107; font-size:11px; font-weight:700; }
.footer-privacy { color:rgba(255,255,255,.72); text-decoration:none; }
.footer-privacy:hover,.footer-privacy:focus-visible { color:#FFC107; }

.privacy-page { background:#11110f; color:#f5f3ee; }
.privacy-header { display:flex; align-items:center; justify-content:space-between; min-height:112px; }
.privacy-header .brand { position:static; transform:none; }
.privacy-back { color:#f5f3ee; font-size:11px; font-weight:700; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.privacy-back:hover,.privacy-back:focus-visible { color:#FFC107; }
.privacy-main { padding:76px 0 110px; }
.privacy-intro { max-width:920px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.18); }
.privacy-kicker { display:block; margin-bottom:22px; color:#FFC107; font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.privacy-intro h1 { margin:0; font-size:clamp(48px,8vw,112px); font-weight:500; letter-spacing:-.055em; line-height:.9; }
.privacy-intro p { max-width:700px; margin:28px 0 0; color:#aaa69e; font-size:15px; line-height:1.75; }
.privacy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 64px; }
.privacy-section { padding:40px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.privacy-section h2 { margin:0 0 15px; color:#fff; font-size:20px; font-weight:600; }
.privacy-section p,.privacy-section li { color:#aaa69e; font-size:13px; line-height:1.75; }
.privacy-section ul { margin:0; padding-left:18px; }
.privacy-section a { color:#FFC107; }
.privacy-span { grid-column:1/-1; }
@media (max-width:760px) { .privacy-header{min-height:88px}.privacy-main{padding:48px 0 80px}.privacy-grid{grid-template-columns:1fr}.privacy-span{grid-column:auto}.privacy-intro h1{font-size:50px} }
@media (hover:hover) and (pointer:fine) { .footer-services a:hover,.footer-email:hover { color:#FFC107; } }
.floating-actions { position:fixed; z-index:5; right:24px; bottom:24px; display:flex; flex-direction:column; align-items:flex-end; gap:11px; }
.whatsapp-float { display:grid; width:54px; height:54px; place-items:center; border:1px solid rgba(255,255,255,.62); border-radius:50%; background:#25D366; box-shadow:0 15px 36px rgba(0,0,0,.26),0 8px 22px rgba(37,211,102,.24),inset 0 1px 0 rgba(255,255,255,.42); transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .3s; }
.whatsapp-float img { display:block; width:30px; height:30px; object-fit:contain; filter:none; }
.whatsapp-float:hover { box-shadow:0 18px 42px rgba(0,0,0,.3),0 0 0 5px rgba(37,211,102,.14); transform:translateY(-3px) scale(1.05); }
.chat-ready { position:relative; z-index:1; display:flex; min-width:250px; min-height:68px; align-items:center; justify-content:center; gap:13px; padding:7px 18px 7px 9px; border:1px solid rgba(255,255,255,.3); border-radius:999px; background:linear-gradient(135deg,rgba(35,35,33,.88),rgba(10,10,9,.94)); color:#FFFFFF; box-shadow:0 18px 50px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.14); text-align:left; cursor:pointer; backdrop-filter:blur(24px) saturate(1.25); -webkit-backdrop-filter:blur(24px) saturate(1.25); transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s; }
.chat-ready:hover { border-color:#FFC107; box-shadow:0 22px 58px rgba(0,0,0,.36),0 0 0 4px rgba(255,193,7,.1),inset 0 1px 0 rgba(255,255,255,.18); transform:translateY(-4px) scale(1.015); }
.chat-ready strong,.chat-ready small { display:block; }
.chat-ready-copy { display:flex; min-height:45px; flex-direction:column; justify-content:center; }
.chat-ready strong { font-size:13px; font-weight:700; letter-spacing:-.01em; }
.chat-ready small { margin-top:4px; color:rgba(255,255,255,.6); font-size:8px; font-weight:600; text-transform:uppercase; letter-spacing:.13em; }
.chat-tech-icon { position:relative; display:grid; width:50px; height:50px; flex:0 0 auto; place-items:center; overflow:hidden; border:1px solid rgba(255,193,7,.46); border-radius:50%; background:#FFC107; box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 0 0 0 rgba(255,193,7,.16); animation:assistantGlow 2.8s ease-in-out infinite; }
.chat-tech-icon img { width:54px; height:54px; object-fit:cover; object-position:center; transform:translateY(4px) scale(1.34); transform-origin:center; }
@keyframes assistantGlow { 0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 0 rgba(255,193,7,.12)} 50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 6px rgba(255,193,7,0)} }
.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; }
.project-gallery-backdrop { position:fixed; z-index:28; inset:0; background:rgba(0,0,0,.72); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); opacity:1; }
.project-gallery-backdrop[hidden],.project-gallery[hidden] { display:none !important; pointer-events:none !important; }
.project-gallery { position:fixed; z-index:30; inset:24px; display:flex; width:min(1240px,calc(100vw - 48px)); height:calc(100svh - 48px); margin:auto; flex-direction:column; overflow:hidden; border:1px solid rgba(255,255,255,.17); border-radius:30px; background:#11110f; color:#FFFFFF; box-shadow:0 40px 120px rgba(0,0,0,.6); opacity:1; transform:none; }
.project-gallery.is-team-gallery { width:min(940px,calc(100vw - 64px)); height:min(680px,calc(100svh - 64px)); display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr); grid-template-rows:auto minmax(0,1fr); }
.project-gallery.is-team-gallery .project-gallery-header { grid-column:1/-1; }
.project-gallery.is-team-gallery .project-gallery-stage { grid-column:1; grid-row:2; }
.project-gallery.is-team-gallery .project-gallery-stage>img { object-position:center top; }
.project-gallery.is-team-gallery .project-gallery-footer { grid-column:2; grid-row:2; min-height:0; align-items:flex-start; flex-direction:column; justify-content:space-between; gap:34px; padding:38px 32px 30px; border-left:1px solid rgba(255,255,255,.12); }
.project-gallery.is-team-gallery .project-gallery-footer>div:first-child { max-width:330px; }
.project-gallery.is-team-gallery .project-gallery-footer strong { font-size:clamp(22px,2.2vw,30px); line-height:1.12; }
.project-gallery.is-team-gallery .project-gallery-footer span { margin-top:18px; color:rgba(255,255,255,.68); font-size:13px; line-height:1.75; }
.project-gallery.is-team-gallery .gallery-thumbnails { width:100%; max-width:100%; gap:10px; }
.project-gallery.is-team-gallery .gallery-thumbnail { width:88px; height:104px; }
.project-gallery-header { display:flex; min-height:88px; flex:0 0 auto; align-items:center; justify-content:space-between; gap:30px; padding:16px 20px 16px 28px; border-bottom:1px solid rgba(255,255,255,.12); }
.project-gallery-header span { display:block; margin-bottom:7px; color:#FFC107; font-size:8px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.project-gallery-header h2 { margin:0; font-family:'Montserrat',Arial,Helvetica,sans-serif; font-size:clamp(24px,2.4vw,36px); font-weight:600; letter-spacing:-.035em; text-transform:none; }
.project-gallery-header button { display:grid; width:46px; height:46px; flex:0 0 auto; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; background:rgba(255,255,255,.07); color:#FFFFFF; font-size:27px; font-weight:300; cursor:pointer; }
.project-gallery-header button:hover { background:#FFC107; color:#000000; }
.project-gallery-stage { position:relative; min-height:0; flex:1 1 auto; overflow:hidden; background:#050505; }
.media-loading { position:absolute; z-index:1; inset:0; display:grid; place-content:center; justify-items:center; gap:12px; background:#050505; color:#d8d6d0; }
.media-loading[hidden] { display:none; }
.media-loading img { display:block; width:76px; height:76px; border:1px solid rgba(255,193,7,.24); border-radius:20px; object-fit:cover; box-shadow:0 12px 34px rgba(0,0,0,.32); animation:gelb-loader-breathe 1.6s cubic-bezier(.77,0,.175,1) infinite alternate; }
.media-loading span { font-family:'Montserrat',Arial,Helvetica,sans-serif; font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.project-gallery-stage>img,.project-gallery-stage>video { display:block; width:100%; height:100%; object-position:center; }
.project-gallery-stage>img { object-fit:contain; background:#050505; }
.project-gallery-stage>video { object-fit:contain; background:#050505; }
.project-gallery-stage>[hidden] { display:none !important; }
.project-gallery-stage>img.is-contained { object-fit:contain; background:#050505; }
.project-gallery-stage>img.has-blank-margins-trimmed { position:absolute; top:55.9%; left:50%; width:auto; max-width:none; height:178.6%; object-fit:contain; background:#050505; transform:translate(-50%,-50%); }
.gallery-control { position:absolute; z-index:2; top:50%; display:grid; width:48px; height:48px; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(8,8,7,.66); color:#FFFFFF; font-size:18px; cursor:pointer; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); transform:translateY(-50%); }
.gallery-control:hover { border-color:#FFC107; background:#FFC107; color:#000000; }
.gallery-previous { left:20px; }
.gallery-next { right:20px; }
.gallery-counter { position:absolute; right:22px; bottom:18px; padding:9px 13px; border:1px solid rgba(255,255,255,.24); border-radius:999px; background:rgba(8,8,7,.7); color:#FFFFFF; font-size:9px; font-weight:700; letter-spacing:.14em; backdrop-filter:blur(12px); }
.project-gallery-footer { display:flex; min-height:108px; flex:0 0 auto; align-items:center; justify-content:space-between; gap:28px; padding:15px 22px 15px 28px; }
.project-gallery-footer strong,.project-gallery-footer span { display:block; }
.project-gallery-footer strong { font-size:16px; font-weight:600; }
.project-gallery-footer span { margin-top:6px; color:rgba(255,255,255,.55); font-size:10px; }
.project-gallery-footer strong .team-gallery-name { margin-top:0; color:#FFFFFF; font-size:16px; font-weight:600; }
.project-gallery-footer strong .team-gallery-role { margin-top:8px; color:rgba(255,255,255,.72); font-size:12px; font-weight:500; }
.gallery-thumbnails { display:flex; max-width:52%; gap:9px; overflow-x:auto; padding:2px; }
.gallery-thumbnail { position:relative; width:76px; height:62px; flex:0 0 auto; overflow:hidden; padding:0; border:1px solid transparent; border-radius:11px; background:#242421; cursor:pointer; opacity:.58; }
.gallery-thumbnail img { width:100%; height:100%; object-fit:contain; background:#050505; }
.gallery-thumbnail.has-blank-margins-trimmed img { position:absolute; top:55.9%; left:50%; width:auto; max-width:none; height:178.6%; transform:translate(-50%,-50%); }
.gallery-thumbnail-play { position:absolute; inset:50% auto auto 50%; display:grid; width:25px; height:25px; place-items:center; border:1px solid rgba(255,255,255,.6); border-radius:50%; background:rgba(0,0,0,.78); color:#FFC107; font-size:9px; line-height:1; transform:translate(-50%,-50%); }
.gallery-thumbnail:hover,.gallery-thumbnail.is-active { border-color:#FFC107; opacity:1; }
body.gallery-open { overflow:hidden; }
body.gallery-open .floating-actions { opacity:0; pointer-events:none; }
.assistant-backdrop { position:fixed; z-index:18; inset:0; background:rgba(8,8,7,.32); backdrop-filter:blur(5px); opacity:0; transition:opacity .3s; }
.assistant-backdrop[hidden],.assistant-panel[hidden] { display:none; }
.assistant-backdrop.is-open { opacity:1; }
.assistant-panel { position:fixed; z-index:20; right:22px; bottom:22px; display:flex; width:min(640px,calc(100vw - 44px)); height:min(760px,calc(100svh - 44px)); flex-direction:column; overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:24px; background:#f5f5f3; box-shadow:0 24px 70px rgba(0,0,0,.3); opacity:0; transform:translateY(18px) scale(.985); transform-origin:right bottom; transition:opacity .28s,transform .28s cubic-bezier(.16,1,.3,1); }
.assistant-panel.is-open { opacity:1; transform:none; }
.assistant-header { display:flex; min-height:72px; align-items:center; justify-content:space-between; gap:13px; padding:12px 14px; border-bottom:1px solid rgba(255,255,255,.1); background:#151513; color:white; }
.assistant-identity { display:flex; min-width:0; align-items:center; gap:11px; }
.assistant-mark { display:grid; width:56px; height:38px; flex:0 0 auto; place-items:center; overflow:hidden; padding:5px 6px; border:1px solid rgba(255,193,7,.42); border-radius:10px; background:#000000; box-shadow:0 0 0 4px rgba(255,193,7,.07),inset 0 1px 0 rgba(255,255,255,.08); }
.assistant-mark img { display:block; width:100%; height:100%; object-fit:contain; }
.assistant-identity strong,.assistant-identity small { display:block; }
.assistant-identity strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.assistant-identity small { margin-top:5px; color:#aaa79f; font-size:9px; letter-spacing:.06em; }
.assistant-identity small i { display:inline-block; width:6px; height:6px; margin-right:5px; border-radius:50%; background:#63c283; }
.assistant-header-actions { display:flex; gap:7px; }
.assistant-header-actions button { display:grid; width:32px; height:32px; place-items:center; border:1px solid rgba(255,255,255,.16); border-radius:50%; background:rgba(255,255,255,.06); color:white; font-size:17px; cursor:pointer; transition:background .25s,color .25s,transform .25s; }
.assistant-header-actions button:hover { background:white; color:#111; transform:scale(1.04); }
.assistant-messages { flex:1; overflow-y:auto; padding:18px 15px 12px; scroll-behavior:smooth; }
.assistant-message { display:flex; align-items:flex-end; gap:9px; margin-bottom:13px; }
.assistant-message.is-user { justify-content:flex-end; }
.assistant-avatar { display:grid; width:28px; height:28px; flex:0 0 auto; place-items:center; border-radius:50%; background:#151513; color:var(--gold); font-size:10px; font-weight:700; }
.assistant-bubble { max-width:84%; padding:11px 13px; border-radius:16px 16px 16px 5px; background:white; color:#292824; box-shadow:0 5px 16px rgba(15,15,13,.055); font-size:12px; line-height:1.5; white-space:pre-line; }
.assistant-message.is-user .assistant-bubble { border-radius:18px 18px 5px 18px; background:#151513; color:white; box-shadow:none; }
.assistant-summary { margin:3px 0 14px 37px; padding:15px; border-radius:17px; background:#151513; color:white; }
.assistant-summary span { display:block; color:var(--gold); font-size:9px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.assistant-summary strong { display:block; margin-top:6px; font-family:Georgia,serif; font-size:27px; font-weight:400; }
.assistant-summary small { display:block; margin-top:5px; color:#aaa79f; font-size:10px; line-height:1.4; }
.assistant-final-actions { display:flex; gap:8px; margin:4px 0 15px 37px; }
.assistant-final-actions a,.assistant-final-actions button { flex:1; min-height:40px; padding:11px 12px; border:1px solid #d7d4cd; border-radius:999px; background:white; color:#111; text-align:center; font:700 10px/1.25 Montserrat,sans-serif; letter-spacing:.04em; cursor:pointer; transition:background .25s,color .25s,border-color .25s; }
.assistant-final-actions a:first-child,.assistant-final-actions a:hover,.assistant-final-actions button:hover { border-color:var(--gold); background:var(--gold); }
.assistant-lead-capture { margin:4px 0 15px 37px; padding:17px; border:1px solid #d7d4cd; border-radius:18px; background:#fff; color:#151513; }
.assistant-lead-capture>strong { display:block; color:#9b7200; font-size:9px; letter-spacing:.16em; }
.assistant-lead-capture>p { margin:8px 0 0; color:#68645c; font-size:10px; line-height:1.5; }
.assistant-lead-fields { display:grid; gap:8px; margin-top:13px; }
.assistant-lead-fields input { width:100%; height:40px; padding:0 12px; border:1px solid #d7d4cd; border-radius:10px; background:#fff; color:#151513; font:500 10px/1.2 Montserrat,sans-serif; outline:none; }
.assistant-lead-fields input:focus { border-color:#FFC107; box-shadow:0 0 0 3px rgba(255,193,7,.14); }
.assistant-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; }
.assistant-consent { display:flex; align-items:flex-start; gap:8px; margin-top:12px; color:#5f5b53; font-size:9px; line-height:1.45; }
.assistant-consent input { margin-top:2px; accent-color:#FFC107; }
.assistant-consent a { color:#2d2a24; font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.assistant-lead-capture>button { width:100%; min-height:42px; margin-top:13px; border:0; border-radius:999px; background:#FFC107; color:#11110f; font:700 10px/1.2 Montserrat,sans-serif; cursor:pointer; }
.assistant-lead-capture>button:disabled { cursor:wait; opacity:.65; }
.assistant-lead-status.is-success { color:#247343; font-weight:700; }
.assistant-lead-status.is-error { color:#a23b32; font-weight:700; }
.assistant-photo-share-note { margin:4px 0 9px 37px; padding:10px 12px; border:1px solid rgba(255,193,7,.45); border-radius:13px; background:#fff8e2; color:#514b3d; font-size:9px; font-weight:600; line-height:1.5; }
.assistant-quick-replies { display:flex; max-height:148px; flex-wrap:wrap; gap:7px; overflow-y:auto; padding:4px 17px 13px 54px; }
.assistant-quick-replies:empty { display:none; }
.assistant-quick-replies button { min-height:38px; padding:8px 13px; border:1px solid #d1cec7; border-radius:999px; background:white; color:#292824; font-size:10px; font-weight:700; cursor:pointer; transition:background .25s,color .25s,border-color .25s,transform .25s; }
.assistant-quick-replies button:hover { border-color:#151513; background:#151513; color:white; transform:translateY(-1px); }
.assistant-quick-replies.is-design-picker { display:block; max-height:510px; padding:14px; background:#10100e; border-top:1px solid #34342e; }
.closet-design-explanation { margin:0 0 14px; padding:13px 15px; border:1px solid rgba(255,193,7,.7); border-radius:14px; background:linear-gradient(135deg,#262620,#191916); color:#f6f2e9; font-size:11px; font-weight:650; line-height:1.55; }
.closet-design-group { padding:14px; border:1px solid #393932; border-radius:20px; background:#1a1a17; }
.closet-design-group+.closet-design-group { margin-top:14px; }
.closet-design-group-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:13px; padding:10px 11px; border:0; border-radius:12px; background:#262620; }
.closet-design-group-heading strong { color:#ffc107; font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.closet-design-group-heading span { color:#f6f2e9; font-size:11px; font-weight:700; }
.closet-design-alternatives { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:14px; padding:14px; border:1px solid #4a493f; border-radius:18px; background:#252520; }
.closet-design-alternatives>strong { grid-column:1/-1; color:#ffc107; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.assistant-quick-replies .closet-design-alternatives button { min-height:52px; border:1px solid #55544a; border-radius:13px; background:#f6f2e9; color:#171715; font-size:10px; }
.assistant-quick-replies .closet-design-alternatives button:last-child { border-color:#ffc107; background:#ffc107; color:#171715; }
.closet-design-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.closet-design-group.is-compact .closet-design-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.assistant-quick-replies .closet-design-card { display:flex; min-width:0; min-height:330px; flex-direction:column; align-items:stretch; gap:9px; padding:12px; border:1px solid #48473f; border-radius:17px; background:#282823; color:#f6f2e9; text-align:left; }
.assistant-quick-replies .closet-design-card:hover,.assistant-quick-replies .closet-design-card.is-selected { border-color:#ffc107; background:#302d1f; color:#f6f2e9; box-shadow:0 0 0 2px rgba(255,193,7,.12); transform:none; }
.closet-design-card>b { display:grid; width:29px; height:29px; place-items:center; border-radius:50%; background:#ffc107; color:#171715; font-size:16px; font-weight:800; line-height:1; }
.closet-design-card>small { color:#eee9dd; font-size:11px; font-weight:700; line-height:1.35; }
.closet-card-diagram { position:relative; display:flex; min-height:252px; flex:1; flex-direction:column; overflow:hidden; border:1px solid #ffc107; border-radius:10px; background:#151513; box-shadow:inset 0 0 0 3px #20201c; }
.closet-design-standard-size { display:block; max-width:100%; padding:3px 5px; border:1px solid rgba(255,193,7,.72); border-radius:999px; background:#171715; color:#fff7df; font-size:8px; font-weight:800; letter-spacing:.035em; line-height:1.15; text-align:center; }
.closet-zone { position:relative; display:flex; min-height:28px; flex:.8; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; border-bottom:1px solid #58564d; background:#1c1c19; color:#f6f2e9; font-style:normal; }
.closet-zone:last-child { border-bottom:0; }
.closet-zone em { position:absolute; z-index:4; right:4px; bottom:3px; padding:2px 4px; border-radius:3px; background:#f6f2e9; color:#171715; font-size:6px; font-style:normal; font-weight:800; letter-spacing:.06em; }
.closet-zone-contents { display:flex; width:100%; height:100%; align-items:center; justify-content:space-evenly; }
.closet-zone-hang-short { min-height:72px; flex:1.55; }
.closet-zone-hang-long { min-height:126px; flex:2.8; }
.closet-rail { position:absolute; top:8px; right:8px; left:8px; display:flex; height:58px; align-items:flex-start; justify-content:center; gap:2px; border-top:4px solid #ffc107; }
.closet-zone-hang-long .closet-rail { height:108px; }
.closet-garment { position:relative; width:19%; height:72%; margin-top:8px; border-radius:5px 5px 10px 10px; background:linear-gradient(90deg,#c9c4b8,#f6f2e9 48%,#b6b0a3); clip-path:polygon(18% 0,38% 0,44% 8%,56% 8%,62% 0,82% 0,100% 23%,84% 32%,78% 100%,22% 100%,16% 32%,0 23%); }
.closet-garment:nth-child(even) { height:86%; background:linear-gradient(90deg,#ffc107,#e7a900 52%,#c98700); }
.closet-folded-stack { position:relative; width:26%; height:42%; border-radius:7px 7px 3px 3px; background:repeating-linear-gradient(to bottom,#f6f2e9 0 7px,#ffc107 8px 10px); box-shadow:0 3px 0 #6a685f; }
.closet-shoe { position:relative; width:20%; height:34%; border-radius:70% 20% 24% 14%; background:#f6f2e9; transform:skewX(-12deg); }
.closet-shoe:nth-child(even) { background:#ffc107; }
.closet-shoe::after { position:absolute; right:-2px; bottom:-2px; left:2px; height:4px; border-radius:4px; background:#6a685f; content:""; }
.closet-storage-box { position:relative; width:38%; height:58%; border:1px solid #ffc107; border-radius:4px 4px 2px 2px; background:linear-gradient(180deg,#f6f2e9 0 18%,#d7d1c5 18%); box-shadow:0 3px 0 #777469; }
.closet-storage-box::after { position:absolute; top:35%; left:50%; width:12px; height:3px; border-radius:3px; background:#171715; content:""; transform:translateX(-50%); }
.closet-zone-shelves { min-height:42px; background:#24241f; }
.closet-zone-shoes { min-height:36px; background:#20201c; }
.closet-zone-storage { min-height:46px; background:#20201c; }
.closet-zone-drawer { min-height:34px; flex:.62; border-color:#ffc107; background:#292822; color:#f6f2e9; }
.closet-zone-drawer em { position:static; background:transparent; color:#f6f2e9; font-size:9px; }
.assistant-quick-replies.is-design-upload { display:block; max-height:none; padding:12px 15px 16px 52px; }
.assistant-upload-card { display:grid; min-height:118px; grid-template-columns:46px 1fr; align-content:center; align-items:center; gap:4px 12px; padding:17px; border:1.5px dashed #aaa69d; border-radius:18px; background:#FFFFFF; color:#151513; cursor:pointer; }
.assistant-upload-card:hover { border-color:#FFC107; background:#fffaf0; }
.assistant-upload-card>span { display:grid; width:46px; height:46px; grid-row:1/3; place-items:center; border-radius:14px; background:#FFC107; font-size:24px; }
.assistant-upload-card>strong { font-size:12px; }
.assistant-upload-card>small { color:#77736c; font-size:9px; }
.assistant-upload-card>input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; }
.assistant-upload-preview { margin:4px 0 15px 37px; overflow:hidden; border:1px solid #d7d4cd; border-radius:18px; background:#FFFFFF; }
.assistant-upload-preview img { display:block; width:100%; max-height:230px; object-fit:contain; background:#e9e7e1; }
.assistant-upload-preview>div { display:grid; gap:4px; padding:11px 13px; }
.assistant-upload-preview span { color:#9b7200; font-size:8px; font-weight:800; letter-spacing:.14em; }
.assistant-upload-preview b { overflow:hidden; color:#151513; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.assistant-detail-card { margin:4px 0 15px 37px; overflow:hidden; padding:17px; border-radius:18px; background:#151513; color:#FFFFFF; box-shadow:0 10px 28px rgba(15,15,13,.13); }
.assistant-detail-card>strong { display:block; margin-bottom:12px; color:#FFC107; font-size:9px; font-weight:700; letter-spacing:.16em; }
.assistant-detail-card>div:not(.assistant-estimate-total) { display:flex; justify-content:space-between; gap:18px; padding:6px 0; border-bottom:1px solid rgba(255,255,255,.09); }
.assistant-detail-card>div:not(.assistant-estimate-total):last-of-type { border-bottom:0; }
.assistant-detail-card div span { color:#aaa79f; font-size:9px; }
.assistant-detail-card div b { color:#FFFFFF; font-size:10px; font-weight:600; text-align:right; }
.assistant-material-rate>p { margin:13px -17px -17px; padding:12px 17px; background:#FFC107; color:#151513; font-size:9px; font-weight:700; line-height:1.45; }
.assistant-estimate-total { display:grid; margin:14px -17px -17px; padding:15px 17px 17px; background:#FFC107; color:#11110f; }
.assistant-estimate-total span { color:#11110f!important; font-size:8px!important; font-weight:700; letter-spacing:.14em; }
.assistant-estimate-total b { margin-top:5px; color:#11110f!important; font-size:25px!important; font-weight:700!important; text-align:left!important; }
.assistant-estimate-total small { margin-top:3px; color:rgba(17,17,15,.68); font-size:8px; font-weight:600; }
.assistant-free-measurement { margin:4px 0 15px 37px; padding:17px; border:1px solid rgba(255,193,7,.45); border-radius:18px; background:#fff8e2; color:#151513; }
.assistant-free-measurement span { display:block; color:#6f6b62; font-size:8px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.assistant-free-measurement strong { display:block; margin-top:7px; font-size:16px; line-height:1.15; }
.assistant-free-measurement p { margin:8px 0 0; color:#5f5b53; font-size:10px; line-height:1.55; }
.assistant-composer { display:flex; gap:8px; padding:11px 13px 13px; border-top:1px solid #dedbd4; background:rgba(255,255,255,.78); }
.assistant-composer input { min-width:0; flex:1; height:42px; padding:0 15px; border:1px solid #d7d4cd; border-radius:999px; background:white; color:#111; outline:none; font-size:16px; }
.assistant-composer input:focus { border-color:var(--gold); box-shadow:0 0 0 4px rgba(245,173,22,.12); }
.assistant-composer button { display:grid; width:42px; height:42px; flex:0 0 auto; place-items:center; border:0; border-radius:50%; background:var(--gold); color:#111; font-size:17px; font-weight:700; cursor:pointer; transition:transform .25s,filter .25s; }
.assistant-composer button:hover { filter:brightness(1.05); transform:translateY(-1px); }
body.assistant-open { overflow:hidden; }
@media (max-width:820px) { .nav-links{display:none;position:absolute;top:76px;left:0;right:0;padding:22px;background:#11110f;border-top:1px solid var(--line);flex-direction:column}.nav-links.is-open{display:flex}.menu-button{display:block;margin-left:auto;margin-right:15px}.hero{height:100svh;min-height:0}.hero-content{padding-top:90px;padding-bottom:40px}.services{padding-block:90px}.service-experience-main{min-height:560px}.service-experience{min-height:520px}.hero-copy{max-width:480px}.work-head{display:block}.work-head>p{margin-top:25px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-intro,.office-intro{display:block}.team-intro>p,.office-intro>p{margin-top:28px}.office-grid{grid-template-columns:1fr 1fr}.office-location{grid-column:1/-1}.contact-panel{grid-template-columns:1fr;gap:50px} }
@media (max-width:540px) { .shell{width:min(100% - 30px,1180px)}.nav{height:84px}.nav.is-scrolled{top:8px;height:68px}.brand{width:145px;height:49px}.nav-cta{display:none}.hero{height:100svh;min-height:0}.hero-slide:nth-child(2) img,.hero-slide:nth-child(3) img{object-position:center}.hero h1{font-size:54px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.service-showcase{grid-template-columns:1fr;gap:14px}.service-experience-main{grid-column:auto}.service-experience,.service-experience-main{min-height:500px;border-radius:22px}.service-content,.service-experience-main .service-content{left:24px;right:24px;bottom:26px}.service-content h3,.service-experience-main .service-content h3{font-size:39px}.service-content span{font-size:13px}.service-experience>a{top:18px;right:18px}.chat-ready{right:15px;bottom:15px;min-width:185px}.assistant-panel{inset:8px;width:auto;height:auto;border-radius:23px}.assistant-quick-replies{padding-left:17px}.assistant-final-actions{margin-left:0}.services{padding-bottom:90px}.work,.team{padding-block:70px}.office{padding-block:52px 58px}.project-grid{grid-template-columns:1fr}.project-feature{grid-column:auto}.comparison,.project-small .comparison{height:auto;aspect-ratio:4/5}.project-feature .comparison>img,.project-feature .comparison-after img{object-position:60% center}.team-grid{grid-template-columns:1fr;gap:42px}.team-photo{border-radius:22px}.office-grid{grid-template-columns:1fr;gap:12px}.office-location{grid-column:auto}.office-card{min-height:320px;padding:21px;border-radius:20px}.office-location>a{top:14px;right:14px}.contact{padding-block:54px}.contact-panel{padding:0}.contact-main h2{font-size:43px}.contact-option{min-height:86px}.footer-bottom{flex-direction:column;gap:12px} }
@media (max-width:540px) {
  html[lang="es"] .work .gelb-title {
    max-inline-size:100%;
    font-size:clamp(31px,8.4vw,33px);
    letter-spacing:-.05em;
    line-height:.96;
    overflow-wrap:normal;
    word-break:normal;
    text-wrap:balance;
  }
  html[lang="es"] .work .work-head>p { max-inline-size:34ch; }
}
@media (max-width:820px) {
  .nav { height:78px; padding-inline:18px; border-radius:19px; }
  .nav.is-scrolled { height:72px; }
  .brand { width:168px; height:56px; }
  .nav-links { top:calc(100% + 9px); padding:25px; border:1px solid rgba(255,255,255,.15); border-radius:18px; background:rgba(17,17,15,.96); box-shadow:0 18px 45px rgba(0,0,0,.28); font-size:16px; line-height:1.4; backdrop-filter:blur(18px); }
  .hero-content { padding-bottom:130px; }
  .services { padding-block:76px 84px; }
  .services-intro h2 { font-size:clamp(39px,7.3vw,56px); }
  .service-experience,
  .service-experience-main { min-height:480px; }
  .team { display:block; height:auto; min-height:0; max-height:none; padding-block:72px 82px; }
  .team-photo { aspect-ratio:4/5; }
  .team-profile-button { top:14px; right:14px; }
  .contact-location { display:block; height:auto; min-height:0; max-height:none; overflow:visible; }
  .contact,
  .office { display:block; }
  .office>.shell { display:block; }
  .office-card { min-height:280px; }
  .footer-main { grid-template-columns:1fr; gap:34px; }
  .footer-contact { grid-template-columns:minmax(190px,.75fr) minmax(0,1.25fr); gap:32px; }
  .closet-design-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .closet-design-group.is-compact .closet-design-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .project-gallery.is-team-gallery { width:calc(100vw - 30px); height:min(680px,calc(100svh - 30px)); grid-template-columns:minmax(0,1fr) minmax(280px,.82fr); }
  .project-gallery.is-team-gallery .project-gallery-footer { padding:28px 22px 24px; }
}
@media (max-width:540px) {
  .nav { top:9px; width:calc(100% - 20px); height:72px; padding-inline:14px; }
  .nav.is-scrolled { top:7px; height:68px; }
  .brand { width:154px; height:51px; }
  .menu-button { margin-right:0; font-size:11px; }
  .hero h1 { max-width:100%; font-size:clamp(38px,11.5vw,48px); line-height:1; }
  .hero-content { padding-bottom:92px; }
  .services { padding-block:62px 72px; }
  .section-intro { margin-bottom:30px; }
  .services-intro h2 { font-size:clamp(34px,10vw,44px); }
  .service-experience,
  .service-experience-main { min-height:440px; }
  .text-link { min-width:226px; min-height:58px; padding-left:23px; font-size:13px; }
  .text-link span { width:40px; height:40px; }
  .floating-actions { right:12px; bottom:12px; }
  .chat-ready { right:auto; bottom:auto; min-width:172px; min-height:52px; gap:8px; padding:5px 12px 5px 6px; }
  .chat-tech-icon { width:39px; height:39px; }
  .chat-tech-icon img { width:43px; height:43px; transform:translateY(3px) scale(1.3); }
  .chat-ready-copy { min-height:36px; }
  .chat-ready strong { font-size:11px; }
  .chat-ready small { margin-top:3px; font-size:6.5px; letter-spacing:.11em; }
  .whatsapp-float { width:48px; height:48px; }
  .closet-design-grid,.closet-design-group.is-compact .closet-design-grid { grid-template-columns:repeat(3,28.5%); justify-content:space-between; gap:0; }
  .closet-design-alternatives { grid-template-columns:1fr; }
  .closet-design-alternatives>strong { grid-column:auto; }
  .assistant-quick-replies.is-design-picker { max-height:55svh; padding:9px; }
  .assistant-quick-replies.is-design-upload { padding-left:10px; }
  .closet-design-group { padding:9px; border-radius:16px; }
  .closet-design-group-heading { gap:8px; margin-bottom:9px; padding-bottom:8px; }
  .closet-design-group-heading strong { font-size:10px; letter-spacing:.1em; }
  .closet-design-group-heading span { font-size:8px; text-align:right; }
  .assistant-quick-replies .closet-design-card { min-height:216px; gap:5px; padding:7px; border-radius:12px; }
  .closet-design-card>b { font-size:19px; }
  .closet-design-card>small { font-size:8px; line-height:1.25; }
  .closet-design-standard-size { padding:2px 3px; font-size:5px; }
  .closet-card-diagram { min-height:164px; border-width:1px; box-shadow:inset 0 0 0 2px #20201c; }
  .closet-zone { min-height:16px; border-bottom-width:1px; }
  .closet-zone-hang-short { min-height:44px; }
  .closet-zone-hang-long { min-height:70px; }
  .closet-rail { top:5px; right:5px; left:5px; height:38px; border-top-width:2px; }
  .closet-zone-hang-long .closet-rail { height:60px; }
  .closet-zone em { right:2px; bottom:2px; padding:1px 2px; font-size:4.5px; letter-spacing:.02em; }
  .closet-folded-stack { border-radius:4px 4px 2px 2px; }
  .closet-storage-box::after { width:8px; height:2px; }
  .assistant-detail-card,.assistant-free-measurement,.assistant-upload-preview,.assistant-photo-share-note,.assistant-lead-capture { margin-left:0; }
  footer { padding-top:52px; }
  .footer-main { padding-bottom:38px; }
  .footer-contact { grid-template-columns:1fr; gap:28px; }
  .footer-phones { grid-template-columns:1fr; gap:20px; }
  .footer-phones a:last-child { grid-column:auto; }
  .footer-bottom { align-items:flex-start; gap:14px; }
  .project-gallery { inset:8px; width:calc(100vw - 16px); height:calc(100svh - 16px); border-radius:22px; }
  .project-gallery.is-team-gallery { width:calc(100vw - 16px); height:calc(100svh - 16px); display:flex; }
  .project-gallery.is-team-gallery .project-gallery-stage { min-height:0; flex:1 1 auto; }
  .project-gallery.is-team-gallery .project-gallery-footer { min-height:210px; flex:0 0 auto; gap:16px; padding:20px 18px; border-top:1px solid rgba(255,255,255,.12); border-left:0; }
  .project-gallery.is-team-gallery .project-gallery-footer strong { font-size:20px; }
  .project-gallery.is-team-gallery .project-gallery-footer span { margin-top:10px; font-size:11px; line-height:1.55; }
  .project-gallery.is-team-gallery .gallery-thumbnail { width:58px; height:64px; }
  .project-gallery-header { min-height:76px; padding:13px 14px 13px 18px; }
  .project-gallery-header h2 { font-size:23px; }
  .project-gallery-header button { width:42px; height:42px; }
  .gallery-control { width:42px; height:42px; }
  .gallery-previous { left:10px; }
  .gallery-next { right:10px; }
  .project-gallery-footer { min-height:142px; align-items:flex-start; flex-direction:column; gap:12px; padding:15px 18px; }
  .gallery-thumbnails { max-width:100%; width:100%; }
  .gallery-thumbnail { width:68px; height:54px; }
}
@media (prefers-reduced-motion:reduce) {
  html{scroll-behavior:auto}
  *{transition:none!important}
  .site-loader-mark,.media-loading img,.site-loader-progress span { animation:none; transform:none; }
  .site-loader-progress span { width:100%; }
}

/* Keep the editorial navigation intact after the legacy responsive rules. */
@media (max-width:820px) {
  .nav { justify-content:flex-start; gap:12px; padding-inline:12px 17px; }
  .nav .brand { width:168px; height:56px; }
  .menu-button { display:inline-flex; width:50px; height:50px; margin:0; padding:0; border-radius:15px; }
  .nav-links { top:calc(100% + 9px); right:auto; left:0; display:grid; width:min(410px,calc(100vw - 32px)); padding:13px; opacity:0; pointer-events:none; transform:translateY(-8px) scale(.97); }
  .nav-links.is-open { display:grid; opacity:1; pointer-events:auto; transform:translateY(0) scale(1); }
}
@media (max-width:540px) {
  .nav { padding-inline:9px 13px; }
  .nav .brand { width:145px; height:49px; }
  .menu-button { width:46px; height:46px; margin:0; border-radius:14px; }
  .nav-links { right:auto; left:0; width:100%; }
  .nav-links a { min-height:60px; }
}

/* Final placement: logo left, controls and menu right. */
.nav-actions .menu-button[aria-expanded="true"] { background:#FFC107; color:#11110f; }
.nav-links { right:0; left:auto; width:min(330px,calc(100vw - 32px)); transform-origin:calc(100% - 25px) top; }
@media (max-width:820px) {
  .nav { justify-content:flex-start; }
  .nav .brand { width:168px; height:56px; margin-right:auto; }
  .nav-actions { display:flex; gap:7px; margin-left:auto; }
  .nav-actions .menu-button { width:46px; height:46px; margin:0; border-radius:50%; }
  .nav-links { right:0; left:auto; width:min(330px,calc(100vw - 24px)); }
}
@media (max-width:540px) {
  .nav .brand { width:132px; height:49px; }
  .nav-actions { gap:4px; }
  .nav-actions .menu-button { width:40px; height:40px; }
  .nav-links { right:0; left:auto; width:min(300px,calc(100vw - 20px)); }
}

/* Keep the chat compact above Safari's keyboard instead of stretching it to the top. */
@media (max-width:540px) {
  .assistant-panel {
    box-sizing:border-box;
  }
  .assistant-composer input,
  .assistant-lead-fields input { font-size:16px; }
  body.assistant-keyboard-open .assistant-panel {
    top:auto;
    right:8px;
    bottom:calc(var(--assistant-keyboard-height, 0px) + 8px);
    left:8px;
    width:auto;
    height:min(42svh, 360px);
    max-height:calc(100svh - var(--assistant-keyboard-height, 0px) - 24px);
    transform:none;
  }
}
