@font-face{
  font-family:"Anonymous Pro";
  src:url("../assets/fonts/AnonymousPro-Bold.ttf") format("truetype");
  font-weight:700;
  font-display:swap;
}
@font-face{
  font-family:Inter;
  src:url("../assets/fonts/Inter-VariableFont_opsz,wght.ttf") format("truetype");
  font-weight:100 900;
  font-display:swap;
}

:root{
  --happy-sand:#f4f2ef;
  --happy-kelp:#a19c85;
  --happy-navy:#0b253a;
  --happy-navy-deep:#071b2b;
  --happy-seashell:#e1d6cc;
  --happy-white:#fffdfa;
  --happy-text:#0b253a;
  --happy-muted:rgba(11,37,58,.66);
  --happy-muted-light:rgba(244,242,239,.72);
  --happy-border:rgba(11,37,58,.14);
  --happy-border-light:rgba(244,242,239,.2);
  --happy-shadow:0 24px 70px rgba(11,37,58,.13);
  --happy-radius:8px;
  --font-display:"Anonymous Pro",monospace;
  --font-body:Inter,Arial,sans-serif;
  --shell:min(1440px,calc(100% - 56px));
  --radius-xl:8px;
  --radius-lg:8px;
  --radius-md:6px;
  color-scheme:light;
}

*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--happy-sand);
  color:var(--happy-text);
  font-family:var(--font-body);
  font-weight:400;
  letter-spacing:0;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(rgba(244,242,239,.88),rgba(244,242,239,.9)),
    url("../assets/happy/textures/Happy_Texture_1.png") center/cover;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
p{color:var(--happy-muted);font-size:clamp(15px,1.14vw,18px);line-height:1.72}
h1,h2,h3{
  margin-top:0;
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:0;
  text-transform:uppercase;
  color:var(--happy-text);
}
h1{font-size:clamp(48px,6.4vw,104px);line-height:.98}
h2{font-size:clamp(36px,4.7vw,76px);line-height:1.02}
h3{font-size:clamp(22px,2.25vw,34px);line-height:1.08}
.page-shell,.wrap{width:var(--shell);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{
  position:fixed;
  left:20px;
  top:-100px;
  z-index:1000;
  background:var(--happy-navy);
  color:var(--happy-sand);
  padding:12px 16px;
  border-radius:999px;
}
.skip-link:focus{top:18px}
.eyebrow,
.product-meta,
.product-copy>small,
.variant-label,
.collection-card small,
.article-link,
.featured-copy>a,
.breadcrumb,
.site-footer h2{
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.eyebrow{
  display:block;
  margin-bottom:18px;
  color:var(--happy-kelp);
  font-size:13px;
}

.button,
.button-outline,
.filter-row button,
.variant,
.cart-remove{
  border-radius:999px;
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.button{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 24px;
  border:1px solid var(--happy-navy);
  background:var(--happy-navy);
  color:var(--happy-sand);
  box-shadow:none;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.button:hover{background:var(--happy-kelp);border-color:var(--happy-kelp);color:var(--happy-navy);transform:translateY(-1px)}
.button:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{outline:2px solid var(--happy-kelp);outline-offset:3px}
.button.primary,.button.dark,.form-panel button,.add-product{background:var(--happy-navy);border-color:var(--happy-navy);color:var(--happy-sand)}
.button.secondary,.button-outline,.button.ghost{
  background:transparent;
  border-color:rgba(11,37,58,.32);
  color:var(--happy-navy);
}
.button.secondary:hover,.button-outline:hover,.button.ghost:hover{background:var(--happy-navy);color:var(--happy-sand);border-color:var(--happy-navy)}
.button-row{display:flex;gap:12px;flex-wrap:wrap}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  padding:12px 0;
  background:rgba(244,242,239,.88);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(11,37,58,.08);
}
.header-shell{
  width:var(--shell);
  height:66px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:24px;
  padding:0 22px;
  background:rgba(255,253,250,.76);
  border:1px solid rgba(11,37,58,.18);
  border-radius:var(--happy-radius);
}
.brand img{width:132px;height:auto}
.desktop-nav,.utility-nav{display:flex;align-items:center;gap:clamp(18px,2vw,34px)}
.desktop-nav a,.utility-nav a{
  font-family:var(--font-display);
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(11,37,58,.72);
  transition:color .2s;
}
.desktop-nav a:hover,.utility-nav a:hover,
.home-page .desktop-nav a[href$="index.html"],
.catalog-page .desktop-nav a[href$="catalog.html"],
.product-page .desktop-nav a[href$="catalog.html"],
.manifesto-page .desktop-nav a[href$="manifesto.html"],
.journal-page .desktop-nav a[href$="journal.html"],
.contact-page .utility-nav a[href$="contact.html"],
.account-page .utility-nav a[href$="account.html"],
.cart-page .utility-nav a[href$="cart.html"]{color:var(--happy-navy)}
.utility-nav{justify-self:end}
.utility-nav span{
  display:inline-grid;
  place-items:center;
  min-width:19px;
  height:19px;
  border-radius:50%;
  background:var(--happy-kelp);
  color:var(--happy-navy);
  font-size:10px;
  margin-left:4px;
}
.menu-toggle,.mobile-menu{display:none}

.home-page main{background:transparent}
.home-page .campaign-feature{
  display:grid!important;
  grid-template-columns:minmax(0,.84fr) minmax(0,1.05fr)!important;
  gap:0!important;
  height:clamp(500px,40vw,620px)!important;
  margin-top:28px;
  background:var(--happy-kelp)!important;
  border:1px solid rgba(11,37,58,.16)!important;
  border-radius:var(--happy-radius)!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
.home-page .campaign-copy{
  background:transparent!important;
  color:var(--happy-navy);
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:clamp(44px,5vw,82px)!important;
}
.home-page .campaign-copy>span{color:var(--happy-navy)}
.home-page .campaign-feature h2{color:var(--happy-navy);font-size:clamp(44px,5.4vw,82px)}
.home-page .campaign-feature p{color:rgba(11,37,58,.76);max-width:440px}
.home-page .campaign-copy .button.primary{background:var(--happy-navy)!important;color:var(--happy-sand)!important;border-color:var(--happy-navy)!important;width:max-content!important}
.home-page .campaign-placeholder{
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:var(--happy-sand)!important;
}
.home-page .campaign-placeholder img,
.hero-product-card img,
.product-image img,
.detail-image>img,
.featured-image img,
.journal-card-image img,
.mini-product-card>img,
.strip-product-card img,
.embedded-product-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

.home-page .home-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.84fr)!important;
  gap:0!important;
  min-height:640px!important;
  padding:0!important;
  margin-top:34px;
  background:var(--happy-navy)!important;
  border-radius:var(--happy-radius);
  overflow:hidden!important;
  border:1px solid rgba(11,37,58,.18);
}
.home-page .hero-content{
  grid-column:1!important;
  grid-row:1!important;
  min-height:640px!important;
  padding:clamp(52px,6vw,98px)!important;
  background:var(--happy-navy)!important;
  border:0!important;
  border-radius:0!important;
  color:var(--happy-sand);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.home-page .hero-content::after{display:none}
.home-page .hero-content h1,
.home-page .hero-content .hero-line{color:var(--happy-sand);white-space:normal!important}
.home-page .hero-content h1{margin:26px 0 24px;max-width:820px}
.home-page .hero-content>p{color:var(--happy-muted-light);max-width:630px}
.home-page .hero-product-card{
  grid-column:2!important;
  grid-row:1!important;
  min-height:640px!important;
  height:100%!important;
  border-radius:0!important;
  background:var(--happy-navy-deep)!important;
  box-shadow:none!important;
  border-left:1px solid var(--happy-border-light);
  position:relative;
}
.home-page .hero-product-card::after,
.detail-image::after,
.product-image::after,
.featured-image::after{
  content:"";
  position:absolute;
  inset:16px;
  border:1px solid rgba(244,242,239,.24);
  pointer-events:none;
}
.home-page .hero-product-card img{filter:saturate(.9) contrast(1.08)}

.top-sellers,.statement-section,.collections,.community-cta,.catalog-cta{padding-block:clamp(68px,8vw,118px)!important}
.section-heading{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  align-items:end;
  gap:clamp(32px,5vw,78px);
  margin-bottom:40px;
}
.section-heading .eyebrow{grid-column:1/-1;margin-bottom:0}
.section-heading>p{max-width:560px}
.top-seller-grid,.product-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.mini-product-card,.strip-product-card,.embedded-product-card,.product-card,.journal-card,.contact-details,.form-panel,.auth-panel,.dashboard-stats article,.empty-state,.cart-items,.cart-summary,.pending-panel,.protocol-cards article,.review-notice{
  background:rgba(255,253,250,.78)!important;
  border:1px solid var(--happy-border)!important;
  border-radius:var(--happy-radius)!important;
  box-shadow:none!important;
  color:var(--happy-text);
  overflow:hidden;
}
.mini-product-card{
  display:grid!important;
  grid-template-rows:260px 1fr;
  min-height:560px;
}
.mini-product-card>img,.strip-product-card img,.embedded-product-card img{
  background:var(--happy-seashell);
  min-height:260px;
}
.mini-product-card>div,.strip-product-card>div,.embedded-product-card>div,.product-copy{padding:26px;display:flex;flex-direction:column}
.mini-product-card span,.strip-product-card span,.embedded-product-card span,.product-meta,.detail-copy .identity{color:var(--happy-kelp)}
.mini-product-card strong,.strip-product-card strong,.embedded-product-card strong{margin-top:auto;color:var(--happy-navy)}
.full-catalog-link{margin-top:28px}

.statement-card.texture-white{
  min-height:520px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:clamp(34px,6vw,90px);
  align-items:end;
  background:
    linear-gradient(90deg,rgba(244,242,239,.9),rgba(244,242,239,.7)),
    url("../assets/happy/textures/Happy_Texture_2.png") center/cover!important;
  border:1px solid var(--happy-border)!important;
  border-radius:var(--happy-radius)!important;
  padding:clamp(46px,7vw,96px)!important;
  box-shadow:none!important;
}
.statement-card .eyebrow{grid-column:1/-1}
.statement-card h2{margin:0}
.statement-card p{max-width:520px;color:var(--happy-muted)}

.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border:0}
.collection-card{
  min-height:440px;
  padding:30px;
  border:1px solid var(--happy-border);
  border-radius:var(--happy-radius);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:transform .2s ease,background .2s ease;
}
.collection-card:nth-child(1),.collection-card.teal{background:var(--happy-kelp);color:var(--happy-navy)}
.collection-card:nth-child(2),.collection-card.sand{background:var(--happy-seashell);color:var(--happy-navy)}
.collection-card:nth-child(3),.collection-card.brown{background:var(--happy-navy);color:var(--happy-sand)}
.collection-card:hover{transform:translateY(-4px);box-shadow:none}
.collection-card h3,.collection-card p{color:inherit}
.collection-number,.collection-icon{font-family:var(--font-display);font-size:clamp(62px,8vw,112px);line-height:.85;color:inherit;opacity:.78}
.collection-icon img{width:64px;height:64px;object-fit:contain}

.community-cta>div{
  min-height:420px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:clamp(46px,7vw,92px)!important;
  background:
    linear-gradient(90deg,rgba(11,37,58,.88),rgba(11,37,58,.58)),
    url("../assets/happy/textures/Happy_Texture_2.png") center/cover!important;
  border-radius:var(--happy-radius)!important;
  color:var(--happy-sand);
}
.community-cta h2,.community-cta p{color:var(--happy-sand)}
.community-cta p{max-width:520px;color:var(--happy-muted-light)}
.community-cta .button.secondary{color:var(--happy-sand);border-color:rgba(244,242,239,.48)}
.community-cta .button.secondary:hover{background:var(--happy-sand);color:var(--happy-navy)}
.catalog-cta-card.texture-white,.catalog-cta-card.texture-teal{
  min-height:420px;
  padding:clamp(48px,7vw,96px)!important;
  background:var(--happy-kelp)!important;
  border-radius:var(--happy-radius)!important;
  border:1px solid rgba(11,37,58,.12)!important;
  box-shadow:none!important;
}
.catalog-cta-card h2{max-width:900px}
.catalog-cta-card p{max-width:620px;color:rgba(11,37,58,.76)}

.catalog-hero,.journal-hero,.manifesto-hero,.page-hero{
  min-height:420px;
  padding-block:clamp(70px,9vw,130px)!important;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:clamp(32px,6vw,82px);
  align-items:end;
}
.catalog-hero>p,.journal-hero>p,.hero-copy{max-width:620px;color:var(--happy-muted)}
.filter-shell{
  position:sticky;
  top:91px;
  z-index:40;
  padding:12px 0;
  background:rgba(244,242,239,.9);
  backdrop-filter:blur(16px);
  border-block:1px solid rgba(11,37,58,.08);
}
.filter-row{display:flex;gap:8px;overflow:auto;scrollbar-width:none}
.filter-row::-webkit-scrollbar{display:none}
.filter-row button{
  border:1px solid var(--happy-border);
  background:var(--happy-white);
  color:var(--happy-muted);
  padding:11px 18px;
  white-space:nowrap;
}
.filter-row button.is-active{background:var(--happy-navy);border-color:var(--happy-navy);color:var(--happy-sand)}
.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding-block:34px 92px}
.product-card{transition:transform .2s ease}
.product-card:hover{transform:translateY(-3px)}
.product-image{
  height:360px;
  position:relative;
  background:var(--happy-seashell)!important;
}
.product-image>span,.detail-image>div span{
  position:absolute;
  z-index:2;
  top:18px;
  left:18px;
  background:rgba(244,242,239,.86);
  border:1px solid var(--happy-border);
  border-radius:999px;
  padding:7px 10px;
  font-family:var(--font-display);
  font-size:11px;
  color:var(--happy-navy);
}
.product-copy h2{font-size:34px;margin:18px 0 12px}
.product-copy>p{font-size:15px}
.strengths{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:16px}
.strengths span{
  padding:6px 9px;
  border:1px solid var(--happy-border);
  border-radius:999px;
  background:var(--happy-sand);
  color:var(--happy-navy);
  font-size:11px;
}
.ruo-panel,.legal-panel{color:var(--happy-muted);font-size:13px}

.product-detail{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:14px;
  padding-bottom:90px;
}
.breadcrumb{padding:28px 0 18px;color:var(--happy-kelp);font-size:12px}
.detail-image,.detail-copy{
  min-height:670px;
  border-radius:var(--happy-radius);
  overflow:hidden;
}
.detail-image{
  position:relative;
  background:var(--happy-seashell);
  border:1px solid var(--happy-border);
}
.detail-image>div{position:absolute;left:18px;bottom:18px;display:flex;gap:8px;flex-wrap:wrap}
.detail-image>div span{position:static}
.detail-copy{
  background:var(--happy-navy)!important;
  color:var(--happy-sand);
  padding:clamp(44px,6vw,82px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid var(--happy-border-light);
}
.detail-copy h1,.detail-copy p,.detail-price strong,.detail-price span{color:var(--happy-sand)}
.detail-copy>p{color:var(--happy-muted-light)}
.detail-price{display:flex;align-items:end;gap:14px;margin:24px 0}
.detail-price strong{font-family:var(--font-display);font-size:42px}
.variant-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0 24px}
.variant{
  padding:14px;
  border:1px solid var(--happy-border-light);
  background:rgba(244,242,239,.08);
  color:var(--happy-sand);
  text-align:left;
  display:flex;
  justify-content:space-between;
}
.variant.is-active{background:var(--happy-kelp);border-color:var(--happy-kelp);color:var(--happy-navy)}
.detail-info{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,88px);padding-bottom:90px}
.detail-info dl div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--happy-border)}
.detail-info dt{font-family:var(--font-display);color:var(--happy-kelp);text-transform:uppercase}
.detail-info dd{margin:0}
.detail-info ul{padding:0;list-style:none}
.detail-info li{padding:18px 0;border-bottom:1px solid var(--happy-border);font-size:20px}

.manifesto-body,.principle-grid,.journal-grid,.dashboard-stats{display:grid;gap:14px}
.manifesto-body{grid-template-columns:repeat(2,1fr);padding-bottom:90px}
.manifesto-body article,.principle-grid article{
  min-height:320px;
  padding:32px;
  border:1px solid var(--happy-border);
  border-radius:var(--happy-radius);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.manifesto-body article:nth-child(odd),.principle-grid .sand,.principle-grid .cream{background:var(--happy-seashell)}
.manifesto-body article:nth-child(even),.principle-grid .teal,.principle-grid .white{background:var(--happy-sand)}
.manifesto-body article:nth-child(5),.principle-grid .brown,.principle-grid .dark{background:var(--happy-navy);color:var(--happy-sand)}
.manifesto-body article:nth-child(5) h3,.manifesto-body article:nth-child(5) p,.principle-grid .brown h3,.principle-grid .dark h3{color:var(--happy-sand)}
.manifesto-body span,.principle-grid span{font-family:var(--font-display);font-size:54px;color:var(--happy-kelp)}
.principle-grid{grid-template-columns:repeat(3,1fr);padding-bottom:90px}
.manifesto-cta>div{
  background:var(--happy-kelp)!important;
  border-radius:var(--happy-radius)!important;
  padding:clamp(44px,6vw,84px)!important;
}

.featured-story{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  margin-bottom:20px;
}
.featured-image{min-height:560px;position:relative;background:var(--happy-seashell)}
.featured-copy{padding:clamp(44px,6vw,84px)}
.journal-grid{grid-template-columns:repeat(2,1fr);padding-bottom:90px}
.journal-card{display:grid;grid-template-columns:.82fr 1.18fr;min-height:360px}
.journal-card-image{min-height:100%;background:var(--happy-seashell)}
.journal-card>div:last-child{padding:30px}
.subscribe-card{
  min-height:360px;
  padding:38px;
  border-radius:var(--happy-radius);
  background:var(--happy-navy);
  color:var(--happy-sand);
}
.subscribe-card h3,.subscribe-card p{color:var(--happy-sand)}

.contact-grid,.auth-layout,.cart-layout{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:18px;
  padding-bottom:90px;
}
.contact-details,.form-panel,.auth-panel,.cart-items,.cart-summary{padding:32px}
.contact-details>a{display:block;font-family:var(--font-display);font-size:clamp(28px,3.5vw,52px);margin:16px 0 32px}
.contact-details dl div{padding:16px 0;border-top:1px solid var(--happy-border)}
.form-panel{display:grid;gap:16px}
.form-panel label{display:grid;gap:8px;font-family:var(--font-display);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--happy-muted)}
.form-panel input,.form-panel select,.form-panel textarea,.inline-form input{
  width:100%;
  border:1px solid var(--happy-border);
  border-radius:var(--happy-radius);
  background:var(--happy-sand);
  color:var(--happy-navy);
  padding:13px 14px;
}
.auth-art{
  min-height:620px;
  padding:46px;
  border-radius:var(--happy-radius);
  background:
    linear-gradient(rgba(11,37,58,.64),rgba(11,37,58,.78)),
    url("../assets/happy/textures/Happy_Texture_2.png") center/cover!important;
  color:var(--happy-sand);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.auth-art img{width:190px;filter:none}
.auth-art p{color:var(--happy-sand)}
.auth-panel{min-height:620px;display:flex;flex-direction:column;justify-content:center}
.cart-layout{grid-template-columns:1.2fr .8fr}
.cart-summary{align-self:start;position:sticky;top:112px}
.cart-item{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--happy-border)}
.cart-remove{border:0;background:transparent;color:var(--happy-muted)}

.research-gate{
  position:fixed;
  inset:0;
  z-index:999;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(11,37,58,.76);
  backdrop-filter:blur(14px);
}
.research-gate-panel{
  width:min(700px,calc(100vw - 48px));
  max-height:calc(100vh - 48px);
  overflow:auto;
  padding:clamp(42px,6vw,72px);
  background:var(--happy-sand);
  border:1px solid var(--happy-border);
  border-radius:var(--happy-radius);
  text-align:center;
}
.research-gate-logo{width:150px;margin:0 auto 26px}
.research-gate h1{font-size:clamp(44px,7vw,80px)}
.research-gate-form{display:grid;gap:14px;text-align:left}
.research-gate-actions{display:flex;gap:10px;margin-top:12px}
.campaign-modal{background:rgba(11,37,58,.58)}

.site-footer{
  background:var(--happy-navy);
  color:var(--happy-sand);
  padding:72px max(28px,calc((100vw - 1440px)/2)) 26px;
  border-top:0;
}
.footer-shell{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:clamp(28px,5vw,70px)}
.footer-brand img{width:150px;margin-bottom:22px}
.footer-brand p,.site-footer a,.legal-copy,.footer-floor{color:var(--happy-muted-light)}
.site-footer h2{font-size:14px;color:var(--happy-kelp)}
.site-footer a{display:block;margin:9px 0}
.site-footer a:hover{color:var(--happy-sand)}
.legal-copy{max-width:920px;margin:54px 0 22px;font-size:12px;line-height:1.7}
.footer-floor{display:flex;justify-content:space-between;gap:18px;padding-top:20px;border-top:1px solid var(--happy-border-light);font-size:11px}

@media(max-width:1180px){
  .top-seller-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-page .home-hero{grid-template-columns:minmax(0,1fr) minmax(310px,.88fr)!important}
}

@media(max-width:820px){
  :root{--shell:calc(100% - 28px)}
  .site-header{padding:8px 0}
  .header-shell{height:58px;grid-template-columns:1fr auto;padding:0 16px}
  .brand img{width:110px}
  .desktop-nav,.utility-nav{display:none}
  .menu-toggle{
    display:grid;
    width:38px;
    height:38px;
    border:0;
    background:transparent;
    place-content:center;
    gap:6px;
  }
  .menu-toggle span:not(.sr-only){display:block;width:22px;height:2px;background:var(--happy-navy)}
  .mobile-menu{
    position:absolute;
    display:none;
    left:14px;
    right:14px;
    top:72px;
    padding:18px;
    background:var(--happy-sand);
    border:1px solid var(--happy-border);
    border-radius:var(--happy-radius);
  }
  .mobile-menu.is-open{display:grid}
  .mobile-menu a{padding:12px 2px;border-bottom:1px solid var(--happy-border);font-family:var(--font-display);text-transform:uppercase}
  .home-page .campaign-feature,
  .home-page .home-hero,
  .section-heading,
  .statement-card.texture-white,
  .catalog-hero,.journal-hero,.manifesto-hero,.page-hero,
  .product-detail,.detail-info,.manifesto-body,.principle-grid,
  .featured-story,.journal-card,.journal-grid,
  .contact-grid,.auth-layout,.cart-layout,
  .footer-shell{
    grid-template-columns:1fr!important;
  }
  .home-page .campaign-feature{height:auto!important}
  .home-page .campaign-copy{padding:42px 28px!important}
  .home-page .campaign-placeholder{height:340px!important}
  .home-page .home-hero{min-height:0!important}
  .home-page .hero-content{grid-column:1!important;grid-row:1!important;min-height:0!important;padding:48px 30px!important}
  .home-page .hero-product-card{grid-column:1!important;grid-row:2!important;min-height:420px!important;border-left:0;border-top:1px solid var(--happy-border-light)}
  .top-seller-grid,.product-grid,.collection-grid{grid-template-columns:1fr}
  .product-image{height:330px}
  .detail-image,.detail-copy{min-height:480px}
  .variant-grid{grid-template-columns:1fr}
  .featured-image{min-height:380px}
  .auth-art,.auth-panel{min-height:460px}
  .cart-summary{position:static}
  .footer-brand{grid-column:auto}
  .footer-floor{flex-direction:column}
}

@media(max-width:480px){
  h1{font-size:clamp(42px,13vw,64px)}
  h2{font-size:clamp(34px,11vw,54px)}
  .button{width:100%}
  .button-row{display:grid;width:100%}
  .mini-product-card{grid-template-rows:240px 1fr;min-height:520px}
  .research-gate-panel{padding:34px 22px}
  .research-gate-actions{display:grid}
}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* Happy visual audit refinement */
:root{
  --happy-navy:#0b253a;
  --happy-navy-hover:#123853;
  --happy-sand:#f4f1ea;
  --happy-kelp:#9f9b86;
  --happy-seashell:#fbfaf7;
  --happy-white:#fff;
  --happy-text:#0b253a;
  --happy-muted:rgba(11,37,58,.64);
  --happy-soft:rgba(11,37,58,.05);
  --happy-border:rgba(11,37,58,.11);
  --happy-border-light:rgba(11,37,58,.08);
  --happy-shadow:0 18px 50px rgba(11,37,58,.07);
  --shell:min(1180px,calc(100% - 64px));
  --teal:var(--happy-navy);
  --blue-accent:var(--happy-navy);
  --moss:var(--happy-kelp);
}

html{background:var(--happy-seashell)}
body{
  background:var(--happy-seashell)!important;
  color:var(--happy-text);
  letter-spacing:0;
}
body::before{display:none!important}
main{background:linear-gradient(180deg,var(--happy-seashell),var(--happy-white) 260px,var(--happy-white))}
a{color:var(--happy-navy)}
p,li,dd,.hero-copy,.detail-copy .identity{color:var(--happy-muted)}
h1,h2,h3,h4,.product-copy h2,.detail-copy h1{color:var(--happy-navy)}

.page-shell,.wrap,.header-shell,.footer-shell{width:var(--shell)}
.site-header{
  background:rgba(251,250,247,.92)!important;
  border-bottom:1px solid var(--happy-border-light);
  box-shadow:none;
  backdrop-filter:blur(18px);
}
.header-shell{
  height:72px;
  padding:0;
  align-items:center;
}
.brand img{width:128px}
.brand img,
.footer-brand img,
.research-gate-logo{
  filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
}
.desktop-nav,.utility-nav{gap:30px}
.desktop-nav a,.utility-nav a,.mobile-menu a{
  color:var(--happy-navy)!important;
  font-size:12px;
  letter-spacing:.04em;
  opacity:.88;
}
.desktop-nav a:hover,.utility-nav a:hover,.desktop-nav a[aria-current="page"]{opacity:1}
.utility-nav [data-cart-count]{
  background:var(--happy-navy);
  color:var(--happy-white);
  border:0;
}
.menu-toggle{color:var(--happy-navy)}

.button,
button.button,
.button.primary,
.button.secondary,
.filter-row button.is-active,
[data-add-cart]{
  background:var(--happy-navy)!important;
  border-color:var(--happy-navy)!important;
  color:var(--happy-white)!important;
  border-radius:8px;
  box-shadow:none;
  letter-spacing:.06em;
}
.button:hover,
button.button:hover,
.button.primary:hover,
.filter-row button.is-active:hover,
[data-add-cart]:hover{
  background:var(--happy-navy-hover)!important;
  border-color:var(--happy-navy-hover)!important;
  transform:translateY(-1px);
}
.button-outline,
.button.secondary,
.cart-remove,
.filter-row button{
  background:transparent!important;
  color:var(--happy-navy)!important;
  border:1px solid var(--happy-border)!important;
}
.button:focus-visible,
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:2px solid var(--happy-navy);
  outline-offset:3px;
}

.eyebrow{
  color:var(--happy-navy)!important;
  opacity:.72;
  letter-spacing:.12em;
}
.home-page .campaign-feature,
.home-page .home-hero,
.statement-card.texture-white,
.catalog-cta-card,
.manifesto-cta,
.ruo-panel,
.empty-state,
.dashboard-stats article,
.cart-summary,
.cart-items,
.contact-details,
.form-panel,
.auth-panel,
.pending-panel{
  background:var(--happy-white)!important;
  border:1px solid var(--happy-border-light)!important;
  box-shadow:none!important;
}
.top-sellers,
.statement-section,
.collections,
.community-cta,
.catalog-cta,
.product-strip,
.embedded-product-section{
  background:var(--happy-white);
  padding-block:clamp(76px,8vw,128px)!important;
}
.section-heading{
  align-items:end;
  gap:clamp(24px,4vw,64px);
}
.section-heading p{max-width:600px}

.home-page .home-hero{
  min-height:clamp(640px,78vh,820px)!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,.86fr)!important;
  color:var(--happy-navy);
  overflow:hidden;
}
.home-page .hero-content{
  color:var(--happy-navy)!important;
  padding:clamp(60px,8vw,108px)!important;
}
.home-page .hero-content h1,
.home-page .hero-content p,
.home-page .hero-content span{color:var(--happy-navy)!important}
.home-page .hero-content p{max-width:620px;color:var(--happy-muted)!important}
.home-page .hero-product-card{
  background:linear-gradient(180deg,#fff,var(--happy-sand))!important;
  border-left:1px solid var(--happy-border-light);
}
.home-page .hero-product-card img{
  width:100%;
  height:100%;
  object-fit:contain!important;
  object-position:center bottom!important;
  padding:clamp(24px,5vw,64px);
  filter:none!important;
}
.home-page .campaign-placeholder{
  background:linear-gradient(180deg,#fff,var(--happy-sand))!important;
}
.home-page .campaign-placeholder img{
  object-fit:contain!important;
  padding:40px;
}

.mini-product-card,
.strip-product-card,
.embedded-product-card,
.product-card,
.journal-card{
  background:var(--happy-white)!important;
  border:1px solid var(--happy-border-light)!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.mini-product-card:hover,
.strip-product-card:hover,
.embedded-product-card:hover,
.product-card:hover,
.journal-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--happy-shadow)!important;
}
.mini-product-card>img,
.strip-product-card img,
.embedded-product-card img,
.product-image img,
.detail-image img{
  object-fit:contain!important;
  object-position:center!important;
}
.mini-product-card>img[src*="textures"],
.strip-product-card img[src*="textures"],
.embedded-product-card img[src*="textures"],
.product-image img[src*="textures"]{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  opacity:.32;
  filter:saturate(.35) contrast(1.14)!important;
}
.product-image:has(img[src*="textures"]){
  background:linear-gradient(180deg,#f9f8f4,var(--happy-sand))!important;
}
.mini-product-card>img,
.strip-product-card img,
.embedded-product-card img,
.product-image{
  background:linear-gradient(180deg,#fff,var(--happy-seashell))!important;
}
.product-image{
  height:360px;
  padding:28px;
}
.product-image span{
  left:24px;
  top:22px;
  background:rgba(255,255,255,.82);
  color:var(--happy-navy);
  border:1px solid var(--happy-border-light);
  border-radius:999px;
  padding:8px 12px;
  backdrop-filter:blur(10px);
}
.product-copy{gap:14px}
.product-meta{
  color:var(--happy-muted)!important;
  font-size:12px;
  letter-spacing:.06em;
}
.product-card small,
.related header a,
.product-strip header a,
.embedded-product-section header a{
  color:var(--happy-navy)!important;
  opacity:1;
}
.strengths{gap:8px}
.strengths span{
  background:var(--happy-seashell);
  border:1px solid var(--happy-border-light);
  color:var(--happy-navy);
}

.collections{
  background:linear-gradient(180deg,var(--happy-white),var(--happy-seashell));
}
.catalog-heading{
  align-items:start!important;
  grid-template-columns:minmax(0,1fr) auto!important;
}
.catalog-heading h2,.catalog-heading p{text-align:left}
.catalog-stat{
  justify-self:end;
  align-self:center;
  color:var(--happy-navy);
  border:1px solid var(--happy-border);
  border-radius:999px;
  padding:12px 18px;
  font-family:var(--font-display);
  text-transform:uppercase;
  letter-spacing:.08em;
  background:var(--happy-white);
}
.collection-grid{gap:22px}
.collection-card,
.collection-card:nth-child(1),
.collection-card:nth-child(2),
.collection-card:nth-child(3),
.collection-card.teal,
.collection-card.sand,
.collection-card.brown{
  background:var(--happy-white)!important;
  color:var(--happy-navy)!important;
  border:1px solid var(--happy-border-light)!important;
  border-radius:8px!important;
  padding:34px!important;
}
.collection-card p{color:var(--happy-muted)!important}
.collection-number,.collection-icon{
  color:var(--happy-navy)!important;
  opacity:1!important;
}
.collection-icon img{filter:none}
.collection-card footer{
  color:var(--happy-navy);
  border-top:1px solid var(--happy-border-light);
  padding-top:22px;
}

.catalog-hero,
.journal-hero,
.manifesto-hero,
.page-hero{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding-block:clamp(72px,8vw,132px)!important;
  text-align:left!important;
}
.catalog-hero{
  grid-template-columns:minmax(0,.9fr) minmax(320px,.55fr)!important;
  gap:clamp(32px,6vw,90px);
  align-items:end;
}
.catalog-hero p{max-width:520px;color:var(--happy-muted)!important}
.filter-shell{
  background:var(--happy-white);
  border-block:1px solid var(--happy-border-light);
}
.filter-row{gap:10px;flex-wrap:wrap}
.filter-row button{
  border-radius:999px!important;
  padding:11px 16px;
}
.product-grid{
  gap:28px!important;
  padding-top:52px!important;
  padding-bottom:clamp(72px,8vw,128px)!important;
}

.product-detail{
  gap:clamp(28px,5vw,72px);
  align-items:stretch;
  padding-top:34px!important;
}
.breadcrumb{
  padding-top:32px;
  color:var(--happy-muted);
}
.breadcrumb a{color:var(--happy-navy)}
.detail-image,
.detail-copy{
  background:var(--happy-white)!important;
  border:1px solid var(--happy-border-light)!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.detail-image{
  padding:28px;
  min-height:620px;
}
.detail-image img{
  width:100%;
  height:calc(100% - 58px);
  padding:10px;
}
.detail-image>div{
  background:var(--happy-seashell);
  color:var(--happy-navy);
  border:1px solid var(--happy-border-light);
}
.detail-copy{padding:clamp(34px,5vw,64px)!important}
.variant{
  background:var(--happy-white)!important;
  border:1px solid var(--happy-border)!important;
  color:var(--happy-navy)!important;
  border-radius:8px!important;
}
.variant.is-active{
  background:var(--happy-navy)!important;
  color:var(--happy-white)!important;
  border-color:var(--happy-navy)!important;
}
.detail-info{
  gap:26px!important;
}
.detail-info>div{
  background:var(--happy-white)!important;
  border:1px solid var(--happy-border-light)!important;
  border-radius:8px!important;
}

.manifesto-hero{
  display:block!important;
  max-width:var(--shell);
  margin-inline:auto;
}
.manifesto-hero h1,
.manifesto-hero p,
.manifesto-body article,
.manifesto-body article h3,
.manifesto-body article p,
.principle-grid article,
.principle-grid article h3,
.principle-grid article p{
  text-align:left!important;
}
.manifesto-hero h1{max-width:760px}
.manifesto-hero p{max-width:650px}
.manifesto-body,
.principle-grid{
  gap:24px!important;
}
.manifesto-body article,
.principle-grid article,
.manifesto-body article:nth-child(odd),
.manifesto-body article:nth-child(even),
.principle-grid .sand,
.principle-grid .cream,
.principle-grid .teal,
.principle-grid .white,
.principle-grid .brown,
.principle-grid .dark{
  background:var(--happy-white)!important;
  color:var(--happy-navy)!important;
  border:1px solid var(--happy-border-light)!important;
  border-radius:8px!important;
  padding:clamp(30px,4vw,46px)!important;
  min-height:260px;
}
.manifesto-body span,
.principle-grid span{
  display:block;
  margin:0 0 34px;
  color:var(--happy-navy)!important;
  opacity:.42;
  font-size:clamp(40px,5vw,64px)!important;
  line-height:1;
}
.manifesto-body article p,
.principle-grid article p{
  color:var(--happy-muted)!important;
}
.manifesto-cta{
  text-align:left;
}

.auth-layout{
  gap:24px!important;
  align-items:stretch;
}
.auth-art{
  background:linear-gradient(180deg,#fff,var(--happy-seashell))!important;
  color:var(--happy-navy)!important;
  border:1px solid var(--happy-border-light)!important;
  border-radius:8px!important;
  padding:clamp(34px,5vw,64px)!important;
}
.auth-art h1,.auth-art p{color:var(--happy-navy)!important;text-align:left}
.auth-panel label{color:var(--happy-navy)}
input,select,textarea{
  background:var(--happy-white)!important;
  border:1px solid var(--happy-border)!important;
  color:var(--happy-navy)!important;
  border-radius:8px!important;
}

.research-gate{
  background:rgba(11,37,58,.58)!important;
  padding:clamp(18px,4vw,40px);
}
.research-gate-panel{
  width:min(920px,calc(100vw - 48px))!important;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(320px,1fr);
  column-gap:clamp(30px,5vw,74px);
  row-gap:20px;
  align-items:start;
  background:var(--happy-white)!important;
  border-radius:10px!important;
  border:1px solid var(--happy-border-light)!important;
  box-shadow:0 30px 90px rgba(11,37,58,.2)!important;
  padding:clamp(34px,5vw,70px)!important;
  text-align:left!important;
}
.research-gate-logo{
  grid-column:1;
  width:132px!important;
  margin:0 0 42px!important;
}
.research-gate h1{
  grid-column:1;
  font-size:clamp(42px,5vw,76px)!important;
  line-height:.95;
  max-width:360px;
}
.research-gate-panel>p{
  grid-column:1;
  color:var(--happy-muted)!important;
  max-width:370px;
}
.research-gate-form{
  grid-column:2;
  grid-row:1 / span 4;
  gap:18px!important;
  align-self:center;
  padding:clamp(24px,3vw,36px);
  background:var(--happy-seashell);
  border:1px solid var(--happy-border-light);
  border-radius:8px;
}
.research-gate-form label{color:var(--happy-navy)}
.research-gate-actions{gap:12px!important}
.research-gate-panel small{
  grid-column:1;
  color:var(--happy-muted);
}

.site-footer{
  background:var(--happy-seashell)!important;
  color:var(--happy-navy)!important;
  border-top:1px solid var(--happy-border-light)!important;
  padding-top:72px!important;
}
.footer-brand img{width:140px}
.footer-brand p,
.site-footer a,
.legal-copy,
.footer-floor{
  color:var(--happy-muted)!important;
}
.site-footer h2{
  color:var(--happy-navy)!important;
  letter-spacing:.08em;
}
.site-footer a:hover{color:var(--happy-navy)!important}
.footer-floor{border-top:1px solid var(--happy-border-light)!important}

@media(max-width:980px){
  :root{--shell:calc(100% - 48px)}
  .section-heading,
  .catalog-heading,
  .catalog-hero,
  .research-gate-panel{
    grid-template-columns:1fr!important;
  }
  .catalog-stat{justify-self:start}
  .research-gate-logo,
  .research-gate h1,
  .research-gate-panel>p,
  .research-gate-form,
  .research-gate-panel small{
    grid-column:1!important;
    grid-row:auto!important;
  }
  .research-gate-form{align-self:stretch}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:820px){
  :root{--shell:calc(100% - 40px)}
  .site-header{padding:0!important}
  .header-shell{height:64px;padding:0!important}
  .mobile-menu{
    left:20px!important;
    right:20px!important;
    top:76px!important;
    background:var(--happy-white)!important;
    border-radius:8px!important;
    box-shadow:var(--happy-shadow);
  }
  .home-page .hero-content{padding:48px 28px!important}
  .home-page .hero-product-card{min-height:460px!important}
  .home-page .hero-product-card img{padding:24px}
  .product-grid{grid-template-columns:1fr!important}
  .product-image{height:340px}
  .detail-image,.detail-copy{min-height:auto!important}
  .detail-image{min-height:520px}
  .manifesto-body article,
  .principle-grid article,
  .collection-card{padding:28px!important}
}

@media(max-width:520px){
  :root{--shell:calc(100% - 40px)}
  h1{font-size:clamp(40px,12vw,58px)}
  h2{font-size:clamp(32px,10vw,48px)}
  .button{width:100%}
  .product-image{height:310px;padding:22px}
  .catalog-hero,.page-hero,.manifesto-hero{padding-block:54px!important}
  .catalog-stat{width:100%;text-align:center}
  .research-gate{padding:16px}
  .research-gate-panel{
    width:calc(100vw - 32px)!important;
    max-height:calc(100vh - 32px)!important;
  }
  .research-gate-form{padding:20px}
  .research-gate-actions{display:grid!important}
}

/* REFERENCE layout recovery pass: geometry, spacing, product scale. */
:root{
  --shell:min(1420px,calc(100% - 64px));
  --happy-section-gap:110px;
  --happy-card-radius:8px;
  --happy-xl-radius:12px;
}

html,body{overflow-x:hidden}

.page-shell,
.wrap,
.header-shell,
.footer-shell,
.legacy-page main{
  width:var(--shell)!important;
  max-width:var(--shell)!important;
  margin-inline:auto!important;
}

.site-header{
  padding:14px 0!important;
}
.header-shell{
  height:64px!important;
  padding-inline:24px!important;
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid var(--happy-border-light)!important;
  box-shadow:none!important;
}

.home-page .campaign-feature,
.home-page .home-hero,
.statement-card,
.catalog-cta-card,
.community-cta>div,
.manifesto-cta>div,
.product-card,
.mini-product-card,
.strip-product-card,
.embedded-product-card,
.journal-card,
.detail-image,
.detail-copy,
.detail-info>div,
.contact-details,
.form-panel,
.auth-art,
.auth-panel,
.cart-items,
.cart-summary,
.dashboard-stats article,
.empty-state{
  border-radius:var(--happy-card-radius)!important;
}

.top-sellers,
.statement-section,
.collections,
.community-cta,
.catalog-cta,
.principles,
.related,
.product-strip,
.embedded-product-section{
  padding-block:var(--happy-section-gap)!important;
}

.section-heading{
  display:grid!important;
  grid-template-columns:1.2fr .8fr!important;
  gap:80px!important;
  align-items:end!important;
  margin-bottom:58px!important;
}
.section-heading .eyebrow{grid-column:1 / -1}
.section-heading h2{margin:0!important}
.section-heading p{
  max-width:540px!important;
  font-size:18px;
  line-height:1.65;
}

.home-page .campaign-feature{
  display:grid!important;
  grid-template-columns:.82fr 1.08fr!important;
  gap:0!important;
  min-height:540px!important;
  overflow:hidden!important;
}
.home-page .campaign-copy{
  padding:clamp(58px,6vw,88px) clamp(48px,5vw,72px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.home-page .campaign-placeholder{
  min-height:540px!important;
  height:auto!important;
}
.home-page .campaign-placeholder img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:42px!important;
  background:var(--happy-white);
}

.home-page .home-hero{
  display:grid!important;
  grid-template-columns:1.03fr .97fr!important;
  gap:22px!important;
  min-height:720px!important;
  padding:34px 0 76px!important;
  background:transparent!important;
  border:0!important;
  overflow:visible!important;
}
.home-page .hero-content,
.home-page .hero-product-card{
  min-height:680px!important;
  height:auto!important;
  border-radius:var(--happy-xl-radius)!important;
}
.home-page .hero-content{
  padding:clamp(48px,7vw,110px)!important;
  border:1px solid var(--happy-border-light)!important;
  background:var(--happy-white)!important;
}
.home-page .hero-content h1{
  font-size:clamp(54px,6vw,92px)!important;
  line-height:.98!important;
  max-width:820px!important;
}
.home-page .hero-content p{max-width:590px!important}
.home-page .hero-product-card{
  background:var(--happy-sand)!important;
  border:0!important;
  box-shadow:none!important;
}
.home-page .hero-product-card img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:clamp(42px,5vw,72px)!important;
}

.catalog-hero{
  min-height:360px!important;
  padding:76px 0 58px!important;
}
.journal-hero,
.page-hero{
  min-height:460px!important;
  padding:82px 0 64px!important;
}
.catalog-hero,
.journal-hero,
.page-hero{
  display:grid!important;
  grid-template-columns:1.25fr .75fr!important;
  gap:70px!important;
  align-items:end!important;
}
.catalog-hero h1,
.journal-hero h1,
.page-hero h1{margin:28px 0 0!important}

.filter-shell{
  position:sticky!important;
  top:92px!important;
  z-index:40;
  padding:12px 0!important;
}
.filter-row{
  display:flex!important;
  gap:8px!important;
  overflow:auto!important;
}
.filter-row button{
  white-space:nowrap;
  border-radius:4px!important;
}

.product-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  padding:38px 0 90px!important;
}
.product-card{
  overflow:hidden!important;
  box-shadow:0 10px 34px rgba(11,37,58,.05)!important;
}
.product-card-link{
  min-height:100%;
}
.product-image{
  height:390px!important;
  padding:34px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(180deg,#fff,var(--happy-seashell))!important;
}
.product-image::after{
  width:210px!important;
  height:210px!important;
  background:rgba(11,37,58,.035)!important;
}
.product-image img,
.product-image img[src*="textures"],
.product-image img[src*="catalog"],
.product-image img[src*="products"]{
  position:relative!important;
  z-index:1!important;
  width:auto!important;
  max-width:64%!important;
  height:82%!important;
  max-height:300px!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
}
.product-card:hover .product-image img{
  transform:scale(1.025)!important;
}
.product-copy{
  padding:26px!important;
}
.product-copy h2{
  font-size:34px!important;
  margin:18px 0!important;
}
.product-copy>p{
  font-size:15px!important;
  line-height:1.65!important;
}

.mini-product-card,
.strip-product-card,
.embedded-product-card{
  overflow:hidden!important;
}
.mini-product-card>img,
.strip-product-card img,
.embedded-product-card img{
  height:300px!important;
  min-height:300px!important;
  padding:34px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:linear-gradient(180deg,#fff,var(--happy-seashell))!important;
}

.product-detail{
  display:grid!important;
  grid-template-columns:1.05fr .95fr!important;
  gap:22px!important;
  padding:34px 0 100px!important;
}
.detail-image{
  min-height:720px!important;
  padding:44px!important;
}
.detail-image>img{
  width:66%!important;
  height:74%!important;
  max-height:560px!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
}
.detail-copy{
  padding:clamp(50px,7vw,95px)!important;
}
.detail-info{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:70px!important;
  padding-bottom:100px!important;
}

.manifesto-hero{
  width:var(--shell)!important;
  min-height:560px!important;
  padding:120px 0 100px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  background:transparent!important;
  border:0!important;
}
.manifesto-hero h1{
  max-width:1100px!important;
  margin:30px 0 0!important;
  font-size:clamp(58px,7.5vw,116px)!important;
  line-height:.9!important;
}
.manifesto-body{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
  padding-bottom:110px!important;
}
.manifesto-body article{
  min-height:430px!important;
  padding:clamp(34px,5vw,66px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
}
.manifesto-body span{
  margin:0!important;
  font-size:88px!important;
  line-height:1!important;
}
.manifesto-body p{
  font-size:22px!important;
  line-height:1.5!important;
  max-width:none!important;
}
.principle-grid{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:14px!important;
  padding-bottom:110px!important;
}
.principle-grid article{
  min-height:300px!important;
  padding:32px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
}
.principle-grid span{
  margin:0!important;
  font-size:48px!important;
  line-height:1!important;
}
.principle-grid h3{
  font-size:32px!important;
  line-height:1.05!important;
  margin:0!important;
}
.manifesto-cta{
  padding-bottom:110px!important;
}
.manifesto-cta>div{
  padding:clamp(50px,8vw,100px)!important;
}

.research-gate{
  display:grid!important;
  place-items:center!important;
  padding:24px!important;
  background:rgba(251,250,247,.86)!important;
}
.research-gate-panel{
  width:min(720px,calc(100vw - 48px))!important;
  max-height:calc(100vh - 48px)!important;
  overflow:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:0!important;
  padding:clamp(52px,7vw,78px) clamp(42px,6vw,76px) clamp(42px,5vw,64px)!important;
  text-align:center!important;
  background:var(--happy-white)!important;
  border:1px solid var(--happy-border-light)!important;
  border-radius:var(--happy-card-radius)!important;
  box-shadow:0 28px 80px rgba(11,37,58,.13)!important;
}
.research-gate-logo{
  width:132px!important;
  margin:0 0 28px!important;
}
.research-gate h1{
  margin:0 0 28px!important;
  max-width:560px!important;
  font-size:clamp(52px,7vw,86px)!important;
  line-height:.95!important;
  text-align:center!important;
}
.research-gate-panel>p{
  max-width:560px!important;
  margin:0 auto 34px!important;
  text-align:center!important;
  line-height:1.75!important;
}
.research-gate-form{
  width:min(100%,520px)!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
  align-self:center!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  text-align:left!important;
}
.research-gate-form label{
  line-height:1.45!important;
}
.research-gate-form select{
  min-height:56px!important;
}
.research-gate-actions{
  display:flex!important;
  gap:14px!important;
  margin-top:18px!important;
}
.research-gate-actions .button{
  flex:1 1 0!important;
}
.research-gate-panel small{
  max-width:560px!important;
  margin-top:28px!important;
  text-align:center!important;
  line-height:1.55!important;
}

.site-footer{
  padding-inline:max(32px,calc((100vw - 1420px)/2))!important;
}

@media(max-width:1100px){
  :root{--shell:min(100% - 40px,1420px)}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .section-heading,
  .catalog-hero,
  .journal-hero,
  .page-hero{
    grid-template-columns:1fr!important;
    gap:34px!important;
  }
  .home-page .home-hero{
    grid-template-columns:1fr 1fr!important;
  }
}

@media(max-width:800px){
  :root{
    --shell:calc(100% - 40px);
    --happy-section-gap:72px;
  }
  .site-header{padding:8px 0!important}
  .header-shell{
    height:58px!important;
    padding-inline:18px!important;
    grid-template-columns:1fr auto!important;
  }
  .home-page .campaign-feature,
  .home-page .home-hero,
  .section-heading,
  .product-detail,
  .detail-info,
  .manifesto-body,
  .principle-grid{
    grid-template-columns:1fr!important;
  }
  .home-page .campaign-placeholder{min-height:380px!important}
  .home-page .home-hero{
    min-height:0!important;
    padding:24px 0 64px!important;
  }
  .home-page .hero-content,
  .home-page .hero-product-card{
    min-height:480px!important;
    padding:42px 28px!important;
  }
  .product-grid{grid-template-columns:1fr!important}
  .product-image{height:360px!important}
  .product-image img,
  .product-image img[src*="catalog"],
  .product-image img[src*="products"]{
    max-width:62%!important;
    height:80%!important;
  }
  .manifesto-hero{
    min-height:480px!important;
    padding:80px 0!important;
  }
  .manifesto-body article{min-height:380px!important}
  .principle-grid article{min-height:260px!important}
  .research-gate-panel{
    width:calc(100vw - 40px)!important;
    max-height:calc(100vh - 40px)!important;
    padding:42px 26px 34px!important;
  }
  .research-gate-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
}

@media(max-width:480px){
  :root{--shell:calc(100% - 40px)}
  .button{width:100%}
  .home-page .hero-content,
  .home-page .hero-product-card{
    min-height:390px!important;
  }
  .product-image{height:330px!important}
  .manifesto-body span{font-size:68px!important}
  .manifesto-body p{font-size:19px!important}
  .research-gate h1{font-size:clamp(42px,13vw,62px)!important}
}

/* Happy final audit: REFERENCE structure with stronger brand rhythm. */
:root{
  --shell:min(1420px,calc(100% - 64px));
  --happy-navy:#0b253a;
  --happy-navy-soft:#123853;
  --happy-kelp:#9f9b86;
  --happy-sand:#f4f1ea;
  --happy-seashell:#fbfaf7;
  --happy-white:#fff;
  --happy-ink:#0b253a;
  --happy-copy:rgba(11,37,58,.68);
  --happy-line:rgba(11,37,58,.13);
  --happy-radius:8px;
}

body{background:var(--happy-seashell)!important}
.page-shell,.wrap,.header-shell,.footer-shell,.legacy-page main{
  width:var(--shell)!important;
  max-width:var(--shell)!important;
  margin-inline:auto!important;
}

/* Page headers: one system for Catalog, Journal, Manifesto, Account, Contact, Cart. */
.catalog-hero,.journal-hero,.manifesto-hero,.page-hero{
  width:var(--shell)!important;
  min-height:360px!important;
  padding:76px 0 58px!important;
  display:grid!important;
  grid-template-columns:1.25fr .75fr!important;
  gap:70px!important;
  align-items:end!important;
  text-align:left!important;
  background:transparent!important;
  border:0!important;
}
.catalog-hero .eyebrow,.journal-hero .eyebrow,.manifesto-hero .eyebrow,.page-hero .eyebrow{
  grid-column:auto!important;
  align-self:auto!important;
}
.catalog-hero h1,.journal-hero h1,.manifesto-hero h1,.page-hero h1{
  margin:28px 0 0!important;
  max-width:1100px!important;
  font-size:clamp(52px,6.2vw,98px)!important;
  line-height:.96!important;
  text-align:left!important;
  white-space:normal!important;
}
.page-hero h1{white-space:nowrap!important}
.cart-page .page-hero h1{
  font-size:clamp(48px,5.6vw,86px)!important;
  max-width:none!important;
}
.manifesto-hero{
  flex-direction:initial!important;
  justify-content:initial!important;
}

/* Hero: controlled REFERENCE-like scale, stronger product contrast. */
.home-page .home-hero{
  display:grid!important;
  grid-template-columns:1.03fr .97fr!important;
  gap:22px!important;
  min-height:0!important;
  padding:34px 0 78px!important;
  background:transparent!important;
  border:0!important;
}
.home-page .hero-content,.home-page .hero-product-card{
  min-height:610px!important;
  border-radius:var(--happy-radius)!important;
  overflow:hidden!important;
}
.home-page .hero-content{
  padding:clamp(56px,6.2vw,86px)!important;
  background:var(--happy-white)!important;
  border:1px solid var(--happy-line)!important;
}
.home-page .hero-content h1{
  max-width:650px!important;
  margin:28px 0 24px!important;
  font-size:clamp(46px,4.8vw,70px)!important;
  line-height:1.05!important;
  letter-spacing:0!important;
}
.home-page .hero-content .hero-line,
.home-page .hero-content .hero-line-nowrap{
  display:block!important;
  white-space:normal!important;
  color:var(--happy-navy)!important;
}
.home-page .hero-content p{
  max-width:610px!important;
  font-size:16px!important;
  line-height:1.65!important;
}
.home-page .hero-product-card{
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,var(--happy-navy),#1b3f56)!important;
  border:1px solid rgba(11,37,58,.18)!important;
}
.home-page .hero-product-card img{
  width:100%!important;
  height:100%!important;
  max-width:78%!important;
  max-height:84%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  opacity:1!important;
  visibility:visible!important;
  mix-blend-mode:normal!important;
  filter:contrast(1.16) saturate(1.05) drop-shadow(0 26px 40px rgba(0,0,0,.32))!important;
}

/* Home modules: no continuous white slab. */
.home-page main{
  display:block;
  background:var(--happy-seashell)!important;
}
.home-page .top-sellers,
.home-page .statement-section,
.home-page .collections,
.home-page .community-cta,
.home-page .catalog-cta{
  margin-block:42px!important;
  padding:clamp(58px,6vw,86px)!important;
  border-radius:var(--happy-radius)!important;
  border:1px solid var(--happy-line)!important;
}
.home-page .top-sellers{
  background:var(--happy-white)!important;
}
.home-page .statement-section{
  background:var(--happy-navy)!important;
  color:var(--happy-white)!important;
}
.home-page .statement-card{
  min-height:360px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  display:grid!important;
  grid-template-columns:1.1fr .9fr!important;
  gap:70px!important;
  align-items:center!important;
}
.home-page .statement-card h2,
.home-page .statement-card p,
.home-page .statement-card .eyebrow{
  color:var(--happy-white)!important;
}
.home-page .statement-card p{opacity:.78}
.home-page .collections{
  background:var(--happy-sand)!important;
}
.home-page .community-cta{
  background:var(--happy-kelp)!important;
}
.home-page .community-cta h2,
.home-page .community-cta p,
.home-page .community-cta .eyebrow{
  color:var(--happy-navy)!important;
}
.home-page .catalog-cta{
  background:var(--happy-navy)!important;
  color:var(--happy-white)!important;
}
.home-page .catalog-cta-card{
  min-height:340px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.home-page .catalog-cta-card h2,
.home-page .catalog-cta-card p{
  color:var(--happy-white)!important;
}
.home-page .catalog-cta-card p{opacity:.78}
.home-page .catalog-cta-card .button{
  background:var(--happy-white)!important;
  color:var(--happy-navy)!important;
  border-color:var(--happy-white)!important;
}
.home-page .section-heading{
  margin-bottom:46px!important;
}
.home-page .collections .section-heading p{
  color:rgba(11,37,58,.74)!important;
}
.catalog-stat{
  background:var(--happy-white)!important;
  color:var(--happy-navy)!important;
  border-color:var(--happy-line)!important;
}

/* Product cards and featured strips. */
.product-strip,.embedded-product-section{
  width:var(--shell)!important;
  max-width:var(--shell)!important;
  margin:70px auto!important;
  padding:0!important;
}
.product-strip header,.embedded-product-section header,.related>header{
  width:100%!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:end!important;
  margin-bottom:25px!important;
}
.product-strip header h2,.embedded-product-section header h2{
  margin:0!important;
  font-size:clamp(32px,3.2vw,48px)!important;
}
.product-strip>div,.embedded-product-section>div{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.strip-product-card img,.embedded-product-card img,.mini-product-card>img{
  height:280px!important;
  min-height:280px!important;
  padding:34px!important;
  object-fit:contain!important;
  opacity:1!important;
  filter:none!important;
}

/* Operating principles / Happy standard: one consistent visual system. */
.principles{
  width:var(--shell)!important;
  max-width:var(--shell)!important;
  margin:0 auto 110px!important;
  padding:clamp(58px,6vw,86px)!important;
  background:var(--happy-seashell)!important;
  border:1px solid var(--happy-line)!important;
  border-radius:var(--happy-radius)!important;
}
.principles .section-heading{
  margin-bottom:44px!important;
}
.principle-grid{
  padding-bottom:0!important;
  gap:18px!important;
}
.principle-grid article,
.principle-grid .cream,
.principle-grid .sand,
.principle-grid .brown,
.principle-grid .teal,
.principle-grid .white,
.principle-grid .dark{
  min-height:270px!important;
  padding:36px!important;
  background:var(--happy-white)!important;
  color:var(--happy-navy)!important;
  border:1px solid var(--happy-line)!important;
  border-radius:var(--happy-radius)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
}
.principle-grid span,
.principle-grid .brown span,
.principle-grid .dark span{
  color:rgba(11,37,58,.42)!important;
  opacity:1!important;
  font-size:48px!important;
  margin:0!important;
}
.principle-grid h3,
.principle-grid .brown h3,
.principle-grid .dark h3{
  color:var(--happy-navy)!important;
  font-size:30px!important;
  line-height:1.08!important;
  margin:0!important;
}

/* Manifesto body and CTA stay on the same container line. */
.manifesto-body,.manifesto-cta{
  width:var(--shell)!important;
  max-width:var(--shell)!important;
  margin-inline:auto!important;
}
.manifesto-cta>div{
  background:var(--happy-navy)!important;
  color:var(--happy-white)!important;
}
.manifesto-cta h2,
.manifesto-cta h2 span{
  color:var(--happy-white)!important;
}

/* Cart, Account, Contact: restore REFERENCE structure, left alignment. */
.cart-page .page-hero,
.account-page .page-hero,
.contact-page .page-hero,
.login-page .page-hero,
.create-account-page .page-hero{
  text-align:left!important;
}
.cart-page .page-hero h1,
.account-page .page-hero h1,
.contact-page .page-hero h1{
  text-align:left!important;
  white-space:nowrap!important;
}
.cart-layout,.contact-grid,.auth-layout{
  width:var(--shell)!important;
  max-width:var(--shell)!important;
  margin-inline:auto!important;
}
.cart-layout{
  display:grid!important;
  grid-template-columns:1.2fr .8fr!important;
  gap:22px!important;
  padding:70px 0 100px!important;
}
.cart-items,.cart-summary,.contact-details,.form-panel,.auth-art,.auth-panel{
  background:var(--happy-white)!important;
  border:1px solid var(--happy-line)!important;
  border-radius:var(--happy-radius)!important;
  box-shadow:none!important;
}
.cart-summary{
  align-self:start!important;
  position:sticky!important;
  top:110px!important;
}
.contact-grid{
  display:grid!important;
  grid-template-columns:.8fr 1.2fr!important;
  gap:24px!important;
  padding-bottom:100px!important;
}
.contact-details,.form-panel{
  padding:42px!important;
}
.auth-layout{
  display:grid!important;
  grid-template-columns:.9fr 1.1fr!important;
  gap:20px!important;
  padding:34px 0 100px!important;
}
.auth-art,.auth-panel{
  min-height:680px!important;
  padding:55px!important;
}
.auth-art{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  background:linear-gradient(135deg,var(--happy-navy),#173a4c)!important;
}
.auth-art h1,.auth-art p{color:var(--happy-white)!important}
.auth-panel{justify-content:center!important}

/* Age verification: decline is integrated, not a stray block. */
.research-gate{
  background:rgba(11,37,58,.42)!important;
  backdrop-filter:blur(16px)!important;
}
.research-gate-panel{
  width:min(700px,calc(100vw - 48px))!important;
  padding:clamp(46px,6vw,68px)!important;
}
.research-gate-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  margin-top:18px!important;
}
.research-gate-actions .button.secondary,
.research-gate-actions [data-gate-decline]{
  background:transparent!important;
  color:var(--happy-navy)!important;
  border:1px solid var(--happy-line)!important;
}
.research-gate-actions .button.primary{
  background:var(--happy-navy)!important;
  color:var(--happy-white)!important;
  border-color:var(--happy-navy)!important;
}

@media(max-width:1100px){
  .home-page .home-hero{grid-template-columns:1fr 1fr!important}
  .home-page .hero-content h1{font-size:clamp(42px,5vw,58px)!important}
  .product-strip>div,.embedded-product-section>div{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:800px){
  :root{--shell:calc(100% - 40px)}
  .catalog-hero,.journal-hero,.manifesto-hero,.page-hero{
    grid-template-columns:1fr!important;
    min-height:0!important;
    padding:70px 0 46px!important;
  }
  .page-hero h1{white-space:normal!important}
  .home-page .home-hero,
  .home-page .statement-card,
  .cart-layout,.contact-grid,.auth-layout{
    grid-template-columns:1fr!important;
  }
  .home-page .hero-content,.home-page .hero-product-card{
    min-height:auto!important;
  }
  .home-page .hero-product-card{min-height:420px!important}
  .home-page .top-sellers,
  .home-page .statement-section,
  .home-page .collections,
  .home-page .community-cta,
  .home-page .catalog-cta,
  .principles{
    padding:42px 28px!important;
    margin-block:28px!important;
  }
  .section-heading{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .product-strip>div,.embedded-product-section>div,.principle-grid{
    grid-template-columns:1fr!important;
  }
  .cart-summary{position:static!important}
  .auth-art,.auth-panel{min-height:auto!important;padding:38px!important}
  .research-gate-actions{grid-template-columns:1fr!important}
}

/* Final header and hero corrections after QA. */
.manifesto-hero>.eyebrow,
.manifesto-hero>h1,
.page-hero>.eyebrow,
.page-hero>h1,
.page-hero>.hero-copy,
.page-hero>.button-row{
  grid-column:1!important;
  justify-self:start!important;
  align-self:end!important;
}
.manifesto-hero>h1,
.page-hero>h1{
  left:auto!important;
  text-align:left!important;
}

.home-page .home-hero{
  min-height:0!important;
  padding:30px 0 62px!important;
  align-items:stretch!important;
}
.home-page .hero-content,
.home-page .hero-product-card{
  min-height:520px!important;
}
.home-page .hero-content{
  padding:clamp(46px,5vw,70px)!important;
}
.home-page .hero-content h1{
  max-width:560px!important;
  font-size:clamp(40px,4.15vw,58px)!important;
  line-height:1.07!important;
  margin:24px 0 22px!important;
}
.home-page .hero-content p{
  max-width:560px!important;
  font-size:15px!important;
  line-height:1.62!important;
}
.home-page .hero-product-card img{
  max-width:72%!important;
  max-height:78%!important;
}

.cart-page .page-hero,
.account-page .page-hero,
.contact-page .page-hero,
.login-page .page-hero,
.create-account-page .page-hero{
  min-height:360px!important;
  padding:76px 0 58px!important;
}
.cart-page .page-hero h1,
.account-page .page-hero h1,
.contact-page .page-hero h1{
  max-width:900px!important;
}

@media(max-width:800px){
  .home-page .campaign-feature{
    min-height:0!important;
  }
  .home-page .campaign-copy{
    padding:38px 28px!important;
  }
  .home-page .campaign-placeholder{
    min-height:320px!important;
  }
  .home-page .campaign-placeholder img{
    padding:28px!important;
  }
  .home-page .home-hero{
    padding:20px 0 48px!important;
  }
  .home-page .hero-content{
    padding:42px 28px!important;
  }
  .home-page .hero-content h1{
    font-size:clamp(34px,9vw,46px)!important;
    line-height:1.08!important;
  }
  .home-page .hero-product-card{
    min-height:340px!important;
  }
  .home-page .hero-product-card img{
    max-width:70%!important;
    max-height:78%!important;
  }
}

/* Final mobile proportion pass: keep internal pages and Home inside the REFERENCE-style shell. */
.page-hero>*,
.manifesto-hero>*,
.catalog-hero>*,
.journal-hero>*{
  box-sizing:border-box!important;
  max-width:100%!important;
}

@media(max-width:800px){
  .cart-page .page-hero,
  .account-page .page-hero,
  .contact-page .page-hero,
  .login-page .page-hero,
  .create-account-page .page-hero{
    min-height:0!important;
    padding:56px 0 42px!important;
  }

  .cart-page .page-hero h1,
  .account-page .page-hero h1,
  .contact-page .page-hero h1,
  .login-page .page-hero h1,
  .create-account-page .page-hero h1{
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    font-size:clamp(36px,11vw,44px)!important;
    line-height:1.02!important;
  }

  .contact-page .page-hero .hero-copy,
  .account-page .page-hero .hero-copy{
    width:100%!important;
    max-width:100%!important;
  }

  .home-page .campaign-feature{
    gap:0!important;
  }

  .home-page .campaign-copy{
    padding:32px 24px!important;
  }

  .home-page .campaign-feature h2{
    font-size:clamp(34px,10vw,42px)!important;
    line-height:1!important;
  }

  .home-page .campaign-placeholder{
    height:auto!important;
    min-height:260px!important;
    max-height:300px!important;
  }

  .home-page .campaign-placeholder img{
    width:auto!important;
    max-width:58%!important;
    max-height:260px!important;
    object-fit:contain!important;
  }

  .home-page .home-hero{
    padding:18px 0 38px!important;
  }

  .home-page .hero-content{
    padding:34px 24px 30px!important;
    min-height:auto!important;
  }

  .home-page .hero-content h1{
    max-width:100%!important;
    font-size:clamp(32px,8.8vw,40px)!important;
    line-height:1.06!important;
    margin:18px 0 16px!important;
  }

  .home-page .hero-content p{
    max-width:100%!important;
  }

  .home-page .hero-product-card{
    min-height:300px!important;
  }

  .home-page .hero-product-card img{
    max-width:56%!important;
    max-height:260px!important;
    object-fit:contain!important;
  }
}

/* Home image refresh: premium editorial framing for the new Happy banners. */
.home-page .campaign-feature{
  min-height:clamp(520px,48vw,660px)!important;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
  gap:0!important;
  overflow:hidden!important;
  background:var(--happy-white)!important;
}

.home-page .campaign-copy{
  align-content:center!important;
  padding:clamp(58px,6vw,92px)!important;
}

.home-page .campaign-feature h2{
  max-width:520px!important;
  font-size:clamp(48px,5vw,76px)!important;
  line-height:.98!important;
}

.home-page .campaign-feature p{
  max-width:410px!important;
  font-size:15px!important;
  line-height:1.7!important;
}

.home-page .campaign-copy .button.primary{
  margin-top:14px!important;
}

.home-page .campaign-placeholder{
  min-height:100%!important;
  height:auto!important;
  background:var(--happy-seashell)!important;
  overflow:hidden!important;
}

.home-page .campaign-placeholder img[src*="banner-2"]{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  aspect-ratio:1.16/1!important;
  object-fit:cover!important;
  object-position:50% 42%!important;
  filter:saturate(.88) contrast(1.04)!important;
}

.home-page .home-hero{
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;
  gap:0!important;
  padding:34px 0 70px!important;
}

.home-page .hero-product-card{
  min-height:clamp(520px,46vw,640px)!important;
  padding:clamp(22px,3vw,44px)!important;
  background:var(--happy-seashell)!important;
}

.home-page .hero-product-card img[src*="banner-1"]{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  padding:0!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:50% 49%!important;
  filter:saturate(.88) contrast(1.05) brightness(1.02)!important;
}

.home-page .hero-content{
  padding:clamp(54px,5.6vw,84px)!important;
}

.home-page .hero-content h1{
  max-width:690px!important;
  font-size:clamp(44px,4.35vw,62px)!important;
  line-height:1.02!important;
  margin:22px 0 24px!important;
}

.home-page .hero-content .hero-line{
  display:block!important;
  white-space:nowrap!important;
}

.home-page .hero-content p{
  max-width:560px!important;
  font-size:15.5px!important;
  line-height:1.7!important;
}

.home-page .hero-content .button-row{
  margin-top:32px!important;
  gap:12px!important;
}

@media(max-width:1100px){
  .home-page .campaign-feature,
  .home-page .home-hero{
    grid-template-columns:1fr!important;
  }

  .home-page .campaign-placeholder{
    min-height:440px!important;
  }

  .home-page .hero-content{
    grid-row:1!important;
  }

  .home-page .hero-product-card{
    grid-row:2!important;
    min-height:520px!important;
  }
}

@media(max-width:800px){
  .home-page .campaign-feature{
    min-height:0!important;
    margin-block:24px!important;
  }

  .home-page .campaign-copy{
    padding:38px 26px!important;
  }

  .home-page .campaign-feature h2{
    font-size:clamp(36px,10vw,46px)!important;
  }

  .home-page .campaign-placeholder{
    min-height:330px!important;
    max-height:none!important;
  }

  .home-page .campaign-placeholder img[src*="banner-2"]{
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    max-height:none!important;
    aspect-ratio:4/3!important;
    object-position:49% 38%!important;
  }

  .home-page .home-hero{
    padding:18px 0 46px!important;
  }

  .home-page .hero-content{
    padding:38px 26px 34px!important;
  }

  .home-page .hero-content h1{
    max-width:100%!important;
    font-size:clamp(28px,7.8vw,34px)!important;
    line-height:1.08!important;
  }

  .home-page .hero-content .hero-line{
    white-space:nowrap!important;
  }

  .home-page .hero-product-card{
    min-height:340px!important;
    padding:18px!important;
  }

  .home-page .hero-product-card img[src*="banner-1"]{
    aspect-ratio:1/1!important;
    object-position:50% 50%!important;
  }
}

/* Community CTA final pass: remove the inner frame and guarantee contrast on Ocean texture. */
.home-page .community-cta{
  background:transparent!important;
  padding:0!important;
  margin-block:clamp(42px,6vw,78px)!important;
}

.community-cta>div,
.home-page .community-cta>div{
  position:relative!important;
  isolation:isolate!important;
  min-height:clamp(460px,42vw,620px)!important;
  overflow:hidden!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:clamp(54px,7vw,108px)!important;
  border:0!important;
  border-radius:var(--happy-radius)!important;
  box-shadow:none!important;
  background:
    linear-gradient(90deg,rgba(11,37,58,.94) 0%,rgba(11,37,58,.82) 42%,rgba(11,37,58,.48) 72%,rgba(11,37,58,.28) 100%),
    url("../assets/happy/textures/Happy_Texture_2.png") center/cover!important;
  color:var(--happy-seashell)!important;
}

.community-cta>div::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(11,37,58,.16),rgba(11,37,58,.34));
  pointer-events:none;
}

.home-page .community-cta .eyebrow,
.home-page .community-cta h2,
.home-page .community-cta p,
.community-cta .eyebrow,
.community-cta h2,
.community-cta p{
  color:var(--happy-seashell)!important;
  opacity:1!important;
}

.community-cta .eyebrow{
  margin-bottom:22px!important;
  text-shadow:0 1px 14px rgba(0,0,0,.18)!important;
}

.community-cta h2{
  max-width:720px!important;
  margin:0 0 26px!important;
  text-transform:uppercase!important;
  text-shadow:0 2px 22px rgba(0,0,0,.24)!important;
}

.community-cta p{
  max-width:560px!important;
  font-size:16px!important;
  line-height:1.72!important;
  text-shadow:0 1px 16px rgba(0,0,0,.18)!important;
}

.community-cta .button.secondary{
  margin-top:30px!important;
  color:var(--happy-navy)!important;
  background:var(--happy-seashell)!important;
  border-color:var(--happy-seashell)!important;
}

.community-cta .button.secondary:hover{
  color:var(--happy-seashell)!important;
  background:transparent!important;
  border-color:rgba(251,250,247,.72)!important;
}

@media(max-width:800px){
  .home-page .community-cta{
    margin-block:32px!important;
  }

  .community-cta>div,
  .home-page .community-cta>div{
    min-height:460px!important;
    padding:42px 28px!important;
    background:
      linear-gradient(90deg,rgba(11,37,58,.94),rgba(11,37,58,.72)),
      url("../assets/happy/textures/Happy_Texture_2.png") center/cover!important;
  }

  .community-cta h2{
    max-width:100%!important;
    font-size:clamp(38px,11vw,52px)!important;
    line-height:1.02!important;
  }

  .community-cta p{
    max-width:100%!important;
  }
}

/* Final typography and brand frame system. */
:root{
  --type-hero:clamp(40px,3.45vw,52px);
  --type-promo:clamp(46px,4.7vw,72px);
  --type-page:clamp(52px,6.2vw,98px);
  --type-section:clamp(36px,3.6vw,56px);
  --type-card:clamp(24px,2.1vw,34px);
  --type-body-lg:clamp(16px,1.2vw,18px);
  --type-body:15.5px;
  --type-small:12px;
  --type-label:11px;
  --leading-tight:1.06;
  --leading-title:1.12;
  --leading-body:1.68;
}

body{
  text-rendering:geometricPrecision;
}

p,
li,
dd,
.hero-copy,
.product-copy>p,
.section-heading p,
.statement-card p,
.catalog-cta-card p,
.community-cta p{
  font-size:var(--type-body)!important;
  line-height:var(--leading-body)!important;
}

.eyebrow,
.product-meta,
.product-image>span,
.detail-image>div span,
.breadcrumb,
.site-footer h2,
.form-panel label{
  font-size:var(--type-label)!important;
  line-height:1.45!important;
  letter-spacing:.12em!important;
}

.button,
.button-outline,
.filter-row button,
button.button,
.form-panel button{
  font-size:var(--type-small)!important;
  line-height:1!important;
  letter-spacing:.08em!important;
}

.section-heading h2,
.home-page .collections .section-heading h2,
.home-page .statement-card h2,
.home-page .catalog-cta-card h2,
.product-strip header h2,
.embedded-product-section header h2,
.principles .section-heading h2{
  font-size:var(--type-section)!important;
  line-height:var(--leading-title)!important;
  letter-spacing:0!important;
}

.collection-card h3,
.mini-product-card h3,
.strip-product-card h3,
.embedded-product-card h3,
.product-copy h2,
.principle-grid h3{
  font-size:var(--type-card)!important;
  line-height:1.12!important;
  letter-spacing:0!important;
}

.catalog-hero h1,
.journal-hero h1,
.manifesto-hero h1,
.page-hero h1{
  font-size:var(--type-page)!important;
  line-height:.98!important;
  letter-spacing:0!important;
}

/* Purity text-only correction: preserve the image panel exactly. */
.home-page .home-hero{
  overflow:visible!important;
}

.home-page .hero-content{
  min-width:0!important;
  overflow:visible!important;
  align-content:center!important;
}

.home-page .hero-content h1{
  width:min(100%,620px)!important;
  max-width:620px!important;
  overflow:visible!important;
  font-size:var(--type-hero)!important;
  line-height:var(--leading-title)!important;
  letter-spacing:0!important;
  margin:20px 0 24px!important;
}

.home-page .hero-content .hero-line,
.home-page .hero-content .hero-line-nowrap{
  display:block!important;
  max-width:100%!important;
  overflow:visible!important;
  white-space:nowrap!important;
}

.home-page .hero-content p{
  max-width:560px!important;
  font-size:var(--type-body)!important;
  line-height:var(--leading-body)!important;
}

.home-page .campaign-feature h2{
  font-size:var(--type-promo)!important;
  line-height:1!important;
  letter-spacing:0!important;
}

/* Navy header trial, kept because it gives the page a clearer Happy frame. */
.site-header{
  background:var(--happy-navy)!important;
  border-bottom:1px solid rgba(251,250,247,.14)!important;
  box-shadow:none!important;
}

.header-shell{
  background:transparent!important;
  border-color:transparent!important;
}

.site-header .brand img{
  filter:brightness(0) saturate(100%) invert(96%) sepia(6%) saturate(188%) hue-rotate(341deg) brightness(103%) contrast(96%)!important;
}

.desktop-nav a,
.utility-nav a,
.mobile-menu a,
.menu-toggle,
.site-header [data-cart-count]{
  color:var(--happy-seashell)!important;
}

.desktop-nav a:hover,
.utility-nav a:hover,
.mobile-menu a:hover{
  color:var(--happy-sand)!important;
  opacity:1!important;
}

.desktop-nav a::after{
  background:var(--happy-sand)!important;
}

.home-page .desktop-nav a[href$="index.html"],
.catalog-page .desktop-nav a[href$="catalog.html"],
.product-page .desktop-nav a[href$="catalog.html"],
.manifesto-page .desktop-nav a[href$="manifesto.html"],
.journal-page .desktop-nav a[href$="journal.html"],
.contact-page .utility-nav a[href$="contact.html"],
.account-page .utility-nav a[href$="account.html"],
.cart-page .utility-nav a[href$="cart.html"]{
  color:var(--happy-sand)!important;
}

.menu-toggle span{
  background:var(--happy-seashell)!important;
}

.mobile-menu{
  background:var(--happy-navy)!important;
  border:1px solid rgba(251,250,247,.16)!important;
}

/* Navy footer as an intentional brand close. */
.site-footer{
  background:var(--happy-navy)!important;
  color:var(--happy-seashell)!important;
  border-top:0!important;
  margin-top:clamp(54px,7vw,96px)!important;
}

.site-footer .footer-brand img{
  filter:brightness(0) saturate(100%) invert(96%) sepia(6%) saturate(188%) hue-rotate(341deg) brightness(103%) contrast(96%)!important;
}

.site-footer h2,
.site-footer p,
.site-footer a,
.site-footer .legal-copy,
.site-footer .footer-floor,
.footer-brand p{
  color:var(--happy-seashell)!important;
  opacity:1!important;
}

.site-footer h2{
  color:var(--happy-sand)!important;
}

.site-footer a{
  color:rgba(251,250,247,.82)!important;
}

.site-footer a:hover{
  color:var(--happy-sand)!important;
}

.site-footer .legal-copy{
  color:rgba(251,250,247,.72)!important;
}

.site-footer .footer-floor{
  border-top:1px solid rgba(251,250,247,.18)!important;
  color:rgba(251,250,247,.76)!important;
}

@media(max-width:1100px){
  .home-page .hero-content h1{
    width:min(100%,640px)!important;
    max-width:640px!important;
  }
}

@media(max-width:800px){
  :root{
    --type-hero:clamp(27px,7.1vw,32px);
    --type-promo:clamp(36px,10vw,46px);
    --type-section:clamp(34px,9vw,46px);
    --type-card:clamp(23px,7vw,30px);
    --type-body:15px;
  }

  .home-page .hero-content h1{
    width:100%!important;
    max-width:100%!important;
    line-height:1.14!important;
  }

  .home-page .hero-content .hero-line,
  .home-page .hero-content .hero-line-nowrap{
    white-space:nowrap!important;
  }

  .footer-shell{
    gap:32px!important;
  }
}

@media(max-width:360px){
  .home-page .hero-content .hero-line,
  .home-page .hero-content .hero-line-nowrap{
    white-space:normal!important;
  }
}

/* Final image-system alignment for Purity and campaign. */
.home-page .home-hero,
.home-page .campaign-feature{
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;
  align-items:stretch!important;
  border:0!important;
  box-shadow:none!important;
}

.home-page .hero-product-card,
.home-page .campaign-placeholder{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:640px!important;
  justify-self:stretch!important;
  align-self:stretch!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  border-radius:var(--happy-radius)!important;
  overflow:hidden!important;
  background:transparent!important;
}

.home-page .hero-product-card::after{
  display:none!important;
}

.home-page .hero-product-card img[src*="banner-1"],
.home-page .campaign-placeholder img[src*="banner-2"]{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}

.home-page .hero-product-card img[src*="banner-1"]{
  object-fit:cover!important;
  object-position:50% 49%!important;
}

.home-page .campaign-placeholder img[src*="banner-2"]{
  object-fit:cover!important;
  object-position:50% 42%!important;
}

@media(max-width:1100px){
  .home-page .home-hero,
  .home-page .campaign-feature{
    grid-template-columns:1fr!important;
  }

  .home-page .hero-product-card,
  .home-page .campaign-placeholder{
    min-height:520px!important;
  }
}

@media(max-width:800px){
  .home-page .campaign-feature{
    padding:0!important;
  }

  .home-page .hero-product-card,
  .home-page .campaign-placeholder{
    width:100%!important;
    max-width:none!important;
    min-height:340px!important;
  }

  .home-page .campaign-placeholder img[src*="banner-2"]{
    object-position:49% 38%!important;
  }
}

/* Sand texture catalog CTA refresh. */
.home-page .catalog-cta{
  background:transparent!important;
  padding-block:clamp(50px,6vw,82px)!important;
}

.home-page .catalog-cta-card,
.home-page .catalog-cta-card.texture-teal{
  position:relative!important;
  overflow:hidden!important;
  background:
    linear-gradient(90deg,rgba(251,250,247,.94) 0%,rgba(251,250,247,.84) 47%,rgba(251,250,247,.68) 100%),
    url("../assets/happy/textures/Happy_Texture_1.png") center/cover!important;
  color:var(--happy-navy)!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

.home-page .catalog-cta-card h2,
.home-page .catalog-cta-card p{
  color:var(--happy-navy)!important;
  opacity:1!important;
}

.home-page .catalog-cta-card p{
  color:rgba(11,37,58,.78)!important;
}

.home-page .catalog-cta-card .button,
.home-page .catalog-cta-card .button.dark{
  background:var(--happy-navy)!important;
  border-color:var(--happy-navy)!important;
  color:var(--happy-seashell)!important;
}

.home-page .catalog-cta-card .button:hover,
.home-page .catalog-cta-card .button.dark:hover{
  background:#14334f!important;
  border-color:#14334f!important;
  color:var(--happy-seashell)!important;
}

/* Final Home section scale pass: stronger campaign title and full-bleed Sand CTA. */
.home-page .hero-content h1{
  width:min(100%,760px)!important;
  max-width:760px!important;
  font-size:clamp(58px,5.25vw,78px)!important;
  line-height:.98!important;
  margin:20px 0 26px!important;
}

.home-page .hero-content .hero-line,
.home-page .hero-content .hero-line-nowrap{
  white-space:nowrap!important;
}

.home-page .catalog-cta{
  background:
    linear-gradient(90deg,rgba(251,250,247,.9) 0%,rgba(251,250,247,.76) 54%,rgba(251,250,247,.58) 100%),
    url("../assets/happy/textures/Happy_Texture_1.png") center center/cover no-repeat!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  padding:clamp(70px,8vw,112px)!important;
}

.home-page .catalog-cta-card,
.home-page .catalog-cta-card.texture-teal{
  min-height:clamp(320px,28vw,430px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  padding:0!important;
}

.home-page .catalog-cta-card h2{
  max-width:760px!important;
}

.home-page .catalog-cta-card p{
  max-width:600px!important;
}

@media(max-width:800px){
  .home-page .hero-content h1{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(38px,10.7vw,52px)!important;
    line-height:1.02!important;
  }

  .home-page .catalog-cta{
    background:
      linear-gradient(180deg,rgba(251,250,247,.9) 0%,rgba(251,250,247,.78) 100%),
      url("../assets/happy/textures/Happy_Texture_1.png") center center/cover no-repeat!important;
    padding:48px 28px!important;
  }

  .home-page .catalog-cta-card{
    min-height:300px!important;
  }
}

/* Final balance for the lower Purity/image feature. */
.home-page .campaign-copy{
  padding:clamp(68px,6vw,94px) clamp(58px,6vw,92px) clamp(84px,7vw,118px)!important;
}

.home-page .campaign-copy .button-row{
  margin-top:clamp(30px,3vw,42px)!important;
  margin-bottom:clamp(8px,1vw,18px)!important;
}

.home-page .campaign-placeholder{
  box-sizing:border-box!important;
  padding:clamp(28px,3vw,44px)!important;
  background:var(--happy-white)!important;
  overflow:hidden!important;
}

.home-page .campaign-placeholder img[src*="banner-2"]{
  width:100%!important;
  height:100%!important;
  border-radius:var(--happy-radius)!important;
  object-fit:cover!important;
}

@media(max-width:800px){
  .home-page .campaign-copy{
    padding:44px 28px 62px!important;
  }

  .home-page .campaign-copy .button-row{
    margin-top:28px!important;
    margin-bottom:8px!important;
  }

  .home-page .campaign-placeholder{
    padding:20px!important;
  }
}

/* Corrected vertical alignment for the lower Purity feature. */
.home-page .campaign-feature{
  align-items:stretch!important;
}

.home-page .campaign-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
  padding:clamp(64px,6vw,92px) clamp(58px,6vw,92px)!important;
}

.home-page .campaign-copy .button-row{
  margin-top:clamp(28px,2.6vw,38px)!important;
  margin-bottom:0!important;
}

.home-page .campaign-placeholder{
  display:flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  padding:clamp(28px,3vw,44px)!important;
}

.home-page .campaign-placeholder img[src*="banner-2"]{
  flex:1 1 auto!important;
  min-width:0!important;
  min-height:0!important;
}

@media(max-width:800px){
  .home-page .campaign-copy{
    padding:48px 28px!important;
  }

  .home-page .campaign-copy .button-row{
    margin-top:28px!important;
  }

  .home-page .campaign-placeholder{
    padding:20px!important;
  }
}

/* Final crop correction for the lower lifestyle image and section depth. */
.home-page .campaign-feature{
  min-height:clamp(690px,54vw,780px)!important;
  overflow:visible!important;
}

.home-page .campaign-copy{
  justify-content:center!important;
  padding:clamp(78px,7vw,112px) clamp(58px,6vw,92px)!important;
}

.home-page .campaign-copy .button-row{
  margin-top:clamp(30px,2.8vw,42px)!important;
  margin-bottom:clamp(12px,1.4vw,22px)!important;
}

.home-page .campaign-placeholder{
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  min-height:clamp(620px,48vw,700px)!important;
  padding:clamp(34px,3.2vw,48px)!important;
}

.home-page .campaign-placeholder img[src*="banner-2"]{
  flex:0 1 auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  aspect-ratio:1482/1061!important;
  object-fit:contain!important;
  object-position:center center!important;
}

@media(max-width:1100px){
  .home-page .campaign-feature{
    min-height:0!important;
  }

  .home-page .campaign-placeholder{
    min-height:clamp(420px,62vw,560px)!important;
  }
}

@media(max-width:800px){
  .home-page .campaign-copy{
    padding:52px 28px 64px!important;
  }

  .home-page .campaign-copy .button-row{
    margin-bottom:10px!important;
  }

  .home-page .campaign-placeholder{
    min-height:0!important;
    padding:20px!important;
  }

  .home-page .campaign-placeholder img[src*="banner-2"]{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
  }
}

/* Final lifestyle panel fit: full column image, no floating inset. */
.home-page .campaign-feature{
  min-height:640px!important;
  align-items:stretch!important;
  overflow:hidden!important;
}

.home-page .campaign-placeholder{
  width:100%!important;
  height:100%!important;
  min-height:640px!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  display:block!important;
  padding:0!important;
  overflow:hidden!important;
  background:transparent!important;
  border-radius:var(--happy-radius)!important;
}

.home-page .campaign-placeholder img[src*="banner-2"]{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:50% 48%!important;
  border-radius:0!important;
}

@media(max-width:1100px){
  .home-page .campaign-feature{
    min-height:0!important;
  }

  .home-page .campaign-placeholder{
    min-height:520px!important;
  }
}

@media(max-width:800px){
  .home-page .campaign-placeholder{
    min-height:340px!important;
    padding:0!important;
  }

  .home-page .campaign-placeholder img[src*="banner-2"]{
    width:100%!important;
    height:100%!important;
    object-position:50% 46%!important;
  }
}

/* Explicit three-line setting for the Purity statement. */
.home-page .campaign-copy .purity-title-three{
  width:min(100%,660px)!important;
  max-width:660px!important;
  font-size:clamp(46px,4.45vw,68px)!important;
  line-height:1.02!important;
  letter-spacing:0!important;
}

.home-page .campaign-copy .purity-title-three span{
  display:block!important;
  max-width:100%!important;
  white-space:nowrap!important;
}

@media(max-width:800px){
  .home-page .campaign-copy .purity-title-three{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(34px,9.2vw,44px)!important;
    line-height:1.08!important;
  }

  .home-page .campaign-copy .purity-title-three span{
    white-space:normal!important;
  }
}

/* Keep the three-line Purity title inside the text column. */
.home-page .campaign-feature{
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;
  column-gap:clamp(34px,4.2vw,58px)!important;
}

.home-page .campaign-copy{
  min-width:0!important;
  overflow:hidden!important;
}

.home-page .campaign-copy .purity-title-three{
  width:100%!important;
  max-width:560px!important;
  font-size:clamp(42px,3.75vw,56px)!important;
  line-height:1.06!important;
}

.home-page .campaign-copy .purity-title-three span{
  display:block!important;
  white-space:nowrap!important;
}

@media(max-width:1100px){
  .home-page .campaign-feature{
    grid-template-columns:1fr!important;
    column-gap:0!important;
  }
}

@media(max-width:800px){
  .home-page .campaign-copy{
    overflow:visible!important;
  }

  .home-page .campaign-copy .purity-title-three{
    max-width:100%!important;
    font-size:clamp(34px,9vw,44px)!important;
  }

  .home-page .campaign-copy .purity-title-three span{
    white-space:normal!important;
  }
}

/* Happy brand system */
@font-face{
  font-family:"Geist";
  src:url("../assets/fonts/Geist-VariableFont_wght.ttf") format("truetype");
  font-weight:100 900;
  font-display:swap;
}
@font-face{
  font-family:"Disket Mono";
  src:url("../assets/fonts/Disket-Mono-Regular.ttf") format("truetype");
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"Disket Mono";
  src:url("../assets/fonts/Disket-Mono-Bold.ttf") format("truetype");
  font-weight:700;
  font-display:swap;
}

:root{
  --happy-off-white:#f4f3ef;
  --happy-black:#222322;
  --happy-orange:#ff6100;
  --happy-orange-deep:#d74a00;
  --happy-blue:#327edb;
  --happy-brown:#512411;
  --happy-green:#4a9a68;
  --happy-yellow:#f5bd42;
  --happy-red:#b71932;
  --happy-pink:#e7b7c4;
  --happy-sand:#f4f3ef;
  --happy-kelp:#ff6100;
  --happy-navy:#222322;
  --happy-navy-deep:#111211;
  --happy-seashell:#f4f3ef;
  --happy-white:#fffdf8;
  --happy-text:#222322;
  --happy-muted:rgba(34,35,34,.68);
  --happy-muted-light:rgba(244,243,239,.72);
  --happy-border:rgba(34,35,34,.16);
  --happy-border-light:rgba(244,243,239,.22);
  --happy-shadow:0 22px 58px rgba(34,35,34,.13);
  --happy-radius:0;
  --font-display:"Geist",Arial,sans-serif;
  --font-body:"Geist",Arial,sans-serif;
  --font-accent:"Disket Mono",monospace;
  --shell:min(1440px,calc(100% - 64px));
  --radius-xl:0;
  --radius-lg:0;
  --radius-md:0;
}

html{background:var(--happy-off-white)}
body{
  background:var(--happy-off-white)!important;
  color:var(--happy-black)!important;
  font-family:var(--font-body)!important;
}
body::before{
  background:
    linear-gradient(rgba(244,243,239,.96),rgba(244,243,239,.96)),
    url("../assets/happy/textures/Happy_Texture_1.png") center/900px auto repeat!important;
}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display)!important;font-weight:650!important;letter-spacing:-.045em!important}
.eyebrow,.product-meta,.product-copy>small,.variant-label,.collection-card small,.article-link,.featured-copy>a,.breadcrumb,.site-footer h2,.button,.button-outline,.filter-row button,.variant,.cart-remove,.collection-number,.catalog-stat{
  font-family:var(--font-accent)!important;
  letter-spacing:.055em!important;
}
.eyebrow{color:var(--happy-orange)!important}
.button,.button.primary,.button.dark,.form-panel button,.add-product{
  border:1px solid var(--happy-black)!important;
  border-radius:0!important;
  background:var(--happy-black)!important;
  color:var(--happy-off-white)!important;
  box-shadow:none!important;
}
.button:hover,.button.primary:hover,.button.dark:hover,.form-panel button:hover,.add-product:hover{
  background:var(--happy-blue)!important;
  border-color:var(--happy-blue)!important;
  color:var(--happy-off-white)!important;
}
.button.secondary,.button-outline,.button.ghost{
  border:1px solid var(--happy-black)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--happy-black)!important;
}
.button.secondary:hover,.button-outline:hover,.button.ghost:hover{background:var(--happy-black)!important;color:var(--happy-off-white)!important}

.site-header{
  padding:0!important;
  background:var(--happy-black)!important;
  border-bottom:1px solid rgba(244,243,239,.18)!important;
}
.header-shell{height:82px!important;width:var(--shell)!important;padding:0!important;background:transparent!important;border:0!important}
.brand img{width:154px!important;max-height:42px!important;filter:invert(1)!important}
.desktop-nav a,.utility-nav a,.mobile-menu a,.menu-toggle{font-family:var(--font-accent)!important;color:var(--happy-off-white)!important}
.desktop-nav a:hover,.utility-nav a:hover,.mobile-menu a:hover{color:var(--happy-orange)!important}
.utility-nav span{background:var(--happy-orange)!important;color:var(--happy-black)!important}
.mobile-menu{background:var(--happy-black)!important;border:1px solid rgba(244,243,239,.2)!important}

.home-page main{background:var(--happy-off-white)!important}
.home-page .home-hero{
  margin-top:0!important;
  width:100%!important;
  max-width:none!important;
  min-height:clamp(610px,51vw,780px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr)!important;
  gap:0!important;
  background:var(--happy-orange)!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
}
.home-page .hero-product-card{
  order:0!important;
  width:100%!important;
  height:100%!important;
  min-height:clamp(610px,51vw,780px)!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:var(--happy-orange)!important;
}
.home-page .hero-product-card img,
.home-page .hero-product-card img[src*="banner-1"]{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:50% 51%!important;
}
.home-page .hero-content{
  order:1!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  padding:clamp(54px,6vw,104px)!important;
  background:var(--happy-orange)!important;
  color:var(--happy-black)!important;
}
.home-page .hero-content .eyebrow,.home-page .hero-content h1,.home-page .hero-content p{color:var(--happy-black)!important}
.home-page .hero-content .eyebrow{font-family:var(--font-accent)!important;margin-bottom:18px!important}
.home-page .hero-content h1{width:min(100%,650px)!important;max-width:650px!important;font-size:clamp(50px,5vw,78px)!important;line-height:.96!important;margin:0 0 30px!important}
.home-page .hero-content p{max-width:540px!important;margin:0 0 10px!important}
.home-page .hero-content .button-row{margin-top:24px!important}

.home-page .campaign-feature{
  width:var(--shell)!important;
  min-height:640px!important;
  height:auto!important;
  margin-top:clamp(52px,7vw,102px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  gap:0!important;
  background:var(--happy-blue)!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
}
.home-page .campaign-copy{
  min-width:0!important;
  padding:clamp(52px,4.5vw,70px)!important;
  background:var(--happy-blue)!important;
  color:var(--happy-black)!important;
}
.home-page .campaign-copy>span{font-family:var(--font-accent)!important;color:var(--happy-black)!important}
.home-page .campaign-copy .purity-title-three{max-width:100%!important;font-size:clamp(34px,3vw,46px)!important;line-height:1.04!important;color:var(--happy-black)!important}
.home-page .campaign-copy .purity-title-three span{white-space:nowrap!important}
.home-page .campaign-copy p{max-width:560px!important;color:rgba(34,35,34,.78)!important}
.home-page .campaign-placeholder{
  min-height:640px!important;
  height:100%!important;
  padding:0!important;
  background:var(--happy-black)!important;
  border-radius:0!important;
  overflow:hidden!important;
}
.home-page .campaign-placeholder img,
.home-page .campaign-placeholder img[src*="banner-2"]{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:53% 50%!important;
  border-radius:0!important;
}

.top-sellers{padding-block:clamp(80px,9vw,138px)!important}
.top-sellers .section-heading{border-top:2px solid var(--happy-black)!important;padding-top:26px!important}
.top-seller-grid{gap:20px!important;align-items:stretch!important}
.mini-product-card,.strip-product-card,.embedded-product-card,.product-card{
  border:1px solid var(--happy-black)!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  background:var(--happy-white)!important;
}
.mini-product-card{display:flex!important;flex-direction:column!important;align-items:stretch!important}
.mini-product-card>div{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;align-items:stretch!important;background:var(--happy-white)!important;color:var(--happy-black)!important}
.mini-product-card>div>span,.mini-product-card h3,.mini-product-card p,.mini-product-card strong{position:static!important;color:var(--happy-black)!important}
.mini-product-card .button{margin-top:auto!important}
.mini-product-card>img,.strip-product-card img,.embedded-product-card img,.product-image img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:2/3!important;
  object-fit:cover!important;
  object-position:center!important;
  padding:0!important;
  margin:0!important;
  background:var(--happy-black)!important;
}
.mini-product-card img[src$="product-2.png"],.strip-product-card img[src$="product-2.png"],.embedded-product-card img[src$="product-2.png"],.product-image img[src$="product-2.png"]{transform:scale(1.12)!important}
.mini-product-card>div,.strip-product-card>div,.embedded-product-card>div,.product-copy{padding:24px!important}
.mini-product-card:nth-child(3n+1),.product-card:nth-child(3n+1){border-top:10px solid var(--happy-blue)!important}
.mini-product-card:nth-child(3n+2),.product-card:nth-child(3n+2){border-top:10px solid var(--happy-brown)!important}
.mini-product-card:nth-child(3n),.product-card:nth-child(3n){border-top:10px solid var(--happy-orange)!important}

.statement-section{margin-block:0!important}
.statement-card.texture-white{
  min-height:470px!important;
  padding:clamp(52px,7vw,112px)!important;
  background:var(--happy-black)!important;
  color:var(--happy-off-white)!important;
  border:0!important;
  border-radius:0!important;
}
.statement-card.texture-white::after{
  content:"";
  position:absolute;
  inset:0 0 0 58%;
  background:url("../assets/happy/textures/Happy_Texture_1.png") center/cover;
  mix-blend-mode:screen;
  opacity:.17;
}
.statement-card h2,.statement-card p{position:relative;z-index:1;color:var(--happy-off-white)!important}

.collections{padding-block:clamp(82px,9vw,140px)!important}
.collection-grid{gap:0!important;border:1px solid var(--happy-black)!important}
.collection-card{min-height:430px!important;border:0!important;border-right:1px solid var(--happy-black)!important;border-radius:0!important;box-shadow:none!important;padding:34px!important}
.collection-card:last-child{border-right:0!important}
.collection-card.teal{background:var(--happy-orange)!important;color:var(--happy-black)!important}
.collection-card.sand{background:var(--happy-blue)!important;color:var(--happy-black)!important}
.collection-card.brown{background:var(--happy-brown)!important;color:var(--happy-off-white)!important}
.collection-card h3,.collection-card p,.collection-card small,.collection-card footer,.collection-card span{color:inherit!important}
.collection-icon img{width:46px!important;height:46px!important;object-fit:contain!important}

.home-page .community-cta{width:100%!important;max-width:none!important;margin:0!important}
.community-cta>div,.home-page .community-cta>div{
  min-height:570px!important;
  padding:clamp(60px,8vw,120px)!important;
  border-radius:0!important;
  background:
    linear-gradient(90deg,rgba(50,126,219,.98) 0%,rgba(50,126,219,.9) 48%,rgba(50,126,219,.55) 100%),
    url("../assets/happy/textures/Happy_Texture_2.png") center/cover!important;
  color:var(--happy-black)!important;
}
.community-cta .eyebrow,.community-cta h2,.community-cta p{color:var(--happy-black)!important;text-shadow:none!important}
.community-cta .button.secondary{background:var(--happy-black)!important;border-color:var(--happy-black)!important;color:var(--happy-off-white)!important}

.home-page .catalog-cta{
  width:100%!important;
  max-width:none!important;
  padding:clamp(64px,8vw,118px)!important;
  background:
    linear-gradient(90deg,rgba(255,97,0,.98) 0%,rgba(255,97,0,.9) 54%,rgba(255,97,0,.58) 100%),
    url("../assets/happy/textures/Happy_Texture_1.png") center/cover!important;
}
.home-page .catalog-cta-card{width:var(--shell)!important;margin:auto!important;min-height:330px!important;background:transparent!important;color:var(--happy-black)!important}
.home-page .catalog-cta-card h2,.home-page .catalog-cta-card p{color:var(--happy-black)!important}

.catalog-hero,.journal-hero,.manifesto-hero,.page-hero{border-bottom:2px solid var(--happy-black)!important}
.filter-shell{background:var(--happy-off-white)!important;border-block:1px solid var(--happy-black)!important}
.filter-row button.is-active{background:var(--happy-orange)!important;color:var(--happy-black)!important;border-color:var(--happy-black)!important}
.product-image{padding:0!important;background:var(--happy-black)!important}
.product-image>span{z-index:2!important;margin:14px!important;padding:8px 10px!important;background:var(--happy-off-white)!important;color:var(--happy-black)!important}
.detail-image{padding:0!important;border:1px solid var(--happy-black)!important;border-radius:0!important;background:var(--happy-black)!important;overflow:hidden!important}
.detail-image>img{width:100%!important;aspect-ratio:2/3!important;object-fit:cover!important;padding:0!important}
.detail-image>div{background:var(--happy-black)!important;color:var(--happy-off-white)!important}
.detail-copy{color:var(--happy-black)!important;background:var(--happy-white)!important}
.detail-copy h1{font-size:clamp(48px,5vw,72px)!important;line-height:.98!important;color:var(--happy-black)!important}
.detail-copy .identity,.detail-copy>p{color:var(--happy-muted)!important}
.detail-price strong,.detail-price span,.detail-copy .variant-label{color:var(--happy-black)!important}
.variant,.form-panel input,.form-panel select,.form-panel textarea{border-radius:0!important}
.variant.is-active{background:var(--happy-orange)!important;color:var(--happy-black)!important;border-color:var(--happy-black)!important}
.research-gate{background:rgba(34,35,34,.96)!important}
.research-gate-panel{border:1px solid var(--happy-orange)!important;border-radius:0!important;background:var(--happy-off-white)!important;box-shadow:18px 18px 0 var(--happy-orange)!important;overflow-x:hidden!important}
.research-gate-logo{filter:none!important}

.site-footer{
  margin-top:0!important;
  padding-top:clamp(70px,8vw,110px)!important;
  background:var(--happy-black)!important;
  color:var(--happy-off-white)!important;
  border-top:8px solid var(--happy-orange)!important;
}
.site-footer .footer-brand img{width:168px!important;filter:invert(1)!important}
.site-footer h2,.site-footer p,.site-footer a,.site-footer .legal-copy,.site-footer .footer-floor{color:var(--happy-off-white)!important}
.site-footer a:hover{color:var(--happy-orange)!important}

@media(max-width:1100px){
  .home-page .home-hero,.home-page .campaign-feature{grid-template-columns:1fr!important}
  .home-page .hero-product-card{min-height:520px!important}
  .home-page .hero-content{min-height:480px!important}
  .home-page .campaign-placeholder{min-height:520px!important}
  .collection-grid{grid-template-columns:1fr!important}
  .collection-card{border-right:0!important;border-bottom:1px solid var(--happy-black)!important}
  .collection-card:last-child{border-bottom:0!important}
}

@media(max-width:800px){
  :root{--shell:calc(100% - 32px)}
  .header-shell{height:72px!important}
  .brand img{width:128px!important}
  .home-page .home-hero{min-height:0!important}
  .home-page .hero-product-card{min-height:360px!important}
  .home-page .hero-content{min-height:0!important;padding:48px 24px 58px!important}
  .home-page .hero-content h1{font-size:clamp(38px,11vw,52px)!important}
  .home-page .campaign-feature{width:100%!important;margin-top:0!important;min-height:0!important}
  .home-page .campaign-copy{padding:52px 24px 62px!important}
  .home-page .campaign-copy .purity-title-three{font-size:clamp(30px,8.4vw,36px)!important}
  .home-page .campaign-copy .purity-title-three span{white-space:normal!important}
  .home-page .campaign-placeholder{min-height:360px!important}
  .statement-card.texture-white{padding:50px 24px!important}
  .statement-card.texture-white::after{inset:55% 0 0 0}
  .community-cta>div,.home-page .community-cta>div{min-height:480px!important;padding:52px 24px!important}
  .home-page .catalog-cta{padding:58px 24px!important}
  .home-page .catalog-cta-card{width:100%!important}
  .top-seller-grid{grid-template-columns:1fr!important}
  .mini-product-card>img{max-height:520px!important}
  .detail-image>img{max-height:640px!important}
}

/* Home-only layout alignment with the shared Clean/Keel content shell. */
.home-page .home-hero,
.home-page .community-cta,
.home-page .catalog-cta{
  width:var(--shell)!important;
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.home-page .catalog-cta-card{
  width:100%!important;
}

/* Keep the two Home banners flush with their adjacent photography. */
.home-page .home-hero,
.home-page .campaign-feature{
  padding:0!important;
}

.home-page .hero-content{
  border:0!important;
}

/* Match the restrained header-to-hero breathing room used by Keel. */
.home-page .home-hero{
  margin-top:clamp(20px,2.7vw,34px)!important;
}

/* Give the Purity statement more presence while preserving its column. */
.home-page .campaign-copy .purity-title-three{
  font-size:clamp(40px,3.6vw,54px)!important;
  line-height:1.02!important;
}

.home-page .campaign-copy .purity-title-three span{
  white-space:nowrap!important;
}

.home-page .campaign-copy .purity-title-three span:last-child{
  max-width:9em!important;
  white-space:normal!important;
}

/* Remove only the outer frame around the three research cards. */
.home-page .collection-grid{
  border:0!important;
}

/* Align and compact the black Happy Standard module without changing its type. */
.home-page .statement-section{
  padding-block:clamp(42px,4.5vw,58px)!important;
}

.home-page .statement-card.texture-white{
  min-height:360px!important;
  padding:clamp(34px,3.4vw,48px) 0!important;
}

.home-page .statement-card h2{
  width:min(100%,450px)!important;
  max-width:450px!important;
}

@media(max-width:800px){
  .home-page .campaign-copy .purity-title-three{
    font-size:clamp(34px,9vw,42px)!important;
    line-height:1.06!important;
  }
}

/* Match the Catalog CTA headline scale to Join the Community. */
.home-page .catalog-cta-card h2{
  font-size:clamp(36px,4.7vw,76px)!important;
  line-height:1.02!important;
}

@media(max-width:800px){
  .home-page .catalog-cta-card h2{
    font-size:clamp(38px,11vw,52px)!important;
    line-height:1.02!important;
  }
}

/* Home-only optical normalization for the three supplied product renders. */
.home-page .mini-product-card>img,
.home-page .strip-product-card img{
  transform-origin:center center!important;
  object-position:center center!important;
}

.home-page .mini-product-card>div,
.home-page .strip-product-card>div{
  position:relative!important;
  z-index:1!important;
  background:var(--happy-white)!important;
}

.home-page .mini-product-card>img[src$="product-2.png"],
.home-page .strip-product-card img[src$="product-2.png"]{
  transform:translateY(4%) scale(1.16)!important;
}

.home-page .mini-product-card>img[src$="product-3.png"],
.home-page .strip-product-card img[src$="product-3.png"]{
  transform:translateY(2%) scale(1.12)!important;
}

/* Shared Happy blue CTA treatment for dark Journal and Manifesto panels. */
.manifesto-page .manifesto-cta .button.primary,
.journal-page .subscribe-card .button.teal-button{
  background:var(--happy-blue)!important;
  border-color:var(--happy-blue)!important;
  color:var(--happy-off-white)!important;
}

/* Three equally weighted Featured Compounds on content pages. */
.embedded-product-section>div{
  align-items:stretch!important;
}

.embedded-product-section .embedded-product-card{
  height:100%!important;
}

.embedded-product-section .embedded-product-card>div{
  min-width:0!important;
  height:100%!important;
}

.embedded-product-section .embedded-product-card .button{
  width:100%!important;
}

.embedded-product-section .embedded-product-card img[src$="product-3.png"]{
  transform:scale(1.12)!important;
}

@media(min-width:1101px){
  .embedded-product-section .embedded-product-card{
    grid-template-columns:minmax(140px,42%) minmax(0,1fr)!important;
  }
}

/* Keep the final Featured Compounds module integrated with the page surface. */
.product-strip{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.product-strip header{
  border:0!important;
}

/* Remove only the long Catalog separators shown around its hero and filters. */
.catalog-page .catalog-hero{
  border-bottom:0!important;
}

.catalog-page .filter-shell{
  border-block:0!important;
}

/* Contact: retain the two-column layout while removing the boxed panels. */
.contact-page .contact-details,
.contact-page .form-panel{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.contact-page .contact-details>a{
  font-size:clamp(22px,2.2vw,34px)!important;
  line-height:1.18!important;
  overflow-wrap:anywhere;
}

/* Happy motion and commerce system */
html{scrollbar-gutter:stable}
body{min-height:100vh}
body.overlay-open{overflow:hidden}

.sticky-site-chrome{
  position:sticky;
  top:0;
  z-index:500;
  width:100%;
}
.sticky-site-chrome .site-header{position:relative!important;top:auto!important}
.announcement-bar{
  height:42px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:var(--happy-orange);
  color:var(--happy-black);
  border-bottom:1px solid var(--happy-black);
  font-family:var(--font-accent);
  text-transform:uppercase;
  white-space:nowrap;
}
.announcement-track{
  display:flex;
  width:max-content;
  min-width:200%;
  animation:happy-announcement 34s linear infinite;
  will-change:transform;
}
.announcement-track>div{
  flex:none;
  display:flex;
  align-items:center;
  justify-content:space-around;
  min-width:100vw;
  gap:32px;
  padding-inline:16px;
}
.announcement-track span{font-size:11px;letter-spacing:.07em}
.announcement-track .announcement-promo{font-weight:700;font-size:12px}
.announcement-track .announcement-info{
  opacity:1;
  font-family:var(--font-accent);
  font-size:12px;
  font-weight:700;
  letter-spacing:.055em;
}
.announcement-track i{font-style:normal;font-size:10px}
@keyframes happy-announcement{to{transform:translateX(-50%)}}

.header-shell{position:relative}
.header-cart-button{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  min-height:42px;
  padding:0 15px;
  border:0;
  box-shadow:none;
  background:transparent;
  color:var(--happy-off-white);
  cursor:pointer;
  font-family:var(--font-accent);
  font-size:12px;
  font-weight:700;
  letter-spacing:.055em;
  text-transform:uppercase;
  transition:background .24s ease,color .24s ease,border-color .24s ease;
}
.header-cart-button:hover,.header-cart-button:focus-visible{
  background:var(--happy-orange);
  color:var(--happy-black);
}
.header-cart-button span{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  height:20px;
  margin-left:5px;
  background:var(--happy-blue);
  color:var(--happy-off-white);
}
.utility-nav{padding-right:92px}
.utility-nav a[href$="cart.html"]{display:none}

.button,.button-outline,.filter-row button,.variant,.cart-remove,.header-cart-button,.quantity-control button,.icon-button{
  transition:background-color .24s ease,color .24s ease,border-color .24s ease,transform .24s ease,opacity .24s ease!important;
}
.button:active,.button-outline:active,.filter-row button:active,.variant:active,.header-cart-button:active{transform:translateY(1px)!important}
.button:disabled,.button-outline:disabled,.filter-row button:disabled,.variant:disabled{
  opacity:.45!important;
  cursor:not-allowed!important;
  pointer-events:none;
}

.motion-enhanced body,
.motion-enhanced:not(.page-ready) body,
.motion-enhanced.page-ready body,
.motion-enhanced.page-leaving body{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}

.reveal-enhanced .reveal-item{
  opacity:0!important;
  transform:translate3d(0,22px,0)!important;
  will-change:opacity,transform;
  transition:
    opacity 560ms ease-out var(--reveal-delay,0ms),
    transform 620ms cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)!important;
}
.reveal-enhanced .reveal-item[data-reveal-kind="visual"]{
  transform:translate3d(0,28px,0)!important;
}
.reveal-enhanced .reveal-item.is-revealed{
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
}

/* Full-bleed Happy video hero with a branded reading gradient */
.home-page .happy-video-hero{
  position:relative!important;
  isolation:isolate;
  display:flex!important;
  align-items:center!important;
  min-height:clamp(650px,76vh,880px)!important;
  margin-top:clamp(20px,2.7vw,34px)!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--happy-black)!important;
  border:1px solid var(--happy-black)!important;
}
.happy-hero-video{
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
@media(min-width:801px){
  .happy-hero-video{
    transform:translateX(14%) scale(1.28);
    transform-origin:center;
  }
}
.happy-hero-gradient{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(34,35,34,.98) 0%,rgba(34,35,34,.92) 29%,rgba(81,36,17,.72) 50%,rgba(34,35,34,.1) 78%),
    linear-gradient(0deg,rgba(34,35,34,.22),rgba(34,35,34,.08));
}
.home-page .happy-video-hero .hero-content{
  width:min(650px,58%);
  min-height:0!important;
  padding:clamp(50px,6vw,92px)!important;
  background:transparent!important;
  border:0!important;
}
.happy-video-hero .eyebrow{color:var(--happy-orange)!important}
.home-page .happy-video-hero .hero-content h1{
  max-width:8.5em;
  margin-bottom:26px!important;
  color:var(--happy-off-white)!important;
  font-size:clamp(54px,6.5vw,104px)!important;
  line-height:.88!important;
}
.home-page .happy-video-hero .hero-content h1 .hero-line{color:var(--happy-off-white)!important}
.home-page .happy-video-hero .hero-content p{max-width:530px;color:rgba(244,243,239,.84)!important}
.home-page .happy-video-hero .hero-content p+p{font-size:14px;color:rgba(244,243,239,.65)!important}
.happy-video-hero .button.primary{
  background:var(--happy-orange)!important;
  border-color:var(--happy-orange)!important;
  color:var(--happy-black)!important;
}
.happy-video-hero .button.primary:hover{
  background:var(--happy-blue)!important;
  border-color:var(--happy-blue)!important;
  color:var(--happy-off-white)!important;
}

/* Why Choose Happy */
.why-happy{padding-block:clamp(88px,10vw,150px)}
.why-happy-header{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.72fr);
  column-gap:clamp(36px,7vw,110px);
  align-items:end;
  margin-bottom:clamp(36px,5vw,64px);
  padding-top:28px;
  border-top:2px solid var(--happy-black);
}
.why-happy-header .eyebrow{grid-column:1/-1}
.why-happy-header h2{margin:0}
.why-happy-header p{max-width:520px;margin:0 0 8px}
.why-happy-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.why-happy-card{
  position:relative;
  min-height:600px;
  overflow:hidden;
  border:1px solid var(--happy-black);
  background:var(--happy-black);
  color:var(--happy-off-white);
  cursor:default;
  transition:transform .42s cubic-bezier(.22,1,.36,1),border-color .3s ease;
}
.why-happy-card>img:first-child{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .52s cubic-bezier(.22,1,.36,1),filter .42s ease;
}
.why-happy-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(34,35,34,.03) 24%,rgba(34,35,34,.92) 100%);
}
.why-happy-copy{
  position:absolute;
  inset:auto 0 0;
  z-index:1;
  padding:clamp(26px,3vw,42px);
}
.why-happy-icon{
  width:42px!important;
  height:42px!important;
  margin-bottom:22px;
  object-fit:contain!important;
  transition:transform .38s ease;
}
.why-happy-card h3{margin-bottom:14px;color:var(--happy-off-white)!important}
.why-happy-card p{margin:0;color:rgba(244,243,239,.8)!important;font-size:15px}
.why-happy-card:hover{transform:translateY(-6px);border-color:var(--happy-orange)}
.why-happy-card:hover>img:first-child{transform:scale(1.075);filter:saturate(1.06)}
.why-happy-card:hover .why-happy-icon{transform:translateX(5px)}

/* Research without guesswork */
.research-guesswork{padding-bottom:clamp(88px,10vw,150px)}
.research-guesswork-panel{
  position:relative;
  isolation:isolate;
  min-height:clamp(520px,58vw,720px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  overflow:hidden;
  padding:clamp(40px,7vw,100px);
  border:1px solid var(--happy-black);
  background:
    linear-gradient(90deg,rgba(34,35,34,.94) 0%,rgba(34,35,34,.78) 40%,rgba(34,35,34,.18) 75%),
    url("../assets/happy/media/research-without-guesswork.jpeg") center/cover no-repeat;
  transition:transform .42s cubic-bezier(.22,1,.36,1),border-color .3s ease;
}
.research-guesswork-panel::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(0deg,rgba(34,35,34,.5),transparent 48%);
}
.research-guesswork-panel:hover{transform:translateY(-4px);border-color:var(--happy-orange)}
.research-guesswork-panel h2{
  max-width:820px;
  margin-bottom:22px;
  color:var(--happy-off-white)!important;
}
.research-guesswork-panel p{max-width:650px;color:rgba(244,243,239,.82)!important}
.research-guesswork-panel .button{margin-top:16px;background:var(--happy-orange)!important;border-color:var(--happy-orange)!important;color:var(--happy-black)!important}
.research-guesswork-panel .button:hover{background:var(--happy-blue)!important;border-color:var(--happy-blue)!important;color:var(--happy-off-white)!important}

/* Unified card scale, image motion and internal alignment */
.product-grid,.top-seller-grid,.related>div,.journal-grid{align-items:stretch!important}
.journal-grid{grid-auto-rows:1fr}
.product-card,.mini-product-card,.strip-product-card,.embedded-product-card,.journal-card{
  height:100%;
  transition:transform .42s cubic-bezier(.22,1,.36,1),border-color .3s ease!important;
}
.product-card-link{height:100%;display:flex!important;flex-direction:column!important}
.product-copy{flex:1 1 auto!important}
.product-copy>small,.mini-product-card .button,.strip-product-card .button,.embedded-product-card .button{margin-top:auto!important}
.product-card-media-link{
  display:block;
  overflow:hidden;
  background:var(--happy-black);
}
.mini-product-card>.product-card-media-link img,
.strip-product-card>.product-card-media-link img,
.embedded-product-card>.product-card-media-link img{
  width:100%;
  aspect-ratio:2/3;
  object-fit:cover;
  transition:transform .48s cubic-bezier(.22,1,.36,1),filter .35s ease!important;
}
.product-image{overflow:hidden}
.product-image img,.journal-card-image img,.detail-image>img{
  transition:transform .48s cubic-bezier(.22,1,.36,1),filter .35s ease,opacity .22s ease!important;
}
.product-card:hover,.mini-product-card:hover,.strip-product-card:hover,.embedded-product-card:hover,.journal-card:hover{
  transform:translateY(-5px)!important;
  border-color:var(--happy-blue)!important;
}
.product-card:hover .product-image img,
.mini-product-card:hover>.product-card-media-link img,
.strip-product-card:hover>.product-card-media-link img,
.embedded-product-card:hover>.product-card-media-link img,
.journal-card:hover .journal-card-image img{
  transform:scale(1.075)!important;
}
.detail-image:hover>img{transform:scale(1.055)!important}
.detail-image>img.is-switching{opacity:.35;transform:scale(.985)!important}
.product-card-title-link h2,.product-card-title-link h3{transition:color .24s ease}
.product-card-title-link:hover h2,.product-card-title-link:hover h3{color:var(--happy-blue)!important}
.product-promo-label{
  display:inline-flex;
  align-self:flex-start;
  margin-top:16px;
  padding:7px 9px;
  border:1px solid var(--happy-black);
  background:var(--happy-orange);
  color:var(--happy-black)!important;
  font-family:var(--font-accent);
  font-size:10px;
  font-weight:700;
  letter-spacing:.06em;
  line-height:1.2;
  text-transform:uppercase;
}
.detail-promo-label{margin:0 0 20px!important;font-size:11px!important}
.collection-card,.principle-grid article{
  transition:transform .4s cubic-bezier(.22,1,.36,1),background-color .3s ease,border-color .3s ease!important;
}
.collection-card:hover,.principle-grid article:hover{transform:translateY(-5px)!important;border-color:var(--happy-blue)!important}
.collection-card footer span{transition:transform .28s ease}
.collection-card:hover footer span{transform:translateX(5px)}

/* Product quantity and promotion status */
.product-detail-quantity{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:20px 0 14px;
  padding-top:20px;
  border-top:1px solid rgba(34,35,34,.18);
  font-family:var(--font-accent);
  font-size:12px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.quantity-control{display:inline-flex;align-items:center;border:1px solid var(--happy-black)}
.quantity-control button{
  width:38px;
  height:38px;
  border:0;
  background:transparent;
  color:var(--happy-black);
  cursor:pointer;
}
.quantity-control button:hover,.quantity-control button:focus-visible{background:var(--happy-blue);color:var(--happy-off-white)}
.quantity-control span,.quantity-control strong{min-width:34px;text-align:center;color:var(--happy-black)}
.promotion-status{padding:18px;border:1px solid var(--happy-black);background:var(--happy-off-white);color:var(--happy-black)}
.promotion-status-head{display:flex;justify-content:space-between;gap:16px;font-family:var(--font-accent);font-size:11px;text-transform:uppercase}
.promotion-progress{height:8px;margin:14px 0;background:rgba(34,35,34,.14);overflow:hidden}
.promotion-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--happy-orange),var(--happy-blue));transition:width .38s ease}
.promotion-status>p{margin:0 0 12px;color:var(--happy-black)!important;font-size:13px;line-height:1.45}
.promotion-status>small{display:block;margin-top:12px;color:rgba(34,35,34,.62);font-size:10px;line-height:1.4}
.promotion-choice-list{display:grid;gap:10px;margin-top:14px}
.promotion-choice{display:grid;gap:7px;width:100%;padding:12px;border:1px solid rgba(34,35,34,.24);background:var(--happy-white);color:var(--happy-black);text-align:left;cursor:pointer}
.promotion-choice:hover,.promotion-choice:focus-visible{border-color:var(--happy-blue);background:rgba(50,126,219,.07)}
.promotion-choice>span{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.promotion-choice b{font-family:var(--font-accent);font-size:11px;text-transform:uppercase}
.promotion-choice span small{max-width:190px;color:rgba(34,35,34,.62);font-size:9px;text-align:right}
.promotion-choice select{width:100%;min-height:42px;padding:0 10px;border:1px solid var(--happy-black);background:var(--happy-off-white);color:var(--happy-black);font-size:12px}
.promotion-choice em{color:var(--happy-blue);font-family:var(--font-accent);font-size:9px;font-style:normal;text-transform:uppercase}
.promotion-picker-launch{
  width:100%;
  min-height:50px;
  padding:12px 18px;
  border:1px solid var(--happy-black);
  background:var(--happy-black);
  color:var(--happy-off-white);
  font-family:var(--font-accent);
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}
.promotion-picker-launch:hover,.promotion-picker-launch:focus-visible{background:var(--happy-blue);border-color:var(--happy-blue);color:var(--happy-off-white)}

/* Visual free-vial selector */
body.promotion-picker-open{overflow:hidden}
.promotion-picker{
  position:fixed;
  inset:0;
  z-index:920;
  visibility:hidden;
  pointer-events:none;
}
.promotion-picker.is-open{visibility:visible;pointer-events:auto}
.promotion-picker-backdrop{
  position:absolute;
  inset:0;
  background:rgba(34,35,34,.78);
  opacity:0;
  transition:opacity .28s ease;
}
.promotion-picker.is-open .promotion-picker-backdrop{opacity:1}
.promotion-picker-panel{
  position:absolute;
  inset:4vh 50% auto auto;
  width:min(1180px,calc(100% - 48px));
  max-height:92vh;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  overflow:hidden;
  border:1px solid var(--happy-black);
  border-radius:24px;
  background:var(--happy-off-white);
  box-shadow:0 28px 80px rgba(0,0,0,.28);
  opacity:0;
  transform:translateX(50%) translateY(28px) scale(.98);
  transition:opacity .3s ease,transform .42s cubic-bezier(.22,1,.36,1);
}
.promotion-picker.is-open .promotion-picker-panel{opacity:1;transform:translateX(50%) translateY(0) scale(1)}
.promotion-picker-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
  padding:42px 48px 24px;
}
.promotion-picker-header .eyebrow{display:block;margin-bottom:10px}
.promotion-picker-header h2{margin:0;font-size:clamp(42px,6vw,78px)!important;line-height:.92!important}
.promotion-picker-header p{margin:14px 0 0;color:var(--happy-black)!important}
.promotion-picker-close{
  width:48px;
  height:48px;
  flex:none;
  border:1px solid var(--happy-black);
  border-radius:50%;
  background:transparent;
  color:var(--happy-black);
  font-size:27px;
  line-height:1;
  cursor:pointer;
}
.promotion-picker-close:hover,.promotion-picker-close:focus-visible{background:var(--happy-orange);border-color:var(--happy-orange)}
.promotion-picker-slots{display:flex;gap:10px;padding:0 48px 22px;overflow:auto}
.promotion-picker-slots button{
  min-width:150px;
  padding:10px 14px;
  border:1px solid rgba(34,35,34,.24);
  border-radius:999px;
  background:var(--happy-white);
  color:var(--happy-black);
  text-align:left;
  cursor:pointer;
}
.promotion-picker-slots button span,.promotion-picker-slots button small{display:block}
.promotion-picker-slots button span{font-family:var(--font-accent);font-size:10px;text-transform:uppercase}
.promotion-picker-slots button small{margin-top:3px;color:rgba(34,35,34,.64)}
.promotion-picker-slots button.is-active{border-color:var(--happy-orange);box-shadow:inset 0 0 0 2px var(--happy-orange)}
.promotion-picker-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  padding:8px 48px 48px;
  overflow:auto;
}
.promotion-product-card{
  width:100%;
  min-width:0;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(34,35,34,.2);
  border-radius:18px;
  background:var(--happy-white);
  color:var(--happy-black);
  text-align:left;
  cursor:pointer;
  transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .25s ease,box-shadow .25s ease;
}
.promotion-product-card:hover,.promotion-product-card:focus-visible{transform:translateY(-5px);border-color:var(--happy-blue);box-shadow:0 16px 30px rgba(34,35,34,.12)}
.promotion-product-card.is-selected{border-color:var(--happy-orange);box-shadow:inset 0 0 0 2px var(--happy-orange)}
.promotion-product-image{height:190px;overflow:hidden;background:var(--happy-black)}
.promotion-product-image img{
  --promotion-bottle-scale:1;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  transform:scale(var(--promotion-bottle-scale));
  transform-origin:center;
}
.promotion-product-image img[src$="product-2.png"]{--promotion-bottle-scale:1.158}
.promotion-product-image img[src$="product-3.png"]{--promotion-bottle-scale:1.117}
.promotion-product-copy{display:grid;gap:8px;padding:18px}
.promotion-product-copy h3{margin:0;font-size:23px!important;line-height:1!important}
.promotion-product-copy p{min-height:34px;margin:0;font-size:11px!important;line-height:1.35;color:rgba(34,35,34,.66)!important}
.promotion-product-select{
  display:grid;
  place-items:center;
  min-height:44px;
  margin-top:6px;
  border:1px solid var(--happy-black);
  border-radius:999px;
  background:var(--happy-black);
  color:var(--happy-off-white);
  font-family:var(--font-accent);
  font-size:10px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.promotion-product-card:hover .promotion-product-select,
.promotion-product-card:focus-visible .promotion-product-select{background:var(--happy-blue);border-color:var(--happy-blue);color:var(--happy-off-white)}
.promotion-product-card.is-selected .promotion-product-select{background:var(--happy-orange);border-color:var(--happy-orange);color:var(--happy-black)}
@media(max-width:900px){
  .promotion-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:680px){
  .promotion-picker-panel{inset:12px 50% auto auto;width:calc(100% - 24px);max-height:calc(100vh - 24px);border-radius:18px}
  .promotion-picker-header{padding:28px 22px 18px}
  .promotion-picker-header h2{font-size:clamp(38px,12vw,58px)!important}
  .promotion-picker-header p{font-size:13px!important}
  .promotion-picker-slots{padding:0 22px 18px}
  .promotion-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:6px 22px 28px}
  .promotion-product-image{height:160px}
}
@media(max-width:430px){
  .promotion-picker-grid{grid-template-columns:1fr}
  .promotion-product-image{height:190px}
}

/* Cart drawer */
.cart-drawer{
  position:fixed;
  inset:0;
  z-index:800;
  visibility:hidden;
  pointer-events:none;
}
.cart-drawer.is-open{visibility:visible;pointer-events:auto}
.cart-drawer-backdrop{
  position:absolute;
  inset:0;
  background:rgba(34,35,34,.66);
  opacity:0;
  transition:opacity .3s ease;
}
.cart-drawer.is-open .cart-drawer-backdrop{opacity:1}
.cart-drawer-panel{
  position:absolute;
  inset:0 0 0 auto;
  width:min(560px,100%);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto auto;
  background:var(--happy-white);
  border-left:1px solid var(--happy-black);
  transform:translateX(100%);
  transition:transform .38s cubic-bezier(.22,1,.36,1);
}
.cart-drawer.is-open .cart-drawer-panel{transform:translateX(0)}
.cart-drawer-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:28px;
  border-bottom:1px solid var(--happy-black);
}
.cart-drawer-header .eyebrow{margin-bottom:7px}
.cart-drawer-header h2{margin:0;font-size:clamp(34px,5vw,54px)!important}
.icon-button{
  width:44px;
  height:44px;
  flex:none;
  border:1px solid var(--happy-black);
  background:transparent;
  color:var(--happy-black);
  cursor:pointer;
  font-size:25px;
}
.icon-button:hover{background:var(--happy-orange)}
.mini-cart-items{overflow:auto;padding:0 28px}
.cart-drawer .cart-item{
  grid-template-columns:78px minmax(0,1fr) auto;
  grid-template-areas:"image copy total" "image quantity remove";
  gap:8px 14px;
  padding:20px 0;
}
.cart-item-image{grid-area:image;display:block;overflow:hidden;background:var(--happy-black)}
.cart-item-image img{width:100%;aspect-ratio:2/3;object-fit:cover;transition:transform .35s ease}
.cart-item-image:hover img{transform:scale(1.07)}
.cart-item-copy{grid-area:copy;min-width:0}
.cart-item-copy h2{margin:3px 0;font-size:18px!important;letter-spacing:-.02em!important}
.cart-item-copy p,.cart-unit-price{margin:0;font-size:11px!important;line-height:1.35}
.cart-item-kicker{color:var(--happy-orange);font-family:var(--font-accent);font-size:9px;font-weight:700;text-transform:uppercase}
.cart-line-total{grid-area:total}
.cart-item-free{background:rgba(50,126,219,.07)}
.cart-item-free .cart-item-image{padding:0;border:0;cursor:pointer}
.cart-item-free .cart-item-copy h2 button{
  padding:0;
  border:0;
  background:transparent;
  color:var(--happy-black);
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.cart-item-free .cart-item-copy h2 button:hover,.cart-item-free .cart-item-copy h2 button:focus-visible{color:var(--happy-blue)}
.cart-item-free .cart-item-kicker{color:var(--happy-blue)}
.cart-item-free .cart-line-total{color:var(--happy-blue)!important}
.free-quantity{min-height:32px;justify-content:center;border-color:var(--happy-blue);background:var(--happy-white)}
.cart-drawer .quantity-control{grid-area:quantity;justify-self:start}
.cart-drawer .quantity-control button{width:30px;height:30px}
.cart-drawer .cart-remove{grid-area:remove;justify-self:end;cursor:pointer}
.drawer-promotion-block{max-height:330px;overflow:auto;padding:18px 28px;border-top:1px solid var(--happy-black)}
.cart-drawer-panel>footer{padding:22px 28px 28px;border-top:1px solid var(--happy-black)}
.cart-drawer-subtotal{display:flex;justify-content:space-between;margin-bottom:16px;font-family:var(--font-accent);text-transform:uppercase}
.cart-drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cart-drawer-actions .checkout-button{grid-column:1/-1;background:var(--happy-orange)!important;border-color:var(--happy-orange)!important;color:var(--happy-black)!important}
.cart-drawer-actions .checkout-button:hover{background:var(--happy-blue)!important;border-color:var(--happy-blue)!important;color:var(--happy-off-white)!important}
.cart-promotion-block{margin-bottom:20px}
.cart-page .cart-item{grid-template-columns:110px minmax(0,1fr) auto auto auto}
.cart-page .cart-item-image img{width:100%;aspect-ratio:1/1;object-fit:cover}

/* Common route geometry */
.catalog-hero,.journal-hero,.manifesto-hero,.page-hero{
  min-height:clamp(330px,36vw,500px)!important;
  display:flex!important;
  flex-direction:column;
  justify-content:flex-start!important;
  padding-top:clamp(76px,8vw,118px)!important;
  padding-bottom:clamp(64px,7vw,104px)!important;
  margin-top:0!important;
}
.catalog-hero,.journal-hero{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr)!important;align-items:start!important}
.catalog-hero>p,.journal-hero>p{margin:0}
.site-footer a{transition:color .24s ease,transform .24s ease}
.site-footer a:hover{transform:translateX(3px)}

@media(max-width:1100px){
  .why-happy-grid{grid-template-columns:1fr}
  .why-happy-card{min-height:620px}
  .why-happy-card>img:first-child{object-position:center 42%}
  .catalog-hero,.journal-hero{grid-template-columns:1fr!important;gap:24px!important}
}

@media(max-width:800px){
  .announcement-bar{height:36px}
  .announcement-track{animation-duration:26s}
  .announcement-track>div{gap:22px}
  .announcement-track span{font-size:9px}
  .header-shell{height:70px!important}
  .header-cart-button{right:58px;min-height:44px;padding:0 10px;font-size:10px}
  .menu-toggle{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
  .filter-row button{min-height:44px!important}
  .header-cart-button span{min-width:18px;height:18px}
  .utility-nav{padding-right:0}
  .home-page .happy-video-hero{
    min-height:700px!important;
    align-items:flex-end!important;
    width:calc(100% - 32px)!important;
  }
  .happy-hero-video{object-position:58% center}
  .happy-hero-gradient{
    background:
      linear-gradient(0deg,rgba(34,35,34,.98) 0%,rgba(34,35,34,.88) 43%,rgba(34,35,34,.12) 78%),
      linear-gradient(90deg,rgba(81,36,17,.35),transparent);
  }
  .home-page .happy-video-hero .hero-content{
    width:100%;
    padding:42px 24px 50px!important;
  }
  .home-page .happy-video-hero .hero-content h1{font-size:clamp(38px,11.5vw,48px)!important}
  .home-page .happy-video-hero .hero-content h1 .hero-line{white-space:normal!important}
  .why-happy{padding-block:76px}
  .why-happy-header{grid-template-columns:1fr;gap:18px}
  .why-happy-card{min-height:520px}
  .research-guesswork{padding-bottom:76px}
  .research-guesswork-panel{
    min-height:580px;
    padding:38px 24px;
    background:
      linear-gradient(0deg,rgba(34,35,34,.96) 0%,rgba(34,35,34,.72) 48%,rgba(34,35,34,.14) 80%),
      url("../assets/happy/media/research-without-guesswork.jpeg") center/cover no-repeat;
  }
  .cart-drawer-header,.drawer-promotion-block,.cart-drawer-panel>footer{padding-left:20px;padding-right:20px}
  .mini-cart-items{padding:0 20px}
  .cart-page .cart-item{
    grid-template-columns:84px minmax(0,1fr) auto;
    grid-template-areas:"image copy total" "image quantity remove";
  }
  .cart-page .cart-item-image{grid-area:image}
  .cart-page .cart-item-copy{grid-area:copy}
  .cart-page .cart-line-total{grid-area:total}
  .cart-page .quantity-control{grid-area:quantity;justify-self:start}
  .cart-page .cart-remove{grid-area:remove}
  .catalog-hero,.journal-hero,.manifesto-hero,.page-hero{
    min-height:300px!important;
    padding-top:60px!important;
    padding-bottom:54px!important;
  }
  .quantity-control button{width:42px;height:42px}
  .cart-drawer .quantity-control button{width:42px;height:42px}
  .cart-remove{min-height:40px}
}

@media(max-width:520px){
  .announcement-track .announcement-info{display:inline}
  .announcement-track>div{min-width:100vw}
  .cart-drawer-actions{grid-template-columns:1fr}
  .cart-drawer-actions .checkout-button{grid-column:auto}
  .why-happy-card{min-height:480px}
  .why-happy-copy{padding:24px}
}

@media(hover:none){
  .why-happy-card:hover,.research-guesswork-panel:hover,.product-card:hover,.mini-product-card:hover,.journal-card:hover,.collection-card:hover{transform:none!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.001ms!important;
  }
  .announcement-track{animation:none!important;transform:none!important}
  .announcement-track>div:nth-child(2){display:none}
  .reveal-enhanced .reveal-item,.reveal-enhanced .reveal-item.is-revealed{
    opacity:1!important;
    transform:none!important;
  }
}

/* Final interaction overrides: black controls resolve to Happy orange. */
.button.primary:hover,
.button.dark:hover,
.form-panel button:hover,
.add-product:hover{
  background:var(--happy-orange)!important;
  border-color:var(--happy-orange)!important;
  color:var(--happy-black)!important;
}
.button.secondary:hover,
.button-outline:hover,
.button.ghost:hover,
.journal-page .subscribe-card .button:hover{
  background:var(--happy-orange)!important;
  border-color:var(--happy-orange)!important;
  color:var(--happy-black)!important;
}
.happy-video-hero .button.primary:hover,
.research-guesswork-panel .button:hover{
  background:var(--happy-blue)!important;
  border-color:var(--happy-blue)!important;
  color:var(--happy-off-white)!important;
}
.home-page .campaign-placeholder img{padding:0!important}

/* QA hero layout: wider banner, right-side video and clear header spacing. */
@media(min-width:1001px){
  body.home-page main#main{
    padding-top:32px!important;
  }

  .home-page .happy-video-hero{
    width:min(1600px,calc(100% - 16px))!important;
    max-width:1600px!important;
    min-height:clamp(620px,42vw,740px)!important;
    margin-top:0!important;
    border:0!important;
  }

  .home-page .happy-hero-video{
    inset:0 0 0 auto!important;
    width:80%!important;
    max-width:none!important;
    height:100%!important;
    object-position:center right!important;
    transform:translate3d(7.5%,0,0) scale(1.18)!important;
    transform-origin:center center!important;
  }

  .home-page .happy-hero-gradient{
    background:
      linear-gradient(90deg,
        #222322 0%,
        #222322 25%,
        rgba(34,35,34,.99) 34%,
        rgba(50,34,27,.93) 43%,
        rgba(73,38,22,.70) 53%,
        rgba(82,39,20,.36) 64%,
        rgba(82,39,20,.10) 76%,
        rgba(34,35,34,0) 100%),
      linear-gradient(0deg,rgba(34,35,34,.18),transparent 48%)!important;
  }

  .home-page .happy-video-hero .hero-content{
    width:min(48%,650px)!important;
    padding:clamp(50px,5vw,82px)!important;
  }
}

/* Keep every product bottle at one consistent optical size, regardless of source render. */
.mini-product-card>.product-card-media-link,
.strip-product-card>.product-card-media-link,
.embedded-product-card>.product-card-media-link{
  height:310px;
}
.mini-product-card>.product-card-media-link img,
.strip-product-card>.product-card-media-link img,
.embedded-product-card>.product-card-media-link img,
.product-image img{
  --bottle-scale:1;
  display:block!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:scale(var(--bottle-scale))!important;
  transform-origin:center!important;
}
.mini-product-card img[src$="product-2.png"],
.strip-product-card img[src$="product-2.png"],
.embedded-product-card img[src$="product-2.png"],
.product-image img[src$="product-2.png"]{
  --bottle-scale:1.25;
}
.mini-product-card img[src$="product-3.png"],
.strip-product-card img[src$="product-3.png"],
.embedded-product-card img[src$="product-3.png"],
.product-image img[src$="product-3.png"]{
  --bottle-scale:1.16;
}
.product-card:hover .product-image img,
.mini-product-card:hover>.product-card-media-link img,
.strip-product-card:hover>.product-card-media-link img,
.embedded-product-card:hover>.product-card-media-link img{
  transform:scale(calc(var(--bottle-scale) * 1.075))!important;
}

@media(max-width:720px){
  .mini-product-card>.product-card-media-link,
  .strip-product-card>.product-card-media-link,
  .embedded-product-card>.product-card-media-link{
    height:300px;
  }
}

/* A tighter, repeatable rhythm between every Home section. */
.home-page main{
  --home-section-gap:clamp(24px,2.4vw,36px);
  --home-section-space:clamp(52px,5.5vw,76px);
}
.home-page main>section.page-shell{
  margin-block:0!important;
}
.home-page main>section.page-shell+section.page-shell{
  margin-top:var(--home-section-gap)!important;
}
.home-page .top-sellers,
.home-page .why-happy,
.home-page .statement-section,
.home-page .collections{
  padding-block:var(--home-section-space)!important;
}
.home-page .research-guesswork,
.home-page .community-cta,
.home-page .catalog-cta{
  padding-block:0!important;
}

/* Updated Happy Standard artwork. */
.home-page .statement-card.texture-white{
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
}
.home-page .statement-card.texture-white::after{
  inset:0 0 0 56%!important;
  background:
    linear-gradient(90deg,rgba(34,35,34,.08),rgba(34,35,34,.2)),
    url("../assets/happy/textures/statement-dots.jpeg") center/cover no-repeat!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
}
.home-page .statement-card p{
  padding:22px!important;
  background:rgba(34,35,34,.82)!important;
}

@media(max-width:800px){
  .home-page main{
    --home-section-gap:20px;
    --home-section-space:44px;
  }
  .home-page .statement-card.texture-white::after{
    inset:52% 0 0!important;
  }
}

/* Persistent site chrome: announcement and navigation remain visible while scrolling. */
:root{
  --site-chrome-height:124px;
}
html{
  scroll-padding-top:calc(var(--site-chrome-height) + 18px);
}
body{
  padding-top:var(--site-chrome-height)!important;
}
.sticky-site-chrome{
  position:fixed!important;
  inset:0 0 auto 0!important;
  z-index:500!important;
  width:100%!important;
  box-shadow:0 10px 28px rgba(0,0,0,.14);
}
.sticky-site-chrome .site-header{
  position:relative!important;
  inset:auto!important;
}
.filter-shell{
  top:var(--site-chrome-height)!important;
}
.cart-summary,
.protocol-block header{
  top:calc(var(--site-chrome-height) + 18px)!important;
}

@media(max-width:800px){
  :root{
    --site-chrome-height:106px;
  }
}

/* Account portal: high-contrast Happy dashboard. */
.account-page main{
  background:
    radial-gradient(circle at 92% 4%,rgba(47,126,221,.11),transparent 27%),
    var(--happy-seashell)!important;
}
.account-page .account-hero{
  min-height:650px;
  padding:44px 0 58px!important;
  display:grid!important;
  grid-template-columns:1.08fr .92fr!important;
  gap:18px!important;
  align-items:stretch!important;
  background:transparent!important;
  border:0!important;
}
.account-hero-copy,
.account-hero-visual{
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--happy-line);
}
.account-hero-copy{
  padding:clamp(54px,6vw,88px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:var(--happy-white);
}
.account-hero-copy::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:10px;
  background:linear-gradient(90deg,var(--happy-orange) 0 38%,var(--happy-blue) 38% 72%,var(--happy-navy) 72%);
}
.account-page .account-hero .eyebrow{
  color:var(--happy-orange)!important;
  opacity:1;
}
.account-page .account-hero h1{
  max-width:780px!important;
  margin:28px 0 26px!important;
  font-size:clamp(54px,6.1vw,94px)!important;
  line-height:.9!important;
  letter-spacing:-.065em!important;
  text-align:left!important;
  white-space:normal!important;
}
.account-hero-copy>p{
  max-width:650px;
  margin:0 0 34px;
  color:var(--happy-copy);
  font-size:17px;
  line-height:1.65;
}
.account-page .account-hero .button-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.account-page .account-sign-in{
  background:var(--happy-orange)!important;
  border-color:var(--happy-orange)!important;
  color:var(--happy-black)!important;
}
.account-page .account-sign-in:hover{
  background:var(--happy-blue)!important;
  border-color:var(--happy-blue)!important;
  color:var(--happy-white)!important;
}
.account-page .account-create{
  background:var(--happy-navy)!important;
  border-color:var(--happy-navy)!important;
  color:var(--happy-white)!important;
}
.account-page .account-create:hover{
  background:var(--happy-orange)!important;
  border-color:var(--happy-orange)!important;
  color:var(--happy-black)!important;
}
.account-hero-visual{
  min-height:548px;
  padding:42px;
  background:
    radial-gradient(circle at center,transparent 0 27%,rgba(255,255,255,.12) 27.3% 27.8%,transparent 28.1% 41%,rgba(255,255,255,.09) 41.3% 41.8%,transparent 42.1%),
    linear-gradient(145deg,#237fe3 0 58%,#0b253a 58%);
  color:var(--happy-white);
  isolation:isolate;
}
.account-hero-visual::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.35;
  background-image:radial-gradient(circle,rgba(255,255,255,.8) 1.4px,transparent 1.5px);
  background-size:18px 18px;
  mask-image:linear-gradient(135deg,transparent 8%,#000 58%,transparent 92%);
}
.account-grid-label{
  font-family:var(--font-accent);
  font-size:10px;
  letter-spacing:.14em;
}
.account-hero-visual>strong{
  position:absolute;
  right:32px;
  bottom:-31px;
  font-family:var(--font-display);
  font-size:clamp(170px,19vw,290px);
  font-weight:700;
  line-height:.8;
  letter-spacing:-.1em;
  color:var(--happy-orange);
}
.account-hero-visual>p{
  position:absolute;
  left:42px;
  bottom:38px;
  margin:0;
  font-family:var(--font-accent);
  font-size:11px;
  line-height:1.7;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.account-orbit{
  position:absolute;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
}
.account-orbit-one{width:290px;height:290px;right:-55px;top:44px}
.account-orbit-two{width:125px;height:125px;right:85px;top:126px;background:var(--happy-orange);border:0;mix-blend-mode:screen}

.account-page .dashboard{
  padding:64px 0 110px!important;
}
.account-section-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:34px;
}
.account-section-heading h2{
  margin:18px 0 0;
  font-size:clamp(42px,4.2vw,66px)!important;
  line-height:.95;
}
.account-section-heading>p{
  max-width:410px;
  margin:0;
  color:var(--happy-copy);
}
.account-page .dashboard-stats{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  background:transparent!important;
}
.account-page .dashboard-stats .account-stat{
  min-height:220px;
  padding:28px!important;
  display:flex;
  flex-direction:column;
  border:0!important;
  border-radius:0!important;
}
.account-page .account-stat span,
.account-page .account-stat small{
  font-family:var(--font-accent);
  font-size:10px;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.account-page .account-stat strong{
  margin:auto 0 10px;
  font-family:var(--font-display);
  font-size:76px;
  font-weight:700;
  line-height:.8;
  letter-spacing:-.06em;
}
.account-page .dashboard-stats .account-stat-blue{background:var(--happy-blue)!important;color:var(--happy-white)!important}
.account-page .dashboard-stats .account-stat-orange{background:var(--happy-orange)!important;color:var(--happy-black)!important}
.account-page .dashboard-stats .account-stat-dark{background:var(--happy-navy)!important;color:var(--happy-white)!important}
.account-page .account-stat span,
.account-page .account-stat strong,
.account-page .account-stat small{color:inherit!important}
.account-page .account-stat small{opacity:.7}

.account-content-grid{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.account-page .account-content-grid .empty-state{
  margin:0;
  border-radius:0!important;
}
.account-card-topline{
  display:flex;
  justify-content:space-between;
  padding-bottom:20px;
  border-bottom:1px solid currentColor;
  font-family:var(--font-accent);
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.account-orders{
  grid-column:span 2;
  min-height:420px;
  padding:32px!important;
  background:var(--happy-white)!important;
}
.account-empty-copy{
  min-height:315px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:34px;
  align-items:end;
}
.account-empty-number{
  font-family:var(--font-display);
  font-size:clamp(96px,11vw,168px);
  font-weight:700;
  line-height:.72;
  letter-spacing:-.08em;
  color:rgba(11,37,58,.09);
}
.account-empty-copy h2,
.account-coa h2{
  margin:0 0 14px;
  font-size:clamp(34px,3.4vw,50px)!important;
  line-height:.96;
}
.account-empty-copy p{
  max-width:540px;
  color:var(--happy-copy);
}
.account-browse{
  margin-top:10px;
  background:var(--happy-black)!important;
  color:var(--happy-white)!important;
}
.account-browse:hover{
  background:var(--happy-orange)!important;
  border-color:var(--happy-orange)!important;
  color:var(--happy-black)!important;
}
.account-coa{
  grid-column:span 1;
  min-height:420px;
  padding:32px!important;
  display:flex;
  flex-direction:column;
  background:var(--happy-blue)!important;
  color:var(--happy-white)!important;
}
.account-coa .account-card-topline,
.account-coa h2,
.account-coa p,
.account-coa>a{color:var(--happy-white)!important}
.account-coa p{opacity:.78}
.account-coa-mark{
  margin:auto 0 30px;
  font-family:var(--font-display);
  font-size:clamp(70px,7vw,108px);
  font-weight:700;
  line-height:.72;
  letter-spacing:-.08em;
  color:var(--happy-orange);
}
@media(max-width:800px){
  .account-orders,
  .account-coa{grid-column:auto;}
}
.account-coa>a{
  margin-top:auto;
  font-family:var(--font-accent);
  font-size:10px;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.account-support-strip{
  margin-top:14px;
  padding:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  background:var(--happy-navy);
  color:var(--happy-white);
}
.account-support-strip .eyebrow,
.account-support-strip h2{color:var(--happy-white)!important}
.account-support-strip h2{
  margin:13px 0 0;
  font-size:clamp(28px,3vw,44px)!important;
}
.account-support-strip .button{
  flex:0 0 auto;
  background:var(--happy-orange)!important;
  border-color:var(--happy-orange)!important;
  color:var(--happy-black)!important;
}
.account-support-strip .button:hover{
  background:var(--happy-blue)!important;
  border-color:var(--happy-blue)!important;
  color:var(--happy-white)!important;
}

@media(max-width:900px){
  .account-page .account-hero{grid-template-columns:1fr!important}
  .account-hero-copy{min-height:540px}
  .account-hero-visual{min-height:390px}
  .account-page .dashboard-stats{grid-template-columns:1fr!important}
  .account-page .dashboard-stats .account-stat{min-height:180px}
  .account-content-grid{grid-template-columns:1fr}
  .account-section-heading,.account-support-strip{align-items:flex-start;flex-direction:column}
}

@media(max-width:560px){
  .account-page .account-hero{padding:22px 0 38px!important}
  .account-hero-copy{min-height:500px;padding:42px 24px}
  .account-page .account-hero h1{font-size:clamp(46px,14vw,66px)!important}
  .account-hero-visual{min-height:330px;padding:28px}
  .account-hero-visual>p{left:28px;bottom:24px}
  .account-page .account-hero .button-row{display:grid;width:100%}
  .account-page .account-hero .button{width:100%}
  .account-empty-copy{grid-template-columns:1fr;align-content:end}
  .account-empty-number{font-size:100px}
  .account-orders,.account-coa{padding:25px!important}
  .account-support-strip{padding:28px 24px}
  .account-support-strip .button{width:100%}
}

/* Contact: direct, graphic research support workspace. */
.contact-page main{
  background:
    radial-gradient(circle at 7% 20%,rgba(255,97,0,.09),transparent 25%),
    var(--happy-seashell)!important;
}
.contact-page .contact-hero{
  min-height:620px;
  padding:44px 0 18px!important;
  display:grid!important;
  grid-template-columns:1.08fr .92fr!important;
  gap:18px!important;
  align-items:stretch!important;
}
.contact-hero-copy,
.contact-hero-art{
  position:relative;
  min-width:0;
  overflow:hidden;
}
.contact-hero-copy{
  padding:clamp(54px,6vw,88px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:var(--happy-navy);
  color:var(--happy-white);
}
.contact-page .contact-hero-copy .eyebrow,
.contact-page .contact-hero-copy h1{
  color:var(--happy-white)!important;
}
.contact-page .contact-hero-copy .eyebrow{
  opacity:.72;
}
.contact-page .contact-hero h1{
  margin:28px 0 25px!important;
  max-width:780px!important;
  font-size:clamp(58px,6.5vw,100px)!important;
  line-height:.88!important;
  letter-spacing:-.07em!important;
  text-align:left!important;
  white-space:normal!important;
}
.contact-hero-copy>p{
  max-width:610px;
  margin:0 0 34px;
  color:rgba(255,255,255,.7);
  font-size:17px;
  line-height:1.65;
}
.contact-hero-copy>a{
  align-self:flex-start;
  padding-bottom:5px;
  border-bottom:1px solid currentColor;
  color:var(--happy-orange);
  font-family:var(--font-accent);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.contact-hero-art{
  min-height:558px;
  padding:38px;
  background:var(--happy-orange);
  color:var(--happy-black);
  isolation:isolate;
}
.contact-hero-art::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,transparent 49.7%,rgba(34,35,34,.12) 50%,transparent 50.3%),
    linear-gradient(transparent 49.7%,rgba(34,35,34,.12) 50%,transparent 50.3%);
  background-size:74px 74px;
}
.contact-hero-art>span{
  font-family:var(--font-accent);
  font-size:10px;
  letter-spacing:.14em;
}
.contact-hero-art>strong{
  position:absolute;
  left:28px;
  bottom:9px;
  z-index:2;
  font-family:var(--font-display);
  font-size:clamp(105px,13vw,200px);
  font-weight:700;
  line-height:.78;
  letter-spacing:-.09em;
  color:var(--happy-black);
}
.contact-signal{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(34,35,34,.55);
}
.contact-signal-one{width:360px;height:360px;right:-72px;top:50px}
.contact-signal-two{width:224px;height:224px;right:-4px;top:118px}
.contact-signal-three{
  width:74px;
  height:74px;
  right:72px;
  top:193px;
  border:0;
  background:var(--happy-blue);
  box-shadow:0 0 0 18px rgba(50,126,219,.22);
}

.contact-channel-grid{
  padding:0 0 18px;
  display:grid;
  grid-template-columns:1.12fr .88fr .88fr;
  gap:14px;
}
.contact-channel{
  min-height:250px;
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.contact-channel>span{
  font-family:var(--font-accent);
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.contact-channel h2{
  margin:auto 0 20px;
  max-width:410px;
  font-size:clamp(30px,3vw,46px)!important;
  line-height:.98;
}
.contact-channel a,
.contact-channel p{
  margin:0;
  color:inherit!important;
  font-size:15px;
}
.contact-channel a{
  overflow-wrap:anywhere;
  text-decoration:underline;
  text-underline-offset:5px;
}
.contact-channel-orange{background:var(--happy-orange);color:var(--happy-black)}
.contact-channel-blue{background:var(--happy-blue);color:var(--happy-white)}
.contact-channel-dark{background:var(--happy-black);color:var(--happy-white)}

.contact-workspace{
  padding:0 0 110px;
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:14px;
  align-items:stretch;
}
.contact-brief{
  position:relative;
  min-height:720px;
  padding:clamp(34px,4vw,56px);
  overflow:hidden;
  background:var(--happy-blue);
  color:var(--happy-white);
}
.contact-brief::after{
  content:"";
  position:absolute;
  right:-88px;
  bottom:-88px;
  width:260px;
  height:260px;
  border-radius:50%;
  border:42px solid var(--happy-orange);
}
.contact-brief .eyebrow,
.contact-brief h2{color:var(--happy-white)!important}
.contact-brief h2{
  margin:40px 0 24px;
  font-size:clamp(48px,5vw,76px)!important;
  line-height:.9;
  letter-spacing:-.055em;
}
.contact-brief>p{
  max-width:430px;
  color:rgba(255,255,255,.78);
  line-height:1.65;
}
.contact-brief-list{
  margin-top:52px;
  display:grid;
}
.contact-brief-list span{
  padding:17px 0;
  border-top:1px solid rgba(255,255,255,.35);
  font-family:var(--font-accent);
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.contact-brief>strong{
  position:absolute;
  left:50px;
  bottom:32px;
  font-size:70px;
  line-height:1;
}
.contact-form-panel{
  min-height:720px;
  padding:clamp(34px,4.5vw,64px);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px 18px;
  align-content:start;
  background:var(--happy-white);
  border:1px solid var(--happy-line);
}
.contact-form-heading{
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px;
  padding-bottom:20px;
  border-bottom:1px solid var(--happy-navy);
  font-family:var(--font-accent);
  font-size:9px;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.contact-form-panel label{
  display:grid;
  gap:10px;
  color:var(--happy-navy);
  font-family:var(--font-accent);
  font-size:9px;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.contact-form-panel label:nth-of-type(3),
.contact-form-panel label:nth-of-type(4){
  grid-column:1/-1;
}
.contact-form-panel input,
.contact-form-panel select,
.contact-form-panel textarea{
  width:100%;
  min-height:54px;
  padding:15px 16px;
  border:1px solid rgba(11,37,58,.25);
  border-radius:0;
  background:var(--happy-seashell);
  color:var(--happy-black);
  font-family:var(--font-body);
  font-size:14px;
  letter-spacing:0;
  text-transform:none;
  transition:border-color .24s ease,box-shadow .24s ease,background-color .24s ease;
}
.contact-form-panel textarea{
  min-height:160px;
  resize:vertical;
}
.contact-form-panel input:focus,
.contact-form-panel select:focus,
.contact-form-panel textarea:focus{
  border-color:var(--happy-blue);
  background:var(--happy-white);
  box-shadow:inset 5px 0 0 var(--happy-orange);
  outline:0;
}
.contact-submit{
  grid-column:1/-1;
  min-height:58px;
  background:var(--happy-black)!important;
  color:var(--happy-white)!important;
  border-color:var(--happy-black)!important;
}
.contact-submit:hover{
  background:var(--happy-orange)!important;
  border-color:var(--happy-orange)!important;
  color:var(--happy-black)!important;
}
.contact-form-note{
  grid-column:1/-1;
  margin:0;
  color:var(--happy-copy);
  font-size:11px;
}

@media(max-width:900px){
  .contact-page .contact-hero{grid-template-columns:1fr!important}
  .contact-hero-copy{min-height:540px}
  .contact-hero-art{min-height:390px}
  .contact-channel-grid{grid-template-columns:1fr}
  .contact-channel{min-height:210px}
  .contact-workspace{grid-template-columns:1fr}
  .contact-brief{min-height:620px}
}

@media(max-width:560px){
  .contact-page .contact-hero{padding:22px 0 14px!important}
  .contact-hero-copy{min-height:520px;padding:42px 24px}
  .contact-page .contact-hero h1{font-size:clamp(52px,15vw,72px)!important}
  .contact-hero-art{min-height:320px;padding:26px}
  .contact-hero-art>strong{left:20px;font-size:94px}
  .contact-channel{padding:24px}
  .contact-brief{min-height:580px;padding:38px 24px}
  .contact-brief>strong{left:24px}
  .contact-form-panel{padding:34px 22px;grid-template-columns:1fr}
  .contact-form-heading,
  .contact-form-panel label,
  .contact-submit,
  .contact-form-note{grid-column:1!important}
  .contact-form-heading{align-items:flex-start;flex-direction:column}
}

/* Manifesto hero follows the same label-above-title hierarchy as Catalog. */
.manifesto-page .manifesto-hero{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:28px!important;
}
.manifesto-page .manifesto-hero>.eyebrow,
.manifesto-page .manifesto-hero>h1{
  width:100%!important;
  margin:0!important;
  align-self:flex-start!important;
  justify-self:start!important;
}
.manifesto-page .manifesto-hero>.eyebrow{
  display:block!important;
}

/* Purity banner actions use one consistent button footprint. */
.home-page .campaign-copy .button-row>.button{
  width:190px!important;
  min-width:190px!important;
  height:52px!important;
  min-height:52px!important;
  margin:0!important;
  padding-inline:18px!important;
}

@media(max-width:520px){
  .home-page .campaign-copy .button-row>.button{
    width:100%!important;
    min-width:0!important;
  }
}

/* Happy Standard artwork covers the complete panel, edge to edge. */
.home-page .statement-card.texture-white::after{
  inset:0!important;
  background:
    linear-gradient(90deg,rgba(34,35,34,.88) 0%,rgba(34,35,34,.72) 42%,rgba(34,35,34,.42) 100%),
    url("../assets/happy/textures/statement-dots.jpeg") center/cover no-repeat!important;
}

.home-page .statement-section{
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
  background:var(--happy-black)!important;
}
.home-page .statement-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(34,35,34,.88) 0%,rgba(34,35,34,.72) 42%,rgba(34,35,34,.42) 100%),
    url("../assets/happy/textures/statement-dots.jpeg") center/cover no-repeat;
}
.home-page .statement-card.texture-white{
  position:relative!important;
  z-index:1;
  background:transparent!important;
}
.home-page .statement-card.texture-white::after{
  content:none!important;
}

/* Catalog bottles: equal visible height based on each PNG's opaque bounds. */
.catalog-page .product-image img{
  --bottle-scale:1.36;
  --catalog-bottle-y:0px;
  transform:translateY(var(--catalog-bottle-y)) scale(var(--bottle-scale))!important;
  transform-origin:center!important;
}
.catalog-page .product-image img[src$="product-2.png"]{
  --bottle-scale:1.574;
  --catalog-bottle-y:12px;
}
.catalog-page .product-image img[src$="product-3.png"]{
  --bottle-scale:1.533;
  --catalog-bottle-y:4px;
}
.catalog-page .product-card:hover .product-image img{
  transform:translateY(var(--catalog-bottle-y)) scale(calc(var(--bottle-scale) * 1.05))!important;
}

/* Clear interactive state for the black Purity-banner action. */
.home-page .campaign-copy .button.primary:hover,
.home-page .campaign-copy .button.primary:focus-visible{
  background:var(--happy-orange)!important;
  border-color:var(--happy-orange)!important;
  color:var(--happy-black)!important;
}

/* Top Sellers: normalize against each PNG's visible alpha bounds. */
.home-page .top-seller-grid .mini-product-card>.product-card-media-link img{
  --top-bottle-scale:1.04;
  --top-bottle-y:0px;
  object-fit:contain!important;
  object-position:center!important;
  transform:translateY(var(--top-bottle-y)) scale(var(--top-bottle-scale))!important;
}
.home-page .top-seller-grid .mini-product-card>.product-card-media-link img[src$="product-2.png"]{
  --top-bottle-scale:1.204;
  --top-bottle-y:10px;
}
.home-page .top-seller-grid .mini-product-card>.product-card-media-link img[src$="product-3.png"]{
  --top-bottle-scale:1.172;
  --top-bottle-y:3px;
}
.home-page .top-seller-grid .mini-product-card:hover>.product-card-media-link img{
  transform:translateY(var(--top-bottle-y)) scale(calc(var(--top-bottle-scale) * 1.05))!important;
}

/* Why Choose Happy: centered editorial heading; cards remain unchanged. */
.home-page .why-happy-header{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  max-width:900px;
  margin-inline:auto!important;
  margin-bottom:clamp(42px,5vw,68px)!important;
  text-align:center!important;
}
.home-page .why-happy-header .eyebrow{
  margin-bottom:22px!important;
}
.home-page .why-happy-header h2{
  max-width:760px;
  margin:0!important;
  font-size:clamp(54px,6vw,92px)!important;
  line-height:.82!important;
  letter-spacing:-.065em!important;
  text-align:center!important;
}
.home-page .why-happy-header h2 span{
  display:block;
}
.home-page .why-happy-header p{
  max-width:620px!important;
  margin:30px auto 0!important;
  text-align:center!important;
}

@media(max-width:600px){
  .home-page .why-happy-header h2{
    font-size:clamp(46px,14vw,66px)!important;
    line-height:.86!important;
  }
  .home-page .why-happy-header p{
    margin-top:24px!important;
  }
}

/* Manifesto Featured Compounds: equalize the bottles by their visible PNG bounds. */
.manifesto-page .embedded-product-card>.product-card-media-link img{
  --manifesto-bottle-scale:1;
  --manifesto-bottle-y:0px;
  transform:translateY(var(--manifesto-bottle-y)) scale(var(--manifesto-bottle-scale))!important;
}
.manifesto-page .embedded-product-card>.product-card-media-link img[src$="product-2.png"]{
  --manifesto-bottle-scale:1.158;
  --manifesto-bottle-y:12px;
}
.manifesto-page .embedded-product-card>.product-card-media-link img[src$="product-3.png"]{
  --manifesto-bottle-scale:1.117;
  --manifesto-bottle-y:3px;
}
.manifesto-page .embedded-product-card:hover>.product-card-media-link img{
  transform:translateY(var(--manifesto-bottle-y)) scale(calc(var(--manifesto-bottle-scale) * 1.075))!important;
}

/* Catalog promotion language and a clear product-details call to action. */
.catalog-page .product-promo-label{
  padding:8px 11px!important;
}
.catalog-page .product-copy>small{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:48px!important;
  margin-top:24px!important;
  padding:0 18px!important;
  border:1px solid var(--happy-black)!important;
  background:var(--happy-black)!important;
  color:var(--happy-off-white)!important;
  font-family:var(--font-accent)!important;
  font-size:14px!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  transition:background .24s ease,border-color .24s ease,color .24s ease,transform .24s ease!important;
}
.catalog-page .product-card-link:hover .product-copy>small,
.catalog-page .product-card-link:focus-visible .product-copy>small{
  background:var(--happy-orange)!important;
  border-color:var(--happy-orange)!important;
  color:var(--happy-black)!important;
  transform:translateY(-2px);
}

/* Pause the moving announcement while it is being inspected. */
.announcement-bar:hover .announcement-track,
.announcement-bar:focus-within .announcement-track{
  animation-play-state:paused!important;
}

/* Home catalog banner: restored vibrant Happy orange texture. */
.home-page .catalog-cta{
  background:
    linear-gradient(90deg,rgba(255,97,0,.98) 0%,rgba(255,97,0,.9) 54%,rgba(255,97,0,.58) 100%),
    url("../assets/happy/textures/Happy_Texture_1.png") center/cover no-repeat!important;
}
.home-page .catalog-cta-card,
.home-page .catalog-cta-card.texture-teal{
  color:var(--happy-black)!important;
}
.home-page .catalog-cta-card h2,
.home-page .catalog-cta-card p{
  color:var(--happy-black)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.2);
}
.home-page .catalog-cta-card .button,
.home-page .catalog-cta-card .button.dark{
  background:var(--happy-black)!important;
  border-color:var(--happy-black)!important;
  color:var(--happy-off-white)!important;
}
.home-page .catalog-cta-card .button:hover,
.home-page .catalog-cta-card .button.dark:hover,
.home-page .catalog-cta-card .button:focus-visible,
.home-page .catalog-cta-card .button.dark:focus-visible{
  background:#2f80ed!important;
  border-color:#2f80ed!important;
  color:var(--happy-off-white)!important;
}

/* Guaranteed white Home section rhythm before the footer. */
.home-page main{
  padding-bottom:var(--home-section-gap)!important;
}
.home-page main>.catalog-cta{
  margin-bottom:0!important;
}

/* Journal cards: normalize each bottle by its visible PNG bounds. */
.journal-page .journal-card-image img{
  --journal-bottle-scale:1;
  --journal-bottle-y:0px;
  transform:translateY(var(--journal-bottle-y)) scale(var(--journal-bottle-scale))!important;
  transform-origin:center!important;
}
.journal-page .journal-card-image img[src$="product-2.png"]{
  --journal-bottle-scale:1.158;
  --journal-bottle-y:12px;
}
.journal-page .journal-card-image img[src$="product-3.png"]{
  --journal-bottle-scale:1.117;
  --journal-bottle-y:3px;
}
.journal-page .journal-card:hover .journal-card-image img{
  transform:translateY(var(--journal-bottle-y)) scale(calc(var(--journal-bottle-scale) * 1.075))!important;
}

/* Contact submit: black at rest, electric Happy blue on interaction. */
.contact-page .contact-form-panel .contact-submit{
  background:var(--happy-black)!important;
  border-color:var(--happy-black)!important;
  color:var(--happy-off-white)!important;
}
.contact-page .contact-form-panel .contact-submit:hover,
.contact-page .contact-form-panel .contact-submit:focus-visible{
  background:var(--happy-blue)!important;
  border-color:var(--happy-blue)!important;
  color:var(--happy-off-white)!important;
}

/* Header utility links: one flex group with one consistent gap. */
.utility-nav{
  gap:30px!important;
  padding-right:0!important;
}
.utility-nav .header-cart-button{
  position:static!important;
  min-height:auto!important;
  padding:0!important;
  transform:none!important;
}
.utility-nav .header-cart-button:active{
  transform:none!important;
}

/* Match the primary-nav active dot across Contact, Account, and Cart. */
.utility-nav a,
.utility-nav .header-cart-button{
  position:relative!important;
}
.contact-page .utility-nav a[href$="contact.html"]::after,
.account-page .utility-nav a[href$="account.html"]::after,
.login-page .utility-nav a[href$="account.html"]::after,
.create-account-page .utility-nav a[href$="account.html"]::after,
.cart-page .utility-nav .header-cart-button::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-12px!important;
  width:4px!important;
  height:4px!important;
  border-radius:50%!important;
  background:var(--happy-off-white)!important;
  transform:translateX(-50%)!important;
}

/* Cart page: compact Happy-branded order rows. */
.cart-page .cart-items{
  padding:0!important;
  overflow:hidden;
  border-top:8px solid var(--happy-orange)!important;
  background:var(--happy-off-white)!important;
}
.cart-page .cart-item{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr) auto auto auto!important;
  grid-template-areas:"image copy quantity total remove"!important;
  gap:20px!important;
  align-items:center!important;
  min-height:180px!important;
  padding:20px 24px!important;
  border-bottom:1px solid var(--happy-black)!important;
  background:var(--happy-off-white)!important;
}
.cart-page .cart-item:last-child{
  border-bottom:0!important;
}
.cart-page .cart-item:nth-child(3n+2){
  box-shadow:inset 6px 0 0 var(--happy-blue);
}
.cart-page .cart-item:nth-child(3n){
  box-shadow:inset 6px 0 0 var(--happy-brown);
}
.cart-page .cart-item-image{
  grid-area:image;
  width:112px!important;
  height:140px!important;
  background:var(--happy-black)!important;
}
.cart-page .cart-item-image img{
  --cart-bottle-scale:1;
  --cart-bottle-y:0px;
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:translateY(var(--cart-bottle-y)) scale(var(--cart-bottle-scale))!important;
}
.cart-page .cart-item-image img[src$="product-2.png"]{
  --cart-bottle-scale:1.158;
  --cart-bottle-y:5px;
}
.cart-page .cart-item-image img[src$="product-3.png"]{
  --cart-bottle-scale:1.117;
  --cart-bottle-y:2px;
}
.cart-page .cart-item-image:hover img{
  transform:translateY(var(--cart-bottle-y)) scale(calc(var(--cart-bottle-scale) * 1.05))!important;
}
.cart-page .cart-item-copy{grid-area:copy}
.cart-page .quantity-control{grid-area:quantity}
.cart-page .cart-line-total{
  grid-area:total;
  min-width:72px;
  color:var(--happy-black);
  text-align:right;
}
.cart-page .cart-remove{
  grid-area:remove;
  color:var(--happy-black)!important;
}
.cart-page .cart-summary{
  border-top:8px solid var(--happy-blue)!important;
  border-radius:0!important;
  background:var(--happy-white)!important;
}
.cart-page .cart-item-kicker{
  color:var(--happy-orange)!important;
}
.cart-page .cart-item.cart-item-free{
  background:rgba(50,126,219,.07)!important;
  box-shadow:inset 6px 0 0 var(--happy-blue)!important;
}
.cart-page .cart-item.cart-item-free .cart-item-kicker{
  color:var(--happy-blue)!important;
}

@media(max-width:800px){
  .cart-page .cart-item{
    grid-template-columns:84px minmax(0,1fr) auto!important;
    grid-template-areas:
      "image copy total"
      "image quantity remove"!important;
    gap:10px 14px!important;
    min-height:150px!important;
    padding:18px!important;
  }
  .cart-page .cart-item-image{
    width:84px!important;
    height:112px!important;
  }
}

@media(max-width:520px){
  .cart-page .cart-item{
    grid-template-columns:72px minmax(0,1fr)!important;
    grid-template-areas:
      "image copy"
      "image total"
      "quantity remove"!important;
  }
  .cart-page .cart-item-image{
    width:72px!important;
    height:96px!important;
  }
  .cart-page .cart-line-total{
    justify-self:start;
    text-align:left;
  }
}

/* QA revision: three clear cart zones — details, options, and actions. */
@media(min-width:801px){
  .cart-page .cart-item{
    position:relative!important;
    height:270px!important;
    min-height:270px!important;
    max-height:270px!important;
    grid-template-columns:112px minmax(0,1fr) 110px!important;
    grid-template-areas:"image body actions"!important;
    column-gap:22px!important;
    align-items:stretch!important;
    min-height:230px!important;
  }

  .cart-page .cart-item-copy{
    position:absolute!important;
    top:24px!important;
    right:205px!important;
    bottom:auto!important;
    left:160px!important;
    grid-area:auto!important;
    display:grid!important;
    grid-template-columns:minmax(180px,1fr) 230px;
    gap:24px;
    align-items:start;
    align-self:start!important;
    min-width:0;
    padding-top:0!important;
    margin:0!important;
    transform:none!important;
  }

  .cart-page .cart-item-details{
    align-self:start;
    min-width:0;
    padding-top:8px;
  }

  .cart-page .cart-item-details .cart-item-kicker{
    font-size:10px!important;
    line-height:1.3!important;
  }

  .cart-page .cart-item-details h2{
    margin:7px 0 4px!important;
    font-size:20px!important;
    line-height:1.1!important;
  }

  .cart-page .cart-item-details p,
  .cart-page .cart-item-details .cart-unit-price{
    font-size:12px!important;
    line-height:1.45!important;
  }

  .cart-page .cart-options-stack{
    align-self:start;
    width:100%;
    max-width:230px;
    margin:8px auto 0;
    gap:14px;
  }

  .cart-page .cart-options-stack>.quantity-control{
    grid-area:auto!important;
    display:inline-flex!important;
    justify-self:center!important;
    margin:0 0 2px;
  }

  .cart-page .cart-line-total{
    position:absolute!important;
    top:28px!important;
    right:24px!important;
    grid-area:auto!important;
    margin:0!important;
    text-align:right;
  }

  .cart-page .cart-remove{
    position:absolute!important;
    right:24px!important;
    top:97px!important;
    bottom:auto!important;
    grid-area:auto!important;
    margin:0!important;
    transform:translateY(-50%)!important;
  }
}

@media(max-width:800px){
  .cart-page .cart-item-copy{
    display:block;
  }

  .cart-page .cart-item-details{
    display:block;
  }

  .cart-page .cart-options-stack>.quantity-control{
    grid-area:auto!important;
  }
}

/* Manifesto operating principles: supplied dark artwork behind white cards. */
.manifesto-page .principles{
  padding:clamp(54px,6vw,92px)!important;
  background:
    linear-gradient(rgba(5,7,9,.32),rgba(5,7,9,.42)),
    url("../assets/happy/textures/operating-principles.jpeg") center/cover no-repeat!important;
  border:1px solid rgba(255,255,255,.16)!important;
}
.manifesto-page .principles .section-heading{
  margin-bottom:clamp(38px,4vw,58px)!important;
}
.manifesto-page .principles .section-heading h2{
  color:var(--happy-off-white)!important;
}
.manifesto-page .principles .section-heading .eyebrow{
  color:var(--happy-orange)!important;
}
.manifesto-page .principles .principle-grid{
  padding-bottom:0!important;
}
.manifesto-page .principles .principle-grid article,
.manifesto-page .principles .principle-grid .cream,
.manifesto-page .principles .principle-grid .sand,
.manifesto-page .principles .principle-grid .brown,
.manifesto-page .principles .principle-grid .teal,
.manifesto-page .principles .principle-grid .white,
.manifesto-page .principles .principle-grid .dark{
  background:var(--happy-white)!important;
  border:1px solid rgba(34,35,34,.16)!important;
  color:var(--happy-black)!important;
}
.manifesto-page .principles .principle-grid article h3,
.manifesto-page .principles .principle-grid .brown h3,
.manifesto-page .principles .principle-grid .dark h3{
  color:var(--happy-black)!important;
}
.manifesto-page .principles .principle-grid article span{
  color:var(--happy-blue)!important;
}
.manifesto-page .principles .principle-grid article:hover{
  background:var(--happy-white)!important;
  border-color:var(--happy-orange)!important;
}

@media(max-width:800px){
  .manifesto-page .principles{
    padding:44px 22px!important;
  }
}

/* Manifesto closing CTA: use the supplied orange artwork. */
.manifesto-page .manifesto-cta>div{
  background:
    linear-gradient(rgba(0,0,0,.24),rgba(0,0,0,.24)),
    url("../assets/happy/textures/catalog-orange.jpeg") center/cover no-repeat!important;
  color:var(--happy-black)!important;
}
.manifesto-page .manifesto-cta h2,
.manifesto-page .manifesto-cta h2 span{
  color:#fff!important;
  text-shadow:0 2px 8px rgba(0,0,0,.42);
}

/* Product strength selection: keep the active option neutral and use orange only as an outline. */
.product-page .variant.is-active{
  background:var(--happy-white)!important;
  color:var(--happy-black)!important;
  border-color:var(--happy-orange)!important;
  box-shadow:inset 0 0 0 1px var(--happy-orange)!important;
}
.product-page .variant.is-active span{
  color:inherit!important;
}

/* Login refinement: readable mark and a single, aligned form surface. */
.login-page .auth-art img{
  filter:brightness(0) invert(1)!important;
}
.login-page .form-panel{
  margin-top:34px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* New researcher refinement: match the sign-in layout and keep the brand mark readable. */
.create-account-page .auth-art img{
  filter:brightness(0) invert(1)!important;
}
.create-account-page .form-panel{
  margin-top:34px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Catalog domains: stronger staged reveal and tactile card motion. */
.home-page .collections .collection-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  transform-origin:center bottom;
  transition:
    transform .5s cubic-bezier(.22,1,.36,1),
    box-shadow .5s ease,
    filter .35s ease!important;
}
.home-page .collections .collection-card>*{
  position:relative;
  z-index:1;
}
.home-page .collections .collection-card::before{
  content:"";
  position:absolute;
  inset:-40%;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.22) 49%,transparent 60%);
  transform:translateX(-72%) rotate(4deg);
  transition:transform .75s cubic-bezier(.22,1,.36,1);
}
.home-page .collections .collection-card:hover,
.home-page .collections .collection-card:focus-visible{
  z-index:2;
  transform:translateY(-10px) scale(1.018)!important;
  box-shadow:0 22px 42px rgba(34,35,34,.18)!important;
  filter:saturate(1.08);
}
.home-page .collections .collection-card:hover::before,
.home-page .collections .collection-card:focus-visible::before{
  transform:translateX(72%) rotate(4deg);
}
.home-page .collections .collection-icon img{
  transition:transform .5s cubic-bezier(.22,1,.36,1),filter .35s ease;
}
.home-page .collections .collection-card:hover .collection-icon img,
.home-page .collections .collection-card:focus-visible .collection-icon img{
  transform:rotate(-8deg) scale(1.13);
  filter:drop-shadow(6px 7px 0 rgba(255,255,255,.22));
}
/* Keep all three domain cards visible; scroll enhancement must never hide this grid. */
.reveal-enhanced .home-page .collections .collection-card.reveal-item,
.reveal-enhanced .home-page .collections .collection-card.reveal-item[data-reveal-kind="visual"],
.reveal-enhanced .home-page .collections .collection-card.reveal-item.is-revealed{
  opacity:1!important;
  clip-path:none!important;
  transform:none!important;
}

@media(prefers-reduced-motion:reduce){
  .home-page .collections .collection-card,
  .home-page .collections .collection-card::before,
  .home-page .collections .collection-icon img{
    transition:none!important;
  }
  .home-page .collections .collection-card::before{
    display:none;
  }
}

/* Product detail: keep the complete vial visible on every individual page. */
.product-page .detail-image{
  display:grid!important;
  place-items:center!important;
  padding:clamp(42px,5vw,72px) clamp(28px,4vw,56px) 92px!important;
}
.product-page .detail-image>img{
  --detail-bottle-scale:1;
  --detail-bottle-y:0px;
  width:min(76%,520px)!important;
  height:min(82%,700px)!important;
  max-width:520px!important;
  max-height:700px!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  transform:translateY(var(--detail-bottle-y)) scale(var(--detail-bottle-scale))!important;
  transform-origin:center!important;
}
.product-page .detail-image>div{
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
.product-page .detail-image>img[src$="product-2.png"]{
  --detail-bottle-scale:1.12;
  --detail-bottle-y:8px;
}
.product-page .detail-image>img[src$="product-3.png"]{
  --detail-bottle-scale:1.09;
  --detail-bottle-y:3px;
}
.product-page .detail-image:hover>img{
  transform:translateY(var(--detail-bottle-y)) scale(calc(var(--detail-bottle-scale) * 1.02))!important;
}
.product-page .detail-image>img.is-switching{
  opacity:.35;
  transform:translateY(var(--detail-bottle-y)) scale(calc(var(--detail-bottle-scale) * .985))!important;
}

@media(max-width:800px){
  .product-page .detail-image{
    min-height:520px!important;
    padding:34px 22px 78px!important;
  }
  .product-page .detail-image>img{
    width:min(80%,400px)!important;
    height:min(80%,540px)!important;
    max-width:400px!important;
    max-height:540px!important;
  }
}

/* Smooth handoff from a catalog card to its individual product page. */
.motion-enhanced body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:1200;
  pointer-events:none;
  visibility:hidden;
  opacity:0;
  background:var(--happy-off-white);
  transition:opacity 300ms ease,visibility 0s linear 320ms;
}
.motion-enhanced.catalog-route-leaving body::after,
.motion-enhanced.product-route-entering body::after{
  visibility:visible;
  transition-delay:0s;
}
.motion-enhanced.catalog-route-leaving body::after,
.motion-enhanced.product-route-entering:not(.product-route-entered) body::after{
  opacity:1;
}
.motion-enhanced.product-route-entering.product-route-entered body::after{
  opacity:0;
}
.catalog-page .product-card{
  transition:
    transform 420ms cubic-bezier(.22,1,.36,1),
    opacity 260ms ease,
    border-color 300ms ease!important;
}
.catalog-route-leaving .catalog-page .product-grid{
  pointer-events:none;
}
.catalog-route-leaving .catalog-page .product-card:not(.is-route-target){
  opacity:.72;
  transform:translateY(8px) scale(.985)!important;
}
.catalog-route-leaving .catalog-page .product-card.is-route-target{
  opacity:1;
  transform:translateY(-5px) scale(1.012)!important;
}
.product-page .breadcrumb,
.product-page .detail-image,
.product-page .detail-copy{
  transition:
    opacity 520ms ease,
    transform 620ms cubic-bezier(.22,1,.36,1)!important;
}
.product-route-entering:not(.product-route-entered) .product-page .breadcrumb{
  opacity:0!important;
  transform:translateY(-8px)!important;
}
.product-route-entering:not(.product-route-entered) .product-page .detail-image{
  opacity:0!important;
  transform:translateY(20px) scale(.985)!important;
}
.product-route-entering:not(.product-route-entered) .product-page .detail-copy{
  opacity:0!important;
  transform:translateY(28px)!important;
}
.product-route-entering.product-route-entered .product-page .breadcrumb,
.product-route-entering.product-route-entered .product-page .detail-image,
.product-route-entering.product-route-entered .product-page .detail-copy{
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
}

@media(prefers-reduced-motion:reduce){
  .motion-enhanced body::after{
    display:none!important;
  }
}

/* Subscribe & Save QA: accessible purchase controls, clear cart metadata, and
   product-first Home compositions across desktop, tablet, and mobile. */
.purchase-options{
  display:grid;
  gap:16px;
  margin:26px 0 22px;
}
.purchase-options fieldset{
  display:grid;
  gap:10px;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
.purchase-options legend{
  width:100%;
  margin-bottom:12px;
  font-family:var(--font-accent);
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.purchase-option{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  min-height:76px;
  padding:14px 16px;
  border:1px solid rgba(34,35,34,.42);
  background:var(--happy-white);
  cursor:pointer;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.purchase-option:has(input:checked){
  border-color:var(--happy-orange);
  box-shadow:inset 0 0 0 2px var(--happy-orange);
}
.purchase-option:has(input:focus-visible){
  outline:3px solid var(--happy-blue);
  outline-offset:3px;
}
.purchase-option input,
.delivery-frequency input{
  width:20px;
  height:20px;
  margin:0;
  accent-color:var(--happy-orange);
}
.purchase-option span,
.purchase-option strong,
.purchase-option small{display:block}
.purchase-option strong{font-size:15px}
.purchase-option small{
  margin-top:4px;
  color:rgba(34,35,34,.68);
  font-size:12px;
  line-height:1.35;
}
.purchase-option b{
  font-family:var(--font-accent);
  font-size:18px;
  white-space:nowrap;
}
.delivery-frequency[hidden]{display:none!important}
.delivery-frequency>div{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.delivery-frequency label{
  min-width:0;
  cursor:pointer;
}
.delivery-frequency label span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:8px;
  border:1px solid rgba(34,35,34,.42);
  font-family:var(--font-accent);
  font-size:11px;
  text-align:center;
  text-transform:uppercase;
}
.delivery-frequency input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.delivery-frequency input:checked+span{
  border-color:var(--happy-orange);
  box-shadow:inset 0 0 0 2px var(--happy-orange);
}
.delivery-frequency input:focus-visible+span{
  outline:3px solid var(--happy-blue);
  outline-offset:3px;
}

.cart-purchase-controls{
  display:grid;
  grid-template-columns:auto minmax(150px,220px);
  gap:7px 10px;
  align-items:center;
  margin-top:12px;
}
.cart-purchase-controls label{
  font-family:var(--font-accent);
  font-size:9px;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.cart-purchase-controls select{
  width:100%;
  min-height:38px;
  padding:7px 30px 7px 9px;
  border:1px solid rgba(34,35,34,.5);
  border-radius:0;
  background:var(--happy-white);
  color:var(--happy-black);
  font:600 12px/1.2 var(--font-body);
}
.cart-purchase-controls select:focus-visible{
  outline:3px solid var(--happy-blue);
  outline-offset:2px;
}
.cart-drawer .cart-item{
  align-items:start!important;
}
.cart-drawer .cart-purchase-controls{
  grid-template-columns:1fr;
  gap:5px;
}
.cart-drawer .cart-purchase-controls label:not(:first-child){
  margin-top:4px;
}

@media(max-width:800px){
  .cart-page .cart-item{
    grid-template-areas:
      "image copy total"
      "image copy copy"
      "quantity remove remove"!important;
  }
  .cart-purchase-controls{
    grid-template-columns:1fr;
    max-width:280px;
  }
}

@media(max-width:520px){
  .purchase-option{
    grid-template-columns:auto minmax(0,1fr);
  }
  .purchase-option b{
    grid-column:2;
  }
  .delivery-frequency>div{grid-template-columns:1fr}
  .cart-page .cart-item{
    grid-template-areas:
      "image copy"
      "copy copy"
      "total total"
      "quantity remove"!important;
  }
}

/* QA: emphasize the subscription message in the moving top bar. */
.announcement-track .announcement-promo{
  color:#fff!important;
  text-shadow:none!important;
}

/* QA: quantity above centered purchase and delivery dropdowns. */
.cart-item>.quantity-control{
  display:none!important;
}

.cart-options-stack{
  display:grid;
  width:min(100%,300px);
  margin:14px auto 0;
  justify-items:center;
  gap:12px;
}

.cart-options-stack>.quantity-control{
  display:inline-flex!important;
  justify-self:center;
}

.cart-options-stack .cart-purchase-controls{
  display:grid;
  width:100%;
  max-width:300px;
  grid-template-columns:1fr;
  gap:6px;
  margin:0;
}

.cart-options-stack .cart-purchase-controls label{
  width:100%;
  text-align:center;
}

.cart-options-stack .cart-purchase-controls label:not(:first-child){
  margin-top:5px;
}

.cart-page .cart-item{
  grid-template-columns:112px minmax(0,1fr) auto auto!important;
  grid-template-areas:"image copy total remove"!important;
}

.cart-drawer .cart-options-stack{
  width:100%;
  max-width:230px;
  margin:12px 0 0;
  justify-items:start;
}

.cart-drawer .cart-options-stack .cart-purchase-controls label{
  text-align:left;
}

@media(max-width:800px){
  .cart-page .cart-item{
    grid-template-columns:84px minmax(0,1fr) auto!important;
    grid-template-areas:
      "image copy total"
      "image copy remove"!important;
  }
}

@media(max-width:520px){
  .cart-page .cart-item{
    grid-template-columns:72px minmax(0,1fr)!important;
    grid-template-areas:
      "image copy"
      "image total"
      "image remove"!important;
  }

  .cart-options-stack{
    width:100%;
    margin-inline:0;
    justify-items:start;
  }

  .cart-options-stack .cart-purchase-controls label{
    text-align:left;
  }
}
