/* ============================================================
   Maitri Overseas — stylesheet
   Palette: mill-floor steel. Deep navy ink, cool silver,
   one hot amber accent used only where it means something.
   ============================================================ */

:root{
  --ink:      #0A1922;   /* deep steel, near-black */
  --navy:     #14344F;   /* the navy from the visiting card */
  --steel:    #5E7385;   /* mid grey-blue */
  --mill:     #C2CDD5;   /* cool silver */
  --paper:    #EDF1F3;   /* mill-finish pale */
  --white:    #FFFFFF;
  --spark:    #F2A93B;   /* hot amber — accents only */

  --display: "Archivo Black", "Arial Black", Impact, sans-serif;
  --body: "IBM Plex Sans", "Segoe UI", Helvetica, Arial, sans-serif;
  --mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;

  --gut: clamp(20px, 4vw, 48px);
  --rule: 1px solid rgba(94,115,133,.28);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  font-size:17px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }
a{ color:inherit; }

.wrap{ width:min(1180px, 100% - (var(--gut) * 2)); margin-inline:auto; }

.skip{
  position:absolute; left:-9999px; top:0; z-index:99;
  background:var(--spark); color:var(--ink); padding:10px 16px; font-weight:600;
}
.skip:focus{ left:0; }

:focus-visible{ outline:3px solid var(--spark); outline-offset:3px; }

/* ── Type helpers ─────────────────────────────────────────── */

h1,h2,h3{ font-family:var(--display); font-weight:400; letter-spacing:-.02em; line-height:1.02; margin:0; }

.eyebrow{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--spark); margin:0 0 14px;
}
.eyebrow--dark{ color:var(--navy); }

.sechead{ max-width:640px; margin-bottom:clamp(32px,5vw,56px); }
.sechead h2{ font-size:clamp(1.9rem, 4.2vw, 3rem); text-transform:uppercase; }
.sechead__note{ color:var(--steel); margin:18px 0 0; font-size:1rem; }
.sechead--light .sechead__note{ color:var(--mill); }

/* ── Buttons ──────────────────────────────────────────────── */

.btn{
  display:inline-block; font-family:var(--mono); font-size:.82rem; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase; text-decoration:none;
  padding:14px 26px; border:1.5px solid transparent; transition:.18s ease;
}
.btn--solid{ background:var(--spark); color:var(--ink); }
.btn--solid:hover{ background:var(--white); }
.btn--line{ border-color:rgba(194,205,213,.5); color:var(--paper); }
.btn--line:hover{ border-color:var(--spark); color:var(--spark); }
.btn--ghost{ border-color:var(--navy); color:var(--navy); padding:11px 18px; white-space:nowrap; }
.btn--ghost:hover{ background:var(--navy); color:var(--white); }

/* ── Expo strip ───────────────────────────────────────────── */

.expo-strip{ background:var(--spark); color:var(--ink); }
.expo-strip__inner{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 20px;
  padding:9px 0; font-family:var(--mono); font-size:.76rem; letter-spacing:.05em;
}
.expo-strip__tag{ font-weight:600; text-transform:uppercase; letter-spacing:.14em; }
.expo-strip__meta{ opacity:.85; }
.expo-strip__count{ margin-left:auto; font-weight:600; }

/* ── Masthead ─────────────────────────────────────────────── */

.masthead{
  position:sticky; top:0; z-index:40;
  background:rgba(237,241,243,.93); backdrop-filter:blur(8px);
  border-bottom:var(--rule);
}
.masthead__inner{ display:flex; align-items:center; gap:24px; padding:14px 0; }

.brand{ display:flex; align-items:center; gap:11px; text-decoration:none; color:var(--navy); }
.brand__logo{ width:42px; height:42px; object-fit:contain; }
.brand__name{
  font-family:var(--display); font-size:1.12rem; letter-spacing:-.01em;
  text-transform:uppercase; line-height:1;
}
.brand__name em{ font-style:normal; color:var(--steel); }

.nav{ display:flex; gap:20px; margin-left:auto; }
.nav a{
  font-family:var(--mono); font-size:.75rem; white-space:nowrap; letter-spacing:.09em; text-transform:uppercase;
  text-decoration:none; color:var(--ink); padding-bottom:3px;
  border-bottom:2px solid transparent;
}
.nav a:hover{ border-bottom-color:var(--spark); }

/* ── Hero ─────────────────────────────────────────────────── */

.hero{ position:relative; background:var(--ink); color:var(--paper); overflow:hidden; }

/* brushed No.4 finish: directional grain, drawn not photographed */
.hero__grain{
  position:absolute; inset:0;
  background:
    linear-gradient(105deg, rgba(20,52,79,.85) 0%, rgba(10,25,34,.2) 42%, rgba(10,25,34,.95) 100%),
    repeating-linear-gradient(96deg,
      rgba(255,255,255,.055) 0px, rgba(255,255,255,.055) 1px,
      rgba(255,255,255,0) 1px,  rgba(255,255,255,0) 4px,
      rgba(0,0,0,.06) 4px,      rgba(0,0,0,.06) 5px,
      rgba(255,255,255,0) 5px,  rgba(255,255,255,0) 9px);
  pointer-events:none;
}
.hero__inner{ position:relative; padding:clamp(64px,9vw,120px) 0 clamp(52px,7vw,84px); }

.hero__title{
  font-size:clamp(2.6rem, 8.4vw, 5.6rem);
  text-transform:uppercase; letter-spacing:-.035em;
  margin:0 0 26px;
}
.hero__title span{ color:var(--spark); }

.hero__lede{ max-width:620px; color:var(--mill); font-size:clamp(1rem,1.9vw,1.14rem); margin:0 0 34px; }

.hero__actions{ display:flex; flex-wrap:wrap; gap:14px; }

.specbar{
  position:relative; list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(194,205,213,.2);
  background:rgba(0,0,0,.22);
}
.specbar li{
  padding:24px var(--gut);
  border-right:1px solid rgba(194,205,213,.14);
}
.specbar li:last-child{ border-right:0; }
.specbar__n{
  display:block; font-family:var(--display); font-size:1.9rem; color:var(--white);
  line-height:1; margin-bottom:8px;
}
.specbar__l{
  display:block; font-family:var(--mono); font-size:.71rem; letter-spacing:.08em;
  text-transform:uppercase; color:var(--steel);
}

/* ── Sections ─────────────────────────────────────────────── */

.section{ padding:clamp(64px,8vw,110px) 0; scroll-margin-top:76px; }
.section--dark{ background:var(--ink); color:var(--paper); }
.section--dark h2{ color:var(--white); }

/* ── Products ─────────────────────────────────────────────── */

.prods{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(94,115,133,.28); border:var(--rule); }
.prod{ background:var(--white); display:flex; flex-direction:column; }
.prod__img{ aspect-ratio:4/3; overflow:hidden; background:var(--mill); }
.prod__img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.prod:hover .prod__img img{ transform:scale(1.05); }
.prod__body{ padding:22px 22px 26px; }
.prod__body h3{
  font-size:1.02rem; text-transform:uppercase; letter-spacing:0; color:var(--navy);
  margin-bottom:9px; line-height:1.2;
}
.prod__body p{ margin:0; font-size:.93rem; color:var(--steel); line-height:1.55; }
.prod--text{ grid-column:span 3; background:var(--navy); }
.prod--text{ justify-content:center; }
.prod--text .prod__body{ padding:34px 30px; }
.prod--text h3{ color:var(--spark); }
.prod--text p{ color:var(--mill); }

/* ── Grade board (signature) ──────────────────────────────── */

.chips{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; }
.chip{
  font-family:var(--mono); font-size:1.05rem; font-weight:500; letter-spacing:.04em;
  padding:13px 22px; cursor:pointer;
  background:transparent; color:var(--mill);
  border:1px solid rgba(194,205,213,.3);
  transition:.16s ease;
}
.chip:hover{ border-color:var(--spark); color:var(--white); }
.chip.is-active{ background:var(--spark); border-color:var(--spark); color:var(--ink); font-weight:600; }

.panel{
  display:grid; grid-template-columns:200px 1fr;
  border:1px solid rgba(194,205,213,.22);
  background:linear-gradient(180deg, rgba(20,52,79,.42), rgba(20,52,79,0));
}
.panel__no{
  display:flex; align-items:center; justify-content:center;
  border-right:1px solid rgba(194,205,213,.22);
  background:rgba(0,0,0,.25);
  padding:30px 16px;
}
.panel__no span{
  font-family:var(--display); font-size:clamp(2.6rem,6vw,4rem); color:var(--spark);
  letter-spacing:-.03em; line-height:1;
}
.panel__rows{ margin:0; padding:8px 0; }
.row{
  display:grid; grid-template-columns:190px 1fr; gap:18px;
  padding:16px clamp(20px,3vw,32px);
  border-bottom:1px solid rgba(194,205,213,.13);
}
.row:last-child{ border-bottom:0; }
.row dt{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--steel); padding-top:3px;
}
.row dd{ margin:0; color:var(--paper); font-size:.98rem; }

.gradefoot{
  margin:26px 0 0; font-family:var(--mono); font-size:.76rem; letter-spacing:.06em;
  color:var(--steel); text-transform:uppercase;
}

/* ── Capability ───────────────────────────────────────────── */

.cap__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(94,115,133,.26); border:var(--rule); }
.capcard{ background:var(--white); padding:30px 26px 34px; }
.capcard h3{
  font-size:1rem; text-transform:uppercase; color:var(--navy); margin-bottom:12px;
  padding-bottom:12px; border-bottom:2px solid var(--spark); display:inline-block;
}
.capcard p{ margin:0; font-size:.93rem; color:var(--steel); line-height:1.6; }

.plants{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,4vw,52px); margin-top:clamp(36px,5vw,60px); }
.plant{ border-top:3px solid var(--navy); padding-top:20px; }
.plant__tag{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--spark); margin:0 0 12px; font-weight:600;
}
.plant__addr{ margin:0 0 12px; font-size:1.02rem; line-height:1.5; }
.plant__line{ margin:0; font-family:var(--mono); font-size:.85rem; color:var(--steel); }
.plant__line a{ color:var(--navy); text-decoration:none; border-bottom:1px solid var(--mill); }
.plant__line a:hover{ border-bottom-color:var(--spark); }

/* ── Expo ─────────────────────────────────────────────────── */

.expo{ display:grid; grid-template-columns:1fr 420px; gap:clamp(32px,5vw,64px); align-items:start; }
.expo h2{ font-size:clamp(1.7rem,3.6vw,2.5rem); text-transform:uppercase; margin-bottom:26px; }
.expo__copy p{ color:var(--mill); max-width:52ch; }
.expo__facts{ margin:0 0 26px; border-top:1px solid rgba(194,205,213,.2); }
.expo__facts div{
  display:grid; grid-template-columns:120px 1fr; gap:16px;
  padding:13px 0; border-bottom:1px solid rgba(194,205,213,.2);
}
.expo__facts dt{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--steel);
}
.expo__facts dd{ margin:0; font-family:var(--mono); font-size:1rem; color:var(--white); }
.expo__facts .hot{ color:var(--spark); font-weight:600; }
.expo__copy .btn{ margin-top:10px; }

.expo__poster{ margin:0; }
.expo__poster img{ width:100%; border:1px solid rgba(194,205,213,.25); }
.expo__poster figcaption{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--steel); margin-top:12px;
}

/* ── Contact ──────────────────────────────────────────────── */

.people{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(94,115,133,.26); border:var(--rule); }
.person{ background:var(--white); padding:26px 24px 28px; }
.person__name{ font-family:var(--display); font-size:1.05rem; text-transform:uppercase; color:var(--navy); margin:0 0 4px; }
.person__role{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--steel); margin:0 0 14px;
}
.person__num{
  display:block; font-family:var(--mono); font-size:.95rem; text-decoration:none;
  color:var(--ink); border-bottom:1px solid var(--mill); width:fit-content; margin-bottom:6px;
  overflow-wrap:anywhere;
}
.person__num:hover{ border-bottom-color:var(--spark); color:var(--navy); }


/* ── Footer ───────────────────────────────────────────────── */

.foot{ background:var(--navy); color:var(--mill); padding:clamp(48px,6vw,72px) 0 26px; font-size:.9rem; }
.foot__inner{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:clamp(24px,3.5vw,44px); }
.foot__name{ font-family:var(--display); font-size:1.3rem; text-transform:uppercase; color:var(--white); margin:0 0 12px; }
.foot__desc{ margin:0; line-height:1.6; opacity:.8; }
.foot__h{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.15em; text-transform:uppercase;
  color:var(--spark); margin:0 0 12px;
}
.foot__col p{ margin:0; line-height:1.65; opacity:.85; }
.foot__col a{ text-decoration:none; border-bottom:1px solid rgba(194,205,213,.35); overflow-wrap:anywhere; }
.foot__col a:hover{ color:var(--white); border-bottom-color:var(--spark); }
.foot__base{
  display:flex; flex-wrap:wrap; gap:10px 24px; justify-content:space-between;
  margin-top:clamp(34px,4vw,52px); padding-top:20px;
  border-top:1px solid rgba(194,205,213,.2);
  font-family:var(--mono); font-size:.72rem; letter-spacing:.07em; text-transform:uppercase;
}
.foot__base p{ margin:0; opacity:.7; }

/* ── Responsive ───────────────────────────────────────────── */

@media (max-width: 1000px){
  .prods{ grid-template-columns:repeat(2,1fr); }
  .cap__grid{ grid-template-columns:repeat(2,1fr); }
  .specbar{ grid-template-columns:repeat(2,1fr); }
  .specbar li{ border-bottom:1px solid rgba(194,205,213,.14); }
  .expo{ grid-template-columns:1fr; }
  .expo__poster{ max-width:520px; }
  .foot__inner{ grid-template-columns:1fr 1fr; }
  .masthead__cta{ display:none; }
}

@media (max-width: 720px){
  body{ font-size:16px; }
  .masthead__inner{ flex-wrap:wrap; gap:12px 18px; }
  .nav{
    margin-left:0; width:100%; gap:18px;
    overflow-x:auto; padding-bottom:4px; -webkit-overflow-scrolling:touch;
  }
  .nav a{ white-space:nowrap; }
  .prods{ grid-template-columns:1fr; }
  .prod--text{ grid-column:span 1; }
  .cap__grid{ grid-template-columns:1fr; }
  .plants{ grid-template-columns:1fr; }
  .panel{ grid-template-columns:1fr; }
  .panel__no{ border-right:0; border-bottom:1px solid rgba(194,205,213,.22); padding:20px; }
  .row{ grid-template-columns:1fr; gap:6px; }
  .people{ grid-template-columns:1fr; }
  .foot__inner{ grid-template-columns:1fr; }
  .expo-strip__count{ margin-left:0; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ transition-duration:.01ms !important; animation-duration:.01ms !important; }
}


/* ── Added sections ───────────────────────────────────────── */

.section--tint{ background:#E3E9ED; }

/* group */
.two{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(94,115,133,.26); border:var(--rule); }
.firm{ background:var(--white); padding:32px 30px 36px; }
.firm__tag{
  font-family:var(--mono); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--spark); margin:0 0 10px; font-weight:600;
}
.firm h3{ font-size:1.35rem; text-transform:uppercase; color:var(--navy); margin-bottom:14px; }
.firm p{ margin:0; color:var(--steel); font-size:.97rem; }

.bigline{
  margin:clamp(32px,4vw,52px) 0 0; padding-left:clamp(18px,2.5vw,28px);
  border-left:3px solid var(--spark);
  font-size:clamp(1.05rem,2.2vw,1.35rem); line-height:1.5; max-width:760px; color:var(--navy);
}

/* processing lines */
.lines{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,2.6vw,32px); }
.line{ background:var(--white); border:var(--rule); padding:28px 28px 30px; }
.line__head{ border-bottom:2px solid var(--navy); padding-bottom:14px; margin-bottom:6px; }
.line__head h3{ font-size:1.08rem; text-transform:uppercase; color:var(--navy); line-height:1.2; }
.line__out{
  margin:8px 0 0; font-family:var(--mono); font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--spark); font-weight:600;
}
.spec{ width:100%; border-collapse:collapse; margin:0 0 16px; }
.spec th, .spec td{ text-align:left; padding:11px 0; border-bottom:1px solid rgba(94,115,133,.18); vertical-align:top; }
.spec th{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--steel); font-weight:500; width:44%; padding-right:14px;
}
.spec td{ font-family:var(--mono); font-size:.92rem; color:var(--ink); }
.line__use{ margin:0; font-size:.9rem; color:var(--steel); }

/* video */

.film h2{ font-size:clamp(1.7rem,3.6vw,2.6rem); text-transform:uppercase; margin-bottom:22px; }
.film__copy p{ color:var(--mill); max-width:50ch; }
.film__hint{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--steel) !important; margin-top:18px;
}
.film__copy .btn{ margin-top:12px; }
.film__frame{ margin:0; }
.film__frame video{
  width:100%; display:block; background:#000;
  border:1px solid rgba(194,205,213,.25);
}
.film__frame figcaption{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--steel); margin-top:12px;
}

/* plant gallery */
.gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,2vw,22px); }
.shot{ margin:0; }
.shot img{
  width:100%; aspect-ratio:4/3; object-fit:cover; display:block;
  border:1px solid rgba(94,115,133,.25); background:var(--mill);
}
.shot figcaption{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.07em; text-transform:uppercase;
  color:var(--steel); margin-top:10px; line-height:1.5;
}

/* markets */
.sectors{
  list-style:none; margin:0 0 clamp(36px,5vw,56px); padding:0;
  display:flex; flex-wrap:wrap; gap:10px;
}
.sectors li{
  font-family:var(--mono); font-size:.82rem; letter-spacing:.05em;
  padding:9px 16px; background:var(--white); border:1px solid rgba(94,115,133,.28);
  color:var(--navy);
}
.services{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,34px); }
.svc h3{
  font-size:.98rem; text-transform:uppercase; color:var(--navy);
  padding-bottom:12px; margin-bottom:12px; border-bottom:2px solid var(--spark);
  display:inline-block;
}
.svc p{ margin:0; font-size:.93rem; color:var(--steel); }

/* contact extras */
.person__note{ font-size:.86rem; color:var(--steel); margin:0 0 14px; line-height:1.5; }
.plants{ margin-top:clamp(30px,4vw,48px); }

/* footer logo */
.foot__logo{
  width:56px; height:56px; object-fit:contain; margin-bottom:16px;
  background:var(--white); padding:5px; border-radius:2px;
}

@media (max-width: 1000px){
  .lines{ grid-template-columns:1fr; }
  .film{ grid-template-columns:1fr; }
  .film__frame{ max-width:380px; }
  .gallery{ grid-template-columns:repeat(2,1fr); }
  .services{ grid-template-columns:1fr; }
  .people{ grid-template-columns:1fr; }
  .plants{ grid-template-columns:1fr; }
}

@media (max-width: 720px){
  .two{ grid-template-columns:1fr; }
  .gallery{ grid-template-columns:1fr; }
  .spec th{ width:50%; }
}


/* ── Video reel ───────────────────────────────────────────── */
.reel{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,2.4vw,30px); }
.clip{ margin:0; background:rgba(255,255,255,.04); border:1px solid rgba(194,205,213,.18); }
.clip video{
  width:100%; display:block; background:#000; aspect-ratio:9/14; object-fit:cover;
  border-bottom:1px solid rgba(194,205,213,.18);
}
.clip figcaption{ padding:20px 20px 24px; }
.clip h3{
  font-size:.98rem; text-transform:uppercase; color:var(--spark);
  margin-bottom:10px; line-height:1.25;
}
.clip p{ margin:0; font-size:.9rem; color:var(--mill); line-height:1.55; }
.clip--cta{
  display:flex; flex-direction:column; justify-content:center;
  padding:30px 26px; background:var(--navy); border-color:var(--navy);
}
.clip--cta h3{ color:var(--white); font-size:1.15rem; }
.clip--cta p{ margin-bottom:22px; }

/* ── Finishes ─────────────────────────────────────────────── */
.finishes{ display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:rgba(94,115,133,.26); border:var(--rule); }
.fin{ background:var(--white); padding:26px 22px 30px; }
.fin__code{
  font-family:var(--display); font-size:1.7rem; color:var(--navy);
  margin:0 0 4px; line-height:1; letter-spacing:-.02em;
}
.fin__name{
  font-family:var(--mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--spark); margin:0 0 14px; font-weight:600;
}
.fin p:last-child{ margin:0; font-size:.88rem; color:var(--steel); line-height:1.55; }

.mills{ margin-top:clamp(32px,4vw,50px); }
.mills__lead{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--steel); margin:0 0 14px;
}
.mills__list{ list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin:0 0 14px; padding:0; }
.mills__list li{
  font-family:var(--display); font-size:1.05rem; letter-spacing:-.01em; text-transform:uppercase;
  color:var(--navy); background:var(--white); border:1px solid rgba(94,115,133,.28);
  padding:12px 20px;
}
.mills__note{ margin:0; font-size:.92rem; color:var(--steel); }

/* ── Enquiry checklist ────────────────────────────────────── */
.checklist{
  background:var(--navy); color:var(--mill);
  padding:clamp(28px,3.5vw,42px); margin-bottom:clamp(28px,3.5vw,44px);
}
.checklist__lead{
  font-family:var(--display); font-size:clamp(1.15rem,2.4vw,1.5rem); text-transform:uppercase;
  color:var(--white); margin:0 0 22px; letter-spacing:-.01em;
}
.checklist__list{ margin:0 0 20px; padding:0; list-style:none; counter-reset:cl; }
.checklist__list li{
  counter-increment:cl; position:relative; padding:12px 0 12px 44px;
  border-bottom:1px solid rgba(194,205,213,.16); font-size:.94rem; line-height:1.5;
}
.checklist__list li::before{
  content:counter(cl,decimal-leading-zero); position:absolute; left:0; top:13px;
  font-family:var(--mono); font-size:.75rem; color:var(--spark); font-weight:600;
}
.checklist__list span{
  display:inline-block; min-width:96px; font-family:var(--mono); font-size:.72rem;
  letter-spacing:.13em; text-transform:uppercase; color:var(--white); font-weight:600;
}
.checklist__note{ margin:0; font-size:.9rem; color:var(--steel); }

/* ── WhatsApp + map links ─────────────────────────────────── */
.wa{
  display:inline-block; margin-top:10px; font-family:var(--mono); font-size:.72rem;
  letter-spacing:.1em; text-transform:uppercase; text-decoration:none;
  color:#1F7A45; border:1px solid rgba(31,122,69,.4); padding:8px 14px;
}
.wa:hover{ background:#1F7A45; color:var(--white); }
.maplink{ color:var(--navy) !important; font-weight:600; }

@media (max-width: 1000px){
  .reel{ grid-template-columns:repeat(2,1fr); }
  .finishes{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 720px){
  .reel{ grid-template-columns:1fr; }
  .clip video{ aspect-ratio:9/13; }
  .finishes{ grid-template-columns:1fr; }
  .checklist__list span{ display:block; min-width:0; margin-bottom:3px; }
}

/* ── Bank details ─────────────────────────────────────────── */
.bank{
  border:var(--rule); background:var(--white);
  padding:clamp(26px,3.4vw,40px); margin-bottom:clamp(28px,3.5vw,44px);
}
.bank__head h3{
  font-size:clamp(1.15rem,2.4vw,1.5rem); text-transform:uppercase; color:var(--navy);
  margin-bottom:12px;
}
.bank__modes{ margin:0 0 26px; font-size:.96rem; color:var(--steel); max-width:62ch; }
.bank__modes strong{ color:var(--navy); }
.bank__table{ width:100%; border-collapse:collapse; margin:0 0 22px; }
.bank__table th, .bank__table td{
  text-align:left; padding:13px 0; vertical-align:top;
  border-bottom:1px solid rgba(94,115,133,.18);
}
.bank__table th{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.13em; text-transform:uppercase;
  color:var(--steel); font-weight:500; width:180px; padding-right:20px;
}
.bank__table td{ font-size:.97rem; color:var(--ink); line-height:1.55; }
.bank__num{
  font-family:var(--mono) !important; font-size:1.05rem !important;
  letter-spacing:.06em; font-weight:500;
}
.bank__warn{
  margin:0; padding:14px 18px; background:#FDF3E0;
  border-left:3px solid var(--spark);
  font-size:.88rem; color:var(--ink); line-height:1.55;
}
.bank__warn a{ color:var(--navy); font-weight:600; }

@media (max-width: 720px){
  .bank__table th{ width:auto; display:block; padding-bottom:2px; border-bottom:0; }
  .bank__table td{ display:block; padding-top:0; }
}

/* ── Factory map ──────────────────────────────────────────── */
.factorymap{
  display:grid; grid-template-columns:1.35fr 1fr; gap:1px;
  background:rgba(94,115,133,.26); border:var(--rule);
  margin-top:clamp(30px,4vw,48px);
}
.factorymap__frame{ background:var(--mill); min-height:340px; position:relative; }
.factorymap__frame iframe{
  width:100%; height:100%; min-height:340px; border:0; display:block;
  filter:grayscale(18%) contrast(1.03);
}
.factorymap__side{ background:var(--white); padding:clamp(26px,3vw,36px); }
.factorymap__side h3{
  font-size:1.15rem; text-transform:uppercase; color:var(--navy); margin-bottom:14px;
}
.factorymap__side p{ font-size:.93rem; color:var(--steel); margin:0 0 18px; line-height:1.6; }
.factorymap__coords{
  font-family:var(--mono) !important; font-size:.95rem !important; color:var(--ink) !important;
  padding:14px 16px; background:var(--paper); border-left:3px solid var(--spark);
}
.factorymap__coords span{ color:var(--steel); font-size:.85rem; }
.factorymap__note{
  margin:18px 0 0 !important; font-family:var(--mono); font-size:.72rem !important;
  letter-spacing:.06em; text-transform:uppercase; line-height:1.6;
}

@media (max-width: 860px){
  .factorymap{ grid-template-columns:1fr; }
  .factorymap__frame, .factorymap__frame iframe{ min-height:280px; }
}

/* ── Enquiry form ─────────────────────────────────────────── */
.enq{
  display:grid; grid-template-columns:1fr 1.55fr; gap:1px;
  background:rgba(94,115,133,.26); border:var(--rule);
  margin-bottom:clamp(30px,4vw,48px); scroll-margin-top:90px;
}
.enq__intro{ background:var(--navy); padding:clamp(28px,3.2vw,40px); }
.enq__intro .eyebrow{ color:var(--spark); }
.enq__intro h3{
  font-size:clamp(1.3rem,2.6vw,1.75rem); text-transform:uppercase; color:var(--white);
  margin-bottom:16px; line-height:1.1;
}
.enq__intro p{ color:var(--mill); font-size:.96rem; margin:0 0 18px; line-height:1.6; }
.enq__alt{ font-size:.9rem !important; }
.enq__alt a{ color:var(--spark); font-weight:600; text-decoration:none; border-bottom:1px solid rgba(242,169,59,.4); }
.enq__alt a:hover{ color:var(--white); }

.enq__form{ background:var(--white); padding:clamp(26px,3vw,38px); }
.enq__form fieldset{ border:0; margin:0 0 26px; padding:0; }
.enq__form legend{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--spark); font-weight:600; padding:0 0 14px; margin:0;
}
.fgrid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 18px; }
.f{ display:flex; flex-direction:column; }
.f--wide{ grid-column:1 / -1; }
.f > span{
  font-family:var(--mono); font-size:.68rem; letter-spacing:.11em; text-transform:uppercase;
  color:var(--steel); margin-bottom:7px;
}
.f > span em{ color:var(--spark); font-style:normal; }
.f input, .f select, .f textarea{
  font-family:var(--body); font-size:.95rem; color:var(--ink);
  padding:11px 13px; background:var(--paper);
  border:1px solid rgba(94,115,133,.32); border-radius:0;
  width:100%; transition:.15s ease;
}
.f textarea{ resize:vertical; min-height:76px; }
.f input:hover, .f select:hover, .f textarea:hover{ border-color:var(--steel); }
.f input:focus, .f select:focus, .f textarea:focus{
  outline:none; border-color:var(--spark); background:var(--white);
  box-shadow:0 0 0 3px rgba(242,169,59,.18);
}
.f input[type="file"]{ padding:9px 11px; font-size:.86rem; background:var(--white); cursor:pointer; }
.f small{
  font-family:var(--mono); font-size:.66rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--steel); margin-top:6px;
}
.f input::placeholder, .f textarea::placeholder{ color:#93A3B0; }

.enq__submit{
  display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px;
  padding-top:20px; border-top:1px solid rgba(94,115,133,.2);
}
.enq__submit button{ cursor:pointer; font-family:var(--mono); }
.enq__submit p{
  margin:0; flex:1 1 320px; font-size:.8rem; color:var(--steel); line-height:1.55;
}

@media (max-width: 980px){
  .enq{ grid-template-columns:1fr; }
}
@media (max-width: 620px){
  .fgrid{ grid-template-columns:1fr; }
}

/* ── Thank-you page ───────────────────────────────────────── */
.thanks{ background:var(--ink); }
.ty{ padding:clamp(60px,9vw,120px) 0 clamp(50px,7vw,90px); color:var(--paper); }
.ty__inner{ max-width:780px; }
.ty h1{
  font-family:var(--display); font-size:clamp(2.1rem,5.5vw,3.4rem); text-transform:uppercase;
  color:var(--white); letter-spacing:-.03em; line-height:1.05; margin:0 0 24px;
}
.ty__lede{ font-size:clamp(1rem,2vw,1.15rem); color:var(--mill); line-height:1.65; margin:0 0 44px; }
.ty__lede strong{ color:var(--white); }
.ty__next{ border-top:1px solid rgba(194,205,213,.22); padding-top:30px; margin-bottom:36px; }
.ty__next h2{
  font-family:var(--display); font-size:1.15rem; text-transform:uppercase; color:var(--spark);
  margin:0 0 20px; letter-spacing:0;
}
.ty__next ol{ margin:0; padding:0; list-style:none; counter-reset:ty; }
.ty__next li{
  counter-increment:ty; position:relative; padding:14px 0 14px 46px;
  border-bottom:1px solid rgba(194,205,213,.14); color:var(--mill); font-size:.98rem; line-height:1.6;
}
.ty__next li::before{
  content:counter(ty,decimal-leading-zero); position:absolute; left:0; top:16px;
  font-family:var(--mono); font-size:.75rem; color:var(--spark); font-weight:600;
}
.ty__next li span{ color:var(--white); font-weight:600; }
.ty__urgent{ background:var(--navy); padding:24px 26px; margin-bottom:38px; }
.ty__urgent-h{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--spark); font-weight:600; margin:0 0 10px;
}
.ty__urgent p{ margin:0; color:var(--mill); font-size:.95rem; line-height:1.7; }
.ty__urgent a{ color:var(--white); font-weight:600; border-bottom:1px solid rgba(242,169,59,.5); text-decoration:none; }
.ty__urgent a:hover{ color:var(--spark); }
.thanks .masthead{ background:rgba(10,25,34,.94); border-bottom-color:rgba(194,205,213,.16); }
.thanks .brand{ color:var(--white); }
.thanks .brand__name em{ color:var(--steel); }
.thanks .btn--ghost{ border-color:rgba(194,205,213,.45); color:var(--paper); }
.thanks .btn--ghost:hover{ background:var(--white); color:var(--navy); border-color:var(--white); }
.thanks .foot{ background:transparent; border-top:1px solid rgba(194,205,213,.16); padding:0 0 26px; }

/* enquiry: spam trap + failure notice */
.honey{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.enq__error{
  margin:0 0 20px; padding:15px 18px; background:#FDECEA;
  border-left:3px solid #C0392B; font-size:.9rem; color:#7B241C; line-height:1.55;
}
.enq__error p{ margin:0; }
.enq__error-why{ font-weight:700; margin-bottom:6px !important; }
.enq__error a{ color:#7B241C; font-weight:600; }
.enq__submit p a{ color:var(--navy); text-decoration:underline; }

/* enquiry: inline success panel */
.enq__done{ background:var(--white); padding:clamp(30px,3.4vw,44px); }
.enq__done h3{
  font-size:clamp(1.35rem,2.8vw,1.9rem); text-transform:uppercase; color:var(--navy);
  margin-bottom:16px; line-height:1.1;
}
.enq__done > p{ font-size:1rem; color:var(--steel); margin:0 0 24px; line-height:1.65; max-width:56ch; }
.enq__done > p strong{ color:var(--navy); }
.enq__done ol{ margin:0 0 24px; padding:0; list-style:none; counter-reset:dn; }
.enq__done li{
  counter-increment:dn; position:relative; padding:13px 0 13px 44px;
  border-bottom:1px solid rgba(94,115,133,.18); font-size:.95rem; color:var(--steel); line-height:1.6;
}
.enq__done li::before{
  content:counter(dn,decimal-leading-zero); position:absolute; left:0; top:15px;
  font-family:var(--mono); font-size:.72rem; color:var(--spark); font-weight:600;
}
.enq__done li span{ color:var(--navy); font-weight:600; }
.enq__done-alt{
  margin:0 !important; padding:16px 18px; background:var(--paper);
  border-left:3px solid var(--spark); font-size:.9rem !important; line-height:1.7;
}
.enq__done-alt a{ color:var(--navy); font-weight:600; }
#enqBtn:disabled{ opacity:.55; cursor:wait; }
