:root{
  --forest:#14342B; --forest2:#0E241E; --gold:#E9A319; --gold2:#F5C35B; --ember:#C1440E;
  --cream:#FBF6EE; --cream2:#F3EADA; --ink:#241A10; --mut:#655A4A; --line:#E6DDC8;
  --serif:'Playfair Display',Georgia,serif; --sans:'Poppins',Inter,system-ui,-apple-system,sans-serif;
  --shadow:0 10px 32px rgba(20,52,43,.1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.65}
img,svg{display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
.wrap{width:min(1180px,92vw);margin-inline:auto}
h1,h2,h3,h4{font-family:var(--serif);font-weight:800;line-height:1.14;letter-spacing:-.01em;color:var(--forest)}
h2{font-size:clamp(1.7rem,3.3vw,2.5rem)}
.kicker{display:inline-flex;align-items:center;gap:.6rem;font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ember);margin-bottom:.8rem}
.kicker::before{content:"";width:26px;height:2px;background:var(--gold)}
.sub{color:var(--mut);max-width:64ch}
.center{text-align:center}.center .sub{margin-inline:auto}
section{padding:clamp(3.6rem,7vw,5.8rem) 0}
.alt{background:#fff}
.dark{background:var(--forest);color:var(--cream)}
.dark h2,.dark h3,.dark h4{color:#fff}
.dark .sub{color:rgba(251,246,238,.72)}
.dark .kicker{color:var(--gold2)}
.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.9rem 1.8rem;border-radius:8px;font-weight:700;font-size:.9rem;transition:all .25s}
.btn:hover{transform:translateY(-2px)}
.btn-solid{background:var(--ember);color:#fff;box-shadow:0 8px 22px rgba(193,68,14,.32)}
.btn-solid:hover{background:#A83A0F}
.btn-gold{background:var(--gold);color:var(--forest)}
.btn-gold:hover{background:var(--gold2)}
.btn-ghost{border:1.5px solid rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-ghost-d{border:1.5px solid var(--line);color:var(--forest)}
.btn-ghost-d:hover{border-color:var(--ember);color:var(--ember)}
.rv{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* header */
#strip{background:var(--forest2);color:#EFE7D6;font-size:.76rem;padding:.42rem 0}
#strip .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
#hdr{position:sticky;top:0;z-index:100;background:rgba(251,246,238,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);transition:box-shadow .3s}
#hdr.sc{box-shadow:var(--shadow)}
#hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:1rem}
.logo{display:flex;align-items:center;gap:.6rem;font-family:var(--serif);font-weight:800;font-size:1.3rem}
.logo b{color:var(--ember)}
.logo .mk{width:34px;height:34px;border-radius:50%;background:var(--forest);color:var(--gold);display:grid;place-items:center;font-family:var(--serif);font-weight:800;font-size:.72rem}
#nav{display:flex;gap:1.4rem;font-size:.85rem;font-weight:600}
#nav a{padding:.4rem 0;border-bottom:2px solid transparent;transition:.2s}
#nav a:hover,#nav a.on{color:var(--ember);border-color:var(--ember)}
#burger{display:none;flex-direction:column;gap:5px;padding:.5rem}
#burger i{width:23px;height:2.4px;background:var(--forest);border-radius:2px;transition:.3s}
#burger.open i:nth-child(1){transform:translateY(7.4px) rotate(45deg)}
#burger.open i:nth-child(2){opacity:0}
#burger.open i:nth-child(3){transform:translateY(-7.4px) rotate(-45deg)}
#mnav{display:none;background:#fff;border-bottom:1px solid var(--line)}
#mnav.open{display:block}
#mnav a{display:block;padding:.85rem 4vw;border-top:1px solid var(--line);font-weight:600;font-size:.92rem}
@media(max-width:980px){#nav,.hdr-cta{display:none}#burger{display:flex}}

/* hero */
#hero{background:linear-gradient(155deg,var(--forest) 0%,var(--forest2) 100%);color:#fff;overflow:hidden;position:relative}
#hero::before{content:"";position:absolute;right:-8%;top:-15%;width:56vw;height:56vw;max-width:640px;max-height:640px;border-radius:50%;background:radial-gradient(circle,rgba(233,163,25,.16),transparent 70%)}
.hero-in{position:relative;padding:clamp(3.6rem,8vw,6.5rem) 0 clamp(3rem,6vw,4.5rem);display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:center}
#hero h1{font-size:clamp(2.3rem,5vw,3.6rem);color:#fff}
#hero h1 em{font-style:italic;color:var(--gold2)}
#hero .sub{color:rgba(251,246,238,.78);margin-top:1.1rem;font-size:1.02rem}
.hero-ctas{display:flex;gap:.9rem;margin-top:2rem;flex-wrap:wrap}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.6rem;border-top:1px solid rgba(255,255,255,.15);padding-top:1.6rem}
.hero-stats b{display:block;font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.1rem);color:var(--gold2)}
.hero-stats small{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(251,246,238,.62)}
.hero-cats{display:flex;flex-direction:column;gap:.7rem}
.hcat{display:flex;align-items:center;gap:.8rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:.9rem 1.1rem;transition:all .3s}
.hcat:hover{background:rgba(255,255,255,.1);transform:translateX(4px)}
.hcat .ic{width:38px;height:38px;border-radius:9px;background:var(--gold);color:var(--forest);display:grid;place-items:center;flex:none}
.hcat .ic svg{width:19px;height:19px}
.hcat b{font-size:.86rem;display:block}
.hcat small{font-size:.72rem;color:rgba(251,246,238,.6)}
@media(max-width:980px){.hero-in{grid-template-columns:1fr}.hero-stats{grid-template-columns:repeat(2,1fr)}}

/* trio / cards */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.4rem}
.tcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.9rem;transition:.3s}
.tcard:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.tcard .ic{width:48px;height:48px;border-radius:11px;background:var(--cream2);color:var(--ember);display:grid;place-items:center;margin-bottom:1.1rem}
.tcard .ic svg{width:24px;height:24px}
.tcard h3{font-size:1.08rem;margin-bottom:.5rem}
.tcard p{font-size:.9rem;color:var(--mut)}
@media(max-width:900px){.trio{grid-template-columns:1fr}}

/* stats band */
#stats{background:var(--forest2);color:#fff}
#stats .wrap{padding:2.6rem 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
#stats b{display:block;font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.3rem);color:var(--gold2)}
#stats small{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
@media(max-width:720px){#stats .wrap{grid-template-columns:repeat(2,1fr)}}

/* leadership */
.lgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2.4rem}
.lcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.6rem;transition:.3s}
.lcard:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.lcard .mk{width:52px;height:52px;border-radius:50%;background:var(--forest);color:var(--gold);display:grid;place-items:center;font-family:var(--serif);font-weight:800;font-size:.9rem;margin-bottom:.9rem}
.lcard h3{font-size:1.02rem;margin-bottom:.15rem}
.lcard .role{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ember);margin-bottom:.6rem}
.lcard p{font-size:.85rem;color:var(--mut)}
@media(max-width:900px){.lgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.lgrid{grid-template-columns:1fr}}

/* portfolio tabs */
.ptabs{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin:2.2rem 0 2rem}
.ptabs button{padding:.65rem 1.3rem;border-radius:8px;border:1.5px solid var(--line);font-weight:700;font-size:.82rem;color:var(--mut);background:#fff;transition:.25s}
.ptabs button:hover{border-color:var(--ember);color:var(--ember)}
.ptabs button.on{background:var(--ember);border-color:var(--ember);color:#fff}
.pcat{display:none}
.pcat.on{display:block}
.pcat-head{display:flex;align-items:center;gap:1rem;margin-bottom:1.6rem}
.pcat-head .ic{width:52px;height:52px;border-radius:12px;background:var(--forest);color:var(--gold);display:grid;place-items:center;flex:none}
.pcat-head .ic svg{width:26px;height:26px}
.pcat-head p{color:var(--mut);font-size:.9rem;margin-top:.2rem}
.pitems{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.8rem}
.pitem{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem;font-weight:600;font-size:.88rem;display:flex;align-items:center;gap:.6rem;transition:.25s}
.pitem:hover{border-color:var(--gold);box-shadow:var(--shadow)}
.pitem svg{width:15px;height:15px;color:var(--ember);flex:none}
.pnote{margin-top:1.4rem;background:var(--cream2);border-radius:10px;padding:.9rem 1.2rem;font-size:.86rem;color:var(--forest)}

/* process steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.4rem}
.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.6rem}
.step .n{width:34px;height:34px;border-radius:50%;background:var(--ember);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.92rem;margin-bottom:.9rem}
.step h3{font-size:.98rem;margin-bottom:.4rem}
.step p{font-size:.84rem;color:var(--mut)}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.steps{grid-template-columns:1fr}}

/* ports / markets */
.portrow{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.2rem}
.portcard{background:var(--forest);color:#fff;border-radius:14px;padding:1.6rem}
.portcard b{font-family:var(--serif);font-size:1.15rem;color:var(--gold2);display:block;margin-bottom:.4rem}
.portcard p{font-size:.85rem;color:rgba(251,246,238,.72)}
@media(max-width:900px){.portrow{grid-template-columns:1fr}}

.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.2rem}
.mcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.4rem;display:flex;gap:.9rem;align-items:flex-start;transition:.3s}
.mcard:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.mcard .dot{width:10px;height:10px;border-radius:50%;background:var(--gold);margin-top:.35rem;flex:none}
.mcard h3{font-size:.98rem;margin-bottom:.3rem}
.mcard p{font-size:.83rem;color:var(--mut)}
@media(max-width:900px){.mgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.mgrid{grid-template-columns:1fr}}

/* certifications */
.certrow{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin-top:2.2rem}
.cert{display:flex;align-items:center;gap:.55rem;border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:.8rem 1.2rem;font-weight:700;font-size:.84rem;transition:.25s}
.cert:hover{border-color:var(--gold);box-shadow:var(--shadow)}
.cert svg{width:18px;height:18px;color:var(--ember)}

/* advantages */
.advgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin-top:2.2rem}
.adv{background:var(--forest);border-radius:14px;padding:1.5rem;color:#fff}
.adv b{color:var(--gold2);font-family:var(--serif);font-size:1.2rem;display:block;margin-bottom:.5rem}
.adv p{font-size:.85rem;color:rgba(251,246,238,.75)}
@media(max-width:800px){.advgrid{grid-template-columns:1fr}}

/* testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.2rem}
.qcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.7rem;position:relative}
.qcard::before{content:"\u201C";position:absolute;top:.6rem;left:1.2rem;font-family:var(--serif);font-size:3rem;color:var(--cream2)}
.qcard p{font-size:.9rem;color:var(--mut);position:relative;font-style:italic}
.qcard footer{margin-top:1rem;font-size:.78rem;font-weight:700;color:var(--ember);letter-spacing:.02em}
@media(max-width:900px){.quotes{grid-template-columns:1fr}}

/* faq */
.faq{max-width:820px;margin:2.2rem auto 0}
.fitem{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:.7rem;overflow:hidden}
.fq{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;text-align:left;padding:1.05rem 1.3rem;font-weight:700;font-size:.94rem}
.fq svg{width:18px;height:18px;flex:none;transition:transform .3s;color:var(--ember)}
.fitem.open .fq svg{transform:rotate(45deg)}
.fa{max-height:0;overflow:hidden;transition:max-height .35s ease}
.fa p{padding:0 1.3rem 1.15rem;font-size:.88rem;color:var(--mut)}

/* contact */
.c-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem)}
.c-info div{display:flex;gap:.9rem;margin-top:1.3rem}
.c-info .ic{width:42px;height:42px;border-radius:10px;background:rgba(255,255,255,.1);color:var(--gold);display:grid;place-items:center;flex:none}
.c-info .ic svg{width:20px;height:20px}
.c-info b{display:block;font-size:.9rem;color:#fff}
.c-info p{font-size:.85rem;color:rgba(251,246,238,.72)}
#cform{background:#fff;border-radius:14px;padding:1.8rem;box-shadow:var(--shadow)}
#cform .row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
#cform input,#cform textarea,#cform select{width:100%;padding:.8rem 1rem;border:1.5px solid var(--line);border-radius:8px;font:inherit;font-size:.9rem;margin-bottom:.9rem;color:var(--ink);background:#fff}
#cform :focus{outline:none;border-color:var(--ember)}
#cform .err{border-color:#D33!important}
#cform label{font-size:.78rem;font-weight:700;display:block;margin-bottom:.3rem;color:var(--forest)}
#c-ok{display:none;margin-top:.8rem;padding:.8rem 1rem;background:#EAF3EC;border:1px solid #BFDECB;color:var(--forest);border-radius:8px;font-size:.88rem;font-weight:600}
#c-ok.show{display:block}
@media(max-width:900px){.c-grid{grid-template-columns:1fr}#cform .row{grid-template-columns:1fr}}

/* footer */
footer{background:#0F1712;color:#B7C2B9;font-size:.86rem}
.f-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:2rem;padding:3.2rem 0 2.4rem}
footer h4{color:#fff;font-size:.9rem;margin-bottom:1rem;font-family:var(--serif)}
footer li{list-style:none;margin-bottom:.5rem}
footer a:hover{color:#fff;text-decoration:underline}
.f-bot{border-top:1px solid rgba(255,255,255,.1);padding:1.1rem 0;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:#8A9690}
@media(max-width:900px){.f-top{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.f-top{grid-template-columns:1fr}}
#totop{position:fixed;right:1.2rem;bottom:1.2rem;width:46px;height:46px;border-radius:10px;background:var(--ember);color:#fff;box-shadow:var(--shadow);display:grid;place-items:center;opacity:0;pointer-events:none;transition:.3s;z-index:90}
#totop.show{opacity:1;pointer-events:auto}
#totop:hover{transform:translateY(-2px)}
#totop svg{width:19px;height:19px}
/* ══════════ MULTI-PAGE ADDITIONS ══════════ */
/* interior page hero */
.page-hero{background:linear-gradient(155deg,var(--forest) 0%,var(--forest2) 100%);color:#fff;padding:clamp(2.6rem,6vw,4rem) 0 clamp(2.2rem,5vw,3rem);position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;right:-10%;top:-30%;width:44vw;height:44vw;max-width:460px;max-height:460px;border-radius:50%;background:radial-gradient(circle,rgba(233,163,25,.14),transparent 70%)}
.crumb{position:relative;display:flex;gap:.5rem;align-items:center;font-size:.78rem;color:rgba(251,246,238,.6);margin-bottom:1rem;flex-wrap:wrap}
.crumb a{color:rgba(251,246,238,.85);transition:color .2s}
.crumb a:hover{color:var(--gold2)}
.crumb span{opacity:.5}
.page-hero h1{position:relative;color:#fff;font-size:clamp(2rem,4.4vw,3.1rem)}
.page-hero .sub{position:relative;color:rgba(251,246,238,.78);margin-top:.8rem;font-size:1rem;max-width:70ch}
.page-hero .kicker{color:var(--gold2)}

/* related category grid (portfolio hub + product pages) */
.relgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2rem}
.relcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.7rem;transition:.3s;display:block}
.relcard:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:var(--gold)}
.relcard .ic{width:50px;height:50px;border-radius:12px;background:var(--forest);color:var(--gold);display:grid;place-items:center;margin-bottom:1rem}
.relcard .ic svg{width:25px;height:25px}
.relcard h3{font-size:1.02rem;margin-bottom:.4rem}
.relcard p{font-size:.85rem;color:var(--mut)}
.relcard .cnt{margin-top:.8rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ember)}
@media(max-width:900px){.relgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.relgrid{grid-template-columns:1fr}}

/* product spec page */
.pg-head{display:flex;align-items:center;gap:1.2rem;margin-bottom:.6rem}
.pg-head .ic{width:60px;height:60px;border-radius:14px;background:var(--gold);color:var(--forest);display:grid;place-items:center;flex:none}
.pg-head .ic svg{width:30px;height:30px}
.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:2rem}
.spec-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.3rem;transition:.3s}
.spec-item:hover{box-shadow:var(--shadow);border-color:var(--gold)}
.spec-item h4{font-size:.98rem;margin-bottom:.4rem;display:flex;align-items:center;gap:.5rem}
.spec-item h4 svg{width:16px;height:16px;color:var(--ember);flex:none}
.spec-item p{font-size:.82rem;color:var(--mut)}
.spec-table{width:100%;border-collapse:collapse;margin-top:1.6rem;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.spec-table th{background:var(--forest);color:#fff;text-align:left;padding:.8rem 1.1rem;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.spec-table td{padding:.8rem 1.1rem;font-size:.88rem;border-top:1px solid var(--line);color:var(--ink)}
.spec-table tr:nth-child(even) td{background:var(--cream2)}

/* subnav pill row for portfolio-family pages */
.subnav{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.4rem;position:relative}
.subnav a{padding:.5rem 1.1rem;border-radius:999px;font-size:.8rem;font-weight:700;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2);transition:.25s}
.subnav a:hover,.subnav a.on{background:var(--gold);color:var(--forest);border-color:var(--gold)}

/* simple two-col info block reused on quality/logistics/etc pages */
.info-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2rem}
@media(max-width:800px){.info-cols{grid-template-columns:1fr}}

/* leadership photos */
.lcard .photo{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:center top;margin-bottom:.9rem;border:2px solid var(--gold);box-shadow:0 4px 14px rgba(20,52,43,.18);display:block}
