/* MORE IMPEX — moreimpex.com.au
   Static site. Palette and typography per BOOK 1 — IDENTITY GUIDELINES.
   Ink #1A1A1A · Stone #DCD7CE · Stone light #EDEAE4 · Yellow #FFD400 (accent only)
*/

@font-face{font-family:'Space Grotesk';src:url('assets/fonts/SpaceGrotesk-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('assets/fonts/SpaceGrotesk-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('assets/fonts/SpaceGrotesk-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('assets/fonts/SpaceGrotesk-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('assets/fonts/JetBrainsMono-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('assets/fonts/JetBrainsMono-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}

:root{
  --ink:#1A1A1A;
  --ink-2:#4A4844;
  --mute:#8B857A;
  --line:rgba(26,26,26,.14);
  --line-soft:rgba(26,26,26,.08);
  --stone:#DCD7CE;
  --stone-l:#EDEAE4;
  --stone-d:#C4BDB1;
  --ye:#FFD400;
  --paper:#FFFFFF;
  --rail:308px;
  --pad:clamp(26px,5vw,104px);
  --sans:'Space Grotesk',ui-sans-serif,system-ui,'Segoe UI',Helvetica,Arial,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-weight:400;font-size:17px;line-height:1.62;
  letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
::selection{background:var(--ye);color:var(--ink)}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/* — yellow hairline across the top edge. Accent use 1 of 3. — */
.topline{position:fixed;inset:var(--bn) 0 auto 0;height:5px;background:var(--ye);z-index:60}

/* ————————————————————————— RAIL ————————————————————————— */
.rail{
  position:fixed;top:calc(var(--bn) + 5px);left:0;bottom:0;width:var(--rail);
  border-right:1px solid var(--line);
  padding:46px 34px 34px;
  display:flex;flex-direction:column;gap:0;
  background:var(--paper);z-index:50;
}
.rail__logo{width:156px}
.rail__logo img{width:100%;height:auto}
.rail nav{margin-top:auto;padding-top:40px}
.rail ol{list-style:none;margin:0;padding:0}
.rail li+li{margin-top:2px}
.rail li a{
  display:grid;grid-template-columns:34px 1fr;align-items:baseline;
  padding:9px 0 9px 14px;margin-left:-14px;
  color:var(--mute);transition:color .18s ease;
  border-left:2px solid transparent;
}
.rail li a .n{font-family:var(--mono);font-size:11px;letter-spacing:.06em}
.rail li a .t{font-size:15px;letter-spacing:-.01em}
.rail li a:hover{color:var(--ink)}
.rail li a.is-active{color:var(--ink);border-left-color:var(--ye)} /* accent use 2 of 3 */
.rail li a.is-active .t{font-weight:500}

.rail__foot{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:11px;line-height:1.85;letter-spacing:.02em;color:var(--mute)}
.rail__foot a:hover{color:var(--ink)}

/* topbar — narrow screens only */
.topbar{display:none}

/* ————————————————————————— MAIN ————————————————————————— */
main{margin-left:var(--rail);padding-top:5px}
.wrap{padding-inline:var(--pad)}

/* labels */
.lab{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}

/* ————————— masthead ————————— */
.mast{min-height:clamp(560px,88vh,940px);display:flex;flex-direction:column;justify-content:flex-end;
  padding-block:clamp(120px,18vh,220px) 0}
.mast h1{
  font-weight:500;font-size:clamp(38px,5.3vw,84px);line-height:1.03;letter-spacing:-.033em;
  margin:0;max-width:15ch;text-wrap:balance;
}
.mast .sub{margin:34px 0 0;max-width:52ch;font-size:clamp(17px,1.35vw,20px);line-height:1.6;color:var(--ink-2)}
.mast .meta{
  margin-top:auto;display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
}
.mast .meta>div{padding:24px 26px 46px 0;border-right:1px solid var(--line-soft)}
.mast .meta>div:last-child{border-right:0}
.mast .meta .k{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--mute);text-transform:uppercase}
.mast .meta .v{margin-top:9px;font-size:15px;letter-spacing:-.005em}

/* ————————— sections ————————— */
.sec{border-top:1px solid var(--line);padding-block:clamp(64px,8vw,116px)}
.sec__grid{display:grid;grid-template-columns:190px minmax(0,1fr);gap:0 clamp(28px,5vw,84px)}
.sec__head{position:sticky;top:52px;align-self:start}
.sec__head .n{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--mute);display:block}
.sec__head h2{margin:12px 0 0;font-size:21px;font-weight:500;letter-spacing:-.018em;line-height:1.25}
.sec__body{max-width:70ch}
.lead{font-size:clamp(21px,2.05vw,30px);line-height:1.36;letter-spacing:-.022em;font-weight:400;margin:0 0 30px;max-width:26ch;text-wrap:balance}
.sec__body p{margin:0 0 20px;color:var(--ink-2);max-width:64ch}
.sec__body p:last-child{margin-bottom:0}
.sec__body p strong{font-weight:500;color:var(--ink)}
.note{font-family:var(--mono);font-size:12.5px;line-height:1.8;color:var(--mute);
  border-top:1px solid var(--line-soft);padding-top:18px;margin-top:34px;max-width:60ch}

/* range list */
.list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line-soft);max-width:64ch}
.list li{display:grid;grid-template-columns:38px 1fr;gap:0 12px;align-items:baseline;
  padding:15px 0;border-bottom:1px solid var(--line-soft)}
.list li .n{font-family:var(--mono);font-size:11px;color:var(--mute)}
.list li .t{font-size:16.5px}

/* steps */
.steps{margin:0;padding:0;list-style:none;border-top:1px solid var(--line-soft);max-width:66ch}
.steps li{padding:26px 0;border-bottom:1px solid var(--line-soft);
  display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 24px}
.steps .n{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--mute);padding-top:5px}
.steps .n b{display:block;font-weight:400;color:var(--ink);margin-bottom:5px;letter-spacing:.06em}
.steps h3{margin:0 0 8px;font-size:17px;font-weight:500;letter-spacing:.01em}
.steps p{margin:0;color:var(--ink-2);font-size:16px}

/* record table */
.rec{width:100%;border-collapse:collapse;max-width:64ch;margin:0}
.rec th{text-align:left;font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--mute);padding:0 16px 12px 0;border-bottom:1px solid var(--line)}
.rec td{padding:16px 16px 16px 0;border-bottom:1px solid var(--line-soft);vertical-align:top;font-size:16px}
.rec td.y{font-family:var(--mono);font-size:14px;color:var(--ink);white-space:nowrap;width:84px}
.rec td.w{color:var(--ink-2)}
.rec tr:last-child td{border-bottom:1px solid var(--line)}
.rec tr.now td{font-weight:500;color:var(--ink)}

/* ————————— figures ————————— */
.bleed{margin:0}
.bleed img{width:100%;height:clamp(280px,50vw,600px);object-fit:cover;object-position:center}
.bleed.doc img{object-position:top center;height:clamp(240px,36vw,480px)}
.bleed:not(.doc) img{height:auto;aspect-ratio:1600/1000;object-fit:contain}  /* carton: show the whole artefact, never crop the logo or the address line */
.bleed figcaption{display:flex;gap:22px;flex-wrap:wrap;justify-content:space-between;
  padding:16px var(--pad) 0;font-family:var(--mono);font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mute)}
.bleed figcaption span:last-child{text-transform:none;letter-spacing:.02em;max-width:56ch;text-align:right}


/* ————————— masthead actions ————————— */
.acts{display:flex;flex-wrap:wrap;gap:12px;margin:34px 0 0}
.btn{display:inline-block;padding:13px 24px;border:1px solid var(--line);
  font-size:15px;letter-spacing:-.005em;transition:background .16s ease,color .16s ease,border-color .16s ease}
.btn:hover{border-color:var(--ink)}
.btn--go{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn--go:hover{background:#000;border-color:#000}

/* ————————— wide sections ————————— */
.sec--wide .sec__grid{grid-template-columns:1fr;gap:0}
.sec--wide .sec__head{position:static;display:flex;align-items:baseline;gap:16px;
  padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:36px}
.sec--wide .sec__head .n{margin:0}
.sec--wide .sec__head h2{margin:0;font-size:21px}
.sec--wide .sec__body{max-width:none}
.sec--wide .lead{max-width:30ch;margin-bottom:38px}

/* ————————— product grid ————————— */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 22px;margin-top:8px}
.cat{display:block}
.cat img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.cat .cn{display:block;margin-top:14px;font-size:16.5px;letter-spacing:-.012em;color:var(--ink)}
.cat .cx{display:block;margin-top:5px;font-family:var(--mono);font-size:11px;line-height:1.6;
  letter-spacing:.02em;color:var(--mute)}
.cat:hover .cn{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}

/* ————————— brand wall ————————— */
.wallhead{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--mute);font-weight:400;margin:0 0 2px}
.wallhead+.brands{margin-top:0}
.brands+.wallhead{margin-top:52px}
.brands{list-style:none;margin:4px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
  border-top:1px solid var(--line)}
.brands li{padding:15px 18px 15px 0;border-bottom:1px solid var(--line-soft);
  font-size:16.5px;line-height:1.35;letter-spacing:-.012em;color:var(--ink)}

/* ————————— two-up artefact strip ————————— */
.strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line-soft);
  border-block:1px solid var(--line-soft)}
.strip figure{margin:0;background:var(--paper);padding:0 0 22px}
.strip img{width:100%;height:clamp(180px,19.5vw,300px);object-fit:cover;object-position:center}
.strip figcaption{padding:16px var(--pad) 0;font-family:var(--mono);font-size:11px;line-height:1.75;
  letter-spacing:.02em;color:var(--mute);max-width:52ch}

/* ————————— contact ————————— */
.card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;
  border-top:1px solid var(--line-soft);max-width:64ch}
.card>div{padding:20px 24px 20px 0;border-bottom:1px solid var(--line-soft)}
.card .k{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.card .v{margin-top:8px;font-size:17px}
.card .v a{border-bottom:1px solid var(--line);padding-bottom:1px}
.card .v a:hover{border-bottom-color:var(--ink)}

/* accent use 3 of 3 — the enquiry block */
.enq{margin-top:40px;background:var(--ye);color:var(--ink);padding:34px 36px;max-width:64ch}
.enq .k{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.enq p{margin:12px 0 0;color:var(--ink);font-size:19px;line-height:1.45;max-width:34ch;letter-spacing:-.015em}
.enq a{border-bottom:1.5px solid rgba(26,26,26,.4)}
.enq a:hover{border-bottom-color:var(--ink)}

/* ————————— footer ————————— */
footer{border-top:1px solid var(--line);padding-block:40px 56px;
  display:flex;flex-wrap:wrap;gap:14px 40px;justify-content:space-between;
  font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--mute)}

/* ————————————————————————— NARROW ————————————————————————— */
@media (max-width:1080px){
  :root{--rail:0px}
  .rail{display:none}
  main{margin-left:0;padding-top:0}
  .topbar{
    display:flex;align-items:center;justify-content:space-between;gap:20px;
    position:sticky;top:var(--bn);z-index:50;background:var(--paper);
    border-bottom:1px solid var(--line);border-top:5px solid var(--ye);
    padding:14px var(--pad);
  }
  .topbar img{width:auto;height:38px}
  .topbar .ph{font-family:var(--mono);font-size:12px;letter-spacing:.04em}
  .topline{display:none}
  .mast{min-height:auto;padding-block:clamp(64px,14vh,120px) 0;display:block}
  .mast .meta{margin-top:56px;grid-template-columns:1fr}
  .mast .meta>div{border-right:0;border-bottom:1px solid var(--line-soft);padding:16px 0}
  .mast .meta>div:last-child{border-bottom:0;padding-bottom:44px}
  .bleed img,.bleed.doc img{height:auto}
  .sec__grid{grid-template-columns:1fr;gap:22px}
  .sec__head{position:static}
  .sec__head h2{font-size:24px}
  .lead{max-width:none}
  .steps li{grid-template-columns:1fr;gap:8px}
  .steps .n{padding-top:0}
  .card{grid-template-columns:1fr}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
  .brands{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brands+.wallhead{margin-top:38px}
  .strip{grid-template-columns:1fr}
  .strip img{height:auto}
  .sec--wide .lead{max-width:none}
  .acts{gap:10px}
  .btn{padding:12px 20px;font-size:14px}
  .bleed figcaption{flex-direction:column;gap:6px}
  .bleed figcaption span:last-child{text-align:left}
  footer{flex-direction:column;gap:8px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.rail,.topline,.topbar{display:none}main{margin:0}.bleed img{height:auto}}

/* section 01 is text-only until real product photography exists - no empty pack silhouettes */
.grid{counter-reset:cat}
.cat{padding:16px 0 24px;border-top:1px solid var(--ink)}
.cat::before{counter-increment:cat;content:counter(cat,decimal-leading-zero);display:block;margin-bottom:26px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--mute)}
.cat .cn{margin-top:0;font-size:21px;line-height:1.25}
.cat .cx{margin-top:8px}

/* FSANZ recall banner 2026/57 - keep until Ben says remove */
:root{--bn:52px}
body{padding-top:var(--bn)}
.recall-bn{position:fixed;top:0;left:0;right:0;z-index:100;background:#c8102e;color:#fff;font-weight:700;font-size:16px;line-height:1.35;text-align:center;text-decoration:none;padding:12px 16px;display:block}
.recall-bn:hover,.recall-bn:focus{background:#a80d26;color:#fff}
@media print{.recall-bn{position:static}body{padding-top:0}}
