/* Platt REDSHOWCARD — temporary sales site
   Tokens per IRONCLAD brand foundation (15-extended-palette, 16-motion-interaction-spec) */

:root {
  --blue:#004D99; --blue-night:#001B33; --blue-deep:#002B55;
  --blue-tint:#C1D2ED; --blue-paper:#E9F0F9;
  --orange:#FF4000; --orange-deep:#CC3300; --orange-tint:#FACEB6;
  --ink:#1A1A1A; --graphite:#4A4F55; --steel:#8A9099;
  --mist:#D9DDE2; --fog:#F2F4F6; --white:#FFFFFF;
  --t-micro:120ms; --t-state:200ms; --t-reveal:400ms; --t-hero:600ms;
  --e-engage:cubic-bezier(.4,0,.2,1); --e-settle:cubic-bezier(.2,0,0,1);
}

@font-face { font-family:'Exo'; src:url('../fonts/exo-latin.woff2') format('woff2'); font-weight:100 900; font-display:swap; unicode-range:U+0000-00FF,U+2000-206F; }
@font-face { font-family:'Exo'; src:url('../fonts/exo-latin-ext.woff2') format('woff2'); font-weight:100 900; font-display:swap; unicode-range:U+0100-024F,U+1E00-1EFF; }
@font-face { font-family:'Michroma'; src:url('../fonts/michroma-latin.woff2') format('woff2'); font-weight:400; font-display:swap; unicode-range:U+0000-00FF,U+2000-206F; }
@font-face { font-family:'Michroma'; src:url('../fonts/michroma-latin-ext.woff2') format('woff2'); font-weight:400; font-display:swap; unicode-range:U+0100-024F,U+1E00-1EFF; }

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:'Exo',Verdana,sans-serif; color:var(--ink); background:var(--white); -webkit-font-smoothing:antialiased; }
img { max-width:100%; }
a { color:var(--blue); text-decoration:none; transition:color var(--t-micro) var(--e-engage); }
a:hover { color:var(--orange-deep); }
h1,h2,h3 { margin:0; }
p { margin:0; }

.mich { font-family:'Michroma',Verdana,sans-serif; font-weight:400; }
.wrap { max-width:1160px; margin:0 auto; padding:0 40px; }

/* Hexagon field (tiled motif) */
.hexfield {
  background-color:var(--blue-night);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='34.64' viewBox='0 0 60 34.64'%3E%3Cg fill='none' stroke='%23C1D2ED' stroke-opacity='0.10'%3E%3Cpath d='M50 17.32 40 34.64 20 34.64 10 17.32 20 0 40 0Z M20 0 10 17.32 -10 17.32 -20 0 -10 -17.32 10 -17.32Z M80 0 70 17.32 50 17.32 40 0 50 -17.32 70 -17.32Z M20 34.64 10 51.96 -10 51.96 -20 34.64 -10 17.32 10 17.32Z M80 34.64 70 51.96 50 51.96 40 34.64 50 17.32 70 17.32Z'/%3E%3C/g%3E%3C/svg%3E");
  background-size:96px 55.4px;
}

/* Hexagon shapes */
.hexclip { clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%); }
.hexnum { clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%); background:var(--blue); color:var(--white); width:44px; height:40px; display:flex; align-items:center; justify-content:center; font-family:'Michroma',Verdana,sans-serif; font-size:15px; }
.hexstep { clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%); background:var(--blue-paper); color:var(--blue); width:40px; height:36px; display:flex; align-items:center; justify-content:center; font-family:'Michroma',Verdana,sans-serif; font-size:12px; flex-shrink:0; }

/* Buttons */
.btn-primary { display:inline-block; background:var(--orange); color:var(--white); font-weight:700; font-size:16px; padding:16px 34px; border-radius:2px; letter-spacing:.3px; border:0; cursor:pointer; font-family:inherit; transition:background var(--t-micro) var(--e-engage), transform var(--t-micro) var(--e-engage); }
.btn-primary:hover { background:var(--orange-deep); color:var(--white); transform:translateY(-2px); }
.btn-ghost-dark { display:inline-block; border:1.5px solid rgba(193,210,237,.55); color:var(--blue-tint); font-weight:600; font-size:16px; padding:15px 32px; border-radius:2px; transition:border-color var(--t-micro), color var(--t-micro); }
.btn-ghost-dark:hover { border-color:var(--blue-tint); color:var(--white); }
.btn-ghost-light { display:inline-block; border:1.5px solid var(--blue); color:var(--blue); font-weight:600; font-size:16px; padding:15px 32px; border-radius:2px; }
:focus-visible { outline:2px solid var(--orange); outline-offset:2px; }

/* Header */
.site-header { position:fixed; top:0; left:0; right:0; z-index:50; transition:background-color var(--t-state) var(--e-engage); }
.site-header.scrolled { background:var(--blue-night); }
.site-header .wrap { display:flex; align-items:center; justify-content:space-between; padding-top:22px; padding-bottom:22px; }
.site-header img { height:32px; width:auto; display:block; }
.nav { display:flex; align-items:center; gap:34px; }
.navlink { color:var(--blue-tint); font-size:13px; font-weight:600; letter-spacing:1.4px; text-transform:uppercase; }
.navlink:hover, .navlink.active { color:var(--white); }
.lang { color:var(--steel); font-size:12px; letter-spacing:1.5px; font-weight:600; }
.nav-toggle { display:none; background:none; border:0; cursor:pointer; padding:8px; }
.nav-toggle span { display:block; width:22px; height:2px; background:var(--blue-tint); margin:5px 0; }

/* Hero */
.hero { position:relative; overflow:hidden; }
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.28; }
.hero-inner { position:relative; display:flex; align-items:center; gap:56px; padding-top:150px; padding-bottom:90px; }
.hero-copy { flex:1.2; min-width:0; }
.eyebrow { font-size:12px; font-weight:700; letter-spacing:2.2px; text-transform:uppercase; color:var(--blue-tint); margin-bottom:22px; }
.hero h1 { font-size:50px; line-height:1.22; color:var(--white); margin-bottom:26px; }
.hero h1 .accent, .accent { color:var(--orange); }
.hero-sub { font-size:17.5px; line-height:1.7; color:var(--blue-tint); margin-bottom:36px; max-width:540px; }
.hero-ctas { display:flex; gap:16px; align-items:center; margin-bottom:34px; flex-wrap:wrap; }
.hero-cred { font-size:13px; letter-spacing:1.2px; color:var(--steel); font-weight:600; }
.hero-visual { flex:1; display:flex; justify-content:center; position:relative; min-width:0; }
.hero-hex { position:relative; width:440px; height:386px; overflow:hidden; }
.hero-hex img, .hero-hex video { width:100%; height:100%; object-fit:cover; display:block; }
.hero-hex-ghost { position:absolute; top:28px; left:54%; width:440px; height:386px; background:rgba(193,210,237,.14); }

/* Sections */
.sec { padding:92px 0; }
.sec-tight { padding:56px 0; }
.sec h2 { font-size:30px; line-height:1.4; color:var(--blue); }
.sec-dark h2 { color:var(--white); }
.sec-sub { font-size:17px; color:var(--graphite); margin-top:12px; }
.on-white { background:var(--white); }
.on-paper { background:var(--blue-paper); }
.on-fog { background:var(--fog); }
.rule-orange { width:64px; height:2px; background:var(--orange); }

/* Evidence band */
.evidence { background:var(--white); border-bottom:1px solid var(--mist); }
.evidence .wrap { display:flex; justify-content:space-between; align-items:stretch; padding-top:34px; padding-bottom:34px; gap:8px; }
.ev { text-align:center; flex:1; }
.ev-n { font-family:'Michroma',Verdana,sans-serif; font-size:23px; color:var(--blue); }
.ev-n.accent { color:var(--orange); }
.ev-l { font-size:11px; letter-spacing:1.3px; color:var(--graphite); font-weight:600; margin-top:8px; }
.ev-div { width:1px; background:var(--mist); }

/* Cards / grids */
.grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; }
.grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; }
.card { border:1px solid var(--mist); background:var(--white); display:flex; flex-direction:column; transition:transform var(--t-micro) var(--e-engage), box-shadow var(--t-micro) var(--e-engage); }
a.card:hover { transform:translateY(-2px); box-shadow:0 4px 16px rgba(0,27,51,.08); color:inherit; }
.card-icon { background:var(--blue-paper); height:168px; display:flex; align-items:center; justify-content:center; }
.card-body { padding:30px 30px 34px; display:flex; flex-direction:column; gap:14px; flex-grow:1; }
.card-body h3 { font-size:17px; color:var(--ink); }
.card-body p { font-size:15px; line-height:1.65; color:var(--graphite); flex-grow:1; }
.card-link { font-size:14.5px; font-weight:700; color:var(--blue); }

/* Steps */
.step { border-top:2px solid var(--blue); padding-top:26px; }
.step h3 { font-size:16.5px; font-weight:700; color:var(--ink); margin:20px 0 10px; }
.step p { font-size:14.5px; line-height:1.65; color:var(--graphite); }

/* Number tiles */
.tile { border:1px solid var(--mist); padding:36px 30px; }
.tile-n { font-family:'Michroma',Verdana,sans-serif; font-size:52px; line-height:1; color:var(--blue); }
.tile-n.accent { color:var(--orange); }
.tile-n small { font-size:17px; margin-left:8px; font-family:'Michroma',Verdana,sans-serif; }
.tile p { font-size:14.5px; line-height:1.6; color:var(--graphite); margin-top:20px; }
.tiles-foot { font-size:15.5px; color:var(--ink); margin-top:40px; border-top:1px solid var(--mist); padding-top:24px; }

/* Table */
.trow { display:flex; border-bottom:1px solid var(--mist); padding:15px 0; }
.trow:last-child { border-bottom:0; }
.tlabel { width:220px; flex-shrink:0; font-size:12.5px; font-weight:700; letter-spacing:1.5px; color:var(--graphite); padding-top:2px; }
.tval { font-size:15.5px; line-height:1.6; color:var(--ink); }
.tablebox { background:var(--white); border:1px solid var(--mist); padding:16px 42px 20px; }

/* Process strip */
.process { background:var(--white); border-bottom:1px solid var(--mist); }
.process .wrap { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:56px; padding-bottom:56px; }
.pstep { display:flex; align-items:center; gap:12px; }
.pstep span { font-size:13px; font-weight:700; letter-spacing:1.5px; color:var(--ink); }
.pline { flex:1; height:1px; background:var(--mist); }

/* Dark sections */
.sec-dark p { color:var(--blue-tint); }
.dark-note { border:1px solid rgba(193,210,237,.35); padding:26px 30px; }
.dark-note p { font-size:15.5px; line-height:1.75; color:var(--white); }
.audit-plate { background:var(--blue-night); padding:34px 38px; }
.audit-plate p { font-family:'Michroma',Verdana,sans-serif; font-size:18px; line-height:1.7; color:var(--white); }
.techchips { display:flex; flex-wrap:wrap; gap:12px; }
.techchips div { border:1px solid rgba(193,210,237,.3); padding:11px 20px; font-size:14px; font-weight:600; color:var(--white); }
.imgframe-dark { border:1px solid rgba(193,210,237,.25); }
.imgframe { border:1px solid var(--mist); }

/* Fit filter */
.fitcol { background:var(--white); border:1px solid var(--mist); padding:38px 42px; }
.fit-h { font-size:13px; font-weight:700; letter-spacing:2px; margin-bottom:26px; }
.fitcol .item { font-size:15.5px; line-height:1.6; padding:12px 0; border-bottom:1px solid var(--mist); }
.fitcol .item:last-child { border-bottom:0; font-weight:700; }

/* Forms */
.formbox { border:1px solid var(--mist); padding:40px 42px; background:var(--white); }
.flabel { font-size:11.5px; font-weight:700; letter-spacing:1.4px; color:var(--graphite); margin-bottom:7px; display:block; }
.finput, .fselect, .ftext { width:100%; border:1px solid var(--mist); border-radius:0; padding:12px 14px; font-family:inherit; font-size:14.5px; color:var(--ink); background:var(--white); height:44px; }
.ftext { height:92px; resize:vertical; }
.finput:focus, .fselect:focus, .ftext:focus { outline:2px solid var(--orange); outline-offset:0; border-color:var(--blue); }
.fdrop { border:1px dashed var(--steel); height:52px; display:flex; align-items:center; justify-content:center; font-size:13.5px; color:var(--graphite); }
.fgrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.fnote { font-size:13px; line-height:1.6; color:var(--graphite); margin-top:18px; text-align:center; }

/* References */
.refs { background:var(--white); border-top:1px solid var(--mist); border-bottom:1px solid var(--mist); text-align:center; }
.refs .wrap { padding-top:56px; padding-bottom:56px; }
.reflogos { display:flex; align-items:center; justify-content:center; gap:88px; margin-top:34px; }

/* CTA band */
.ctaband .wrap { display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap; padding-top:68px; padding-bottom:68px; }

/* Footer */
.site-footer { background:var(--blue-deep); }
.site-footer .wrap { padding-top:68px; padding-bottom:40px; }
.foot-cols { display:flex; gap:72px; align-items:flex-start; }
.foot-about { font-size:13.5px; line-height:1.75; color:var(--blue-tint); max-width:560px; }
.foot-links a { color:var(--blue-tint); }
.foot-links a:hover { color:var(--white); }
.foot-bar { border-top:1px solid rgba(193,210,237,.2); margin-top:48px; padding-top:26px; display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.foot-bar span { font-size:12.5px; color:var(--steel); }
.foot-tag { font-family:'Michroma',Verdana,sans-serif; font-size:12px; letter-spacing:1px; color:var(--blue-tint); }

/* Reveal motion (JS adds .in) */
.reveal { opacity:0; transform:translateY(16px); transition:opacity var(--t-reveal) var(--e-settle), transform var(--t-reveal) var(--e-settle); }
.reveal.in { opacity:1; transform:none; }

/* Placeholder (AI image pending) */
.ph { border:1px dashed rgba(193,210,237,.45); background:rgba(233,240,249,.05); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; height:340px; }
.ph .ph-t { font-size:12px; font-weight:700; letter-spacing:2px; color:var(--blue-tint); }
.ph .ph-s { font-size:12.5px; color:var(--steel); }

/* ============ Mobile ============ */
@media (max-width:900px) {
  .wrap { padding:0 22px; }
  .sec { padding:56px 0; }
  .sec h2 { font-size:21px; line-height:1.5; }
  .nav { position:absolute; top:100%; right:0; left:0; background:var(--blue-night); flex-direction:column; align-items:flex-start; gap:0; padding:10px 22px 20px; display:none; }
  .nav.open { display:flex; }
  .nav .navlink { padding:12px 0; font-size:14px; }
  .nav .lang { padding-top:12px; }
  .nav-toggle { display:block; }
  .site-header { background:var(--blue-night); }
  .hero-inner { flex-direction:column; align-items:flex-start; gap:40px; padding-top:120px; padding-bottom:56px; }
  .hero h1 { font-size:30px; line-height:1.28; }
  .hero-sub { font-size:15.5px; }
  .hero-ctas { flex-direction:column; align-items:stretch; width:100%; }
  .hero-ctas .btn-primary, .hero-ctas .btn-ghost-dark { text-align:center; }
  .hero-cred { text-align:center; width:100%; }
  .hero-visual { width:100%; }
  .hero-hex { width:280px; height:246px; }
  .hero-hex-ghost { display:none; }
  .evidence .wrap { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; padding-top:18px; padding-bottom:18px; }
  .ev { padding:16px 6px; }
  .ev-n { font-size:20px; }
  .ev-l { font-size:10px; }
  .ev-div { display:none; }
  .grid-3, .grid-4 { grid-template-columns:1fr; gap:18px; }
  .grid-2 { grid-template-columns:1fr; gap:18px; }
  .two-col { flex-direction:column !important; gap:28px !important; }
  .tile-n { font-size:32px; }
  .tile { padding:22px 20px; }
  .tablebox { padding:6px 22px 10px; }
  .trow { flex-direction:column; gap:5px; }
  .tlabel { width:auto; }
  .process .wrap { flex-wrap:wrap; justify-content:flex-start; gap:14px; padding-top:36px; padding-bottom:36px; }
  .pline { display:none; }
  .fgrid { grid-template-columns:1fr; }
  .formbox { padding:26px 22px; }
  .fitcol { padding:24px; }
  .reflogos { gap:34px; }
  .reflogos img.lg-liebherr { height:20px !important; }
  .reflogos img.lg-claas { height:23px !important; }
  .reflogos img.lg-kwb { height:52px !important; }
  .foot-cols { flex-direction:column; gap:32px; }
  .foot-cols .ta-r { text-align:left !important; }
  .audit-plate { padding:24px 26px; }
  .audit-plate p { font-size:14.5px; }
  .ctaband .wrap { flex-direction:column; align-items:stretch; text-align:center; }
  .watermark { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation:none !important; transition-duration:200ms !important; transition-property:opacity !important; }
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; }
}
