/* GiLogistics live website concept — fixed 1280x800 stage for the deck iframe */
@font-face{font-family:Geist;src:url(assets/fonts/geist-latin.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url(assets/fonts/instrument-serif-regular.woff2) format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url(assets/fonts/instrument-serif-italic.woff2) format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(assets/fonts/jetbrains-mono-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}

:root{
  --paper:#fbf8f0; --bone:#f1ebdc; --white:#fff;
  --ink:#090d18; --ink-2:#141a2a; --indigo:#232a95; --indigo-2:#333cc4;
  --peri:#8e93dd; --peri-soft:#dfe1f7; --cyan:#4fbecb; --cyan-soft:#d9f2f3;
  --muted:#5b6273; --line:rgba(9,13,24,.13); --line-soft:rgba(9,13,24,.07);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#101525}
body{font-family:Geist,Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;overflow:hidden}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
a{color:inherit}
.site{width:1280px;height:800px;background:var(--paper);overflow:hidden;position:relative;display:flex;flex-direction:column}
.utility{height:26px;flex:0 0 26px;display:flex;justify-content:space-between;align-items:center;padding:0 26px;background:var(--ink);color:#c9cee0;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase}
.utility .u-right{color:#8ca6ad}
.head{height:66px;flex:0 0 66px;display:flex;align-items:center;gap:22px;padding:0 26px;background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:5}
.logo-lock{display:flex;align-items:center;text-decoration:none}
.logo-plate{display:block;background:#fff;padding:6px 9px;border:1px solid var(--line);box-shadow:0 1px 0 rgba(9,13,24,.06)}
.logo-plate img{display:block;width:156px;height:auto}
.nav{display:flex;gap:3px;margin-left:10px}
.nav button{font-size:13px;font-weight:500;letter-spacing:-.01em;padding:9px 11px;border-radius:3px;color:#3b4152;position:relative}
.nav button:hover{background:rgba(35,42,149,.06);color:var(--indigo)}
.nav button.on{color:var(--indigo);background:rgba(35,42,149,.07)}
.nav button.on:after{content:'';position:absolute;left:11px;right:11px;bottom:4px;height:2px;background:var(--indigo)}
.head-cta{margin-left:auto;display:flex;align-items:center;gap:14px}
.phone{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.02em;text-decoration:none;color:#2c3242;border-bottom:1px solid rgba(9,13,24,.25);padding-bottom:2px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:38px;padding:0 17px;border-radius:3px;font-size:13px;font-weight:500;letter-spacing:-.005em;white-space:nowrap}
.btn-indigo{background:var(--indigo);color:#fff;box-shadow:0 2px 0 rgba(9,13,24,.18)}
.btn-indigo:hover{background:var(--indigo-2)}
.btn-ghost{border:1px solid rgba(9,13,24,.24);color:var(--ink)}
.btn-ghost:hover{background:rgba(9,13,24,.04)}
.btn.wide{width:100%}
.btn span{font-family:'JetBrains Mono',monospace;font-size:13px}

.main{flex:1 1 auto;min-height:0;position:relative}
.panel{position:absolute;inset:0;padding:24px 26px 18px;display:none;flex-direction:column;overflow:hidden}
.panel.on{display:flex}
.eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.15em;color:var(--indigo);text-transform:uppercase}
.eyebrow i{width:16px;height:2px;background:var(--indigo);display:inline-block}
h1{font-size:48px;line-height:.99;letter-spacing:-.045em;margin:0;font-weight:600}
h1 em{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.02em;font-size:1.05em;color:var(--indigo)}
.deck-sub{font-size:16px;line-height:1.5;color:#454b5c;max-width:560px;margin:14px 0 0}
.hero{display:grid;grid-template-columns:1.18fr .82fr;gap:34px;flex:1 1 auto;min-height:0;align-items:center;padding:8px 0 12px}
.hero-copy{max-width:610px}
.hero-actions{display:flex;gap:9px;margin-top:22px}
.proof-chips{list-style:none;display:flex;gap:8px;padding:0;margin:22px 0 0}
.proof-chips li{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:#4d5364;padding:6px 9px;border:1px solid var(--line);background:rgba(255,255,255,.5)}
.hero-side{display:flex;flex-direction:column;gap:12px}
.window-card{background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(9,13,24,.08);padding:14px}
.wc-top{display:flex;align-items:center;gap:7px;font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.13em;color:#4a5163}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 3px rgba(79,190,203,.18)}
.ill{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:7.5px;letter-spacing:.12em;color:#8a8f9d;border:1px solid var(--line);padding:2px 5px}
.wc-days{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:12px 0 8px}
.day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 0;border:1px solid var(--line-soft);background:#faf8f2;border-radius:2px}
.day b{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.1em;color:#6a7080}
.day span{font-size:15px;font-weight:600;color:#2c3242}
.day.on{background:var(--indigo);border-color:var(--indigo)}
.day.on b,.day.on span{color:#fff}
.wc-slots{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.slot{font-family:'JetBrains Mono',monospace;font-size:10px;padding:7px 4px;border:1px solid var(--line-soft);background:#faf8f2;color:#333a4b}
.slot.on{background:var(--cyan-soft);border-color:var(--cyan);color:#0d5c65}
.wc-foot{display:flex;align-items:center;gap:7px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line-soft);font-size:10px;color:#717786}
.wc-foot b{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--indigo);letter-spacing:.02em}
.mini{font-size:10px;color:var(--indigo);border-bottom:1px solid rgba(35,42,149,.35);padding:0 0 1px}
.lane-card{background:var(--ink);color:#dfe2ee;padding:12px 14px}
.lane-line{display:flex;align-items:center;gap:0;margin:2px 0 6px}
.node{width:7px;height:7px;border-radius:50%;background:var(--cyan);flex:0 0 7px;box-shadow:0 0 0 3px rgba(79,190,203,.13)}
.track{height:1px;background:linear-gradient(90deg,rgba(79,190,203,.7),rgba(142,147,221,.45));flex:1 1 auto}
.lane-labels{display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:7px;letter-spacing:.12em;color:#9aa2b8}
.lane-card p{margin:7px 0 0;font-size:11px;line-height:1.35;color:#b9bfd0}
.service-band{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);flex:0 0 auto}
.svc{background:#f6f2e8;display:flex;align-items:flex-start;gap:10px;padding:13px 14px;text-align:left;min-height:88px}
.svc:hover{background:#fff}
.svc-n{font-family:'JetBrains Mono',monospace;font-size:8px;color:var(--indigo);padding-top:3px}
.svc b{display:block;font-size:14px;letter-spacing:-.01em;margin-bottom:4px}
.svc small{display:block;font-size:11px;line-height:1.38;color:#5b6273;max-width:245px}
.svc-a{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--indigo)}

/* service pages */
.page-head{padding:10px 0 4px;flex:0 0 auto}
.page-head h1{font-size:44px}
.two-col{display:grid;grid-template-columns:1.22fr .78fr;gap:26px;flex:1 1 auto;min-height:0;padding:10px 0 4px}
.rows{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.row{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}
.row-n{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--indigo);padding-top:2px;width:20px;flex:0 0 20px}
.row h3{margin:0 0 4px;font-size:17px;letter-spacing:-.015em}
.row p{margin:0;font-size:12px;line-height:1.45;color:#5b6273;max-width:430px}
.row-tag{font-family:'JetBrains Mono',monospace;font-size:7.5px;letter-spacing:.1em;color:#7b8190;border:1px solid var(--line);padding:3px 5px;margin-left:auto;white-space:nowrap}
.side-card{background:#fff;border:1px solid var(--line);padding:16px;display:flex;flex-direction:column;box-shadow:0 10px 26px rgba(9,13,24,.05)}
.side-kicker{font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.13em;color:var(--indigo);margin:0 0 10px}
.q-list{list-style:none;margin:0 0 12px;padding:0}
.q-list li{font-size:12px;padding:7px 0 7px 16px;border-top:1px solid var(--line-soft);position:relative}
.q-list li:before{content:'';position:absolute;left:0;top:12px;width:5px;height:5px;border:1px solid var(--indigo);border-radius:50%}
.side-note{font-size:10px;line-height:1.45;color:#777d8c;border-left:2px solid var(--peri-soft);padding-left:9px;margin:auto 0 12px}
.mini-map{background:#f4f0e5;border:1px solid var(--line-soft);margin:0 0 12px;padding:4px}
.mini-map svg{display:block;width:100%;height:auto}
.mm-water{fill:#dceef0}
.mm-road{stroke:#8e93dd;stroke-width:2;fill:none}
.mm-road.thin{stroke-width:1.2;stroke:#b9bce8}
.mm-dot{fill:var(--indigo)}
.mm-ring{fill:none;stroke:var(--cyan);stroke-width:1.4;opacity:.8}
.mm-small{fill:#6a7080}
.mini-map text{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.08em;fill:#4f5667}

/* dock windows */
.dock-head{display:flex;align-items:flex-end;gap:30px;padding:6px 0 14px;flex:0 0 auto}
.dock-head h1{font-size:40px}
.dock-head .deck-sub{margin:0 0 4px auto;max-width:430px;font-size:13px}
.dock-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;flex:1 1 auto;min-height:0}
.cal{background:#fff;border:1px solid var(--line);padding:14px;display:flex;flex-direction:column}
.cal-top{display:flex;align-items:center;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.12em;color:#454c5e;margin-bottom:10px}
.cal-days{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.cday{background:#f7f3e9;border:1px solid var(--line-soft);padding:8px;text-align:left;position:relative}
.cday b{display:block;font-family:'JetBrains Mono',monospace;font-size:7.5px;letter-spacing:.1em;color:#6d7382}
.cday span{display:block;font-size:22px;font-weight:600;line-height:1.05;letter-spacing:-.03em}
.cday i{display:block;font-style:normal;font-size:8.5px;color:#7c8290;margin-top:1px}
.cday.on{background:var(--indigo);border-color:var(--indigo);color:#fff}
.cday.on b,.cday.on i{color:#c9cdf1}
.cal-slots{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}
.cslot{display:flex;align-items:baseline;gap:8px;padding:10px 11px;border:1px solid var(--line-soft);background:#faf8f2;text-align:left}
.cslot b{font-family:'JetBrains Mono',monospace;font-size:11px;color:#2c3242}
.cslot span{font-size:9px;color:#7c8290;margin-left:auto}
.cslot.on{background:var(--cyan-soft);border-color:var(--cyan)}
.cslot.on b{color:#0d5c65}
.cal-foot{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:12px;font-size:10px;color:#6d7382}
.cal-foot b{color:var(--indigo);font-family:'JetBrains Mono',monospace;font-size:9.5px}
.dot-live{width:6px;height:6px;border-radius:50%;background:var(--cyan)}
.cal-note{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:7.5px;letter-spacing:.1em;color:#8a8f9d}
.brief{background:var(--ink);color:#e7e9f2;padding:15px;display:flex;flex-direction:column;gap:9px}
.brief .side-kicker{color:#9aa2e6;margin:0}
.brief label{display:block;font-family:'JetBrains Mono',monospace;font-size:7.5px;letter-spacing:.1em;color:#9aa2b8;text-transform:uppercase}
.brief select,.brief textarea,.brief input{width:100%;margin-top:4px;background:#161d30;border:1px solid rgba(255,255,255,.16);color:#f1f2f8;padding:7px 8px;font-family:Geist,sans-serif;font-size:11px;border-radius:2px}
.brief textarea{resize:none;line-height:1.35}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.stepper{display:flex;margin-top:4px;height:31px}
.stepper button{width:27px;background:#161d30;border:1px solid rgba(255,255,255,.16);color:#fff;font-size:14px}
.stepper input{width:100%;text-align:center;margin:0;border-left:0;border-right:0;border-radius:0;padding:0}
.brief-summary{border-top:1px solid rgba(255,255,255,.14);padding-top:9px;margin-top:auto}
.bs-top{display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:7.5px;letter-spacing:.1em;color:#9aa2b8}
.brief-summary p{margin:5px 0 0;font-size:10.5px;line-height:1.4;color:#dfe2ee}
.brief-summary .bs-note{font-size:8.5px;color:#8b93a9;line-height:1.35}
.brief-summary.ready{border-color:rgba(79,190,203,.5)}
.brief-summary.ready #bs-line{color:#b9eef2}

.foot{height:58px;flex:0 0 58px;display:flex;align-items:center;gap:26px;padding:0 26px;background:var(--ink);color:#c7ccdc;border-top:1px solid rgba(255,255,255,.08)}
.foot b{display:block;font-size:10.5px;color:#fff;font-weight:500}
.foot span{display:block;font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.04em;color:#8e96ac;margin-top:2px}
.foot a{display:block;font-family:'JetBrains Mono',monospace;font-size:9px;text-decoration:none;color:#dfe2ee;margin:1px 0}
.foot a:hover{color:#8fe1e8}
.foot-note{margin-left:auto;max-width:330px;text-align:right;font-size:8px;line-height:1.45;color:#8e96ac}


/* completion pass: readable floor for the mockup's own labels (the deck also offers a full-size modal) */
.utility{font-size:11px}
.eyebrow{font-size:11.5px}
.proof-chips li{font-size:11px}
.wc-top{font-size:11px}
.ill{font-size:10px}
.day b{font-size:10.5px}
.slot{font-size:12px}
.wc-foot{font-size:11.5px}
.wc-foot b{font-size:12px}
.mini{font-size:12px}
.lane-labels{font-size:10px}
.lane-card p{font-size:12.5px}
.svc-n{font-size:10.5px}
.svc b{font-size:15px}
.svc small{font-size:12.5px;max-width:260px}
.row-n{font-size:11px}
.row p{font-size:13.5px}
.row-tag{font-size:10.5px}
.side-kicker{font-size:11px}
.q-list li{font-size:13.5px}
.side-note{font-size:12px}
.mini-map svg{max-height:150px}
.mini-map text{font-size:10px}
.cal-top{font-size:11px}
.cday b{font-size:10px}
.cday i{font-size:11px}
.cslot b{font-size:13px}
.cslot span{font-size:11.5px}
.cal-foot{font-size:12px}
.cal-foot b{font-size:12px}
.cal-note{font-size:10.5px}
.brief label{font-size:10.5px}
.brief select,.brief textarea,.brief input{font-size:13px}
.bs-top{font-size:10.5px}
.brief-summary p{font-size:12.5px}
.brief-summary .bs-note{font-size:11px}
.foot b{font-size:12px}
.foot span{font-size:10.5px}
.foot a{font-size:11.5px}
.foot-note{font-size:10.5px}
