/* Shared editorial pages: company, contacts and documented projects. */
.company-page .site-header{background:var(--bg)}
.company-main{max-width:1680px;margin:auto;padding:150px 4.3% 0}
.company-hero{padding:25px 0 64px;border-bottom:1px solid var(--line);margin-bottom:64px}
.company-breadcrumbs{display:flex;gap:14px;color:var(--muted);font-size:11px;margin-bottom:48px}
.company-breadcrumbs a:hover{color:var(--accent)}
.company-hero h1{font-size:clamp(42px,5.6vw,88px);line-height:1.09;max-width:1150px;margin:25px 0 28px}
.company-lead{font-size:clamp(15px,1.3vw,19px);line-height:1.8;color:#bec2b9;max-width:790px;margin:0}
.company-main h2{font-size:clamp(29px,3.2vw,48px);font-weight:500;line-height:1.17;letter-spacing:-.045em;margin:20px 0 25px}
.company-main h3{font-size:19px;font-weight:500;line-height:1.4;letter-spacing:-.025em}
.company-main p{line-height:1.9;color:#b8bdb3}
.company-split{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:start}
.company-split>div>p{max-width:620px}
.company-photo,.project-case figure{margin:0;min-width:0}
.company-photo img{width:100%;height:530px;object-fit:cover;display:block}
.company-main figcaption{font-size:10px;color:var(--muted);line-height:1.7;margin-top:12px}
.text-link{display:inline-block;color:var(--accent);font-size:12px;line-height:1.7;border-bottom:1px solid #f3914255;padding:4px 0;margin-top:18px}
.text-link:hover{border-color:var(--accent)}
.company-section{padding:64px 0;border-top:1px solid var(--line);margin-top:64px}
.company-three{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}
.company-three article{border-top:1px solid var(--line);padding-top:23px}
.company-number{font:11px monospace;color:var(--accent);letter-spacing:.1em}
.company-steps{list-style:decimal-leading-zero;margin:0;padding-left:36px}
.company-steps li{padding:0 0 16px 15px;border-bottom:1px solid var(--line);margin-bottom:24px}
.company-steps li::marker{color:var(--accent);font:12px monospace}
.company-steps h3{margin-top:0}


.company-cta{border-top:1px solid var(--line);display:flex;gap:50px;justify-content:space-between;align-items:center;padding:64px 0 85px}
.company-cta>div{max-width:740px}.company-cta .primary{flex-shrink:0}.company-cta h2{margin-bottom:20px}.company-cta p{max-width:590px}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%}
.contact-direct{display:flex;align-items:flex-start;flex-direction:column}
.contact-phone{font-size:clamp(29px,3.9vw,57px);letter-spacing:-.045em;margin:22px 0 14px;white-space:nowrap}
.contact-phone:hover,.contact-email:hover{color:var(--accent)}
.contact-email{font-size:clamp(16px,1.8vw,26px);overflow-wrap:anywhere}
.contact-small{font-size:12px;max-width:440px;margin-top:30px}
.contact-addresses article{border-top:1px solid var(--line);padding:24px 0 32px}.contact-addresses h2{font-size:32px;margin:18px 0}
.contact-addresses address{font-style:normal;font-size:17px;line-height:1.7}.contact-addresses p{font-size:13px}.contact-addresses .text-link{margin-top:4px}
.contact-checklist{list-style:none;padding:0;margin:0}.contact-checklist li{padding:18px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.7}.contact-checklist li:before{content:"";display:inline-block;width:14px;height:14px;margin-right:15px;vertical-align:-2px;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18 18 6M6 6h12v12' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18 18 6M6 6h12v12' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat}
.company-requisites{display:grid;grid-template-columns:145px 1fr;gap:20px;margin:0;line-height:1.8;font-size:14px}.company-requisites dt{color:var(--muted)}.company-requisites dd{margin:0;overflow-wrap:anywhere}
.project-context{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start;margin-bottom:40px}.project-context p{margin:0;font-size:13px;max-width:850px}
.project-index{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 64px}.project-index a{display:flex;gap:18px;align-items:center;border:1px solid var(--line);padding:14px 18px;font-size:11px}.project-index a:hover{border-color:var(--accent)}.project-index a span{color:var(--accent);font:10px monospace}
.project-case{display:grid;grid-template-columns:1.05fr 1fr;gap:6%;padding:50px 0;border-top:1px solid var(--line);scroll-margin-top:130px}
.project-case img{width:100%;height:410px;object-fit:cover;display:block}.project-copy .eyebrow{font-size:9px;line-height:1.8}.project-copy h2{font-size:clamp(27px,2.8vw,42px);margin:16px 0 24px}.project-copy>p{font-size:13px}
.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:28px;border-block:1px solid var(--line);padding:18px 0;align-items:center}.project-facts>div{display:flex;flex-direction:column;gap:7px}.project-facts strong{font-size:35px;font-weight:500;letter-spacing:-.045em}.project-facts small{font-size:17px;color:var(--accent)}.project-facts b{font-size:14px;font-weight:500;line-height:1.5}.project-facts span{font-size:10px;color:var(--muted)}
.project-copy details{border-block:1px solid var(--line);margin-top:20px;padding:15px 0}.project-copy summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-size:12px;list-style:none;color:var(--text)}.project-copy summary::-webkit-details-marker{display:none}.project-copy summary span{color:var(--accent)}.project-copy details[open] summary span{transform:rotate(45deg)}.project-copy details h3{font-size:15px;margin-top:24px}.project-copy details p{font-size:13px}.project-source{display:inline-block;color:var(--muted);font-size:10px;line-height:1.8;margin-top:20px}.project-source:hover{color:var(--accent)}
@media(max-width:1100px){.company-main{padding-top:130px}.company-photo img{height:440px}.company-cta{align-items:flex-start;flex-direction:column;gap:15px}.company-split,.contact-layout{gap:5%}.project-case{gap:4%}.project-case img{height:370px}}
@media(max-width:767px){.company-main{padding:110px 6% 0}.company-hero{padding:15px 0 40px;margin-bottom:40px}.company-breadcrumbs{margin-bottom:30px}.company-hero h1{font-size:clamp(34px,7.5vw,55px);letter-spacing:-.05em}.company-hero>.eyebrow{font-size:8px;line-height:1.8}.company-split,.contact-layout,.project-context,.project-case{grid-template-columns:1fr;gap:30px}.company-photo img{height:auto;max-height:460px;aspect-ratio:4/3}.company-section{margin-top:40px;padding:40px 0}.company-three{grid-template-columns:1fr;gap:25px;margin-top:30px}.company-three article{padding-top:20px}.company-three h3{margin:15px 0}.company-steps{padding-left:30px}.company-cta{padding:40px 0 55px;gap:15px}.contact-phone{font-size:clamp(30px,7.2vw,46px)}.contact-email{font-size:19px}.contact-addresses article:last-child{padding-bottom:0}.company-requisites{grid-template-columns:1fr;gap:6px}.company-requisites dd{margin-bottom:15px}.project-context{gap:14px}.project-index{gap:8px;margin-bottom:40px}.project-index a{padding:12px;gap:12px}.project-case{padding:32px 0;gap:25px}.project-case img{height:auto;aspect-ratio:4/3;object-fit:cover}.project-copy h2{margin-top:12px}.project-copy .eyebrow{font-size:8px}.project-facts{gap:20px}.project-facts strong{font-size:32px}}
@media(prefers-reduced-motion:reduce){.company-page{scroll-behavior:auto}}

/* Real production imagery and compact address maps. */
.production-photo-frame{position:relative;overflow:hidden;border:1px solid var(--line);background:#101312}
.company-production-photo .production-photo-frame img{height:530px;object-fit:cover;object-position:58% center;filter:saturate(.75) brightness(.88)}
.production-photo-frame::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#101312dc);pointer-events:none}
.production-photo-label{position:absolute;left:24px;right:24px;bottom:24px;z-index:1;font:10px var(--sans);font-weight:600;line-height:1.8;letter-spacing:1.7px;color:var(--text);padding-top:15px;border-top:1px solid #f3914280}
.contact-map{margin:22px 0 10px;border:1px solid var(--line);background:#101312;overflow:hidden}
.contact-map-label{display:flex;align-items:center;gap:9px;padding:12px 14px;border-bottom:1px solid var(--line);font-size:8px;font-weight:600;letter-spacing:1.5px;color:var(--muted)}
.contact-map-label>span:last-child{margin-left:auto;color:var(--accent);font-size:15px;line-height:1}
.map-status{width:5px;height:5px;flex:none;background:var(--accent)}
.contact-map iframe{display:block;width:100%;height:220px;border:0;background:#252a27;color-scheme:normal}
.contact-addresses .contact-map+.text-link{margin-top:4px}
@media(max-width:1100px){.company-production-photo .production-photo-frame img{height:440px}}
@media(max-width:767px){.company-production-photo .production-photo-frame img{height:auto;max-height:460px;aspect-ratio:4/3}.production-photo-label{left:18px;right:18px;bottom:18px;font-size:8px;letter-spacing:1.2px}.contact-map iframe{height:200px}}

/* Contacts: compact contact strip, followed by two equally sized location cards. */
.contact-layout{display:block}
.contact-direct{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:start;margin-bottom:44px}
.contact-identity{display:flex;flex-direction:column;align-items:flex-start}
.contact-phone{margin-top:18px}
.contact-availability{padding-top:3px}
.contact-availability>p{margin:16px 0 0}
.contact-availability .text-link{margin-top:12px}
.contact-availability .contact-small{margin-top:18px;max-width:520px}
.contact-addresses{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.contact-addresses article{display:flex;flex-direction:column;align-items:flex-start;padding:28px;border:1px solid var(--line);background:#ffffff02;min-width:0}
.contact-addresses article>p{flex:1;margin:14px 0 22px;max-width:500px}
.contact-addresses article:last-child{padding-bottom:28px}
.contact-addresses h2{margin:16px 0 12px}
.contact-map{width:100%;margin:0 0 12px;background:#e9e9e4}
.contact-map-label{background:#151817}
.contact-map iframe{height:240px;filter:none;background:#e9e9e4;color-scheme:normal}
.contact-addresses .contact-map+.text-link{margin-top:0}
@media(max-width:767px){
 .contact-direct{grid-template-columns:1fr;gap:26px;margin-bottom:32px}
 .contact-addresses{grid-template-columns:1fr;gap:20px}
 .contact-addresses article,.contact-addresses article:last-child{padding:22px}
 .contact-map iframe{height:220px}
 .contact-availability .contact-small{max-width:none}
}

/* Map previews centred on each address, with custom location pins. */
.contact-map{background:#171b19;border-color:#ffffff20}
.contact-map-label{background:#101512;color:#a0a99e}
.contact-map-surface{position:relative;width:100%;height:240px;isolation:isolate}
.contact-map-surface iframe{width:100%;height:100%;pointer-events:none;filter:none;background:#171b19;color-scheme:dark}
.map-open-surface{position:absolute;inset:0;z-index:1}
.map-pin{position:absolute;top:50%;left:50%;z-index:2;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-100%);color:var(--text);text-decoration:none}
.map-pin-card{display:flex;align-items:center;gap:12px;min-width:194px;padding:12px 14px 12px 12px;background:#151b17;border:1px solid #f39142b3;box-shadow:0 10px 28px #0009;transition:border-color .2s,background .2s}
.map-pin:hover .map-pin-card{border-color:#ffb578;background:#242d25}
.map-pin-icon{display:grid;place-items:center;width:37px;height:37px;background:#f3914214;border:1px solid #f3914240;flex:none}
.map-pin-icon svg{width:27px;height:27px;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.map-pin-copy{display:flex;flex-direction:column;gap:7px;white-space:nowrap}.map-pin-copy strong{font-size:9px;font-weight:600;letter-spacing:1.2px;color:var(--accent)}.map-pin-copy>span{font-size:15px;letter-spacing:-.02em}
.map-pin-arrow{margin-left:auto;padding-left:8px;font-size:17px;color:var(--accent)}
.map-pin-stem{height:22px;width:1px;background:var(--accent)}
.map-pin-point{position:absolute;bottom:-5px;left:calc(50% - 5px);width:10px;height:10px;background:var(--accent);border:2px solid #171b19;border-radius:50%;box-shadow:0 0 0 5px #f3914228,0 0 0 10px #f3914210}
.map-source-links{position:absolute;z-index:3;bottom:0;right:0;left:0;display:flex;justify-content:flex-end;gap:12px;background:#101512eb;padding:5px 8px;font-size:8px;line-height:1.4;color:#aab2a6}.map-source-links a:hover{color:var(--accent)}
@media(max-width:767px){.contact-map-surface{height:220px}.map-pin-card{min-width:184px;padding:10px;gap:10px}.map-pin-copy strong{font-size:8px}}
@media(prefers-reduced-motion:reduce){.map-pin-card{transition:none}}

/* Readable pictograms: office workstation and factory building. */
.map-pin-icon{width:46px;height:46px;color:var(--accent);background:#f391421a}
.map-pin-icon svg{width:36px;height:36px;stroke-width:1.6}
.map-pin-card{min-width:210px;padding:12px;gap:12px}
@media(max-width:767px){.map-pin-icon{width:42px;height:42px}.map-pin-icon svg{width:33px;height:33px}.map-pin-card{min-width:198px}}
