/* ==========================================================================
   Az Supply Sole Co., Ltd — site stylesheet
   One idea per band, image-led, short copy. Same house pattern as CDG-website.
   Palette sampled into tools/make_gfx.py — change both together.
   ========================================================================== */

:root{
  --ink:#0E1A24;
  --ink-2:#132738;
  --teal:#0B7285;
  --teal-d:#075661;
  --teal-l:#2A9AAB;
  --amber:#F59F00;
  --amber-d:#D98C00;
  --paper:#FFFFFF;
  --paper-2:#F5F8FA;
  --paper-3:#E8EFF3;
  --body:#3D505E;
  --muted:#6B7F8E;
  --line:#DCE6EC;
  --wrap:1180px;
  --r:14px;
  --shadow:0 1px 2px rgba(14,26,36,.06), 0 8px 28px rgba(14,26,36,.08);
  --shadow-lg:0 2px 6px rgba(14,26,36,.08), 0 22px 60px rgba(14,26,36,.14);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--body);
  font-family:Poppins,"Noto Sans Lao","Segoe UI",system-ui,-apple-system,sans-serif;
  font-size:17px;line-height:1.65;
}
:lang(lo),.lo{font-family:"Noto Sans Lao",Poppins,sans-serif}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--teal);text-decoration:none}
a:hover{color:var(--teal-d)}
h1,h2,h3,h4{color:var(--ink);font-weight:700;line-height:1.18;margin:0 0 .5em;letter-spacing:-.015em}
h1{font-size:clamp(2.1rem,5.2vw,3.6rem)}
h2{font-size:clamp(1.65rem,3.4vw,2.5rem)}
h3{font-size:1.18rem;line-height:1.35}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}
.wrap{width:min(100% - 44px,var(--wrap));margin-inline:auto}
.accent{color:var(--amber)}
.eyebrow{
  display:inline-block;font-size:.76rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--teal);margin-bottom:.85em;
}
.lead{font-size:1.16rem;color:var(--body)}
.center{text-align:center}
.center .eyebrow{display:block}

/* skip link ------------------------------------------------------------- */
.skip{position:absolute;left:-9999px;top:0;z-index:200}
.skip:focus{
  left:12px;top:12px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;
}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:4px}

/* buttons ---------------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;gap:.5em;border:1.5px solid transparent;
  padding:.72em 1.5em;border-radius:999px;font-weight:600;font-size:.97rem;
  cursor:pointer;transition:transform .15s ease,background .15s ease,color .15s ease,border-color .15s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px)}
.btn--primary{background:var(--teal);color:#fff}
.btn--primary:hover{background:var(--teal-d);color:#fff}
.btn--accent{background:var(--amber);color:var(--ink)}
.btn--accent:hover{background:var(--amber-d);color:var(--ink)}
.btn--ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn--ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.btn--outline{border-color:var(--line);color:var(--ink);background:#fff}
.btn--outline:hover{border-color:var(--teal);color:var(--teal)}
.btn-row{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.6rem}

/* header ----------------------------------------------------------------- */
.site-header{
  position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);
  backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line);
}
.site-header .wrap{display:flex;align-items:center;gap:1.4rem;min-height:70px}
.brand{flex:0 0 auto;display:block}
.brand img{width:190px}
.nav{margin-left:auto;display:flex;align-items:center;gap:1.45rem}
.nav a{
  color:var(--ink);font-weight:500;font-size:.95rem;padding:.3em 0;
  border-bottom:2px solid transparent;
}
.nav a:hover{color:var(--teal);border-bottom-color:var(--teal)}
.nav a.is-active{color:var(--teal);border-bottom-color:var(--amber)}
.nav a.btn,.nav a.btn.is-active{border-bottom:0;color:#fff;padding:.62em 1.35em}
.nav a.btn:hover{border-bottom:0}
.nav-toggle{
  display:none;margin-left:auto;width:44px;height:40px;background:none;border:0;
  position:relative;cursor:pointer;
}
.nav-toggle span,.nav-toggle::before,.nav-toggle::after{
  content:"";position:absolute;left:9px;right:9px;height:2.5px;border-radius:2px;
  background:var(--ink);transition:transform .2s ease,opacity .2s ease;
}
.nav-toggle::before{top:12px}.nav-toggle span{top:19px}.nav-toggle::after{top:26px}
.nav-toggle[aria-expanded="true"]::before{transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span{opacity:0}
.nav-toggle[aria-expanded="true"]::after{transform:translateY(-7px) rotate(-45deg)}

/* hero ------------------------------------------------------------------- */
.hero{position:relative;isolation:isolate;min-height:clamp(430px,62vh,600px);display:grid}
.hero-slide{
  grid-area:1/1;display:flex;align-items:center;background-size:cover;background-position:center;
  opacity:0;transition:opacity .9s ease;pointer-events:none;
}
.hero-slide.is-on{opacity:1;pointer-events:auto}
.hero-slide::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(14,26,36,.94) 8%,rgba(14,26,36,.72) 46%,rgba(14,26,36,.34) 100%);
}
.hero-copy{max-width:660px;padding:4.2rem 0;color:#fff}
.hero-copy h1{color:#fff}
.hero-copy p{color:#C9D8E2;font-size:1.16rem;margin-bottom:0}
.hero-copy .eyebrow{color:var(--amber)}
.hero-dots{
  position:absolute;z-index:5;left:0;right:0;bottom:22px;display:flex;gap:.55rem;
  justify-content:center;
}
.hero-dots button{
  width:34px;height:4px;border:0;border-radius:2px;background:rgba(255,255,255,.35);
  cursor:pointer;padding:0;transition:background .2s ease;
}
.hero-dots button[aria-current="true"]{background:var(--amber)}

/* page banner (inner pages) ---------------------------------------------- */
.banner{
  background:var(--ink) center/cover;color:#fff;position:relative;isolation:isolate;
}
.banner::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(14,26,36,.93),rgba(14,26,36,.6));
}
.banner .wrap{padding:clamp(3.2rem,6vw,4.4rem) 0}
.banner h1,.banner p{max-width:760px}
.banner h1{color:#fff;margin-bottom:.35em}
.banner p{color:#C9D8E2;font-size:1.1rem;margin:0}
.banner .eyebrow{color:var(--amber)}

/* sections --------------------------------------------------------------- */
.band{padding:clamp(3.4rem,7vw,5.6rem) 0}
.band--tint{background:var(--paper-2)}
.band--ink{background:var(--ink);color:#C9D8E2}
.band--ink h2,.band--ink h3{color:#fff}
.band--ink .eyebrow{color:var(--amber)}
.band-head{max-width:720px;margin:0 0 2.6rem}
.band-head.center{margin-inline:auto;text-align:center}

/* split band ------------------------------------------------------------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.2rem);align-items:center}
.split--flip .split-media{order:2}
.split-media img,.split-media .gfx{
  border-radius:var(--r);box-shadow:var(--shadow-lg);width:100%;aspect-ratio:16/11;object-fit:cover;
}
.gfx{background-size:cover;background-position:center;display:block}

/* cards ------------------------------------------------------------------ */
.grid{display:grid;gap:1.4rem}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.7rem 1.6rem;
  box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease;
  display:flex;flex-direction:column;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.card h3{margin-bottom:.45em}
.card p{color:var(--muted);font-size:.97rem}
.card .card-more{margin-top:auto;padding-top:1rem;font-weight:600;font-size:.93rem}
.card-icon{
  width:44px;height:44px;border-radius:11px;display:grid;place-items:center;margin-bottom:1.05rem;
  background:rgba(11,114,133,.1);color:var(--teal);
}
.card-icon svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}
.card--ink{background:var(--ink-2);border-color:rgba(255,255,255,.09)}
.card--ink p{color:#9FB3C4}
.card--ink .card-icon{background:rgba(245,159,0,.14);color:var(--amber)}

/* work list -------------------------------------------------------------- */
.work{display:grid;gap:1.1rem}
.work-item{
  display:grid;grid-template-columns:225px 1fr auto;gap:1.6rem;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.3rem 1.5rem;
}
.work-item h3{margin:0 0 .25em;font-size:1.06rem}
.work-item p{margin:0;color:var(--muted);font-size:.95rem}
.work-tag{
  font-size:.74rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;
  color:var(--teal);
}
.work-status{
  font-size:.8rem;font-weight:600;color:var(--muted);white-space:nowrap;
  border:1px solid var(--line);border-radius:999px;padding:.3em .9em;
}

/* stats ------------------------------------------------------------------ */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;text-align:center}
.stat b{display:block;font-size:clamp(1.9rem,4vw,2.8rem);color:var(--amber);line-height:1.1}
.stat span{font-size:.92rem;color:#9FB3C4}

/* checklist -------------------------------------------------------------- */
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.ticks li{position:relative;padding-left:1.9rem;font-size:1rem}
.ticks li::before{
  content:"";position:absolute;left:0;top:.5em;width:11px;height:6px;
  border-left:2.5px solid var(--amber);border-bottom:2.5px solid var(--amber);
  transform:rotate(-45deg);
}

/* CTA -------------------------------------------------------------------- */
.cta{background:var(--teal);color:#fff;text-align:center;padding:clamp(3rem,6vw,4.4rem) 0}
.cta h2{color:#fff}
.cta p{color:rgba(255,255,255,.86);max-width:560px;margin-inline:auto}
.cta .btn-row{justify-content:center}

/* contact ---------------------------------------------------------------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,3.6rem)}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:1.35rem}
.contact-list dd{margin:0}
.contact-list--row{grid-template-columns:repeat(3,1fr);gap:2rem}
.contact-list dt,.contact-list b{
  display:block;font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin-bottom:.2em;
}
.contact-list a,.contact-list span{font-size:1.05rem;color:var(--ink);font-weight:500}
.contact-list a:hover{color:var(--teal)}
.note{
  background:#FFF8E8;border:1px solid #F3DFB0;border-left:4px solid var(--amber);
  border-radius:10px;padding:1rem 1.2rem;font-size:.94rem;color:#6B5A2E;
}

/* footer ----------------------------------------------------------------- */
.site-footer{background:var(--ink);color:#8FA5B5;padding:3.4rem 0 2rem;font-size:.94rem}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.4rem;margin-bottom:2.4rem}
.site-footer img{width:200px;margin-bottom:1.1rem}
.site-footer h4{color:#fff;font-size:.79rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1em}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.site-footer a{color:#8FA5B5}
.site-footer a:hover{color:var(--amber)}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);padding-top:1.4rem;display:flex;
  justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.87rem;
}

/* responsive ------------------------------------------------------------- */
@media (max-width:900px){
  .grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr}
  .split--flip .split-media{order:0}
  .footer-top{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr}
  .contact-list--row{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr);gap:2rem}
  .work-item{grid-template-columns:1fr;gap:.5rem}
  .work-status{justify-self:start}
}
@media (max-width:720px){
  body{font-size:16px}
  .nav-toggle{display:block}
  .nav{
    position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;
    align-items:stretch;gap:0;padding:.5rem 22px 1.2rem;border-bottom:1px solid var(--line);
    box-shadow:var(--shadow);display:none;
  }
  .nav.is-open{display:flex}
  .nav a{padding:.85em 0;border-bottom:1px solid var(--line)}
  .nav a.is-active{border-bottom-color:var(--line)}
  .nav a.btn{margin-top:.9rem;justify-content:center;border-bottom:0}
  .grid--3,.grid--4,.grid--2{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .hero-copy{padding:3rem 0}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
