/* Industrial detailing: restrained red accents, technical linework, readable motion. */
:root{--detail-line:rgba(227,6,19,.18)}
.header{background:rgba(255,255,255,.97);}
.header.is-stuck{box-shadow:0 8px 30px rgba(15,19,23,.08)}
.brand{transition:opacity .25s}.brand:hover{opacity:.8}
.hero__grid{opacity:.65}
.hero__mosaic{border-radius:2px;isolation:isolate}
.hero__mosaic-fade{position:absolute;inset:16px;z-index:2;pointer-events:none;
 background:linear-gradient(var(--red),var(--red)) left top/28px 2px no-repeat,
 linear-gradient(var(--red),var(--red)) left top/2px 28px no-repeat,
 linear-gradient(#fff,#fff) right bottom/28px 2px no-repeat,
 linear-gradient(#fff,#fff) right bottom/2px 28px no-repeat}
.specs>div{position:relative}
.specs dt{display:flex;align-items:center;gap:7px}
.spec-icon{width:16px;height:16px;flex:none;fill:none;stroke:var(--red);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.kicker i{width:30px;position:relative}
.kicker i::after{content:'';position:absolute;right:-5px;top:-2px;width:5px;height:5px;background:var(--red)}
.sec__head .sec__title{max-width:22ch}
.sec__head--center .sec__title{margin-inline:auto}
.cards{gap:16px;background:none;border:0}
.card{border:1px solid var(--line);border-radius:3px;box-shadow:0 2px 4px rgba(15,19,23,.02)}
.card__n{position:absolute;right:24px;top:26px;color:#7d8790;letter-spacing:.1em;margin:0}
.card__ico{width:64px;height:64px;padding:10px;border:1px solid var(--detail-line);background:#fff7f7;border-radius:3px;stroke-width:1.6}
.card::after{content:'';position:absolute;right:18px;bottom:18px;width:14px;height:14px;
 background:linear-gradient(var(--detail-line),var(--detail-line)) center/100% 1px no-repeat,
 linear-gradient(var(--detail-line),var(--detail-line)) center/1px 100% no-repeat;pointer-events:none}
.card h3{max-width:22ch;line-height:1.1}
.card p{padding-right:12px}
.model{min-height:154px}
.model__k{color:#a5b0ba;letter-spacing:.12em}
.model-symbol{position:absolute;right:16px;bottom:16px;width:48px;height:48px;fill:none;stroke:#52606d;stroke-width:1.2;
 transition:stroke .3s,transform .3s;pointer-events:none}
.model__t{padding-right:50px}
.model:focus-visible .model-symbol{stroke:var(--red)}
.pane__fig::after{content:'';position:absolute;inset:12px;border:1px solid rgba(255,255,255,.2);pointer-events:none}
.pane__fig figcaption{z-index:1;letter-spacing:.1em}
.bigproj{border-radius:3px;background:linear-gradient(110deg,rgba(227,6,19,.09),rgba(255,255,255,.025))}
.ggroup__head{padding-bottom:15px}
.ggroup__k{border-radius:2px}
.gitem{border-radius:2px}
.gitem__i{background:rgba(15,19,23,.68);padding:4px 7px;color:#fff;backdrop-filter:blur(6px);border-left:2px solid var(--red)}
.gitem__cap{letter-spacing:.025em}
.gitem__zoom{border-radius:50%}
.quote{border-radius:0 3px 3px 0;box-shadow:0 12px 35px rgba(15,19,23,.04)}
.parts__form,.cform{border-radius:4px;box-shadow:0 16px 40px rgba(15,19,23,.04)}
.fld>span{transition:color .2s}
.fld:focus-within>span{color:var(--red)}
.cform .fld:focus-within>span{color:#ff807a}
.rng input[type=range]{background:linear-gradient(90deg,var(--red) 0 var(--range-progress,0%),#65717c var(--range-progress,0%) 100%) center/100% 3px no-repeat}
.post{border-radius:3px}
.footer__bottom{border-image:linear-gradient(90deg,var(--red),rgba(255,255,255,.1) 35%) 1}
@media(hover:hover) and (pointer:fine){
 .card{transition:transform .3s,box-shadow .3s,border-color .3s}
 .card:hover{transform:translateY(-4px);border-color:#e1b9bc;box-shadow:0 16px 32px rgba(15,19,23,.07)}
 .card:hover .card__ico{transform:translateY(-2px);background:#fff}
 .model:hover .model-symbol{stroke:#ed626b;transform:translateY(-3px)}
 .gitem__zoom{transform:translateY(8px);opacity:0}
 .gitem:hover .gitem__zoom{transform:none;opacity:1}
 .btn--red{box-shadow:0 4px 12px rgba(227,6,19,.12)}
 .btn--red:hover{box-shadow:0 8px 22px rgba(227,6,19,.24)}
}
@keyframes detail-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:no-preference){
 .card.in .card__ico path{stroke-dasharray:1;animation:detail-draw .95s ease both}
 .card.in .card__ico circle{animation:none}
 .gitem:active{transform:scale(.985);transition:transform .15s}
}
@media(max-width:760px){
 .cards{gap:12px}.card{padding:24px 22px}.card__ico{width:56px;height:56px;margin-bottom:18px}
 .card__n{right:20px;top:24px}
 .model{min-height:126px}
 .model-symbol{width:42px;height:42px}
 .hero__mosaic-fade{inset:10px}
 .specs dt{font-size:10px;letter-spacing:.1em;gap:6px}
 .spec-icon{width:14px;height:14px}
 .sec__head .sec__title{max-width:none}
 .gitem__i{font-size:10px;left:8px;top:8px}
}
@media(prefers-reduced-motion:reduce){.card:hover,.model:hover .model-symbol{transform:none}}

/* Address remains visible independently of third-party map loading. */
.map.location-card{aspect-ratio:auto;display:flex;align-items:flex-start;gap:22px;padding:28px;background:#f4f5f6;color:var(--ink);border:1px solid #dfe2e5;border-top:3px solid var(--red);border-radius:3px}
.location-card__pin{width:64px;height:76px;flex:none;display:grid;place-items:center;background:#fff;border:1px solid #e2e5e8;border-radius:3px}
.location-card__pin svg{width:36px;height:44px;fill:none;stroke:var(--red);stroke-width:2;stroke-linejoin:round}
.location-card__body{min-width:0}
.location-card__label{display:block;font:11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#626d77;margin-bottom:10px}
.location-card h3{font-size:28px;line-height:1.12;margin-bottom:12px}
.sec--dark .location-card p{color:#49535d;font-size:15px;line-height:1.65;margin-bottom:20px}
.location-card .map__link{position:static;min-height:46px;white-space:normal;line-height:1.4;padding:12px 16px;gap:12px}
.location-card .map__link svg{flex:none}
@media(max-width:480px){
 .map.location-card{gap:14px;padding:22px 18px;flex-wrap:wrap}
 .location-card__pin{width:48px;height:54px}
 .location-card__pin svg{width:28px;height:34px}
 .location-card__body{flex:1 1 180px}
 .location-card h3{font-size:25px}
 .location-card .map__link{font-size:14px}
}

/* Visible Google map, with its original readable colors. */
.map.location-card{display:grid;grid-template-columns:auto minmax(0,1fr);padding:0;gap:0;overflow:hidden}
.map.location-card .location-card__map{grid-column:1/-1;display:block;width:100%;height:340px;border:0;filter:none;background:#e8eaed}
.location-card__pin{margin:24px 0 24px 24px}
.location-card__body{padding:24px}
@media(max-width:480px){
 .map.location-card{padding:0;gap:0}
 .map.location-card .location-card__map{height:300px}
 .location-card__pin{margin:20px 0 20px 16px}
 .location-card__body{padding:20px 16px}
}
