
:root{
    --paper:#F1EDE1;
    --paper-dim:#e8e2d1;
    --ink:#1C2B22;
    --bottle:#1F4D3B;
    --bottle-dark:#123226;
    --copper:#A85C32;
    --copper-bright:#C97A44;
    --gold:#B8963E;
    --teal:#2B6E7A;
    --teal-bright:#3B8A98;
    --maroon:#8C3B3B;
    --maroon-bright:#A94F4F;
    --line:rgba(28,43,34,0.18);
    --sans: 'IBM Plex Sans', sans-serif;
    --serif: 'Fraunces', serif;
    --mono: 'IBM Plex Mono', monospace;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
    background:var(--paper);
    color:var(--ink);
    font-family:var(--sans);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
@media (max-width:640px){ .wrap{padding:0 20px;} }

.eyebrow{
    font-family:var(--mono);
    font-size:11.5px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--copper);
    display:inline-flex;
    align-items:center;
    gap:8px;
}
.eyebrow::before{
    content:"";
    width:16px; height:1px;
    background:var(--copper);
    display:inline-block;
}
.eyebrow.on-dark{color:var(--gold);}
.eyebrow.on-dark::before{background:var(--gold);}
h1,h2,h3{font-family:var(--serif); font-weight:600; line-height:1.05; letter-spacing:-0.01em;}
.rule{border:none; border-top:1px solid var(--line); margin:0;}

/* ---------- Header ---------- */
header{
    position:sticky; top:0; z-index:50;
    background:rgba(241,237,225,0.94);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
    box-shadow:0 2px 18px rgba(28,43,34,0.06);
}
header::before{
    content:""; display:block; height:3px; width:100%;
    background:linear-gradient(90deg, var(--bottle) 0%, var(--copper) 45%, var(--gold) 100%);
}
.nav{
    display:flex; align-items:center; gap:22px;
    padding:16px 0;
}
.logo{
    font-family:var(--serif); font-weight:700; font-size:20px;
    color:var(--bottle-dark);
    display:flex; flex-direction:column; line-height:1;
}
.logo span{
    font-family:var(--mono); font-size:9px; letter-spacing:0.16em;
    color:var(--copper); font-weight:500; margin-top:4px;
}
.logo-link{display:flex; align-items:center; flex:none;}
.logo-img{height:36px; width:auto; display:block;}
@media (max-width:640px){ .logo-img{height:28px;} }

.nav-links{ flex:1; display:flex; align-items:center; gap:18px; min-width:0; }
.nav-scroll{
    flex:1; min-width:0; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;
    -webkit-mask-image:linear-gradient(to right, transparent 0, black 20px, black calc(100% - 20px), transparent 100%);
    mask-image:linear-gradient(to right, transparent 0, black 20px, black calc(100% - 20px), transparent 100%);
}
.nav-scroll::-webkit-scrollbar{display:none;}
.nav-scroll ul{list-style:none; display:flex; gap:6px; flex-wrap:nowrap; padding:4px 20px;}
.nav-scroll ul li{flex:none;}
.nav-scroll ul li a{
    font-size:13.5px; font-weight:600; color:#3a473e;
    white-space:nowrap; display:inline-block;
    padding:9px 17px; border-radius:999px;
    transition:all .22s cubic-bezier(.2,.8,.3,1);
    border:1px solid transparent;
}
.nav-scroll ul li a:hover{
    background:linear-gradient(135deg, rgba(31,77,59,0.08), rgba(168,92,50,0.12));
    color:var(--copper);
    border-color:rgba(168,92,50,0.25);
    transform:translateY(-1px);
}
.nav-scroll ul li a.active{
    background:linear-gradient(120deg, var(--bottle) 0%, var(--bottle-dark) 100%);
    color:var(--paper);
    box-shadow:0 4px 14px rgba(18,50,38,0.28);
    border-color:transparent;
}
.nav-cta{
    font-family:var(--mono); font-size:12.5px; letter-spacing:0.03em; font-weight:500;
    background:linear-gradient(120deg, var(--copper) 0%, var(--copper-bright) 100%);
    color:var(--paper);
    padding:11px 22px; border-radius:999px;
    border:1px solid var(--copper);
    white-space:nowrap; flex:none;
    box-shadow:0 4px 14px rgba(168,92,50,0.28);
    transition:all .22s cubic-bezier(.2,.8,.3,1);
}
.nav-cta:hover{
    background:linear-gradient(120deg, var(--copper-bright) 0%, var(--gold) 100%);
    border-color:var(--copper-bright);
    box-shadow:0 6px 20px rgba(168,92,50,0.4);
    transform:translateY(-1px);
}

.nav-contact-fixed{
    font-size:13.5px; font-weight:600; color:#3a473e;
    white-space:nowrap; display:inline-block;
    padding:9px 17px; border-radius:999px;
    border:1px solid transparent; flex:none;
    transition:all .22s cubic-bezier(.2,.8,.3,1);
}
.nav-contact-fixed:hover{
    background:linear-gradient(135deg, rgba(31,77,59,0.08), rgba(168,92,50,0.12));
    color:var(--copper); border-color:rgba(168,92,50,0.25);
}
.nav-contact-fixed.active{
    background:linear-gradient(120deg, var(--bottle) 0%, var(--bottle-dark) 100%);
    color:var(--paper); box-shadow:0 4px 14px rgba(18,50,38,0.28);
}
@media (max-width:900px){ .nav-contact-fixed{ display:none; } }

/* ---------- Mobile nav (hamburger + full menu) ---------- */
.hamburger{
    display:none; flex:none; width:42px; height:42px; border-radius:10px;
    border:1px solid var(--line); background:transparent; cursor:pointer;
    align-items:center; justify-content:center; position:relative; z-index:110;
}
.hamburger span{
    display:block; width:20px; height:2px; background:var(--ink); position:relative;
    transition:background .2s ease;
}
.hamburger span::before, .hamburger span::after{
    content:""; position:absolute; left:0; width:20px; height:2px; background:var(--ink);
    transition:transform .25s ease, top .25s ease;
}
.hamburger span::before{ top:-6px; }
.hamburger span::after{ top:6px; }
.hamburger.is-open span{ background:transparent; }
.hamburger.is-open span::before{ top:0; transform:rotate(45deg); }
.hamburger.is-open span::after{ top:0; transform:rotate(-45deg); }

.mobile-menu{
    display:none; position:fixed; inset:0; z-index:100;
    background:var(--paper); padding:96px 28px 40px; overflow-y:auto;
    opacity:0; transform:translateY(-14px); pointer-events:none;
    transition:opacity .25s ease, transform .25s ease;
}
.mobile-menu.is-open{ display:block; opacity:1; transform:translateY(0); pointer-events:auto; }
.mobile-menu ul{ list-style:none; display:flex; flex-direction:column; }
.mobile-menu ul li a{
    display:block; padding:16px 4px; font-size:18px; font-weight:600;
    color:var(--ink); border-bottom:1px solid var(--line);
}
.mobile-menu ul li a.active{ color:var(--copper); }
.mobile-menu-cta{
    display:block; text-align:center; margin-top:24px;
    font-family:var(--mono); font-size:14px; font-weight:500;
    background:linear-gradient(120deg, var(--copper) 0%, var(--copper-bright) 100%);
    color:var(--paper); padding:15px 22px; border-radius:999px;
}
@media (max-width:900px){
    .nav-links{ display:none; }
    .hamburger{ display:flex; }
}

@media (max-width:640px){
    .logo{font-size:16px;}
    .logo span{font-size:8px;}
    .nav-scroll ul{padding:4px 14px;}
    .nav-scroll ul li a{padding:8px 13px; font-size:13px;}
    .nav-cta{padding:9px 15px; font-size:11.5px;}
}

/* ---------- Hero ---------- */
.hero{ position:relative; padding:88px 0 60px; overflow:hidden; }
.hero-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:50px; align-items:center; }
@media (max-width:900px){ .hero-grid{grid-template-columns:1fr;} }
.hero h1{ font-size:clamp(34px,4.6vw,58px); margin:18px 0 22px; color:var(--bottle-dark); }
.hero h1 em{font-style:italic; color:var(--copper);}
.hero p.lede{ font-size:17px; line-height:1.65; max-width:520px; color:#3a473e; margin-bottom:30px; }
.btn-row{display:flex; gap:14px; flex-wrap:wrap;}
.btn{
    font-family:var(--mono); font-size:12.5px; letter-spacing:0.03em;
    padding:13px 22px; border-radius:2px; display:inline-flex; align-items:center; gap:8px;
    transition:all .2s ease; border:1px solid transparent; cursor:pointer;
}
.btn-primary{background:var(--copper); color:var(--paper); border:1px solid var(--copper);}
.btn-primary:hover{background:var(--copper-bright); border-color:var(--copper-bright);}
.btn-outline{border:1px solid var(--ink); color:var(--ink);}
.btn-outline:hover{background:var(--ink); color:var(--paper);}

/* molecule diagram */
.molecule-box{
    position:relative; background:var(--bottle-dark); border-radius:4px; aspect-ratio:1/1;
    display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.molecule-box::before{
    content:"CERTIFICATE OF ANALYSIS"; position:absolute; top:16px; left:18px;
    font-family:var(--mono); font-size:10px; letter-spacing:0.14em; color:rgba(241,237,225,0.45);
}
.molecule-box::after{
    content:"WHO-GMP / EST. 2013"; position:absolute; bottom:16px; left:18px;
    font-family:var(--mono); font-size:10px; letter-spacing:0.1em; color:rgba(241,237,225,0.45);
}
.molecule-box svg{width:78%; height:78%;}
.molecule-box .atom{fill:var(--paper);}
.molecule-box .bond{stroke:rgba(241,237,225,0.55); stroke-width:1.4;}
.molecule-box .atom-copper{fill:var(--copper-bright);}

/* stat strip like a COA table */
.coa-strip{
    margin-top:56px; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    display:grid; grid-template-columns:repeat(4,1fr);
}
@media (max-width:700px){ .coa-strip{grid-template-columns:repeat(2,1fr);} }
.coa-cell{ padding:22px 24px; border-right:1px solid var(--line); }
.coa-cell:last-child{border-right:none;}
.coa-cell .num{font-family:var(--serif); font-size:30px; color:var(--bottle-dark); font-weight:600;}
.coa-cell .label{font-family:var(--mono); font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:#5a6459; margin-top:4px;}

/* ---------- Section generic ---------- */
section{padding:96px 0;}
.section-head{max-width:640px; margin-bottom:52px;}
.section-head.center{max-width:680px; margin-left:auto; margin-right:auto; text-align:center;}
.section-head h2{font-size:clamp(28px,3.4vw,42px); margin-top:14px; color:var(--bottle-dark);}
.section-head p{margin-top:16px; font-size:16px; line-height:1.6; color:#3a473e;}

/* page banner for sub-pages */
.page-banner{ padding:64px 0 48px; border-bottom:1px solid var(--line); }
.page-banner h1{ font-size:clamp(30px,4vw,46px); margin-top:14px; color:var(--bottle-dark); }
.page-banner p{ margin-top:16px; font-size:16px; line-height:1.6; color:#3a473e; max-width:600px; }
.crumb{ font-family:var(--mono); font-size:11px; letter-spacing:0.06em; color:#5a6459; }
.crumb a{color:var(--copper);}

/* award band */
.award-band{background:var(--bottle-dark); color:var(--paper);}
.award-band .section-head p{color:rgba(241,237,225,0.75);}
.award-grid{display:grid; grid-template-columns:0.8fr 1.2fr; gap:50px; align-items:center;}
@media (max-width:800px){ .award-grid{grid-template-columns:1fr;} }
.award-seal{
    border:1px solid rgba(241,237,225,0.3); aspect-ratio:1; border-radius:50%;
    display:flex; align-items:center; justify-content:center; text-align:center; padding:30px; position:relative;
}
.award-seal::before{ content:""; position:absolute; inset:14px; border:1px dashed rgba(184,150,62,0.5); border-radius:50%; }
.award-seal .inner{font-family:var(--serif); font-size:20px; line-height:1.3;}
.award-seal .inner span{display:block; font-family:var(--mono); font-size:10px; letter-spacing:0.14em; color:var(--gold); margin-top:10px;}
.badge-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:26px;}
.badge{
    font-family:var(--mono); font-size:11px; letter-spacing:0.05em;
    border:1px solid rgba(241,237,225,0.35); padding:7px 14px; border-radius:20px; color:rgba(241,237,225,0.85);
}

/* about */
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start;}
@media (max-width:850px){ .about-grid{grid-template-columns:1fr;} }
.about-grid p{font-size:16px; line-height:1.75; color:#334035; margin-bottom:16px;}
.tag-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:20px;}
.tag{
    font-family:var(--mono); font-size:11px; letter-spacing:0.04em;
    border:1px solid var(--line); padding:7px 13px; border-radius:20px; color:var(--bottle-dark);
}
.ledger{ border:1px solid var(--line); background:var(--paper-dim); }
.ledger-row{
    display:flex; justify-content:space-between; align-items:center;
    padding:16px 22px; border-bottom:1px solid var(--line); font-size:14.5px;
}
.ledger-row:last-child{border-bottom:none;}
.ledger-row .k{color:#3a473e;}
.ledger-row .v{font-family:var(--mono); font-size:13px; color:var(--bottle-dark); font-weight:500; text-align:right;}

/* products */
.product-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media (max-width:900px){ .product-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .product-grid{grid-template-columns:1fr;} }
.product-card{ background:var(--paper); padding:34px 28px; transition:background .25s ease; }
.product-card:hover{background:var(--paper-dim);}
.product-card .idx{font-family:var(--mono); font-size:11px; color:var(--copper); letter-spacing:0.08em;}
.product-card h3{font-size:22px; margin:14px 0 10px; color:var(--bottle-dark);}
.product-card p{font-size:14.5px; line-height:1.6; color:#3a473e;}
.product-card .link{
    display:inline-flex; align-items:center; gap:6px; margin-top:18px;
    font-family:var(--mono); font-size:12px; letter-spacing:0.04em; color:var(--bottle); border-bottom:1px solid var(--bottle);
}

/* why choose - documentation stamps */
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
@media (max-width:900px){ .why-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .why-grid{grid-template-columns:1fr;} }
.why-card{ border:1px solid var(--line); padding:28px 22px; background:var(--paper-dim); }
.why-card .mark{
    width:38px; height:38px; border:1px solid var(--copper); border-radius:50%;
    display:flex; align-items:center; justify-content:center; font-family:var(--serif); color:var(--copper); font-size:16px; margin-bottom:16px;
}
.why-card h3{font-size:17px; margin-bottom:8px; color:var(--bottle-dark);}
.why-card p{font-size:13.5px; line-height:1.6; color:#3a473e;}

/* documentation stamp strip */
.stamp-strip{ display:flex; flex-wrap:wrap; gap:14px; margin-top:44px; }
.stamp{
    font-family:var(--mono); font-size:12px; letter-spacing:0.05em; border:1px solid var(--bottle); color:var(--bottle-dark);
    padding:10px 16px; border-radius:2px; position:relative; transform:rotate(-0.6deg);
}
.stamp:nth-child(even){transform:rotate(0.5deg);}

/* global reach */
.reach{background:var(--bottle-dark); color:var(--paper);}
.reach .section-head p{color:rgba(241,237,225,0.75);}
.reach-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(241,237,225,0.15); border:1px solid rgba(241,237,225,0.15); margin-top:20px;}
@media (max-width:700px){ .reach-stats{grid-template-columns:repeat(2,1fr);} }
.reach-cell{background:var(--bottle-dark); padding:28px 24px;}
.reach-cell .num{font-family:var(--serif); font-size:34px; color:var(--gold);}
.reach-cell .label{font-family:var(--mono); font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:rgba(241,237,225,0.65); margin-top:6px;}

/* certifications */
.cert-row{display:flex; flex-wrap:wrap; gap:16px; margin-top:20px;}
.cert-chip{
    font-family:var(--mono); font-size:11.5px; letter-spacing:0.05em; border:1px solid var(--line);
    padding:10px 16px; border-radius:2px; color:#3a473e; background:var(--paper-dim);
}

/* certification detail cards */
.cert-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:10px;}
@media (max-width:900px){ .cert-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .cert-grid{grid-template-columns:1fr;} }
.cert-card{border:1px solid var(--line); background:var(--paper); padding:28px 24px; position:relative;}
.cert-card .cc-code{font-family:var(--mono); font-size:11px; letter-spacing:0.08em; color:var(--copper);}
.cert-card h3{font-size:19px; margin:12px 0 10px; color:var(--bottle-dark);}
.cert-card p{font-size:13.5px; line-height:1.6; color:#3a473e;}

/* info / feature grid (generic 4up) */
.info-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
@media (max-width:900px){ .info-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .info-grid{grid-template-columns:1fr;} }
.info-card{border:1px solid var(--line); background:var(--paper-dim); padding:28px 24px;}
.info-card .mark{width:38px;height:38px;border:1px solid var(--copper);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);color:var(--copper);font-size:16px;margin-bottom:16px;}
.info-card h3{font-size:17px;margin-bottom:8px;color:var(--bottle-dark);}
.info-card p{font-size:13.5px;line-height:1.6;color:#3a473e;}

/* process timeline */
.timeline{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:20px;}
@media (max-width:900px){ .timeline{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .timeline{grid-template-columns:1fr;} }
.tl-step{background:var(--paper); padding:26px 20px;}
.tl-step .n{font-family:var(--mono); font-size:11px; color:var(--copper); letter-spacing:0.08em;}
.tl-step h4{font-family:var(--serif); font-size:17px; margin:10px 0 8px; color:var(--bottle-dark);}
.tl-step p{font-size:13px; line-height:1.55; color:#3a473e;}

/* data table */
.table-wrap{overflow-x:auto; margin-top:20px; border:1px solid var(--line);}
.data-table{width:100%; border-collapse:collapse; font-size:14px; min-width:560px;}
.data-table th,.data-table td{text-align:left; padding:14px 18px; border-bottom:1px solid var(--line);}
.data-table th{font-family:var(--mono); font-size:11px; letter-spacing:0.07em; text-transform:uppercase; color:var(--paper); background:var(--bottle-dark); font-weight:500;}
.data-table tr:last-child td{border-bottom:none;}
.data-table tr:hover td{background:var(--paper-dim);}

/* faq accordion */
.faq{border-top:1px solid var(--line); margin-top:10px; max-width:820px;}
.faq details{border-bottom:1px solid var(--line); padding:22px 0;}
.faq summary{cursor:pointer; list-style:none; font-family:var(--serif); font-size:18px; color:var(--bottle-dark); display:flex; justify-content:space-between; align-items:center; gap:20px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+"; font-family:var(--mono); font-size:20px; color:var(--copper); flex:none;}
.faq details[open] summary::after{content:"\2013";}
.faq p{margin-top:12px; font-size:14.5px; line-height:1.65; color:#3a473e;}

/* comparison table */
.compare{display:grid; grid-template-columns:1.4fr 1fr 1fr; border:1px solid var(--line); margin-top:24px; max-width:760px;}
.compare > div{padding:16px 18px; border-bottom:1px solid var(--line); font-size:13.5px; display:flex; align-items:center;}
.compare .h{font-family:var(--mono); font-size:11px; letter-spacing:0.07em; text-transform:uppercase; color:var(--paper); background:var(--bottle-dark);}
.compare .yes{color:var(--bottle-dark); font-weight:600;}
.compare .no{color:#a3564a;}
@media (max-width:700px){ .compare{grid-template-columns:1.2fr 1fr 1fr; font-size:12px;} .compare > div{padding:12px;} }

/* contact form */
.contact-layout{display:grid; grid-template-columns:1fr 0.85fr; gap:60px; align-items:start;}
@media (max-width:900px){ .contact-layout{grid-template-columns:1fr;} }
.form-card{border:1px solid var(--line); background:var(--paper-dim); padding:36px;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
@media (max-width:560px){ .form-grid{grid-template-columns:1fr;} }
.field{display:flex; flex-direction:column; gap:8px;}
.field.full{grid-column:1/-1;}
.field label{font-family:var(--mono); font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--bottle-dark);}
.field input,.field select,.field textarea{
  font-family:var(--sans); font-size:14.5px; padding:13px 14px; border:1px solid var(--line); background:var(--paper); color:var(--ink); border-radius:2px; width:100%;
}
.field textarea{resize:vertical; min-height:120px;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none; border-color:var(--copper);}
.form-note{font-family:var(--mono); font-size:11.5px; color:#5a6459; margin-top:16px;}

.contact-card-grid{display:grid; grid-template-columns:1fr; gap:18px;}
.contact-card{border:1px solid var(--line); background:var(--paper); padding:24px 24px;}
.contact-card .mark{width:36px;height:36px;border:1px solid var(--copper);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);color:var(--copper);font-size:15px;margin-bottom:12px;}
.contact-card h3{font-size:15.5px; margin-bottom:6px; color:var(--bottle-dark); font-family:var(--mono); letter-spacing:0.04em; text-transform:uppercase; font-weight:500;}
.contact-card p{font-size:14.5px; line-height:1.6; color:#3a473e;}
.contact-card a{color:var(--bottle); border-bottom:1px solid var(--bottle);}

.map-box{border:1px solid var(--line); margin-top:20px; aspect-ratio:16/8; overflow:hidden;}
.map-box iframe{width:100%; height:100%; border:0; filter:grayscale(0.25) sepia(0.1);}

/* office hours ledger reuse .ledger already defined */

/* CTA */
.cta{ background:var(--copper); color:var(--paper); text-align:center; padding:90px 0; }
.cta h2{color:var(--paper); font-size:clamp(28px,4vw,44px);}
.cta p{margin:18px auto 34px; max-width:520px; font-size:16px; opacity:0.92;}
.cta .btn-outline{border-color:var(--paper); color:var(--paper);}
.cta .btn-outline:hover{background:var(--paper); color:var(--copper);}
.cta .btn-primary{background:var(--bottle-dark); border-color:var(--bottle-dark);}
.cta .btn-primary:hover{background:var(--ink); border-color:var(--ink);}
.cta .btn-row{justify-content:center;}

/* footer */
footer{background:var(--ink); color:rgba(241,237,225,0.7); padding:64px 0 30px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px;}
@media (max-width:800px){ .footer-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:500px){ .footer-grid{grid-template-columns:1fr;} }
footer h4{font-family:var(--mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); margin-bottom:16px;}
footer .flogo{font-family:var(--serif); font-size:22px; color:var(--paper); margin-bottom:14px;}
footer p{font-size:13.5px; line-height:1.7;}
footer ul{list-style:none;}
footer ul li{margin-bottom:10px; font-size:14px;}
footer ul li a:hover{color:var(--gold);}
.foot-bottom{
    margin-top:50px; padding-top:24px; border-top:1px solid rgba(241,237,225,0.12);
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
    font-size:12.5px; color:rgba(241,237,225,0.45); font-family:var(--mono);
}

::selection{background:var(--copper); color:var(--paper);}

/* photo frame - real images */
.photo-frame{border:1px solid var(--line); overflow:hidden; background:var(--bottle-dark);}
.photo-frame img{width:100%; height:100%; object-fit:cover; display:block;}
.photo-frame.square{aspect-ratio:1/1;}
.photo-frame.wide{aspect-ratio:16/10;}
.person-photo{width:120px; height:120px; border-radius:50%; overflow:hidden; border:3px solid var(--copper); flex:none;}
.person-photo img{width:100%; height:100%; object-fit:cover;}

/* team grid */
.team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:20px;}
@media (max-width:900px){ .team-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .team-grid{grid-template-columns:1fr;} }
.team-card{border:1px solid var(--line); background:var(--paper-dim); padding:24px 22px;}
.team-card .initial{width:44px; height:44px; border-radius:50%; background:var(--bottle-dark); color:var(--paper); font-family:var(--serif); display:flex; align-items:center; justify-content:center; font-size:18px; margin-bottom:14px;}
.team-card h3{font-size:15.5px; color:var(--bottle-dark); margin-bottom:4px;}
.team-card .role{font-family:var(--mono); font-size:11px; letter-spacing:0.04em; color:var(--copper); margin-bottom:10px; display:block;}
.team-card a{font-size:13px; color:var(--bottle); border-bottom:1px solid var(--bottle);}

/* vertical milestone timeline */
.milestones{border-left:2px solid var(--line); margin-top:30px; padding-left:32px; display:flex; flex-direction:column; gap:38px;}
.milestone{position:relative;}
.milestone::before{content:""; position:absolute; left:-38px; top:4px; width:12px; height:12px; border-radius:50%; background:var(--copper); border:2px solid var(--paper); box-shadow:0 0 0 2px var(--copper);}
.milestone .yr{font-family:var(--mono); font-size:12px; letter-spacing:0.08em; color:var(--copper);}
.milestone h4{font-family:var(--serif); font-size:19px; margin:6px 0 8px; color:var(--bottle-dark);}
.milestone p{font-size:14px; line-height:1.6; color:#3a473e; max-width:600px;}

/* award detail cards */
.award-detail-grid{display:grid; grid-template-columns:1fr; gap:22px; margin-top:10px;}
.award-detail{border:1px solid var(--line); background:var(--paper-dim); padding:28px; display:grid; grid-template-columns:90px 1fr; gap:22px; align-items:start;}
@media (max-width:600px){ .award-detail{grid-template-columns:1fr;} }
.award-yr-badge{width:72px; height:72px; border-radius:50%; border:2px solid var(--gold); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:16px; color:var(--bottle-dark); text-align:center;}
.award-detail h3{font-size:19px; color:var(--bottle-dark); margin-bottom:4px;}
.award-detail .presenter{font-family:var(--mono); font-size:11.5px; color:var(--copper); letter-spacing:0.04em; margin-bottom:10px; display:block;}
.award-detail p{font-size:14px; line-height:1.65; color:#3a473e;}

/* quote block */
.quote-block{border-left:3px solid var(--copper); padding-left:26px; margin-top:10px; max-width:760px;}
.quote-block p{font-family:var(--serif); font-size:20px; line-height:1.5; color:var(--bottle-dark); font-style:italic;}
.quote-block cite{display:block; margin-top:14px; font-family:var(--mono); font-size:12px; font-style:normal; color:#5a6459; letter-spacing:0.03em;}

/* testimonial cards */
.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:10px;}
@media (max-width:900px){ .testi-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .testi-grid{grid-template-columns:1fr;} }
.testi-card{border:1px solid var(--line); background:var(--paper); padding:26px 24px;}
.testi-card .stars{color:var(--gold); font-size:13px; letter-spacing:2px; margin-bottom:12px;}
.testi-card p{font-size:14px; line-height:1.65; color:#334035; margin-bottom:18px;}
.testi-card .who{display:flex; align-items:center; gap:12px;}
.testi-card .avatar{width:38px; height:38px; border-radius:50%; background:var(--bottle-dark); color:var(--paper); font-family:var(--serif); display:flex; align-items:center; justify-content:center; font-size:15px; flex:none;}
.testi-card .name{font-size:13.5px; font-weight:600; color:var(--bottle-dark);}
.testi-card .desig{font-size:12px; color:#5a6459;}

/* flag chips */
.flag-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:20px;}
.flag-chip{font-family:var(--mono); font-size:13px; border:1px solid var(--line); padding:9px 14px; border-radius:20px; background:var(--paper-dim); display:inline-flex; align-items:center; gap:8px;}

/* role / job cards */
.role-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:20px;}
@media (max-width:700px){ .role-grid{grid-template-columns:1fr;} }
.role-card{border:1px solid var(--line); background:var(--paper-dim); padding:24px 24px; display:flex; justify-content:space-between; align-items:flex-start; gap:16px; flex-wrap:wrap;}
.role-card .dept{font-family:var(--mono); font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--copper);}
.role-card h3{font-size:17px; margin:8px 0 8px; color:var(--bottle-dark);}
.role-card .meta{font-size:13px; color:#5a6459;}
.role-card .apply{font-family:var(--mono); font-size:12px; color:var(--bottle); border-bottom:1px solid var(--bottle); align-self:flex-end;}

/* video / media cards */
.media-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:20px;}
@media (max-width:900px){ .media-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .media-grid{grid-template-columns:1fr;} }
.media-card{border:1px solid var(--line); overflow:hidden; background:var(--bottle-dark); position:relative;}
.media-card .thumb{aspect-ratio:16/10; display:flex; align-items:center; justify-content:center; color:rgba(241,237,225,0.5); font-family:var(--mono); font-size:11px;}
.media-card .thumb::before{content:"▶"; font-size:26px; color:var(--paper); display:block; margin-bottom:8px; text-align:center;}
.media-card .cap{padding:16px 18px; background:var(--paper);}
.media-card .cap h4{font-size:14.5px; color:var(--bottle-dark); margin-bottom:4px;}
.media-card .cap p{font-size:12px; color:#5a6459;}

/* exhibitions gallery */
.gallery-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:20px;}
@media (max-width:800px){ .gallery-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .gallery-grid{grid-template-columns:1fr;} }
.gallery-item{border:1px solid var(--line); background:var(--paper-dim); overflow:hidden;}
.gallery-item .ph{aspect-ratio:4/3; overflow:hidden;}
.gallery-item .ph img{width:100%; height:100%; object-fit:cover; display:block;}
.gallery-item .cap{padding:12px 16px;}
.gallery-item .cap h4{font-size:13.5px; color:var(--bottle-dark); margin-bottom:2px;}
.gallery-item .cap p{font-family:var(--mono); font-size:11px; color:#5a6459;}

/* client logo strip */
.client-strip{display:flex; flex-wrap:wrap; align-items:center; gap:34px; margin-top:24px; opacity:0.85;}
.client-strip img{height:32px; width:auto; filter:grayscale(1); opacity:0.7;}

/* blog cards */
.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media (max-width:900px){ .blog-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .blog-grid{grid-template-columns:1fr;} }
.blog-card{background:var(--paper); display:flex; flex-direction:column;}
.blog-card .ph{aspect-ratio:16/10; overflow:hidden;}
.blog-card .ph img{width:100%; height:100%; object-fit:cover; display:block;}
.blog-card .bc-body{padding:24px; flex:1; display:flex; flex-direction:column;}
.blog-card .tag{font-family:var(--mono); font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--copper);}
.blog-card h3{font-size:17px; margin:10px 0 8px; color:var(--bottle-dark); line-height:1.3;}
.blog-card p{font-size:13px; line-height:1.6; color:#3a473e; flex:1;}
.blog-card .meta{font-family:var(--mono); font-size:11px; color:#5a6459; margin-top:14px;}
.blog-card .link{margin-top:12px; font-family:var(--mono); font-size:12px; color:var(--bottle); border-bottom:1px solid var(--bottle); align-self:flex-start;}

/* article body (blog post page) */
.article-body{max-width:760px; font-size:16px; line-height:1.8; color:#334035;}
.article-body p{margin-bottom:20px;}
.article-body h2{font-size:24px; color:var(--bottle-dark); margin:36px 0 14px;}
.article-body ul{margin:0 0 20px 22px;}
.article-body li{margin-bottom:8px; line-height:1.65;}
.article-meta{font-family:var(--mono); font-size:12px; color:#5a6459; letter-spacing:0.03em; margin-top:14px;}

/* counter row (generic 4up bold stats, reuse coa-cell style variant) */
.counter-row{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:24px;}
@media (max-width:700px){ .counter-row{grid-template-columns:repeat(2,1fr);} }
.counter-cell{background:var(--paper); padding:24px; text-align:center;}
.counter-cell .num{font-family:var(--serif); font-size:32px; color:var(--bottle-dark); font-weight:600;}
.counter-cell .label{font-family:var(--mono); font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:#5a6459; margin-top:6px;}

/* ============================================================
   MULTI-COLOR ACCENT SYSTEM — cycles copper / teal / maroon / gold
   across repeated cards so the site doesn't read single-tone.
   ============================================================ */
.info-grid .info-card:nth-of-type(4n+1) .mark{border-color:var(--copper); color:var(--copper);}
.info-grid .info-card:nth-of-type(4n+2) .mark{border-color:var(--teal); color:var(--teal);}
.info-grid .info-card:nth-of-type(4n+3) .mark{border-color:var(--maroon); color:var(--maroon);}
.info-grid .info-card:nth-of-type(4n+4) .mark{border-color:var(--gold); color:var(--gold);}
.info-grid .info-card:nth-of-type(4n+1){border-top:3px solid var(--copper);}
.info-grid .info-card:nth-of-type(4n+2){border-top:3px solid var(--teal);}
.info-grid .info-card:nth-of-type(4n+3){border-top:3px solid var(--maroon);}
.info-grid .info-card:nth-of-type(4n+4){border-top:3px solid var(--gold);}

.why-grid .why-card:nth-of-type(4n+1) .mark{border-color:var(--copper); color:var(--copper);}
.why-grid .why-card:nth-of-type(4n+2) .mark{border-color:var(--teal); color:var(--teal);}
.why-grid .why-card:nth-of-type(4n+3) .mark{border-color:var(--maroon); color:var(--maroon);}
.why-grid .why-card:nth-of-type(4n+4) .mark{border-color:var(--gold); color:var(--gold);}
.why-grid .why-card:nth-of-type(4n+1){border-top:3px solid var(--copper);}
.why-grid .why-card:nth-of-type(4n+2){border-top:3px solid var(--teal);}
.why-grid .why-card:nth-of-type(4n+3){border-top:3px solid var(--maroon);}
.why-grid .why-card:nth-of-type(4n+4){border-top:3px solid var(--gold);}

.contact-card-grid .contact-card:nth-of-type(4n+1) .mark{border-color:var(--copper); color:var(--copper);}
.contact-card-grid .contact-card:nth-of-type(4n+2) .mark{border-color:var(--teal); color:var(--teal);}
.contact-card-grid .contact-card:nth-of-type(4n+3) .mark{border-color:var(--maroon); color:var(--maroon);}
.contact-card-grid .contact-card:nth-of-type(4n+4) .mark{border-color:var(--gold); color:var(--gold);}

.team-grid .team-card:nth-of-type(4n+1) .initial{background:var(--copper);}
.team-grid .team-card:nth-of-type(4n+2) .initial{background:var(--teal);}
.team-grid .team-card:nth-of-type(4n+3) .initial{background:var(--maroon);}
.team-grid .team-card:nth-of-type(4n+4) .initial{background:var(--bottle-dark);}

.testi-grid .testi-card:nth-of-type(3n+1) .avatar{background:var(--copper);}
.testi-grid .testi-card:nth-of-type(3n+2) .avatar{background:var(--teal);}
.testi-grid .testi-card:nth-of-type(3n+3) .avatar{background:var(--maroon);}
.testi-grid .testi-card:nth-of-type(3n+1) .stars{color:var(--copper);}
.testi-grid .testi-card:nth-of-type(3n+2) .stars{color:var(--teal);}
.testi-grid .testi-card:nth-of-type(3n+3) .stars{color:var(--maroon);}

.cert-grid .cert-card:nth-of-type(3n+1) .cc-code{color:var(--copper);}
.cert-grid .cert-card:nth-of-type(3n+2) .cc-code{color:var(--teal);}
.cert-grid .cert-card:nth-of-type(3n+3) .cc-code{color:var(--maroon);}
.cert-grid .cert-card:nth-of-type(3n+1){border-left:3px solid var(--copper);}
.cert-grid .cert-card:nth-of-type(3n+2){border-left:3px solid var(--teal);}
.cert-grid .cert-card:nth-of-type(3n+3){border-left:3px solid var(--maroon);}

.product-grid .product-card:nth-of-type(3n+1) .idx{color:var(--copper);}
.product-grid .product-card:nth-of-type(3n+2) .idx{color:var(--teal);}
.product-grid .product-card:nth-of-type(3n+3) .idx{color:var(--maroon);}
.product-grid .product-card:nth-of-type(3n+1) .link{color:var(--copper); border-color:var(--copper);}
.product-grid .product-card:nth-of-type(3n+2) .link{color:var(--teal); border-color:var(--teal);}
.product-grid .product-card:nth-of-type(3n+3) .link{color:var(--maroon); border-color:var(--maroon);}

.timeline .tl-step:nth-of-type(5n+1) .n{color:var(--copper);}
.timeline .tl-step:nth-of-type(5n+2) .n{color:var(--teal);}
.timeline .tl-step:nth-of-type(5n+3) .n{color:var(--maroon);}
.timeline .tl-step:nth-of-type(5n+4) .n{color:var(--gold);}
.timeline .tl-step:nth-of-type(5n+5) .n{color:var(--bottle);}

.milestones .milestone:nth-of-type(5n+1)::before{background:var(--copper); box-shadow:0 0 0 2px var(--copper);}
.milestones .milestone:nth-of-type(5n+1) .yr{color:var(--copper);}
.milestones .milestone:nth-of-type(5n+2)::before{background:var(--teal); box-shadow:0 0 0 2px var(--teal);}
.milestones .milestone:nth-of-type(5n+2) .yr{color:var(--teal);}
.milestones .milestone:nth-of-type(5n+3)::before{background:var(--maroon); box-shadow:0 0 0 2px var(--maroon);}
.milestones .milestone:nth-of-type(5n+3) .yr{color:var(--maroon);}
.milestones .milestone:nth-of-type(5n+4)::before{background:var(--gold); box-shadow:0 0 0 2px var(--gold);}
.milestones .milestone:nth-of-type(5n+4) .yr{color:var(--gold);}
.milestones .milestone:nth-of-type(5n+5)::before{background:var(--bottle); box-shadow:0 0 0 2px var(--bottle);}
.milestones .milestone:nth-of-type(5n+5) .yr{color:var(--bottle);}

.role-grid .role-card:nth-of-type(4n+1) .dept{color:var(--copper);}
.role-grid .role-card:nth-of-type(4n+2) .dept{color:var(--teal);}
.role-grid .role-card:nth-of-type(4n+3) .dept{color:var(--maroon);}
.role-grid .role-card:nth-of-type(4n+4) .dept{color:var(--gold);}

.blog-grid .blog-card:nth-of-type(3n+1) .tag{color:var(--copper);}
.blog-grid .blog-card:nth-of-type(3n+2) .tag{color:var(--teal);}
.blog-grid .blog-card:nth-of-type(3n+3) .tag{color:var(--maroon);}

.counter-row .counter-cell:nth-of-type(4n+1) .num{color:var(--bottle-dark);}
.counter-row .counter-cell:nth-of-type(4n+2) .num{color:var(--copper);}
.counter-row .counter-cell:nth-of-type(4n+3) .num{color:var(--teal);}
.counter-row .counter-cell:nth-of-type(4n+4) .num{color:var(--maroon);}

.coa-strip .coa-cell:nth-of-type(4n+1) .num{color:var(--bottle-dark);}
.coa-strip .coa-cell:nth-of-type(4n+2) .num{color:var(--copper);}
.coa-strip .coa-cell:nth-of-type(4n+3) .num{color:var(--teal);}
.coa-strip .coa-cell:nth-of-type(4n+4) .num{color:var(--maroon);}

.reach-stats .reach-cell:nth-of-type(4n+1) .num{color:var(--gold);}
.reach-stats .reach-cell:nth-of-type(4n+2) .num{color:var(--teal-bright);}
.reach-stats .reach-cell:nth-of-type(4n+3) .num{color:var(--gold);}
.reach-stats .reach-cell:nth-of-type(4n+4) .num{color:var(--teal-bright);}

.cert-row .cert-chip:nth-of-type(5n+1), .flag-row .flag-chip:nth-of-type(5n+1), .tag-row .tag:nth-of-type(5n+1){border-color:var(--copper); color:var(--copper);}
.cert-row .cert-chip:nth-of-type(5n+2), .flag-row .flag-chip:nth-of-type(5n+2), .tag-row .tag:nth-of-type(5n+2){border-color:var(--teal); color:var(--teal);}
.cert-row .cert-chip:nth-of-type(5n+3), .flag-row .flag-chip:nth-of-type(5n+3), .tag-row .tag:nth-of-type(5n+3){border-color:var(--maroon); color:var(--maroon);}
.cert-row .cert-chip:nth-of-type(5n+4), .flag-row .flag-chip:nth-of-type(5n+4), .tag-row .tag:nth-of-type(5n+4){border-color:var(--gold); color:var(--gold);}
.cert-row .cert-chip:nth-of-type(5n+5), .flag-row .flag-chip:nth-of-type(5n+5), .tag-row .tag:nth-of-type(5n+5){border-color:var(--bottle); color:var(--bottle);}

.badge-row .badge:nth-of-type(4n+1){border-color:var(--gold); color:var(--gold);}
.badge-row .badge:nth-of-type(4n+2){border-color:var(--teal-bright); color:var(--teal-bright);}
.badge-row .badge:nth-of-type(4n+3){border-color:var(--copper-bright); color:var(--copper-bright);}
.badge-row .badge:nth-of-type(4n+4){border-color:var(--paper); color:var(--paper);}

.stamp-strip .stamp:nth-of-type(4n+1){border-color:var(--bottle); color:var(--bottle-dark);}
.stamp-strip .stamp:nth-of-type(4n+2){border-color:var(--teal); color:var(--teal);}
.stamp-strip .stamp:nth-of-type(4n+3){border-color:var(--maroon); color:var(--maroon);}
.stamp-strip .stamp:nth-of-type(4n+4){border-color:var(--copper); color:var(--copper);}

.gallery-grid .gallery-item:nth-of-type(3n+1){border-top:3px solid var(--copper);}
.gallery-grid .gallery-item:nth-of-type(3n+2){border-top:3px solid var(--teal);}
.gallery-grid .gallery-item:nth-of-type(3n+3){border-top:3px solid var(--maroon);}

.award-detail-grid .award-detail:nth-of-type(3n+1) .award-yr-badge{border-color:var(--copper); color:var(--copper);}
.award-detail-grid .award-detail:nth-of-type(3n+2) .award-yr-badge{border-color:var(--teal); color:var(--teal);}
.award-detail-grid .award-detail:nth-of-type(3n+3) .award-yr-badge{border-color:var(--maroon); color:var(--maroon);}

/* card hover — lift + shadow for a livelier feel */
.info-card, .why-card, .product-card, .cert-card, .testi-card, .role-card,
.team-card, .contact-card, .blog-card, .gallery-item, .award-detail, .media-card{
    transition:transform .22s cubic-bezier(.2,.8,.3,1), box-shadow .22s ease;
}
.info-card:hover, .why-card:hover, .cert-card:hover, .testi-card:hover,
.role-card:hover, .team-card:hover, .contact-card:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 26px rgba(28,43,34,0.12);
}
.product-card:hover{ box-shadow:inset 0 -3px 0 var(--copper); }
.blog-card:hover, .gallery-item:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 28px rgba(28,43,34,0.14);
}

/* colorful underline accent on section eyebrows */
.section-head h2{position:relative;}

/* alternate section background rhythm helper */
.tinted{background:linear-gradient(180deg, rgba(43,110,122,0.05), rgba(43,110,122,0));}

