.configurator .section-intro h2 em{font-style:normal;color:var(--accent)}
.catalog-panel{position:relative;border-radius:18px;border:1px solid #ff5a2170;box-shadow:0 0 22px #ff5a2120,inset 0 1px #ffffff0b}
.catalog-border-aura{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}
.catalog-border-runner{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:16 84;filter:drop-shadow(0 0 6px #ff5a21);animation:catalog-contour-orbit 6s linear infinite;vector-effect:non-scaling-stroke}
@keyframes catalog-contour-orbit{to{stroke-dashoffset:-100}}
@media(min-width:1100px){
.contact-social-row{grid-template-columns:minmax(250px,1fr) minmax(0,1600px) minmax(250px,1fr)}
.contact-social-row .social-wheel-slot{grid-column:1;grid-row:1}
.contact-social-row .contact-location-layout{grid-column:2;grid-row:1;grid-template-rows:auto 1fr;row-gap:0;align-items:stretch}
.contact-location-layout .request-section,.contact-location-layout .location-section{display:grid;grid-row:span 2;grid-template-rows:subgrid;min-width:0}
.contact-location-layout .contact-heading,.contact-location-layout .location-heading{padding-bottom:25px}
.location-heading .location-intro{margin-bottom:0}
.contact-location-layout #request,.contact-location-layout .location-widget{align-self:stretch}
.contact-location-layout .location-widget{display:flex;flex-direction:column;height:100%}
.contact-location-layout .location-scene{flex:1 0 360px}
.contact-location-layout .location-bottom{margin-top:auto}
}
@media(min-width:1100px) and (max-width:2399px){
.social-choice{left:16px;gap:10px;max-width:calc(100% - 26px)}
.social-choice-copy{font-size:clamp(22px,1.65vw,28px)}
.social-choice-icon{width:30px;height:30px;flex-basis:30px}.social-choice-icon svg{width:23px;height:23px}
.social-wheel-title{padding-left:20px}.social-wheel-controls{margin-left:20px;gap:10px}.social-wheel-hint{margin-left:20px}
.contact-social-row .contact-location-layout{gap:28px;padding-left:25px;padding-right:25px}
.contact-location-layout .contact-heading h2,.contact-location-layout .location-section h2{font-size:clamp(36px,3.3vw,60px)}
.contact-location-layout .contact-heading p,.location-intro{font-size:14px}
.contact-social-row .contact-numbers .phone{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.catalog-border-runner{animation:none;stroke-dasharray:none;opacity:.65}}

/* Desktop controls: preserve the landscape control-row dimensions and counter. */
@media(any-hover:hover) and (any-pointer:fine){
 .contact .social-wheel-controls [data-social-step]{visibility:hidden;pointer-events:none}
}

/* Portrait desktop: keep the wheel inside the contact grid, above both panels. */
@media(orientation:portrait) and (any-hover:hover) and (any-pointer:fine){
 .contact-social-row{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;width:100%;margin-left:0}
 .contact-social-row .social-wheel-slot{display:block;grid-column:1;grid-row:1;min-width:0}
 .contact-social-row .contact-location-layout{grid-column:1;grid-row:2;width:100%;max-width:none;padding:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto 1fr;column-gap:32px;row-gap:0;align-items:stretch}
 .contact-social-row .request-section,.contact-social-row .location-section{display:grid;grid-row:span 2;grid-template-rows:subgrid;max-width:none;min-width:0}
 .contact-social-row .contact-heading,.contact-social-row .location-heading{padding-bottom:24px}
 .contact-social-row .contact-heading h2,.contact-social-row .location-heading h2{font-size:clamp(36px,4.2vw,58px)}
 .contact-social-row .location-intro{margin-bottom:0}
 .contact-social-row #request,.contact-social-row .location-widget{align-self:stretch}
 .contact-social-row .location-widget{display:flex;flex-direction:column;height:100%}
 .contact-social-row .location-scene{flex:1 0 360px}
 .contact-social-row .location-bottom{margin-top:auto}
 .contact-social-row .social-wheel-dock{position:relative;top:auto;display:grid;grid-template-columns:190px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:24px;align-items:center;width:100%;margin:0;padding:18px 24px;border:1px solid #ff79382b;border-radius:18px;background:radial-gradient(ellipse at 0 50%,#ff5a2110,transparent 65%),#10151bd9;overflow:hidden}
 .contact-social-row .social-wheel-title{grid-column:1;grid-row:1;margin:0;padding:0;font-size:13px;line-height:1.6}
 .contact-social-row .social-wheel{grid-column:2;grid-row:1 / 4;height:164px;min-width:0;mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent)}
 .contact-social-row .social-wheel::before{display:none}
 .contact-social-row .social-choice{left:18px;gap:15px;max-width:calc(100% - 36px)}
 .contact-social-row .social-choice-copy{font-size:clamp(26px,3vw,36px);letter-spacing:-.04em}
 .contact-social-row .social-choice-icon{width:38px;height:38px;flex-basis:38px}
 .contact-social-row .social-choice-icon svg{width:26px;height:26px}
 .contact-social-row .social-wheel-controls{grid-column:1;grid-row:2;justify-content:flex-start;margin:8px 0 0;gap:0;min-height:0}
 .contact-social-row .social-wheel-controls [data-social-step]{display:none}
 .contact-social-row .social-wheel-count{text-align:left;min-width:0}
 .contact-social-row .social-wheel-hint{grid-column:1;grid-row:3;text-align:left;margin:8px 0 0;font-size:10px;line-height:1.5}
 .contact-social-row .social-hint-desktop{display:inline}.contact-social-row .social-hint-mobile{display:none}
}
@media(orientation:portrait) and (any-hover:hover) and (any-pointer:fine) and (max-width:1200px){
 .contact-social-row #request{grid-template-columns:1fr}
 .contact-social-row .request-field{grid-column:1/-1}
}
@media(orientation:portrait) and (any-hover:hover) and (any-pointer:fine) and (max-width:959px){
 .contact-social-row .contact-location-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:40px;max-width:720px;margin:0 auto}
 .contact-social-row .request-section,.contact-social-row .location-section{display:block;grid-row:auto;grid-template-rows:none}
 .contact-social-row .location-widget{min-height:560px;height:auto}
}
@media(orientation:portrait) and (any-hover:hover) and (any-pointer:fine) and (max-width:700px){
 .contact-social-row .social-wheel-dock{grid-template-columns:minmax(0,1fr);gap:0;padding:20px}
 .contact-social-row .social-wheel-title{grid-row:1;text-align:center}
 .contact-social-row .social-wheel-title br{display:none}
 .contact-social-row .social-wheel{grid-column:1;grid-row:2;height:156px}
 .contact-social-row .social-wheel-controls{grid-row:3;justify-content:center;margin:0}
 .contact-social-row .social-wheel-hint{grid-row:4;text-align:center}
}

/* A scrolling mobile address bar must not stretch or restart the sky. */
#starfall{height:100vh;height:100lvh}

/* Touch devices: a compact horizontal wheel between the contacts and footer. */
@media(max-width:1099px) and (hover:none) and (pointer:coarse){
 .contact>.social-wheel-dock{position:relative;top:auto;width:100%;margin:36px 0 0;padding:22px 12px 18px;border:1px solid #ff79382b;border-radius:20px;background:radial-gradient(ellipse at 50% 0,#ff5a2110,transparent 75%),#10151be8;overflow:hidden}
 .contact>.social-wheel-dock .social-wheel-title{padding:0;margin:0 8px 8px;text-align:center;color:#d3d7dc;font-size:14px;line-height:1.6}
 .contact>.social-wheel-dock .social-wheel-title br{display:none}
 .contact>.social-wheel-dock .social-wheel{height:158px;touch-action:pan-y;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
 .contact>.social-wheel-dock .social-wheel::before{display:none}
 .contact>.social-wheel-dock .social-choice{left:50%;width:calc(100% - 32px);max-width:310px;justify-content:center;gap:12px;padding:14px 10px;border:1px solid #ffffff0d;border-radius:15px;background:#10151b;box-sizing:border-box}
 .contact>.social-wheel-dock .social-choice[data-active=true]{border-color:#ff793847;background:linear-gradient(135deg,#291b17,#14171b 78%)}
 .contact>.social-wheel-dock .social-choice-copy{font-size:clamp(23px,6.4vw,29px);letter-spacing:-.045em}
 .contact>.social-wheel-dock .social-choice-icon{width:36px;height:36px;flex-basis:36px}
 .contact>.social-wheel-dock .social-choice-icon svg{width:25px;height:25px}
 .contact>.social-wheel-dock .social-choice-arrow{font-size:16px;margin:0}
 .contact>.social-wheel-dock .social-choice-copy small{max-width:180px;font-size:9px}
 .contact>.social-wheel-dock .social-wheel-controls{justify-content:center;margin:0;gap:18px}
 .contact>.social-wheel-dock .social-wheel-controls button{width:44px;height:44px;min-height:44px}
 .contact>.social-wheel-dock .social-wheel-count{font-size:12px;color:#c2c7ce}
 .contact>.social-wheel-dock .social-wheel-hint{margin:12px 0 0;text-align:center;font-size:11px;color:#929ba6}
 .contact>.footer{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:15px;margin-top:38px;padding-top:24px;border-top:1px solid #ffffff0b;text-align:center}
 .contact>.footer>span{max-width:none}
 .contact>.footer .brand-logo{max-width:220px}
}
