/* SEMM coming soon — updated to Figma frame 38:6 (23 October 2026)
   Original desktop artboard: 1440 × 1024.
   Artwork files stay local in /assets for cPanel and offline previews.
*/
:root { --navy:#02172e; --border:#1a5880; --white:#fff; }
* { box-sizing:border-box; }
html { min-width:320px; }
body { margin:0; background:var(--navy); color:var(--white); font-family:'Poppins',Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.coming-soon { position:relative; isolation:isolate; width:100%; height:100svh; min-height:730px; overflow:hidden; background:var(--navy); }
.freight-background { position:absolute; inset:0; z-index:-2; pointer-events:none; background-image:url('assets/freight-background.jpg'); background-repeat:no-repeat; background-position:center center; background-size:cover; }
.framed-overlay { position:absolute; inset:30px; z-index:-1; border:4px solid var(--border); border-radius:20px; background:rgba(2,23,46,.60); pointer-events:none; }
.layout { position:relative; width:100%; height:100%; min-height:inherit; }
.site-header { position:absolute; top:54px; right:max(6.25vw,44px); z-index:2; }
.service-types { margin:0; display:flex; align-items:baseline; justify-content:flex-end; gap:22px; font:500 25px/1.5 'Montserrat',Arial,sans-serif; letter-spacing:.10em; white-space:nowrap; }
.service-types .slash { font-size:31px; font-weight:400; line-height:1; }
.center-content { position:absolute; inset:0; pointer-events:none; display:flex; align-items:center; flex-direction:column; }
.logo { position:absolute; top:13.65%; left:50%; transform:translateX(-50%); width:min(31.81vw,458px); max-width:calc(100% - 110px); display:block; text-decoration:none; pointer-events:auto; }
.logo img { display:block; width:100%; height:auto; }
.message { position:absolute; left:50%; top:52.85%; transform:translateX(-50%); width:min(100% - 90px,1050px); text-align:center; }
.message h1 { margin:0; font-size:clamp(50px,6.25vw,90px); line-height:1.18; font-weight:900; letter-spacing:.06em; white-space:nowrap; }
.message p { max-width:720px; margin:18px auto 0; font-size:clamp(18px,1.737vw,25px); font-weight:400; letter-spacing:.03em; line-height:1.15; }
.site-footer { position:absolute; top:83.5%; left:50%; transform:translateX(-50%); width:calc(100% - 110px); text-align:center; }
.site-footer p { margin:0; white-space:nowrap; color:#fff; font-family:'Montserrat',Arial,sans-serif; font-size:clamp(23px,3.47vw,50px); font-weight:800; line-height:1.24; letter-spacing:.08em; text-shadow:0 2px 12px rgba(0,0,0,.35); }
.logo:focus-visible { outline:3px solid white; outline-offset:8px; border-radius:5px; }
/* Widescreen: anchor to the same design proportions rather than stretching lettering. */
@media (min-width:1441px) { .logo { width:min(31.81vw,510px); } .message h1{font-size:clamp(90px,6.25vw,110px)} .site-footer p{font-size:clamp(50px,3.48vw,60px)} }
/* Tablet / small landscape laptops: maintain scale and avoid text overflows. */
@media (min-width:701px) and (max-width:1199px) {
 .site-header { top:40px; right:55px; }
 .service-types { font-size:clamp(15px,2vw,23px); gap:14px; }
 .service-types .slash {font-size:1.25em;}
 .logo { top:13%; width:clamp(245px,33vw,395px); }
 .message { top:53%; }
 .message h1 { font-size:clamp(42px,6.1vw,72px); }
 .message p {font-size:clamp(17px,2vw,23px);}
 .site-footer p{font-size:clamp(20px,3.25vw,39px)}
}
/* Phones: generous readable layout with the visual centered and tagline lower down. */
@media (max-width:700px) {
 .coming-soon { height:auto; min-height:max(100svh,740px); overflow:hidden; }
 .freight-background { background-position:60% center; }
 .freight-background::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(2,23,46,.30) 0%,rgba(2,23,46,.2) 45%,rgba(2,23,46,.40) 100%); }
 .framed-overlay { inset:14px; border-width:3px; border-radius:17px; background:rgba(2,23,46,.66); }
 .layout { min-height:max(100svh,740px); display:flex; flex-direction:column; align-items:center; padding:38px 28px 65px; }
 .site-header { position:static; align-self:center; }
 .service-types { gap:12px; font-size:clamp(12px,3.6vw,17px); letter-spacing:.08em; }
 .service-types .slash { font-size:1.3em; }
 .center-content { position:static; width:100%; flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; pointer-events:auto; }
 .logo { position:static; transform:none; max-width:100%; width:clamp(240px,70vw,380px); margin-top:clamp(75px,12vh,122px); }
 .message { position:static; transform:none; width:100%; margin-top:clamp(54px,8vh,86px); }
 .message h1 {font-size:clamp(33px,7.7vw,54px); line-height:1.15; letter-spacing:.045em; white-space:normal; }
 .message p {max-width:440px; margin-top:19px; font-size:clamp(15px,3.75vw,21px); line-height:1.4; letter-spacing:.012em;}
 .desktop-break {display:none;}
 .site-footer { position:static; transform:none; width:100%; margin-top:auto; padding-top:65px; }
 .site-footer p { font-size:clamp(17px,4.35vw,29px); line-height:1.35; letter-spacing:.055em; white-space:normal; }
}
@media (max-width:380px) {
 .layout {padding:34px 23px 54px;}
 .logo { width:min(70vw,260px); margin-top:80px; }
 .message { margin-top:62px; }
 .message h1 { font-size:clamp(29px,7.7vw,35px); }
 .site-footer p {font-size:17px;}
}
/* Short horizontal screens still need space for all content. */
@media (min-width:701px) and (max-height:750px) {
 .coming-soon { min-height:750px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
