/* ===== GLOBAL RESET & TOKENS ===== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  margin:0;
  font-family:"Helvetica Neue",Arial,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.7;
  color:#27292E;
  background-color:#F0EEE7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
h1,h2,h3,h4{line-height:1.2;margin:0 0 0.4em;color:#27292E;font-weight:800;letter-spacing:-0.01em}
p{margin:0 0 1em}
a{color:#1E7F86;text-decoration:none}
a:hover{color:#164F54}
ul,ol{margin:0 0 1em;padding-left:1.25em}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* palette utilities */
.teal{color:#1E7F86}
.chromechar{color:#8B9093}

/* ===== CONTROL PANEL NAV (.controlpanel) ===== */
.controlpanel{position:sticky;top:0;z-index:60;background-color:#F0EEE7;border-bottom:none}
.barline{height:26px;max-width:100%;margin:0 auto;padding:0 24px;display:flex;align-items:flex-end;justify-content:space-between}
.barline .ticks{display:flex;align-items:flex-end;gap:6px;height:100%}
.barline .ticks span{display:inline-block;background-color:#8B9093;width:2px}
.barline .ticks span:nth-child(1){height:6px}
.barline .ticks span:nth-child(2){height:9px}
.barline .ticks span:nth-child(3){height:12px}
.barline .ticks span:nth-child(4){height:16px}
.barline .ticks span:nth-child(5){height:20px}
.navtrack{max-width:1180px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brandplate{display:inline-flex;align-items:center;gap:12px}
.gtfplate{background-color:#1E7F86;color:#FBFAF4;font-weight:900;font-size:1.2rem;letter-spacing:0.02em;padding:10px 16px;line-height:1;border-radius:4px;font-family:"Courier New",monospace}
.panelglyph{display:inline-flex;flex-direction:column;align-items:center;gap:4px;background-color:#8B9093;border-radius:6px;padding:6px;width:40px}
.panelglyph .dots{display:flex;gap:4px}
.panelglyph .dots i{width:7px;height:7px;border-radius:50%;display:inline-block;background-color:#FBFAF4}
.panelglyph .dialsim{width:20px;height:12px;border:2px solid #FBFAF4;border-radius:8px 8px 3px 3px}
.keygroup{display:flex;align-items:center;gap:8px}
.keys{display:flex;align-items:center;gap:8px;list-style:none;margin:0;padding:0}
.keys li{margin:0}
.keycap{display:inline-block;background-color:#2A2E31;color:#1E7F86;font-weight:700;padding:10px 18px;border-radius:7px;border-bottom:3px solid #8B9093;font-size:0.95rem;letter-spacing:0.02em}
.keycap:hover{background-color:#1E7F86;color:#FBFAF4;border-bottom-color:#0F5055}
.ctachip{display:inline-block;background-color:#1E7F86;color:#FBFAF4;font-weight:800;padding:11px 22px;border-radius:999px;font-size:0.95rem;border:1px solid #156A70}
.ctachip:hover{background-color:#164F54;color:#FBFAF4}
.navtoggle{display:none;background:transparent;border:1px solid #1E7F86;color:#1E7F86;font-weight:800;border-radius:6px;padding:8px 14px;font-size:1rem;cursor:pointer}
.navtoggle:hover{background-color:#1E7F86;color:#FBFAF4}

/* stacked drawer for mobile */
.navdrawer{display:none}
.navdrawer.open{display:block;background-color:#F0EEE7;border-top:1px solid #8B9093}
.navdrawer ul{list-style:none;margin:0;padding:10px 24px 0}
.navdrawer li{margin-bottom:10px}
.navdrawer a{display:block;background-color:#2A2E31;color:#1E7F86;padding:12px 16px;border-radius:7px;font-weight:700}
.navdrawer .cta-wrap{padding:0 24px 14px}

/* ===== SHOWROOM FLOOR HERO (.showroomfloor) ===== */
.showroomfloor{background-color:#F0EEE7}
.floorzone{position:relative;overflow:hidden;max-width:100%}
.floorgrid{display:flex;gap:22px;align-items:stretch;padding:34px 0 10px;max-width:1180px;margin:0 auto;padding-left:24px;padding-right:24px}
.machinecol{flex:1;display:flex;flex-direction:column;justify-content:flex-end}
.machine{position:relative;display:block;width:100%;background-color:#8B9093;border-radius:6px;overflow:hidden}
.machine.covered{height:250px;background-color:#7E8388;border:1px solid #5A6065}
.drapeline{position:absolute;inset:10px;border:2px dashed #3F454B;border-radius:5px}
.drapeline::after{content:"";position:absolute;top:-12px;left:20%;width:60%;height:18px;background-color:#6B7075;border-radius:50%}
.tiespan{position:absolute;top:22px;left:-4px;right:-4px;height:6px;background-color:#555A5E}
.machine.unveiled{height:250px;background-color:#E4E2D8;border:3px solid #1E7F86}
.coilpair{display:flex;gap:10px;position:absolute;left:22px;bottom:18px}
.coil{width:44px;height:44px;border-radius:50%;background-color:#1E7F86;border:6px solid #156A70;position:relative}
.coil::before{content:"";position:absolute;inset:8px;border-radius:50%;background-color:#E4E2D8}
.spindle{position:absolute;right:-2px;top:8px;bottom:8px;width:34px;background-color:#D9C79B;border-radius:3px}
.spanelmini{position:absolute;right:42px;top:18px;width:66px;background-color:#2A2E31;border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:6px;align-items:center}
.spanelmini .d{width:100%;height:4px;background-color:#8B9093}
.spanelmini .dial{width:30px;height:30px;border-radius:50%;border:3px solid #1E7F86;background-color:#FBFAF4;position:relative}
.spanelmini .dial::after{content:"";position:absolute;left:50%;top:6px;width:2px;height:8px;background-color:#1E7F86;transform-origin:bottom;transform:rotate(0)}
.specstand{flex:0 0 190px;position:relative}
.speccardmini{background-color:#FBFAF4;border:1px solid #8B9093;border-radius:4px;padding:16px;box-shadow:0 6px 0 0 #C7C9BE}
.speccardmini .shead{font-weight:900;font-size:0.8rem;color:#27292E;letter-spacing:0.08em;margin-bottom:8px;border-bottom:2px solid #1E7F86;padding-bottom:6px}
.speccardmini .mrow{display:flex;justify-content:space-between;font-size:0.75rem;border-bottom:1px solid #E3E0D2;padding:4px 0}
.speccardmini .mrow span:first-child{color:#5A6065}
.speccardmini .mrow span:last-child{color:#27292E;font-weight:700}
.standfoot{width:56px;height:14px;background-color:#8B9093;margin:10px auto 0;border-radius:3px}
.cratezone{flex:0 0 150px;position:relative;min-height:240px}
.crate{background-color:#D9C79B;border:3px solid #2A2E31;padding:12px;transform:rotate(-2deg);border-radius:2px;position:relative}
.crate .stmark{font-family:"Courier New",monospace;font-weight:900;font-size:0.8rem;letter-spacing:0.14em;color:#5A4630;writing-mode:vertical-rl;text-align:left}
.crate .stbox{position:absolute;inset:8px;border:2px solid #7A5A38;border-radius:2px}
.pallet{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-top:12px}
.pallet i{height:22px;background-color:#D9C79B;border:1px solid #8B8A7A;border-radius:2px}

/* plinth / h1 block */
.plinthcon{background-color:#F0EEE7;padding:8px 0 0}
.speccardslab{max-width:1180px;margin:0 auto;padding:26px 56px;background-color:#FBFAF4;border:1px solid #8B9093;border-radius:6px;position:relative;box-shadow:0 10px 0 0 #DDDACE}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:800;letter-spacing:0.16em;font-size:0.8rem;color:#1E7F86;text-transform:uppercase;margin-bottom:12px}
.eyebrow .tbar{height:6px;width:34px;background-color:#1E7F86;display:inline-block}
.headrow{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap}
.modelstamp{flex:0 0 auto;width:92px;height:92px;border-radius:50%;border:3px solid #1E7F86;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:"Courier New",monospace;margin-top:6px}
.modelstamp b{color:#1E7F86;font-size:1.05rem;letter-spacing:0.05em;line-height:1.1}
.modelstamp small{color:#5A6065;font-size:0.6rem;letter-spacing:0.1em}
.h1wrap{flex:1 1 320px}
.herotitle{font-size:3rem;margin:0;line-height:1.06;max-width:700px}
.herotitle .ink{color:#27292E}
.leadbox{max-width:720px}
.lead{font-size:1.1rem;color:#3D4248;margin:14px 0 22px}
.btnrow{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:6px}
.btn{display:inline-block;padding:14px 26px;border-radius:7px;font-weight:800;font-size:1rem;cursor:pointer}
.btnsolid{background-color:#1E7F86;color:#FBFAF4;border:1px solid #1E7F86}
.btnsolid:hover{background-color:#164F54;color:#FBFAF4;border-color:#164F54}
.btnoutline{background-color:transparent;color:#27292E;border:2px solid #27292E}
.btnoutline:hover{background-color:#2A2E31;color:#FBFAF4}
.kickband{background-color:#2A2E31;margin-top:30px;color:#FBFAF4}
.kickstats{max-width:1180px;margin:0 auto;padding:24px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.statblock{border-left:3px solid #1E7F86;padding-left:16px}
.statblock i{color:#8B9093;font-style:normal;font-weight:800;letter-spacing:0.1em;font-size:0.7rem;text-transform:uppercase}
.statblock b{display:block;font-size:1.9rem;color:#FBFAF4;font-family:"Courier New",monospace;line-height:1.05;margin:4px 0 2px}
.statblock span{font-size:0.85rem;color:#C9CCCF}

/* ===== MODEL SHEET ROWS (.modelsheet) ===== */
.modelsheet{background-color:#F0EEE7;padding:56px 0 0}
.sectlabel{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:14px;margin-bottom:10px}
.sectlabel .nos{font-family:"Courier New",monospace;color:#1E7F86;font-weight:900;letter-spacing:0.1em}
.sectlabel h2{margin:0;font-size:2rem}
.sectsub{max-width:1180px;margin:0 auto;padding:0 24px;color:#3D4248;font-size:1.05rem;margin-bottom:34px}
.modellist{max-width:1180px;margin:0 auto;padding:0 24px}
.sheetrow{background-color:#FBFAF4;border:1px solid #C9CCCF;border-radius:6px;padding:24px 28px;margin-bottom:20px;position:relative;display:flex;gap:20px;align-items:flex-start}
.sheetrow:nth-child(even){transform:translateX(40px)}
.sheetrow::before{content:"";position:absolute;top:0;bottom:0;right:-1px;width:8px;background-color:#8B9093}
.stampdisk{flex:0 0 auto;width:64px;height:64px;border-radius:50%;border:2px solid #1E7F86;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:"Courier New",monospace;background-color:#1E7F86;color:#FBFAF4}
.stampdisk b{font-size:0.9rem;letter-spacing:0.05em;line-height:1}
.stampdisk small{font-size:0.62rem;letter-spacing:0.05em}
.sheetbody{flex:1}
.sheettop{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.sheettop h3{margin:0;font-size:1.45rem}
.specchip{font-family:"Courier New",monospace;background-color:#D9C79B;color:#5A4630;font-weight:900;font-size:0.7rem;letter-spacing:0.1em;padding:3px 9px;border-radius:4px;border:1px solid #8B8A7A}
.springmark{position:absolute;top:22px;right:20px;width:30px;height:52px;border:4px solid #1E7F86;border-radius:15px;background-color:#FBFAF4}
.springmark::after{content:"";position:absolute;left:50%;top:8px;width:3px;height:20px;background-color:#1E7F86;transform:translateX(-50%)}
.sheetcopy{color:#3D4248;margin-bottom:10px}
.detailslink{color:#1E7F86;font-weight:800;font-size:0.95rem}

/* full width statement row on teal */
.statementband{background-color:#1E7F86;color:#FBFAF4;margin-top:40px}
.statementinner{max-width:1180px;margin:0 auto;padding:48px 24px;display:flex;align-items:center;gap:30px;flex-wrap:wrap;justify-content:space-between}
.statementcopy h2{color:#FBFAF4;font-size:2rem;margin-bottom:12px}
.statementcopy p{color:#E3F0EF;max-width:540px;margin:0}
.bigfigure{flex:0 1 auto;text-align:right;font-family:"Courier New",monospace}
.bigfigure b{display:block;font-size:6rem;line-height:0.85;color:#FBFAF4}
.bigfigure small{letter-spacing:0.18em;font-size:0.75rem;font-weight:800;color:#DFEEF0}

/* ===== ORDER RUN band ===== */
.orderrun{background-color:#8B9093;padding:0}
.ordershell{max-width:1180px;margin:0 auto;padding:0 24px}
.ordershell h2{color:#FBFAF4;padding-top:22px;margin-bottom:26px;text-align:center}
.runline{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.runline::before{content:"";position:absolute;top:26px;left:6%;right:6%;border-top:3px dashed #55595F}
.station{position:relative;text-align:center;background-color:#2A2E31;border-radius:10px;padding:18px 14px;z-index:1;border:2px solid #FBFAF4}
.glyphstop{width:34px;height:34px;margin:0 auto 10px;background-color:#FBFAF4;border:3px solid #1E7F86;border-radius:50%;display:flex;align-items:center;justify-content:center}
.glyphstop i{width:8px;height:8px;background-color:#1E7F86;display:block;border-radius:50%}
.station b{color:#FBFAF4;letter-spacing:0.06em;display:block}
.station p{color:#C9CCCF;font-size:0.85rem;margin:8px 0 0}
.station.final{border-color:#D9C79B;background-color:#1E7F86}
.station.final b{color:#FBFAF4}
.station.final .glyphstop{border-color:#D9C79B}
.station.final p{color:#E3F0EF}
.ordermark{margin:16px 0 30px;text-align:center}
.ordermark span{font-family:"Courier New",monospace;letter-spacing:0.15em;color:#FBFAF4;background-color:#1E7F86;font-weight:900;padding:8px 20px;border-radius:4px}

/* ===== ACCENT STRIP booking ===== */
.accentstrip{background-color:#1E7F86;color:#FBFAF4}
.accentinner{max-width:1180px;margin:0 auto;padding:40px 24px;display:flex;align-items:center;gap:26px;flex-wrap:wrap;justify-content:space-between}
.fairstamp{flex:0 0 auto;width:100px;height:100px;border:3px solid #FBFAF4;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:"Courier New",monospace;transform:rotate(-6deg)}
.fairstamp b{font-size:0.78rem;letter-spacing:0.12em;color:#FBFAF4;line-height:1.1}
.fairstamp small{font-size:0.6rem;color:#DFEEF0;letter-spacing:0.1em}
.accentcopy{flex:1 1 380px}
.accentcopy h2{color:#FBFAF4;font-size:1.6rem}
.accentcopy p{color:#DFEEF0;margin:0}
.accentcta{flex:0 0 auto}

/* ===== CRATE PALLET FOOTER (.cratepallet) ===== */
.cratepallet{position:relative;background-color:#2A2E31;color:#C9CCCF;overflow:hidden}
.palletline{background-color:#23272A;border-top:4px solid #8B9093;padding:18px 0}
.palletrow{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.palletrow .motto{font-family:"Courier New",monospace;color:#D9C79B;letter-spacing:0.22em;font-size:0.8rem;font-weight:900}
.crateglyph{background-color:#D9C79B;border:2px solid #8B8A7A;padding:6px 12px;font-family:"Courier New",monospace;font-weight:900;color:#5A4630;font-size:0.66rem;letter-spacing:0.1em;transform:rotate(-2deg)}
.machinesil{width:54px;height:40px;background-color:#8B9093;border-radius:4px;position:relative;flex:0 0 auto}
.machinesil::before{content:"";position:absolute;left:8px;top:-6px;width:10px;height:10px;border-radius:50%;background-color:#1E7F86}
.footgrid{max-width:1180px;margin:0 auto;padding:38px 24px 10px;display:grid;grid-template-columns:repeat(3,1fr);gap:26px;position:relative;z-index:1}
.footcol h4{color:#FBFAF4;font-size:0.8rem;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:14px;border-bottom:2px solid #1E7F86;padding-bottom:8px;display:inline-block}
.footcol ul{list-style:none;padding:0;margin:0}
.footcol li{margin-bottom:8px}
.footcol a{color:#C9CCCF}
.footcol a:hover{color:#1E7F86}
.footcol p{color:#C9CCCF;font-size:0.9rem}
.baseplate{background-color:#FBFAF4;color:#27292E;margin-top:26px;position:relative;z-index:1}
.baseplateinner{max-width:1180px;margin:0 auto;padding:22px 24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border:1px solid #C9CCCF;border-radius:4px;transform:translateY(0)}
.baseplateinner .org{font-family:"Courier New",monospace;font-weight:900;font-size:1rem;letter-spacing:0.02em}
.baseplateinner .org span{color:#5A6065;font-weight:700}
.baseplateinner .meta{font-size:0.9rem;color:#3D4248;text-align:right;line-height:1.6}
.baseplateinner .meta a{color:#1E7F86}
.copyright{max-width:1180px;margin:0 auto;padding:16px 24px 22px;color:#1E7F86;font-size:0.85rem;text-align:center;position:relative;z-index:1;font-family:"Courier New",monospace;letter-spacing:0.06em}

/* reveal base: elements stay visible without JavaScript */
.reveal{opacity:1}

/* ===== responsive ===== */
/* ===== responsive ===== */
@media (max-width:900px){
  .keys,.keycap{display:none}
  .navtoggle{display:inline-block}
  .floorgrid{flex-wrap:wrap}
  .specstand,.cratezone{flex:1 1 40%;min-width:150px}
  .herotitle{font-size:2.1rem}
  .kickstats{grid-template-columns:1fr 1fr}
  .sheetrow:nth-child(even){transform:none}
  .baseplateinner .meta{text-align:left}
  .accentinner,.statementinner{flex-direction:column;text-align:center;align-items:center}
  .bigfigure b{font-size:4.2rem}
}
@media (min-width:901px){.keys{display:flex}.navdrawer{display:none!important}}

/* contact & services page tweaks shared */
.pagebody{background-color:#F0EEE7;padding:20px 0 50px}
.pagehero{background-color:#F0EEE7;padding:40px 0 10px}
.pagehero .inner{max-width:1180px;margin:0 auto;padding:0 24px}
.contactgrid{display:grid;grid-template-columns:1.3fr 1fr;gap:28px}
@media (max-width:820px){.contactgrid{grid-template-columns:1fr}}
.field{display:block;margin-bottom:16px}
.field label{display:block;font-weight:700;margin-bottom:6px;color:#27292E;font-size:0.95rem}
.field input,.field textarea{width:100%;padding:12px 14px;border:1px solid #8B9093;background-color:#FBFAF4;color:#27292E;border-radius:6px;font-family:inherit;font-size:1rem}
.field input:focus,.field textarea:focus{outline:3px solid #1E7F86;border-color:#1E7F86;background-color:#FFF}
.infocard{background-color:#2A2E31;color:#FBFAF4;border-radius:8px;padding:24px}
.infocard h3{color:#FBFAF4}
.infocard .iline{border-bottom:1px solid #3D4248;padding:12px 0;display:flex;gap:12px;flex-direction:column}
.infocard .iline b{color:#D9C79B;letter-spacing:0.1em;font-size:0.75rem;text-transform:uppercase}
.infocard .iline a, .infocard .iline .val{color:#FBFAF4}
.faqlist{margin-top:18px;border-top:2px solid #1E7F86}
.faqitem{border-bottom:1px solid #D9C79B;padding:16px 0}
.faqitem h4{margin:0 0 6px;font-size:1.05rem}
.faqquestiondt{background:none;border:none;color:#27292E;font-weight:800;font-size:1.05rem;padding:0;text-align:left;cursor:pointer;width:100%}
.processsteps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media(max-width:760px){.processsteps{grid-template-columns:1fr 1fr}}
.procstep{background-color:#FBFAF4;border:1px solid #C9CCCF;border-left:4px solid #1E7F86;padding:14px}
.procstep b{color:#1E7F86;font-family:"Courier New",monospace}
