/* ══ HA PREMIUMS BRAND SYSTEM 2026 ══ */
:root {
  --mint:#00E5A0;--mint-dk:#00C484;--mint-xdk:#00A06C;--mint-lt:#E0FFF5;--mint-pale:#F0FFFB;
  --magenta:#E8006E;--magenta-dk:#C0005A;--magenta-lt:#FFE0EF;--magenta-pale:#FFF5F9;
  --yellow:#FFD600;--yellow-lt:#FFFBE0;
  --ink:#0D0D0D;--charcoal:#1E1E1E;--slate:#4A4A4A;--stone:#888;--warm-gray:#CCC;
  --cream:#F7F5F0;--parchment:#FAFAF7;--white:#FFFFFF;
  /* legacy aliases */
  --navy:#0D0D0D;--navy-dk:#1E1E1E;--navy-lt:#2E2E2E;--navy-tint:#E0FFF5;
  --amber:#E8006E;--amber-dk:#C0005A;--amber-lt:#F0559A;--amber-pale:#FFE0EF;
  --forest:#00C484;--forest-dk:#00A06C;--forest-lt:#33D09C;--forest-tint:#CCFAEC;--forest-pale:#F0FFFB;
  --sky:#00E5A0;--sky-lt:#66F0C4;
  --font-d:'Syne',sans-serif;--font-b:'Space Grotesk',sans-serif;--font-s:'Caveat',cursive;
  --r-sm:3px;--r-md:6px;--r-lg:12px;--r-xl:18px;--container:1200px;--gutter:80px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-b);background:var(--parchment);color:var(--slate);overflow-x:hidden;}
img{display:block;max-width:100%;}a{text-decoration:none;}button{font-family:var(--font-b);cursor:pointer;border:none;}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);}
.sp{padding:100px 0;}.sp-lg{padding:130px 0;}
.ey{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--mint-dk);margin-bottom:20px;}
.ey::before{content:'✦';font-size:10px;}
.ey-w{color:rgba(255,255,255,.6)!important;}.ey-w::before{color:rgba(255,255,255,.4);}
.ey-f{color:var(--mint-dk)!important;}
.h2{font-family:var(--font-d);font-size:clamp(38px,4vw,58px);font-weight:800;line-height:.97;letter-spacing:-1.5px;color:var(--ink);margin-bottom:16px;}
.h2 em{font-family:var(--font-s);font-style:normal;font-weight:600;color:var(--magenta);font-size:.85em;}
.h2-w{color:var(--white);}.h2-w em{color:var(--mint);}
.h2-f em{color:var(--mint);}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-b);font-size:15px;font-weight:700;padding:14px 28px;border-radius:var(--r-sm);transition:all .22s ease;cursor:pointer;border:2px solid transparent;letter-spacing:.3px;}
.btn-a{background:var(--magenta);color:var(--white);border-color:var(--magenta);}
.btn-a:hover{background:var(--magenta-dk);border-color:var(--magenta-dk);transform:translateY(-2px);}
.btn-a-lg{background:var(--magenta);color:var(--white);border-color:var(--magenta);font-size:16px;padding:17px 34px;}
.btn-a-lg:hover{background:var(--magenta-dk);transform:translateY(-2px);}
.btn-n{background:var(--mint);color:var(--ink);border-color:var(--mint);}
.btn-n:hover{background:var(--mint-dk);border-color:var(--mint-dk);transform:translateY(-2px);}
.btn-f{background:var(--mint);color:var(--ink);border-color:var(--mint);}
.btn-f:hover{background:var(--mint-dk);transform:translateY(-2px);}
.btn-w{background:transparent;color:var(--white);border-color:rgba(255,255,255,.5);}
.btn-w:hover{background:rgba(255,255,255,.1);border-color:var(--white);transform:translateY(-2px);}
.ar{transition:transform .2s;}.btn:hover .ar{transform:translateX(4px);}
#nav{position:fixed;top:0;left:0;right:0;z-index:100;height:72px;display:flex;align-items:center;background:rgba(250,250,247,.97);backdrop-filter:blur(12px);border-bottom:3px solid var(--mint);transition:box-shadow .3s;}
#nav.sc{box-shadow:0 2px 24px rgba(0,0,0,.08);}
.nav-in{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);width:100%;display:flex;align-items:center;justify-content:space-between;}
.logo{display:block;}.nav-logo-img{height:38px;object-fit:contain;display:block;}
.logo-b,.logo-premiums,.logo-tagline-sm{display:none;}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none;}
.nav-links a{font-size:14px;font-weight:500;color:var(--slate);transition:color .2s;}
.nav-links a:hover{color:var(--ink);}
.nav-lang{font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--stone);padding:5px 11px;border:1.5px solid var(--warm-gray);border-radius:40px;transition:all .2s;}
.nav-lang:hover{border-color:var(--ink);color:var(--ink);}
.nav-lang.active{background:var(--ink);color:var(--white)!important;border-color:var(--ink);}
.nav-cta{background:var(--magenta)!important;color:var(--white)!important;padding:10px 22px;border-radius:var(--r-sm);font-size:13px;font-weight:700;transition:background .2s,transform .2s!important;}
.nav-cta:hover{background:var(--magenta-dk)!important;transform:translateY(-1px);}
.ph{background:var(--ink);padding:160px 0 100px;position:relative;overflow:hidden;}
.ph::before{content:'';position:absolute;right:-100px;top:-100px;width:400px;height:400px;border-radius:50%;background:var(--mint);opacity:.07;pointer-events:none;}
.ph::after{content:'';position:absolute;left:-80px;bottom:-80px;width:280px;height:280px;border-radius:50%;background:var(--magenta);opacity:.08;pointer-events:none;}
.ph-in{position:relative;z-index:1;}
.ph-h1{font-family:var(--font-d);font-size:clamp(52px,5.5vw,80px);font-weight:800;line-height:.95;letter-spacing:-2px;color:var(--white);margin-bottom:16px;}
.ph-h1 em{font-family:var(--font-s);font-style:normal;color:var(--mint);}
.ph-sub{font-size:18px;line-height:1.75;color:rgba(255,255,255,.6);max-width:580px;margin-bottom:40px;}
.pi{position:relative;overflow:hidden;border-radius:var(--r-lg);cursor:pointer;aspect-ratio:1;background:var(--mint-lt);}
.pi.wide{grid-column:span 2;aspect-ratio:2/1;}
.pi img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease;}
.pi:hover img{transform:scale(1.07);}
.pi-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,13,13,.9) 0%,rgba(13,13,13,.2) 50%,transparent 100%);opacity:0;transition:opacity .3s;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;}
.pi:hover .pi-ov{opacity:1;}
.pi-cl{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mint);margin-bottom:4px;}
.pi-nm{font-family:var(--font-d);font-size:17px;font-weight:700;color:var(--white);margin-bottom:3px;}
.pi-cat{font-size:11px;color:rgba(255,255,255,.5);}
.sr{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease;}
.sr.vis{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}.d4{transition-delay:.4s;}
.cta-blk{background:var(--magenta);padding:100px 0;position:relative;overflow:hidden;}
.cta-blk::before{content:'';position:absolute;right:-150px;top:-150px;width:500px;height:500px;border-radius:50%;background:rgba(255,255,255,.06);}
.cta-blk::after{content:'ha!';font-family:var(--font-d);font-weight:800;font-size:300px;color:rgba(255,255,255,.04);position:absolute;right:-20px;bottom:-60px;line-height:1;pointer-events:none;}
.cta-blk-in{display:grid;grid-template-columns:1fr auto;gap:80px;align-items:center;position:relative;z-index:1;}
.cta-blk-sub{font-size:17px;color:rgba(255,255,255,.75);margin-top:16px;line-height:1.75;max-width:520px;}
.ticker{background:var(--mint);padding:14px 0;overflow:hidden;}
.ticker-track{display:flex;animation:tickerMove 35s linear infinite;width:max-content;}
.ticker-item{display:flex;align-items:center;gap:32px;padding:0 40px;font-family:var(--font-d);font-size:14px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(0,0,0,.55);white-space:nowrap;}
.ticker-dot{width:6px;height:6px;border-radius:50%;background:var(--magenta);flex-shrink:0;}
@keyframes tickerMove{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.tag-amber{display:inline-block;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:4px 12px;border-radius:var(--r-sm);background:var(--magenta-pale);color:var(--magenta-dk);margin-bottom:10px;}
.tag-forest{display:inline-block;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:4px 12px;border-radius:var(--r-sm);background:var(--mint-lt);color:var(--mint-xdk);margin-bottom:10px;}
.tag-navy{display:inline-block;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:4px 12px;border-radius:var(--r-sm);background:var(--mint-lt);color:var(--mint-xdk);margin-bottom:10px;}
.tag-sharp{border-radius:0;}.tag-sharp-amber{background:var(--magenta);color:var(--white);}.tag-sharp-forest{background:var(--mint-dk);color:var(--white);}
.form-card{background:var(--white);border-radius:var(--r-xl);padding:44px;}
.form-t{font-family:var(--font-d);font-size:24px;font-weight:800;color:var(--ink);margin-bottom:6px;letter-spacing:-.5px;}
.form-s{font-size:14px;color:var(--stone);margin-bottom:28px;}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.fg{display:flex;flex-direction:column;gap:5px;}.fg.full{grid-column:1/-1;}
label{font-size:12px;font-weight:600;color:var(--charcoal);letter-spacing:.3px;}
input,textarea,select{font-family:var(--font-b);font-size:15px;color:var(--ink);padding:12px 14px;border:1.5px solid var(--warm-gray);border-radius:var(--r-md);background:var(--parchment);outline:none;transition:border-color .2s;width:100%;}
input:focus,textarea:focus,select:focus{border-color:var(--mint-dk);background:var(--white);}
input::placeholder,textarea::placeholder{color:var(--stone);}
textarea{resize:vertical;min-height:80px;}
.fsub{width:100%;margin-top:6px;background:var(--magenta);color:var(--white);padding:16px;border-radius:var(--r-sm);font-family:var(--font-b);font-size:15px;font-weight:700;border:none;cursor:pointer;transition:background .2s,transform .2s;}
.fsub:hover{background:var(--magenta-dk);transform:translateY(-1px);}
.fnote{text-align:center;font-size:12px;color:var(--stone);margin-top:12px;line-height:1.5;}
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin:32px 0 0;}
.tab{padding:9px 20px;font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;border:1.5px solid var(--warm-gray);background:transparent;color:var(--stone);cursor:pointer;border-radius:40px;transition:all .2s;font-family:var(--font-b);}
.tab.on,.tab:hover{background:var(--ink);border-color:var(--ink);color:var(--white);}
.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.art-card{background:var(--white);border-radius:var(--r-lg);overflow:hidden;border:1px solid rgba(0,0,0,.06);transition:transform .25s,box-shadow .25s;display:block;color:inherit;}
.art-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.08);}
.art-img{height:180px;overflow:hidden;background:var(--mint-lt);}
.art-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.art-card:hover .art-img img{transform:scale(1.06);}
.art-bp{padding:24px;}
.tag-amber-pill{display:inline-block;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:4px 12px;border-radius:40px;background:var(--magenta-pale);color:var(--magenta-dk);margin-bottom:10px;}
.tag-forest-pill,.tag-navy-pill{display:inline-block;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:4px 12px;border-radius:40px;background:var(--mint-lt);color:var(--mint-xdk);margin-bottom:10px;}
.art-t{font-family:var(--font-d);font-size:19px;font-weight:700;color:var(--ink);margin-bottom:8px;line-height:1.2;}
.art-i{font-size:13px;color:var(--slate);line-height:1.65;}
.art-lnk{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:13px;font-weight:700;color:var(--magenta);}
.art-body h3{font-family:var(--font-d);font-size:22px;font-weight:700;color:var(--ink);margin:28px 0 10px;}
.art-body p{font-size:16px;color:var(--slate);line-height:1.8;margin-bottom:16px;}
.art-body strong{color:var(--ink);}
footer{background:var(--ink);padding:0;}
.f-grid{display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr;gap:60px;margin-bottom:0;padding:60px var(--gutter) 64px;}
.f-logo{display:none;}
.f-logo-img{height:52px;object-fit:contain;filter:brightness(0) invert(1);opacity:.9;margin-bottom:14px;display:block;}
.f-tag{font-family:var(--font-s);font-size:18px;color:rgba(255,255,255,.45);margin-bottom:20px;line-height:1.5;}
.f-ci{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.45);margin-bottom:8px;}
.f-ci a{color:rgba(255,255,255,.45);transition:color .2s;}.f-ci a:hover{color:var(--mint);}
.f-ct{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:20px;}
.f-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.f-col ul a{font-size:14px;color:rgba(255,255,255,.45);transition:color .2s;}.f-col ul a:hover{color:var(--white);}
.f-bot{display:flex;justify-content:space-between;align-items:center;padding:20px var(--gutter);border-top:1px solid rgba(255,255,255,.06);}
.f-bot p{font-size:13px;color:rgba(255,255,255,.25);}
.f-bot-r{display:flex;gap:24px;}.f-bot-r a{font-size:13px;color:rgba(255,255,255,.25);transition:color .2s;}.f-bot-r a:hover{color:rgba(255,255,255,.6);}
.lb{display:none;position:fixed;inset:0;z-index:999;background:rgba(13,13,13,.96);align-items:center;justify-content:center;backdrop-filter:blur(8px);}
.lb.open{display:flex;}
.lb img{max-width:88vw;max-height:88vh;object-fit:contain;border-radius:var(--r-lg);}
.lb-x{position:fixed;top:24px;right:32px;font-size:28px;color:rgba(255,255,255,.5);background:none;border:none;cursor:pointer;transition:color .2s;line-height:1;}
.lb-x:hover{color:var(--mint);}
.cert-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;}
.cert-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);padding:16px 14px;text-align:center;transition:background .2s;}
.cert-card:hover{background:rgba(0,229,160,.12);border-color:rgba(0,229,160,.25);}
.cert-name{font-family:var(--font-d);font-size:14px;font-weight:800;color:var(--white);letter-spacing:1px;margin-bottom:4px;}
.cert-desc{font-size:9.5px;color:rgba(255,255,255,.38);line-height:1.4;}
/* System 03 cleanup */
.logo-b,.logo-premiums,.logo-tagline-sm{display:none!important;}
/* SYSTEM 03 leftover CSS block */
.seg-bar,.deco-dot,.tag-sharp-ink{display:none;}
@media(max-width:1100px){:root{--gutter:40px;}}
@media(max-width:768px){
  :root{--gutter:20px;}
  .nav-links{display:none;}
  .sp,.sp-lg{padding:72px 0;}
  .f-grid{grid-template-columns:1fr;padding:40px var(--gutter);}
  .f-bot{flex-direction:column;gap:16px;text-align:center;padding:16px var(--gutter);}
  .fr{grid-template-columns:1fr;}
  .cta-blk-in{grid-template-columns:1fr;gap:40px;}
  .art-grid{grid-template-columns:1fr;}
  .cert-grid{grid-template-columns:repeat(3,1fr);}
}

/* ══ YELLOW SYSTEM UPGRADE ══════════════════════════════════════════════ */
/* Yellow gets more presence: buttons, tags, accents, section highlights */
.btn-y { background:var(--yellow); color:var(--ink); border-color:var(--yellow); }
.btn-y:hover { background:#E6C000; border-color:#E6C000; transform:translateY(-2px); }
.tag-yellow { display:inline-block; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:4px 12px; border-radius:var(--r-sm); background:var(--yellow-lt); color:#7A6000; margin-bottom:10px; }
.ey-y { color:#7A6000 !important; }
.ey-y::before { color:var(--yellow); }
/* Yellow accent on section headers */
.sec-yellow { background:var(--yellow); }
/* Yellow highlight text */
.txt-yellow { color:var(--yellow); }
/* Segment bar — more yellow */
.seg-bar-3 { display:flex; height:5px; }
.seg-bar-3 .sm { flex:4; background:var(--mint); }
.seg-bar-3 .smg { flex:2; background:var(--magenta); }
.seg-bar-3 .sy  { flex:2; background:var(--yellow); }
/* stat number yellow variant */
.stat-y { color:var(--yellow) !important; }
/* Card top accent yellow */
.card-accent-y { background:var(--yellow); }
/* Why/feature card yellow border */
.border-y { border-color:var(--yellow) !important; }
/* ══ BRANDFLAG LOGO ══════════════════════════════════════════════════════ */
.brandflag-wrap {
  position: absolute;
  top: -8px;            /* 8px above nav bottom = overlaps into hero */
  left: var(--gutter);
  z-index: 200;
  pointer-events: auto;
}
.brandflag-img {
  height: 88px;         /* bigger than before */
  width: auto;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 4px 16px rgba(0,0,0,.18));
  transition: transform .2s;
}
.brandflag-wrap:hover .brandflag-img { transform: scale(1.03); }
/* Hide old nav logo in header — brandflag takes over */
#nav .logo { opacity: 0; pointer-events: none; width: 0; overflow: hidden; }
/* Hero needs top padding for brandflag overlap */
.hero-brandflag-space { padding-top: 100px; }
/* ══ END YELLOW + BRANDFLAG ══════════════════════════════════════════════ */


/* ══ BRANDFLAG — nav logo as flag overlapping hero ═══════════════════════ */
#nav {
  height: 80px;
  align-items: flex-end;      /* anchor to bottom of nav */
  padding-bottom: 0;
  overflow: visible;           /* allow logo to overflow downward */
}
.nav-in {
  align-items: flex-end;
  padding-bottom: 0;
}
/* The logo link itself becomes the brandflag */
.logo {
  display: block !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  width: auto !important;
  overflow: visible !important;
  margin-bottom: -22px;        /* overlap 22px below nav into hero */
  flex-shrink: 0;
  position: relative;
  z-index: 200;
}
.nav-logo-img {
  height: 80px !important;     /* large flag size */
  width: auto;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 4px 16px rgba(0,0,0,.15));
  transition: transform .2s, filter .2s;
}
.logo:hover .nav-logo-img {
  transform: scale(1.04);
  filter: drop-shadow(0 6px 20px rgba(0,0,0,.22));
}
/* Nav links stay vertically centered relative to nav bar */
.nav-links {
  align-items: center;
  padding-bottom: 10px;
}
/* Hero needs a bit of extra top padding to account for brandflag overlap */
section#home,
section[id]:first-of-type {
  padding-top: 90px !important;
}
/* ph hero sections */
.ph {
  padding-top: 180px;
}
/* Remove old brandflag-wrap rules that were never used */
.brandflag-wrap { display: none !important; }
/* ══ END BRANDFLAG ═══════════════════════════════════════════════════════ */

