/* TANUMA SITE-WIDE SIZE & NAV STANDARD
   Homepage is the visual baseline: exact shared nav, 690px hero,
   1200px content width, 110px section rhythm, Sora/Inter scale. */

/* ---------- GLOBAL NAV — IDENTICAL ON EVERY PAGE ---------- */
.nav{height:82px !important;min-height:82px !important;padding:0 !important;background:rgba(251,251,249,.98) !important;border-bottom:1px solid var(--line) !important}
.nav-inner{width:min(calc(100% - 80px),1624px) !important;max-width:1624px !important;height:82px !important;margin:0 auto !important;display:grid !important;grid-template-columns:1fr auto 1fr !important;align-items:center !important;gap:40px !important}
.logo{font-size:22px !important;justify-self:start !important;white-space:nowrap !important;line-height:1 !important}
.nav-links{display:flex !important;align-items:center !important;justify-content:center !important;gap:34px !important;white-space:nowrap !important}
.nav-links a{font-size:15px !important;padding:0 !important;line-height:1.2 !important;position:relative !important}
.nav-links a.active:after{bottom:-16px !important;height:1px !important}
.nav-inner>.btn{justify-self:end !important;width:auto !important;min-width:0 !important;height:48px !important;padding:0 24px !important;font-size:15px !important;line-height:1.2 !important;white-space:nowrap !important;border-radius:3px !important}

/* ---------- BASE CONTAINERS / TYPE ---------- */
.container{width:min(calc(100% - 80px),1200px) !important;max-width:1200px !important}
h1{font-size:clamp(48px,6vw,88px) !important}
h2{font-size:clamp(38px,4.4vw,64px) !important}
h3{font-size:24px !important}
p{font-size:17px !important}
.kicker{font-size:12px !important;margin-bottom:18px !important}
.btn{font-size:15px !important;padding:15px 24px !important}
.btn-primary,.btn-primary:hover,
.beyond-copy .btn[style],.form-box .btn[style],
.btn.btn-primary{background:var(--green) !important;color:#fff !important;border-color:var(--green) !important}
.btn-primary:hover,.btn.btn-primary:hover{background:var(--green-dark) !important;color:#fff !important}

/* ---------- HEROES: HOMEPAGE BASELINE ---------- */
body:not(:first-child){}
.about-hero,.products-hero,.offer-hero,.product-hero,.sourcing-hero,.ins-hero,.contact-hero,.library-hero,.article-hero{
  min-height:690px !important;height:690px !important
}
.about-hero h1,.products-hero h1,.offer-hero h1,.product-hero h1,.sourcing-hero h1,.ins-hero h1,.contact-hero h1,.library-hero h1,.article-hero h1{
  font-size:clamp(48px,6vw,88px) !important;line-height:1.02 !important;letter-spacing:-.045em !important
}
.about-hero .container,.products-hero .container,.offer-hero .container,.product-hero .container,.sourcing-hero .container,.ins-hero .container,.contact-hero .container,.library-hero .container,.article-hero .container{
  width:min(calc(100% - 80px),1200px) !important;max-width:1200px !important
}

/* ---------- SECTION RHYTHM ---------- */
.section,.who,.direction,.about-cta,.product-category,.ingredients,.products-cta,
.offer-two,.offer-learn,.sourcing-process,.contact-main,.promise,.ins-section,
.digital-strip,.article-main,body.library-page>main>section:not(.library-hero),body.library-page>section:not(.library-hero){
  padding-top:110px !important;padding-bottom:110px !important
}

/* ---------- HOMEPAGE-SCALE SPLITS / FEATURE AREAS ---------- */
.split,.direction,.sourcing-beyond,.offer-two{min-height:650px !important}
.split-img,.beyond-image{min-height:650px !important}
.split-copy,.beyond-copy{padding:80px !important}

/* ---------- SOURCING ---------- */
.sourcing-hero{align-items:flex-end !important}
.sourcing-hero .container{padding-bottom:90px !important}
.sourcing-hero .eyebrow{font-size:12px !important;margin-bottom:22px !important}
.sourcing-hero p{font-size:19px !important;line-height:1.65 !important;max-width:670px !important;margin:25px 0 32px !important}
.sourcing-hero .btn{font-size:15px !important;padding:15px 24px !important}
.process-intro{max-width:820px !important;margin-bottom:50px !important}
.process-intro .kicker{font-size:12px !important;margin-bottom:18px !important}
.process-intro h2{font-size:clamp(38px,4.4vw,64px) !important}
.process-grid{gap:35px !important}
.process-step{min-height:190px !important}
.process-step h3{font-size:24px !important;margin:18px 0 10px !important}
.process-step p{font-size:17px !important;line-height:1.65 !important;max-width:260px !important}
.beyond-copy h2{font-size:clamp(38px,4.4vw,64px) !important}
.beyond-copy p{font-size:17px !important;line-height:1.65 !important}
.beyond-copy .btn{font-size:15px !important;padding:15px 24px !important;background:var(--green) !important;color:#fff !important;border-color:var(--green) !important}

/* ---------- INSIGHTS ---------- */
.ins-wrap{width:min(calc(100% - 80px),1200px) !important;max-width:1200px !important}
.ins-hero{height:690px !important;min-height:690px !important}
.ins-hero .ins-wrap{padding-top:0 !important}
.ins-hero .eyebrow{font-size:12px !important;margin-bottom:22px !important}
.ins-hero h1{font-size:clamp(48px,6vw,88px) !important;max-width:820px !important;margin:0 0 25px !important}
.ins-hero p{font-size:19px !important;line-height:1.65 !important;max-width:670px !important}
.ins-head{margin-bottom:48px !important;gap:40px !important}
.ins-kicker{font-size:12px !important;margin-bottom:18px !important}
.ins-head h2{font-size:clamp(38px,4.4vw,64px) !important;line-height:1.08 !important}
.ins-view,.ins-read{font-size:15px !important}
.ins-grid3{gap:22px !important}
.ins-card .ins-pic,.market .ins-pic,.news-featured .ins-card .ins-pic{height:300px !important}
.ins-body{padding:28px !important}
.ins-tag{font-size:11px !important;padding:6px 10px !important}
.ins-body h3,.news-featured .ins-body h3{font-size:24px !important;line-height:1.08 !important;margin:18px 0 10px !important}
.ins-body p{font-size:15px !important;line-height:1.55 !important;margin:10px 0 20px !important}
.news-featured .ins-grid3{gap:22px !important}
.news-grid{gap:35px !important}
.news-item h4{font-size:24px !important;line-height:1.08 !important}
.news-item p{font-size:15px !important}
.news-thumb{height:180px !important}
.digital-strip{padding-top:80px !important;padding-bottom:80px !important}
.digital-copy h2{font-size:clamp(38px,4.4vw,64px) !important}
.digital-copy p{font-size:15px !important}
.digital-card{width:560px !important}
.digital-card .ins-pic{height:180px !important}
.digital-card h3{font-size:24px !important}
.digital-card p{font-size:15px !important}
.digital-card .btn{font-size:15px !important;padding:15px 24px !important}

/* ---------- CONTACT ---------- */
.contact-inner,.contact-grid{width:min(calc(100% - 80px),1200px) !important;max-width:1200px !important}
.contact-hero{height:690px !important;min-height:690px !important}
.contact-inner{padding-top:0 !important}
.contact-inner .eyebrow{font-size:12px !important;margin-bottom:22px !important}
.contact-inner h1{font-size:clamp(48px,6vw,88px) !important;line-height:1.02 !important;max-width:820px !important;margin:0 0 25px !important}
.contact-inner p{font-size:19px !important;line-height:1.65 !important;max-width:670px !important}
.contact-grid{grid-template-columns:2fr 1fr !important;gap:40px !important}
.form-box{padding:50px !important}
.form-box h2{font-size:clamp(38px,4.4vw,64px) !important}
.form-box>p,.field input,.field textarea{font-size:15px !important}
.field label{font-size:14px !important}
.field input,.field textarea{padding:16px !important}
.form-box .btn{font-size:15px !important;padding:15px 24px !important;background:var(--green) !important;color:#fff !important}
.reach strong{font-size:17px !important}.reach span{font-size:15px !important}
.meet img{height:300px !important}.meet h3{font-size:24px !important}.meet p{font-size:15px !important}
.promise-grid{width:min(calc(100% - 80px),1200px) !important;max-width:1200px !important;min-height:180px !important}
.promise-intro{min-height:180px !important;background-size:360px auto !important;padding-left:375px !important}
.promise-intro strong{font-size:24px !important}
.promise-item{min-height:120px !important;padding:20px 30px !important}.promise-item strong{font-size:15px !important}.promise-item span{font-size:14px !important}

/* ---------- FOOTER ---------- */
footer{padding:55px 0 !important}
.footer-inner{width:min(calc(100% - 80px),1200px) !important;max-width:1200px !important;margin:auto !important}
.footer-inner p,.footer-links{font-size:14px !important}

/* Green buttons anywhere in the site always use white text */
[class*="btn"][style*="background"], [class*="button"][style*="background"]{color:#fff !important}

@media(max-width:900px){
 .nav{height:auto !important;min-height:0 !important;padding:18px 0 !important}
 .nav-inner{width:min(calc(100% - 36px),1624px) !important;height:auto !important;display:flex !important;flex-wrap:wrap !important;gap:18px !important}
 .logo{font-size:22px !important}.nav-links{order:3;width:100%;justify-content:flex-start !important;gap:22px !important;overflow:auto}.nav-links a{font-size:15px !important;padding:5px 0 !important}.nav-links a.active:after{bottom:-4px !important}.nav-inner>.btn{display:none !important}
 .container,.sourcing-hero .container,.sourcing-process .container,.contact-inner,.contact-grid,.promise-grid{width:min(calc(100% - 36px),1200px) !important}
 .about-hero,.products-hero,.offer-hero,.product-hero,.sourcing-hero,.ins-hero,.contact-hero,.library-hero,.article-hero{height:650px !important;min-height:650px !important}
 .section,.who,.direction,.about-cta,.product-category,.ingredients,.products-cta,.offer-two,.offer-learn,.sourcing-process,.contact-main,.promise,.ins-section,.article-main{padding-top:80px !important;padding-bottom:80px !important}
 .split,.direction,.sourcing-beyond,.offer-two{min-height:0 !important}.split-img,.beyond-image{min-height:450px !important}.split-copy,.beyond-copy{padding:60px 30px !important}
 .ins-card .ins-pic,.market .ins-pic,.news-featured .ins-card .ins-pic{height:260px !important}.news-thumb{height:180px !important}.news-grid{grid-template-columns:1fr !important}
 .contact-grid{grid-template-columns:1fr !important}.promise-grid{grid-template-columns:1fr !important}.promise-intro{padding-left:0 !important;padding-top:90px !important;min-height:170px !important}.promise-item{border-left:0 !important;border-top:1px solid var(--line);margin-top:15px}
 .digital-row{display:block !important}.digital-card{width:100% !important;margin-top:25px}
}
@media(max-width:600px){
 .nav-links{display:none !important}
 .about-hero,.products-hero,.offer-hero,.product-hero,.sourcing-hero,.ins-hero,.contact-hero,.library-hero,.article-hero{height:600px !important;min-height:600px !important}
 h1,.about-hero h1,.products-hero h1,.offer-hero h1,.product-hero h1,.sourcing-hero h1,.ins-hero h1,.contact-inner h1,.library-hero h1,.article-hero h1{font-size:48px !important}
 .section,.who,.direction,.about-cta,.product-category,.ingredients,.products-cta,.offer-two,.offer-learn,.sourcing-process,.contact-main,.promise,.ins-section,.article-main{padding-top:70px !important;padding-bottom:70px !important}
 .form-box{padding:30px 22px !important}.form-grid{grid-template-columns:1fr !important}.field.full{grid-column:auto !important}.promise-intro{background-size:210px !important;padding-top:95px !important}.promise-intro strong{font-size:19px !important}
}

/* ---------- FINAL BUTTON LEGIBILITY ---------- */
.btn-primary,.btn-primary:visited,.btn-primary:hover,.btn-primary:focus,.btn-primary:active{color:#fff !important}
button.btn-primary{color:#fff !important}
.library-filter.active,.library-filter:hover{color:#fff !important}

/* FINAL HOMEPAGE NAV BASELINE — identical on every desktop page */
.nav{height:82px !important;min-height:82px !important;padding:0 !important;}
.nav-inner{width:min(calc(100% - 80px),1200px) !important;max-width:1200px !important;height:82px !important;display:grid !important;grid-template-columns:1fr auto 1fr !important;align-items:center !important;gap:30px !important;}
.logo{font-size:22px !important;line-height:1 !important;}
.nav-links{gap:34px !important;align-items:center !important;}
.nav-links a{font-size:15px !important;padding:29px 0 !important;line-height:1.2 !important;}
.nav-links a.active:after{bottom:20px !important;}
.nav-inner>.btn{width:auto !important;min-width:0 !important;height:48px !important;padding:0 24px !important;font-size:15px !important;line-height:1.2 !important;justify-self:end !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;}
.nav-inner>.btn.btn-primary{background:var(--green) !important;color:#fff !important;border-color:var(--green) !important;}

/* FINAL NAV VERTICAL CENTERING — move shared nav content slightly down */
@media(min-width:901px){
  .nav-inner > .logo,
  .nav-inner > .nav-links,
  .nav-inner > .btn{transform:translateY(3px) !important;}
}

/* DIGITAL PRODUCTS FINAL — prevent inherited Insights card width from causing horizontal scrolling */
.digital-page{width:100%;max-width:100%;overflow-x:hidden!important}
.digital-page .digital-grid{width:100%;max-width:100%;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.digital-page .digital-card{width:auto!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
.digital-page .digital-card h2,.digital-page .digital-card p{overflow-wrap:anywhere}

/* NAV FINAL — centered vertically, compact enough for 100% desktop view */
@media(min-width:901px){
  .nav-inner > .logo,
  .nav-inner > .nav-links,
  .nav-inner > .btn{transform:none!important}
}
@media(min-width:901px) and (max-width:1250px){
  .nav-inner{width:calc(100% - 40px)!important;gap:20px!important}
  .nav-links{gap:20px!important}
  .nav-links a{font-size:14px!important}
  .nav-inner>.btn{padding:0 18px!important;font-size:14px!important}
}
@media(max-width:1000px){
  .digital-page .digital-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .digital-page .digital-grid{grid-template-columns:1fr!important}
}

/* TANUMA unified contact footer */
.tanuma-footer{padding:55px 0 !important;border-top:1px solid var(--line)}
.tanuma-footer-grid{display:grid;grid-template-columns:1.05fr 2fr auto;gap:55px;align-items:start}
.tanuma-footer-brand .logo{font-size:22px}
.tanuma-footer-brand p{margin:9px 0 0;font-size:14px;color:var(--muted)}
.tanuma-footer-contact{display:grid;grid-template-columns:1.25fr 1.25fr 1fr;gap:30px}
.tanuma-footer-block{display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.5}
.tanuma-footer-block strong{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--green);margin-bottom:2px}
.tanuma-footer-block a,.tanuma-footer-block span{color:var(--muted);text-decoration:none}
.tanuma-footer-block a:hover{color:var(--green)}
.tanuma-footer-social div{display:flex;flex-direction:column;gap:8px}
.tanuma-footer-links{display:flex;flex-direction:column;gap:9px;font-size:14px}
.tanuma-footer-links a{color:var(--muted);text-decoration:none}
.tanuma-footer-links a:hover{color:var(--green)}
@media(max-width:900px){.tanuma-footer-grid{grid-template-columns:1fr 1fr;gap:35px}.tanuma-footer-contact{grid-column:1/-1;grid-template-columns:1fr 1fr 1fr}.tanuma-footer-links{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:18px}}
@media(max-width:600px){.tanuma-footer-grid{grid-template-columns:1fr}.tanuma-footer-contact{grid-column:auto;grid-template-columns:1fr}.tanuma-footer-links{grid-column:auto;flex-direction:row;flex-wrap:wrap}}
