/* LEVITRUE v1.1 — one additive experience layer used across all pages.
 * Design tokens, common components, and global layouts remain in main.css.
 * Motion respects prefers-reduced-motion. No business data in CSS.
 */
:root { --exp-blue: #086ab8; --exp-navy: #072e53; --exp-sky: #e7f6ff; --exp-move: cubic-bezier(.22,.65,.22,1); }
html { scroll-padding-top: 94px; }
body { -webkit-font-smoothing: antialiased; }
.home-experience { overflow: clip; }
.home-experience .section { padding-block: clamp(70px,7vw,116px); }
.home-experience .section h2 { letter-spacing:-.045em; }
.site-header { z-index: 90; }
#reading-progress { position: fixed; top: 0; left: 0; z-index: 102; height: 3px; width: 100%; transform:scaleX(0); transform-origin:left center; pointer-events:none; background:linear-gradient(90deg,#086ab8,#5dc9f0); }
#back-to-top { position:fixed; z-index:91; bottom:24px; right:25px; width:44px; height:44px; border-radius:50%; border:1px solid #a9d5ed; color:#096ab6; background:#fff; box-shadow:0 8px 26px #143e6522; opacity:0; pointer-events:none; transform:translateY(16px); transition:transform .25s var(--exp-move),opacity .25s ease,background .2s; }
#back-to-top.is-visible { opacity:1; pointer-events:auto; transform:translateY(0); }
#back-to-top:hover { background:#eaf7ff; transform:translateY(-3px); }

/* Full-width cinematic banner with text left, photography right. Text is real HTML. */
.hero-immersive { min-height:min(830px,calc(100svh - 78px)); height:min(830px,calc(100svh - 78px)); max-height:none; background:#e8f6ff; isolation:isolate; }
.hero-immersive .hero-slide { overflow:hidden; }
.hero-immersive .hero-art { left:34%; width:66%; overflow:hidden; }
.hero-immersive .hero-art img { width:100%; height:100%; object-fit:cover; object-position:center; animation:none; transform:scale(1.055); transition:transform 7s linear; }
.hero-immersive .hero-slide.is-active .hero-art img { transform:scale(1); }
.hero-immersive .hero-shade { background:linear-gradient(90deg,#edf8ff 0%,#edf8ff 26%,#edf8fff7 35%,#edf8ffd4 43%,#edf8ff79 54%,#edf8ff0b 68%,transparent 76%); }
.hero-immersive .hero-copy { max-width:620px; padding:0 0 40px; }
.hero-immersive .hero-copy-inner { opacity:0; transform:translateY(25px); transition:opacity .58s ease .22s,transform .75s var(--exp-move) .22s; }
.hero-immersive .hero-slide.is-active .hero-copy-inner { opacity:1; transform:translateY(0); }
.hero-immersive .hero-copy h1 { font-size:clamp(43px,4.1vw,61px); font-weight:800; letter-spacing:-.055em; line-height:1.065; max-width:630px; }
.hero-immersive .hero-copy p { font-size:clamp(15px,1.3vw,19px); max-width:430px; line-height:1.75; }
.hero-immersive .hero-bottom { bottom:58px; }
.hero-immersive .hero-scroll-hint { color:#195c8b; text-transform:uppercase; letter-spacing:.15em; transition:color .2s; }
.hero-immersive .hero-scroll-hint:hover { color:#0094da; }
.hero-immersive .hero-control { transition:background .2s ease, color .2s ease, border-color .2s ease; }
.hero-immersive .hero-control:hover { transform:none; background:#0767aa; color:#fff; border-color:#0767aa; }
.hero-immersive .hero-dots { position:absolute; z-index:5; bottom:35px; left:50%; transform:translateX(-50%); display:flex; gap:9px; }
.hero-immersive .hero-dots button { border:0; padding:0; width:8px; height:8px; border-radius:50%; background:#387cad65; transition:width .3s ease,background .3s; }
.hero-immersive .hero-dots button[aria-pressed='true'] { width:26px; border-radius:20px; background:var(--exp-blue); }
.hero-immersive .hero-progress { height:3px; bottom:0; top:auto; }
.hero-immersive .hero-progress span { background:linear-gradient(90deg,#086ab8,#6acdf2); }
.hero-immersive .btn { min-height:48px; }

/* Storytelling: large crisp imagery, content breathing room, subtle parallax. */
.story-immersive { background:#fff; }
.story-immersive .story-layout { grid-template-columns:1.15fr .85fr; gap:clamp(44px,7vw,112px); }
.story-immersive .story-visual { isolation:isolate; }
.story-immersive .story-image { height:clamp(390px,34vw,590px); border-radius:0 28px 0 28px; background:#e8f3f9; }
.story-immersive .story-image img { object-fit:cover; width:100%; height:calc(100% + 60px); margin-top:-30px; transform:translateY(var(--parallax-y,0px)) scale(1.035); }
.story-immersive .story-visual-note { right:-18px; bottom:-18px; border-radius:0 0 16px 0; }
.story-immersive .story-copy h2 { font-size:clamp(34px,3.5vw,57px); }
.story-immersive .story-copy>p:not(.eyebrow) { font-size:16px; }

/* Nutifood-like chapter storytelling, but with LEVITRUE's real, neutral content. */
.section-journey { padding-bottom:0!important; background:linear-gradient(180deg,#f1f9fd,#fff 53%); }
.journey-heading { text-align:center; padding-bottom:clamp(36px,4.6vw,70px); }
.journey-heading h2 { max-width:790px; margin:0 auto 20px; color:var(--brand-dark); font-size:clamp(34px,4vw,60px); }
.journey-heading p { max-width:740px; margin:auto; }
.journey-shell { width:100%; min-height:550px; display:grid; grid-template-columns:57% 43%; background:#082d4e; }
.journey-scene { overflow:hidden; position:relative; min-height:570px; background:#cbe6f5; }
.journey-scene-item { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .75s ease,visibility .75s; }
.journey-scene-item.is-active { opacity:1; visibility:visible; }
.journey-scene-item img { width:100%; height:100%; object-fit:cover; transform:scale(1.09); transition:transform 1.3s var(--exp-move); }
.journey-scene-item.is-active img { transform:scale(1); }
.journey-image-label { position:absolute; bottom:20px; left:26px; color:white; background:#071b2baa; border:1px solid #ffffff45; padding:6px 12px; font-size:10px; letter-spacing:.04em; border-radius:3px; }
.journey-content { padding:clamp(38px,5vw,78px); display:flex; align-items:center; }
.journey-content-inner { width:100%; max-width:550px; }
.journey-content .eyebrow { color:#8fdaff; }
.journey-content .eyebrow:before { background:#8fdaff; }
.journey-tabs { display:grid; gap:0; }
.journey-tab { width:100%; display:grid; grid-template-columns:43px minmax(0,1fr) 26px; align-items:start; gap:15px; padding:22px 0; color:#bcd3e1; text-align:left; background:transparent; border:0; border-bottom:1px solid #ffffff28; transition:color .25s; }
.journey-tab-index { color:#82b6d3; font-size:12px; font-weight:700; }
.journey-tab-copy strong { font-size:clamp(17px,1.5vw,23px); display:block; line-height:1.25; margin-bottom:7px; }
.journey-tab-copy small { font-size:13px; line-height:1.65; display:block; color:#9ab6c9; max-height:0; opacity:0; overflow:hidden; transition:max-height .4s ease,opacity .4s; }
.journey-tab[aria-selected='true'],.journey-tab:hover { color:#fff; }
.journey-tab[aria-selected='true'] .journey-tab-copy small { max-height:120px; opacity:1; }
.journey-tab[aria-selected='true'] .journey-tab-index { color:#5bc9ff; }
.journey-panel { padding-top:30px; display:flex; justify-content:space-between; gap:18px; align-items:center; }
.journey-panel-progress { font-size:12px; letter-spacing:.16em; color:#8ec4e3; }
.journey-panel .link-arrow { color:white; font-size:13px; }
.journey-panel .link-arrow:hover { color:#8ed3ff; }

/* Category + product cards: tactile only, never move CTA over neighboring text. */
.home-experience .category-tile { border-radius:10px; min-height:425px; box-shadow:0 10px 26px #0837560e; }
.home-experience .category-art { overflow:hidden; }
.home-experience .category-art img { transition:transform .65s var(--exp-move),filter .3s; }
.home-experience .category-tile:hover img { transform:scale(1.07) translateY(-5px); }
.home-experience .category-tile:hover { transform:translateY(-3px); }
.home-experience .featured-showcase { gap:22px; }
.home-experience .featured-item .product-card { transition:box-shadow .25s,border-color .25s,transform .25s; }
.home-experience .featured-item .product-card:hover { transform:translateY(-3px); box-shadow:0 18px 35px #164c7418; }
.home-experience .featured-item .product-card img { object-fit:contain; }
.home-experience .values-grid { gap:22px; }
.home-experience .value-card { background:linear-gradient(145deg,#fff,#f6fbff); }
.home-experience .value-card:hover { transform:translateY(-4px); }

/* Editorial offers and latest stories */
.home-experience .promo-layout { border-radius:12px; min-height:420px; background:linear-gradient(110deg,#ddf4ff,#f8fcff); }
.home-experience .promo-art { height:420px; }
.home-experience .promo-art img { width:100%; height:100%; object-fit:cover; transition:transform .7s var(--exp-move); }
.home-experience .promo-layout:hover .promo-art img { transform:scale(1.035); }
.home-experience .news-card { overflow:hidden; }
.home-experience .news-card img { transition:transform .6s var(--exp-move); }
.home-experience .news-card:hover img { transform:scale(1.05); }
.home-experience .link-arrow svg,.home-experience .card-link svg { transition:transform .24s var(--exp-move); }
.home-experience .link-arrow:hover svg,.home-experience .news-card:hover .card-link svg { transform:translateX(5px); }

/* Reveal only where JavaScript/IntersectionObserver is available. */
@media(prefers-reduced-motion:no-preference){
 .has-js .home-experience [data-reveal]:not(.is-visible) { opacity:0; transform:translateY(25px); }
 .has-js .home-experience [data-reveal] { transition:opacity .7s ease,transform .7s var(--exp-move); }
 .has-js .home-experience [data-reveal].is-visible { opacity:1; transform:translateY(0); }
}

/* Keep approved media at native scale; crop only inside the intended frame. */
.hero-immersive .hero-art img,
.story-immersive .story-image img,
.journey-scene-item img,
.home-experience .category-tile:hover img,
.home-experience .promo-layout:hover .promo-art img,
.home-experience .news-card:hover img { transform:none; }
.process-media img { width:100%; object-position:center; }
.product-card:hover .product-photo img { transform:none; }
.news-card:hover img { transform:none!important; }
.news-photo img.news-art-image { transition:none; image-rendering:auto; }
.news-photo { height:auto; aspect-ratio:4 / 3; }
.news-editorial-feature .news-photo { height:auto; aspect-ratio:3 / 2; }
.news-editorial-stack .news-photo { height:auto; aspect-ratio:4 / 3; min-height:0; }

@media(max-width:1050px){
 .hero-immersive { min-height:640px; height:640px; }
 .hero-immersive .hero-art { left:28%; width:72%; }
 .hero-immersive .hero-copy { max-width:490px; }
 .hero-immersive .hero-copy h1 { font-size:clamp(39px,5vw,60px); }
 .journey-shell { grid-template-columns:1fr 1fr; }
 .journey-content { padding:40px; }
 .story-immersive .story-layout { gap:38px; }
}
@media(max-width:760px){
 html { scroll-padding-top:78px; }
 .home-experience .section { padding-block:65px; }
 .hero-immersive { height:auto; min-height:0; max-height:none; background:#edf8ff; padding-bottom:0; }
 .hero-immersive .hero-track { position:relative; min-height:700px; }
 .hero-immersive .hero-slide { height:100%; }
 .hero-immersive .hero-art { top:340px; left:0; width:100%; height:360px; }
 .hero-immersive .hero-art img { object-fit:cover; object-position:center; }
 .hero-immersive .hero-shade { background:linear-gradient(180deg,#edf8ff 0%,#edf8ff 38%,#edf8ffbd 53%,transparent 72%); }
 .hero-immersive .hero-content { align-items:flex-start; padding-top:40px; }
 .hero-immersive .hero-copy { max-width:100%; padding:0; }
 .hero-immersive .hero-copy h1 { font-size:clamp(34px,8vw,52px); max-width:500px; }
 .hero-immersive .hero-copy p { font-size:14px; margin-bottom:18px; max-width:410px; }
 .hero-immersive .hero-copy .hero-tag { margin-bottom:14px; font-size:10px; }
 .hero-immersive .hero-bottom { bottom:18px; }
 .hero-immersive .hero-scroll-hint { display:none; }
 .hero-immersive .hero-dots { bottom:27px; left:20%; }
 .hero-immersive .hero-bottom .hero-toolbar { margin-left:auto; }
 .hero-immersive .hero-control { width:37px; height:37px; }
 .story-immersive .story-layout { grid-template-columns:1fr; }
 .story-immersive .story-image { height:360px; }
 .story-immersive .story-visual-note { right:0; }
 .journey-shell { grid-template-columns:1fr; }
 .journey-scene { min-height:320px; }
 .journey-content { padding:35px 24px 50px; }
 .journey-heading h2 { font-size:clamp(30px,7vw,45px); }
 .home-experience .category-tile { min-height:310px; }
 .home-experience .featured-showcase { grid-template-columns:1fr 1fr; }
 .home-experience .promo-layout { grid-template-columns:1fr; }
 .home-experience .promo-art { height:300px; }
 .home-experience .promo-copy { padding:37px 28px; }
 .home-experience .promo-layout { gap:0; }
 #back-to-top { width:40px;height:40px;bottom:15px;right:14px; }
}
@media(max-width:480px){
 .hero-immersive .hero-track { min-height:650px; }
 .hero-immersive .hero-art { top:326px; height:324px; }
 .hero-immersive .hero-copy h1 { font-size:clamp(33px,9vw,42px); }
 .hero-immersive .hero-copy p { max-width:335px; }
 .hero-immersive .hero-bottom { bottom:11px; }
 .hero-immersive .hero-dots { display:none; }
 .journey-scene { min-height:265px; }
 .home-experience .featured-showcase { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce){
 .hero-immersive *, .home-experience [data-reveal], .journey-scene-item, .journey-scene-item img, .story-immersive .story-image img { transition-duration:.01ms!important; animation:none!important; }
 .hero-immersive .hero-slide .hero-copy-inner { opacity:1; transform:none; }
 .story-immersive .story-image img { transform:none; }
}
/* Keep the reveal finish state from suppressing hover motion on card links. */
@media(prefers-reduced-motion:no-preference){
 .has-js .home-experience .category-tile[data-reveal].is-visible:hover { transform:translateY(-3px); }
}

/* Brand visual assets v1.2: generated campaign artwork is a complete composition with its own headline.
   Display its full frame instead of duplicating HTML copy over the embedded text. */
.hero-campaign {height:auto;min-height:0;max-height:none;aspect-ratio:2006/784;background:#0a3769;}
.hero-campaign .hero-track,.hero-campaign .hero-slide,.hero-campaign .hero-art {position:absolute;inset:0;width:100%;height:100%;}
.hero-campaign .hero-art picture,.hero-campaign .hero-art img {display:block;width:100%;height:100%;}
.hero-campaign .hero-art img {object-fit:cover;object-position:center;transform:none!important;transition:none!important;}
.hero-campaign .hero-shade {background:none;pointer-events:none;}
.hero-campaign .hero-slide--image-only .hero-copy {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.hero-campaign-cta {display:none;}
.hero-campaign .hero-slide--image-only .hero-campaign-cta {display:inline-flex;position:absolute;bottom:46px;left:clamp(24px,7vw,140px);align-items:center;gap:9px;padding:10px 17px;border:1px solid #ffffffc9;border-radius:999px;color:#fff;background:#063d79dd;box-shadow:0 8px 25px #021e4a44;font-size:12px;font-weight:750;z-index:4;transition:background .2s ease,color .2s;}
.hero-campaign .hero-slide--image-only .hero-campaign-cta:hover {background:#fff;color:#05498b;}
.hero-campaign .hero-slide:not(.hero-slide--image-only) .hero-art {left:35%;width:65%;}
.hero-campaign .hero-slide:not(.hero-slide--image-only) .hero-shade {background:linear-gradient(90deg,#eff8ff 0%,#eff8fff2 29%,#eff8ff91 50%,transparent 65%);}
.hero-campaign .hero-slide:not(.hero-slide--image-only) .hero-copy {max-width:520px;}
.hero-campaign .hero-bottom {bottom:26px;}
.hero-campaign .hero-control {background:#fffdf2dd;color:#0b477e;}
.hero-campaign .hero-number {color:#fff;background:#073661b9;padding:5px 9px;border-radius:5px;}
.hero-campaign .hero-scroll-hint {color:#fff;background:#07366191;padding:5px 8px;border-radius:4px;}
.hero-campaign .hero-dots {bottom:18px;}
.hero-campaign .hero-dots button {background:#ffffff90;}
.hero-campaign .hero-dots button[aria-pressed='true'] {background:#fff;}
.hero-visual-disclaimer {position:absolute;bottom:6px;left:clamp(16px,2vw,40px);z-index:5;color:#fff;font-size:10px;text-shadow:0 1px 4px #000;font-weight:600;letter-spacing:.02em;}
.product-image-awaiting {width:100%;height:100%;min-height:170px;background:radial-gradient(circle at 50% 25%,#e2f4ff,transparent 60%),linear-gradient(140deg,#f5fbff,#f6f4ec);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px;color:#214f7c;}
.product-image-awaiting strong {font-size:clamp(16px,1.4vw,24px);letter-spacing:-.02em;line-height:1.25;}
.product-image-awaiting small {font-size:11px;color:#67849d;font-weight:500;}
.product-photo {position:relative;}
.product-image-status {position:absolute;bottom:10px;left:10px;z-index:2;font-size:10px;font-weight:600;background:#fffffff0;padding:4px 7px;border-radius:5px;color:#657b8d;}
.product-detail-photo .product-image-awaiting {min-height:440px;}
@media(max-width:760px){
 .hero-campaign {height:auto;min-height:0;aspect-ratio:1086/1448;}
 .hero-campaign .hero-track {position:absolute;min-height:0;}
 .hero-campaign .hero-art {top:0;left:0;width:100%;height:100%;}
 .hero-campaign .hero-slide:not(.hero-slide--image-only) .hero-art {left:0;width:100%;}
 .hero-campaign .hero-slide--mobile-image-only .hero-copy {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
 .hero-campaign .hero-slide--mobile-image-only .hero-shade {background:none;}
 .hero-campaign .hero-slide--mobile-image-only .hero-campaign-cta {display:inline-flex;position:absolute;left:16px;bottom:48px;align-items:center;gap:8px;padding:10px 14px;border:1px solid #ffffffa8;border-radius:999px;background:#0b4280e0;color:#fff;font-size:12px;font-weight:750;z-index:4;}
 .hero-campaign .hero-bottom {bottom:9px;}
 .hero-campaign .hero-dots {bottom:24px;left:50%;}
 .hero-campaign .hero-scroll-hint {display:none;}
 .hero-campaign .hero-toolbar {position:absolute;bottom:2px;right:0;}
 .hero-campaign .hero-number {font-size:10px;}
 .hero-visual-disclaimer {font-size:9px;bottom:5px;left:9px;}
 .product-image-status {font-size:9px;bottom:5px;left:5px;}
}

/* Visual review fixes: do not compete with copy embedded inside generated campaign art. */
.hero-campaign .hero-scroll-hint { display:none; }

@media(max-width:760px){
  .hero-campaign .hero-slide--mobile-image-only .hero-campaign-cta {
     font-size:0; color:transparent; background:transparent; border:0; box-shadow:none;
     left:27%; width:46%; height:43px; bottom:5%; padding:0; justify-content:center;
  }
  .hero-campaign .hero-slide--mobile-image-only .hero-campaign-cta svg { display:none; }
  .hero-campaign .hero-slide--mobile-image-only .hero-campaign-cta:focus-visible { outline:3px solid #fff; outline-offset:2px; }
  .hero-campaign .hero-bottom .hero-toolbar { display:none; }
  .hero-campaign .hero-dots { bottom:2.5%; }
  .hero-visual-disclaimer { left:5px; bottom:3px; font-size:8px; opacity:.9; }
}

/* ===== Levitrue v1.3: verified-brand and responsive-media corrections ===== */
.hero-v13 { height:auto!important; min-height:0!important; max-height:none!important; aspect-ratio:auto!important; background:#102e53; overflow:visible; }
.hero-v13 .hero-track { position:relative!important; inset:auto!important; width:100%!important; height:clamp(350px,39.02vw,680px)!important; min-height:0!important; background:#0c355c; overflow:hidden; }
.hero-v13 .hero-slide {position:absolute!important; inset:0!important; width:100%;height:100%;overflow:hidden;}
.hero-v13 .hero-art {position:absolute!important;inset:0!important;left:0!important;top:0!important;width:100%!important;height:100%!important;overflow:hidden;}
.hero-v13 .hero-art img {display:block;width:100%!important;height:100%!important;max-width:none;transition:none!important;animation:none!important;transform:none!important;}
.hero-v13 .hero-slide--image-only .hero-art img {object-fit:contain!important;object-position:center center!important;}
.hero-v13 .hero-slide--text .hero-art img {object-fit:cover!important;object-position:center!important;}
.hero-v13 .hero-image-hitarea {position:absolute;inset:0;display:block;z-index:3;}
.hero-v13 .hero-slide--text .hero-copy {position:relative;z-index:2;padding:0;max-width:min(560px,48vw);color:#092e55;}
.hero-v13 .hero-slide--text .hero-copy h1 {font-size:clamp(32px,4vw,58px);line-height:1.08;}
.hero-v13 .hero-slide--text .hero-copy p {color:#355d7d;}
.hero-v13 .hero-slide--text .hero-content {position:absolute;inset:0;z-index:3;display:flex;align-items:center;}
.hero-v13 .hero-control-strip {position:relative;display:flex;align-items:center;gap:18px;width:100%;min-height:72px;padding:12px max(4vw,calc((100vw - 1200px)/2));background:#fff;border-bottom:1px solid #e1ebf2;color:#4c6480;}
.hero-v13 .hero-strip-note {font-size:12px;color:#687b8d;line-height:1.45;flex:1;}
.hero-v13 .hero-strip-link {display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px;font-weight:800;color:#1268aa;}
.hero-v13 .hero-toolbar {display:flex;align-items:center;gap:8px;}
.hero-v13 .hero-number {font-size:12px;color:#2e6385;background:transparent;padding:0 8px 0 0;font-weight:750;}
.hero-v13 .hero-control {width:35px;height:35px;border:1px solid #cbdde9;border-radius:50%;background:#fff;color:#12629c;display:grid;place-items:center;}
.hero-v13 .hero-control:hover {background:#0b6cba;color:#fff;border-color:#0b6cba;}
.hero-v13 .hero-dots {position:static!important;transform:none!important;display:flex!important;gap:6px;align-items:center;}
.hero-v13 .hero-dots button {width:7px;height:7px;border:0;border-radius:99px;background:#acc4d8;}
.hero-v13 .hero-dots button[aria-pressed="true"] {width:22px;background:#0968ae;}
.hero-v13 .hero-progress {position:absolute;bottom:0;top:auto;height:3px;z-index:5;}
.hero-v13 .hero-slide:not(.hero-slide--image-only) .hero-shade {display:none;}
.hero-v13 .hero-slide--image-only .hero-copy,.hero-v13 .hero-campaign-cta,.hero-v13 .hero-shade,.hero-v13 .hero-visual-disclaimer,.hero-v13 .hero-bottom {display:none!important;}

/* Shared product media view: no fake packshots; one fit policy for every card/detail. */
.product-photo,.listing-cards .product-photo,.product-card--featured .product-photo {position:relative;margin:12px 12px 0;padding:0;height:auto!important;aspect-ratio:4/3;min-height:0;max-width:100%;overflow:hidden;isolation:isolate;background:#f3f8fb;display:grid;place-items:stretch;}
.product-card--featured .product-photo {margin:0;aspect-ratio:4/3;}
.product-photo img.product-packshot {display:block;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center;}
.product-photo--sua-bot {background:linear-gradient(135deg,#edf6ff,#e6f0f8);}
.product-photo--sua-pha-san {background:linear-gradient(135deg,#eff7f8,#e3f1ed);}
.product-awaiting {box-sizing:border-box;width:100%;height:100%;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;padding:18px;text-align:center;overflow:hidden;background:transparent;color:#4e7c9b;}
.product-awaiting svg {flex:none;width:clamp(30px,4vw,54px);height:clamp(30px,4vw,54px);opacity:.57;}
.product-awaiting span {font-size:clamp(11px,1vw,13px);font-weight:750;line-height:1.35;overflow-wrap:anywhere;}
.product-awaiting small {font-size:11px;color:#6e8999;line-height:1.35;}
.product-info {min-height:120px;}
.product-detail-photo {display:grid;place-items:stretch;height:auto!important;aspect-ratio:1.12;background:linear-gradient(140deg,#eff7fd,#f6fafc);overflow:hidden;}
.product-awaiting--detail {max-width:100%;padding:35px;}
.product-awaiting--detail svg {width:85px;height:85px;}
.product-awaiting--detail span {font-size:18px;}
.product-noncommercial {max-width:480px;font-size:12px;line-height:1.7;background:#eef8fb;padding:12px 15px;border-left:3px solid #1d78a6;margin:18px 0;}
.category-art img,.story-image img,.news-photo img,.content-illustration img,.article-photo img,.wide-photo img {max-width:100%;width:100%;height:100%;object-fit:cover;object-position:center;}
.category-art,.news-photo,.story-image,.wide-photo,.article-photo {overflow:hidden;}
.story-immersive .story-image img {height:100%!important;margin-top:0!important;transform:none!important;}
.promo-art {overflow:hidden;}
.promo-art img {width:100%;height:100%;object-fit:cover;}
/* Long explanatory labels must never overflow card boundaries. */
.product-info h3,.news-info h3,.category-text h3 {overflow-wrap:break-word;}

@media(max-width:760px){
 .hero-v13 {height:auto!important;min-height:0!important;aspect-ratio:auto!important;}
 .hero-v13 .hero-track {height:clamp(240px,64vw,370px)!important;min-height:0!important;}
 .hero-v13 .hero-slide--image-only .hero-art img {object-fit:contain!important;}
 .hero-v13 .hero-slide--text .hero-art {left:0!important;top:0!important;width:100%!important;height:100%!important;}
 .hero-v13 .hero-slide--text .hero-copy {max-width:95%;padding:0;position:relative;clip-path:none;white-space:normal;}
 .hero-v13 .hero-slide--text .hero-copy h1 {font-size:clamp(26px,6vw,39px);}
 .hero-v13 .hero-slide--text .hero-content {position:absolute;inset:0;display:flex;align-items:center;}
 .hero-v13 .hero-control-strip {min-height:94px;flex-wrap:wrap;padding:10px 18px;gap:6px 15px;}
 .hero-v13 .hero-strip-note {flex-basis:100%;font-size:11px;}
 .hero-v13 .hero-strip-link {font-size:11px;}
 .hero-v13 .hero-toolbar {margin-left:auto;}
 .hero-v13 .hero-number {font-size:10px;}
 .hero-v13 .hero-dots {display:flex!important;}
 .product-photo,.listing-cards .product-photo {aspect-ratio:4/3;}
 .product-awaiting {gap:4px;padding:7px;}
 .product-awaiting svg {width:29px;height:29px;}
 .product-awaiting span {font-size:10px;}
 .product-awaiting small {font-size:9px;}
 .product-detail-photo .product-awaiting svg {width:70px;height:70px;}
 .product-detail-photo .product-awaiting span {font-size:16px;}
}
@media(max-width:390px){
 .hero-v13 .hero-control-strip {padding-inline:12px;}
 .hero-v13 .hero-toolbar {gap:5px;}
 .hero-v13 .hero-dots {display:none!important;}
}

/* ==============================================================
   Levitrue v1.4 — brand-safe editorial refresh.
   No invented offices, factory ownership or product packaging.
   ============================================================= */
:root{--brand:#0b5c95;--brand-dark:#0c3154;--footer:#0c2a45;--line:#e3e9ed;--radius:18px;--shadow:0 16px 42px rgba(11,47,80,.10)}
.site-header{background:rgba(255,255,255,.985)}
.site-header .brand-image{width:auto;max-height:50px;max-width:195px;object-fit:contain}
.site-footer .brand-image{max-width:205px;max-height:60px}
.section-heading h2,.section-title h2,.story-copy h2{letter-spacing:-.045em}
/* Full-width original campaign art. No text laid over letters embedded in image. */
.hero-v14{background:#fff;overflow:visible!important}
.hero-v14 .hero-track{height:min(39.02vw,720px)!important;background:#0b3561!important;min-height:350px!important;overflow:hidden}
.hero-v14 .hero-slide,.hero-v14 .hero-official{width:100%;height:100%}
.hero-v14 .hero-official{display:flex;justify-content:center;align-items:center;background:#0a3060}
.hero-v14 .hero-official>img{display:block!important;width:100%;height:100%;object-fit:contain!important;object-position:center center!important}
.hero-v14 .hero-mobile-details{display:none}
.hero-v14 .hero-control-strip{min-height:70px;padding:13px max(32px,calc((100vw - 1200px)/2));gap:25px;justify-content:space-between;box-shadow:0 10px 20px rgba(12,48,78,.035)}
.hero-strip-brand{display:flex;align-items:center;gap:14px;font-size:12px;color:#638299;flex:1}
.hero-strip-brand strong{color:#163d5d;font-weight:700;font-size:13px}
.hero-strip-line{width:28px;height:2px;background:#d0a01d;display:block}
.hero-v14 .hero-toolbar{gap:12px}
.hero-v14 .hero-toolbar>[data-slider-indicator]{font-size:12px;font-weight:750;letter-spacing:.08em;color:#3c6889;white-space:nowrap}
.hero-v14 .hero-dots{gap:8px}
.hero-v14 .hero-control{width:38px;height:38px}
.hero-v14 .hero-progress{display:none!important}
.hero-brand-slide{height:100%;width:100%;background:radial-gradient(circle at 83% 18%,#e2eec6,transparent 28%),linear-gradient(110deg,#eef7fc 0%,#f4f9f9 50%,#e8f1f1 100%);overflow:hidden}
.hero-brand-slide--2{background:radial-gradient(circle at 78% 25%,#f6e4b5,transparent 25%),linear-gradient(110deg,#0d3760,#174f70 65%,#315e64);color:white}
.hero-brand-layout{height:100%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;position:relative}
.hero-brand-copy{max-width:620px;position:relative;z-index:2}
.hero-brand-overline{font-size:12px;letter-spacing:.17em;font-weight:850;color:#2f7395}
.hero-brand-slide--2 .hero-brand-overline{color:#d9bf75}
.hero-brand-copy h2{font-weight:800;font-size:clamp(36px,4.6vw,72px);line-height:1.08;margin:24px 0;letter-spacing:-.055em;color:#0e365b}
.hero-brand-copy p{font-size:16px;line-height:1.75;max-width:430px;color:#5a768b;margin:0 0 28px}
.hero-brand-slide--2 h2,.hero-brand-slide--2 p{color:white}
.hero-brand-slide--2 p{color:#d0e2ef}
.hero-brand-art{height:min(440px,30vw);max-width:510px;aspect-ratio:1;position:relative;display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle at 36% 33%,#fffefd,#dce9f0 69%,#dae7ed);border:1px solid #fff9;box-shadow:0 42px 120px #2e688031,inset 0 0 0 17px #ffffff59}
.hero-brand-art img{width:70%;max-height:100px;object-fit:contain;position:relative;z-index:2}
.hero-brand-orbit{position:absolute;inset:30px;border:1px dashed #aeccd6;border-radius:50%}
.hero-brand-index{position:absolute;bottom:3%;right:1%;font-size:150px;line-height:1;color:#dfb64938;font-weight:900}
.hero-brand-slide--2 .hero-brand-art{background:radial-gradient(circle,#2f6481,#073454);border-color:#d0bd8240}
.hero-brand-slide--2 .hero-brand-orbit{border-color:#dcc78777}
/* Rich editorial story composition instead of blank SVG placeholder */
.story-brand-panel{height:100%;min-height:440px;border-radius:20px;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:36px 38px;color:#fff;overflow:hidden;background:radial-gradient(circle at 88% 16%,#f6d88d 0%,transparent 30%),linear-gradient(140deg,#0b3762 0%,#0a4773 65%,#102e52 100%);box-shadow:0 28px 65px #0d3e5f20}
.story-brand-panel:before{content:"";position:absolute;width:420px;height:420px;border:1px solid #fff3;border-radius:50%;top:-180px;right:-210px;box-shadow:0 0 0 65px #ffffff07,0 0 0 145px #ffffff08}
.story-panel-overline{font-size:12px;letter-spacing:.2em;font-weight:800;color:#bdd9eb;position:relative}
.story-brand-panel img{max-width:250px;max-height:90px;object-fit:contain;align-self:flex-start;position:relative;filter:drop-shadow(0 4px 18px #13293333)}
.story-panel-copy{font-size:clamp(28px,3.4vw,54px);font-weight:900;line-height:1.13;letter-spacing:-.055em;position:relative}
.story-panel-copy span{color:#e9ba3e}
.story-panel-footer{border-top:1px solid #ffffff3d;padding-top:20px;display:flex;justify-content:space-between;color:#e9d1a0;font-size:13px;position:relative}
.story-panel-footer span{font-size:24px}
.story-visual{min-width:0}
.story-copy{align-self:center}
/* Journey: intentional visual concepts, not pseudo-location photography */
.journey-graphic{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:15px;position:relative;overflow:hidden;padding:8%;background:linear-gradient(140deg,#e1eff8,#f4f8fb);color:#123e63}
.journey-graphic--2{background:linear-gradient(135deg,#f1ead9,#e9f5f0)}
.journey-graphic-no{position:absolute;right:-4%;top:-20%;font-size:clamp(260px,30vw,440px);font-weight:900;color:#fff9;line-height:1;pointer-events:none}
.journey-graphic-symbol{width:76px;height:76px;border:1px solid #13618b80;border-radius:50%;display:grid;place-items:center;font-size:40px;color:#0b659c;z-index:1}
.journey-graphic strong{font-size:clamp(26px,3.3vw,54px);max-width:500px;line-height:1.12;letter-spacing:-.045em;z-index:1}
.journey-graphic p{font-size:15px;max-width:430px;z-index:1;color:#4d6a80}
.journey-scene-item img{object-fit:cover!important;max-width:100%}
.journey-image-label{background:#102d48db!important;color:white!important;font-size:11px!important;padding:6px 12px!important}
/* Category tiles are designed editorial entrypoints, never fabricated product photos */
.category-tile--editorial{border:1px solid #dfe7eb;min-height:350px;box-shadow:0 10px 30px #1e587809;background:#e5f4fa}
.category-tile--editorial.category-tile--cream{background:#f8f1e3}
.category-tile--editorial.category-tile--mint{background:#eaf5ee}
.category-tile--editorial .category-text{position:relative;z-index:3;padding:26px}
.category-tile--editorial .category-text h3{font-size:clamp(20px,2vw,28px);max-width:330px;min-height:70px}
.category-graphic{position:relative;flex:1;min-height:125px;display:flex;align-items:flex-end;justify-content:flex-start;padding:20px 28px;overflow:hidden}
.category-graphic-mark{position:absolute;right:15%;bottom:-58px;font-size:clamp(165px,19vw,260px);font-weight:900;line-height:1;color:#ffffff9a;letter-spacing:-.14em}
.category-graphic-shape{position:absolute;left:-75px;bottom:-150px;width:285px;height:285px;border:1px solid #4380a938;border-radius:50%;box-shadow:0 0 0 34px #4380a907,0 0 0 80px #4380a905}
.category-graphic-arrow{position:relative;font-size:28px;border:1px solid #0d6aa342;color:#0c6497;border-radius:50%;width:49px;height:49px;display:grid;place-items:center;background:#fff8}
.category-tile--editorial:hover .category-graphic-arrow{background:#0b5c95;color:#fff;transition:background .2s,color .2s}
/* Product information without photos should be typographically finished, not empty icons */
.product-photo,.listing-cards .product-photo,.product-card--featured .product-photo{margin:9px!important;width:calc(100% - 18px)!important;aspect-ratio:16/10!important;background:none!important;padding:0!important;border-radius:12px!important}
.product-card--featured .product-photo{margin:10px!important}
.product-editorial{width:100%;height:100%;min-height:160px;display:flex;flex-direction:column;justify-content:space-between;padding:21px 23px;background:radial-gradient(circle at 90% 92%,#f7db9e 0%,transparent 34%),linear-gradient(140deg,#e2f0fa,#f2f8fa);color:#103e63;position:relative;overflow:hidden}
.product-editorial--ready{background:radial-gradient(circle at 90% 80%,#e8cfad 0%,transparent 36%),linear-gradient(130deg,#f0f4e7,#e2efec)}
.product-editorial:after{content:"";position:absolute;width:240px;height:240px;right:-130px;top:-140px;border:1px solid #0d668320;border-radius:50%;box-shadow:0 0 0 45px #ffffff19,0 0 0 90px #ffffff16}
.product-editorial-top{display:flex;align-items:start;justify-content:space-between;gap:10px;position:relative;z-index:1;font-size:9px;letter-spacing:.13em;font-weight:850;color:#4e728d}
.product-editorial-top>span:last-child{font-size:24px;color:#c79b36}
.product-editorial-name{position:relative;z-index:1;font-size:clamp(24px,2.4vw,39px);font-weight:900;line-height:1.12;letter-spacing:-.04em;max-width:95%;overflow-wrap:break-word}
.product-editorial-bottom{position:relative;z-index:1;font-size:10px;font-weight:700;line-height:1.35;color:#5b7587}
.product-editorial-bottom span{padding:0 4px;color:#c8a042}
.product-editorial--detail{padding:9%;border-radius:16px;min-height:360px}
.product-editorial--detail .product-editorial-name{font-size:clamp(36px,5vw,70px)}
.product-card:hover .product-editorial{filter:saturate(1.07)}
.product-detail-photo{background:transparent!important;border-radius:18px!important;min-height:350px!important;aspect-ratio:1.12!important;overflow:hidden!important}
.product-detail-photo .product-editorial{height:100%;width:100%}
.product-info{min-height:98px!important}
.product-card--featured{min-height:365px!important}
.product-card--featured .product-info{padding:15px 20px 22px!important}
.product-card--featured .product-info h3{font-size:21px!important}
/* Editorial news images, with meaningful content and no repeated pale waveform SVG */
.news-photo{background:#e7f0f6}
.news-editorial-art{height:100%;width:100%;min-height:190px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:25px;background:linear-gradient(145deg,#0d4674,#2273a4);position:relative;overflow:hidden;color:white}
.news-editorial-art:after{content:"";position:absolute;width:380px;height:380px;border:1px solid #ffffff2d;border-radius:50%;right:-200px;bottom:-220px;box-shadow:0 0 0 55px #ffffff08,0 0 0 110px #ffffff08}
.news-editorial-art--san-pham{background:linear-gradient(140deg,#e8e4d2,#d8eee9);color:#134566}
.news-editorial-art--dai-ly{background:linear-gradient(140deg,#124b70,#0c3454)}
.news-editorial-art--tuyen-dung{background:linear-gradient(140deg,#dbedec,#bcd8e0);color:#0e4062}
.news-editorial-art span:first-child{font-size:11px;font-weight:800;letter-spacing:.12em;position:relative;z-index:2;text-transform:uppercase}
.news-editorial-art strong{font-size:clamp(17px,2vw,28px);line-height:1.15;max-width:95%;font-weight:800;z-index:2;letter-spacing:-.035em}
.news-art-arrow{position:absolute;top:18px;right:20px;font-size:26px;opacity:.7}
.news-editorial-feature .news-editorial-art{min-height:100%}
/* Clear visual surface on about / contact / partner pages */
.brand-information-art{min-height:350px;height:100%;border-radius:18px;padding:34px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;color:white;background:radial-gradient(circle at 90% 20%,#dbbd78 0%,transparent 30%),linear-gradient(130deg,#0e3d63,#145e83);box-shadow:0 20px 50px #0f466014}
.brand-information-art span{font-size:12px;font-weight:850;letter-spacing:.17em;color:#e5c98e}
.brand-information-art strong{font-size:clamp(32px,4vw,60px);line-height:1.1;font-weight:850;letter-spacing:-.055em}
.brand-information-art small{font-size:12px;color:#c2dae7}
.brand-information-art--dealer{background:radial-gradient(circle at 90% 20%,#f6dfab 0%,transparent 32%),linear-gradient(130deg,#0b426b,#20798d)}
.contact-map-pending{background:linear-gradient(140deg,#ecf5f9,#e4f1ed);border:1px solid #d6e8ee;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:12px;margin-top:24px}
.contact-map-pending span{font-size:11px;letter-spacing:.12em;color:#47819a;text-transform:uppercase;font-weight:800}
.contact-map-pending strong{font-size:22px;color:#133d5f}
.contact-map-pending small{color:#627e91}
/* Keep title intros editorial-sized, not vast banners that push content below fold. */
.page-heading{padding:65px 0 58px!important;background:linear-gradient(100deg,#eef7fa,#f7fafc)!important}
.page-heading h1{font-size:clamp(34px,3.4vw,52px)!important}
.page-heading .heading-watermark{opacity:.11!important}
.site-footer{padding-top:56px}
@media(max-width:900px){
 .hero-v14 .hero-track{min-height:0!important;height:40vw!important}
 .hero-brand-layout{gap:20px;grid-template-columns:1.2fr .8fr}
 .hero-brand-copy h2{font-size:clamp(28px,4.4vw,48px)}
 .hero-brand-art{height:min(260px,32vw)}
 .story-brand-panel{min-height:380px}
 .category-graphic-mark{font-size:180px}
}
@media(max-width:760px){
 .hero-v14 .hero-track{min-height:0!important;height:clamp(335px,95vw,470px)!important}
 .hero-v14 .hero-official{align-items:stretch!important;justify-content:start;flex-direction:column;background:#f0f7fc}
 .hero-v14 .hero-official>img{height:auto!important;width:100%!important;max-height:none;flex:0 0 auto;object-fit:contain!important}
 .hero-v14 .hero-mobile-details{display:flex;flex:1;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding:15px 24px 24px;background:linear-gradient(130deg,#edf8ff,#e5f1f8)}
 .hero-mobile-details span{font-size:10px;letter-spacing:.17em;color:#2b688c;font-weight:850}
 .hero-mobile-details h2{font-size:clamp(25px,7vw,38px);line-height:1.12;letter-spacing:-.04em;color:#0c375d;margin:0;max-width:365px}
 .hero-mobile-details a{display:inline-flex;align-items:center;gap:8px;color:#0a669e;font-size:12px;font-weight:800}
 .hero-v14 .hero-control-strip{min-height:56px;display:flex;flex-wrap:nowrap;gap:10px;padding:8px 18px}
 .hero-strip-brand{gap:7px}
 .hero-strip-brand strong{display:none}
 .hero-strip-brand span:not(.hero-strip-line){font-size:10px;font-weight:800}
 .hero-v14 .hero-toolbar{margin:0;gap:7px}
 .hero-v14 .hero-control{width:32px;height:32px}
 .hero-v14 .hero-dots{display:flex!important;gap:5px}
 .hero-v14 .hero-toolbar>[data-slider-indicator]{font-size:10px}
 .hero-brand-layout{grid-template-columns:1fr 100px;gap:12px;align-items:center}
 .hero-brand-copy h2{font-size:clamp(29px,7vw,43px);margin:16px 0}
 .hero-brand-copy p{font-size:12px;line-height:1.5;margin-bottom:15px}
 .hero-brand-overline{font-size:9px}
 .hero-brand-art{height:125px;align-self:center}
 .hero-brand-art img{width:78%}
 .hero-brand-index{font-size:60px}
 .story-brand-panel{min-height:340px}
 .journey-graphic{padding:10%}
 .journey-graphic-no{font-size:220px}
 .category-tile--editorial{min-height:285px}
 .category-graphic{min-height:95px}
 .product-editorial{padding:15px;min-height:125px}
 .product-editorial-name{font-size:clamp(18px,4vw,30px)}
 .product-editorial-top{font-size:8px}
 .product-editorial-bottom{font-size:8px}
 .product-photo,.listing-cards .product-photo{aspect-ratio:1.15!important}
 .product-editorial--detail{min-height:275px}
 .product-detail-photo{min-height:275px!important}
 .news-editorial-art strong{font-size:23px}
 .page-heading{padding:50px 0!important}
}
@media(max-width:430px){
 .hero-v14 .hero-track{height:390px!important}
 .hero-mobile-details h2{font-size:29px}
 .hero-v14 .hero-toolbar>[data-slider-indicator]{display:none}
 .hero-v14 .hero-dots{display:flex!important}
 .product-editorial-name{font-size:clamp(16px,5vw,23px)}
 .product-editorial-bottom{font-size:7px}
 .product-editorial--detail .product-editorial-name{font-size:44px}
 .product-info{min-height:100px!important}
}
@media(prefers-reduced-motion:reduce){.hero-brand-slide *, .category-graphic *{animation:none!important;transition:none!important}}
/* Promo has its own complete brand composition when no approved photo exists */
.promo-editorial-graphic{width:100%;height:100%;min-height:330px;border-radius:0 18px 18px 0;background:radial-gradient(circle at 80% 20%,#fff0b9,transparent 34%),linear-gradient(135deg,#184970,#0c345a);display:flex;flex-direction:column;justify-content:space-between;padding:35px;color:white;overflow:hidden;position:relative}
.promo-editorial-graphic:after{content:"";position:absolute;right:-100px;bottom:-130px;width:330px;height:330px;border:1px solid #fff5;border-radius:50%;box-shadow:0 0 0 40px #ffffff0a,0 0 0 85px #ffffff08}
.promo-editorial-graphic>span:first-child{font-size:11px;letter-spacing:.2em;color:#e9c77a;font-weight:800;z-index:1}
.promo-editorial-graphic>strong{font-size:clamp(35px,3.7vw,57px);line-height:1.05;font-weight:900;letter-spacing:-.06em;z-index:1}
.promo-editorial-graphic>strong>span{color:#f1c75d}
.promo-graphic-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff50;padding-top:15px;font-size:12px;color:#dfedf5;position:relative;z-index:1}
.promo-graphic-footer b{font-size:24px;color:#edc55f}
.article-photo .news-editorial-art{min-height:360px}
@media(max-width:780px){.promo-editorial-graphic{min-height:240px;border-radius:0 0 16px 16px}.article-photo .news-editorial-art{min-height:220px}}

/* v1.5 — semantic, responsive AI imagery for editorial sections. Not product packshots. */
.ai-media{position:relative;isolation:isolate;overflow:hidden;border-radius:16px;background:#edf4f7;min-height:0;width:100%;height:100%}
.ai-media > img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;max-width:none}
.ai-media-label{position:absolute;bottom:12px;left:12px;z-index:2;display:inline-flex;align-items:center;max-width:calc(100% - 24px);padding:6px 10px;border-radius:7px;background:rgba(4,30,52,.85);color:white;font-size:10px;font-weight:650;line-height:1.4;letter-spacing:.015em;backdrop-filter:blur(5px)}
.hero-v14 .hero-brand-art--photo{position:relative;overflow:hidden;border-radius:0;display:block;padding:0;background:#e8f3f8}
.hero-v14 .hero-split-photo{border-radius:0;height:100%;min-height:100%;width:100%;}
.hero-v14 .hero-split-photo>img{object-fit:cover;object-position:center 45%;}
.hero-v14 .hero-brand-copy{position:relative;z-index:2}
.story-immersive .story-editorial-photo{min-height:410px;border-radius:18px;box-shadow:0 17px 45px rgba(15,60,95,.12)}
.story-immersive .story-visual{height:auto;min-height:410px;overflow:visible}
.story-immersive .story-visual .ai-media img{width:100%;height:100%;object-fit:cover;transform:none!important}
.category-tile--editorial .category-graphic--photo{position:relative;display:block;min-height:0;height:210px;flex:0 0 210px;padding:0;overflow:hidden}
.category-tile--editorial .category-graphic--photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 440ms ease}
.category-tile--editorial .category-graphic--product>img{object-fit:contain;object-position:center;padding:12px;box-sizing:border-box;}
.category-tile--editorial:hover .category-graphic--photo>img{transform:scale(1.04)}
.category-graphic--photo .ai-media-label{left:9px;bottom:9px;font-size:9px}
.promo-layout>.promo-photo{min-height:370px;height:100%;border-radius:0 18px 18px 0}
.promo-photo>img{object-fit:cover;object-position:50% 45%}
.journey-scene-item img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
.news-photo,.article-photo,.wide-photo{position:relative}
.news-photo img.news-art-image{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 42%;}
.news-photo img.news-art-image--packshot{object-fit:contain;object-position:center;background:#eaf4fa;padding:16px;box-sizing:border-box;}
.article-photo img.article-art-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;}
.news-photo .ai-media-label{font-size:9px;bottom:9px;left:9px}
.article-photo .ai-media-label{font-size:10px}
.brand-information-art--photo{padding:0!important;position:relative;min-height:390px;background:#edf5fa!important;box-shadow:0 18px 46px rgba(4,42,75,.11)!important}
.brand-information-art--photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.brand-information-art--photo .ai-media-label{color:white;font-size:10px;letter-spacing:0;font-weight:600}
.wide-photo--captioned{position:relative}
.contact-photo{position:relative;overflow:hidden;border-radius:15px;margin:22px 0 24px;background:#e8f2f7;}
.contact-photo>img{display:block;width:100%;height:270px;object-fit:cover;object-position:center 45%;}
.contact-photo>figcaption{position:absolute;bottom:11px;left:12px;right:12px;width:max-content;max-width:calc(100% - 24px);background:rgba(4,30,52,.85);color:#fff;border-radius:7px;padding:7px 10px;font-size:10px;line-height:1.4}
@media(max-width:900px){.story-immersive .story-editorial-photo{min-height:330px}.story-immersive .story-visual{min-height:330px}.promo-layout>.promo-photo{min-height:300px}}
@media(max-width:780px){.hero-v14 .hero-brand-art--photo{width:100%;height:100%;position:relative;overflow:hidden}.hero-v14 .hero-split-photo{height:100%;}.hero-v14 .hero-split-photo>img{object-fit:cover;object-position:center}.category-tile--editorial .category-graphic--photo{height:205px;flex-basis:205px}.promo-layout>.promo-photo{min-height:250px;border-radius:0 0 16px 16px}}
@media(max-width:560px){.hero-v14 .hero-brand-art--photo{min-height:240px}.hero-v14 .hero-split-photo{min-height:240px}.hero-v14 .hero-split-photo .ai-media-label{font-size:9px}.story-immersive .story-editorial-photo{min-height:270px}.story-immersive .story-visual{min-height:270px}.category-tile--editorial .category-graphic--photo{height:220px;flex-basis:220px}.promo-layout>.promo-photo{min-height:220px}.brand-information-art--photo{min-height:275px}}

/* Image quality guardrails: avoid enlarging source pixels or scaling them for decoration. */
.hero-v14 .hero-art img,
.hero-v14 .hero-split-photo > img,
.hero-v14 .hero-official > img,
.story-immersive .story-image img,
.story-immersive .story-visual .ai-media img,
.journey-scene-item img,
.product-photo img,
.promo-photo > img,
.category-tile--editorial .category-graphic--photo > img,
.news-photo img.news-art-image,
.article-photo img.article-art-image,
.brand-information-art--photo > img,
.contact-photo > img {
  transform: none !important;
  animation: none !important;
  image-rendering: auto;
}

/* Preserve full banners and product artwork; lifestyle/editorial images may crop. */
.hero-v14 .hero-official > img,
.hero-v14 .hero-slide--image-only .hero-art img,
.product-photo img,
.product-detail-photo img,
.category-tile--editorial .category-graphic--product > img,
.news-photo img.news-art-image--packshot,
.article-photo img.article-art-image {
  object-fit: contain !important;
  object-position: center !important;
}

/* Never make a low-resolution process image wider than its container. */
.process-media img {
  width: 100% !important;
  object-position: center !important;
}

/* Light, airy section treatment inspired by the reference nutrition-site layout. */
.home-experience .section-categories,
.home-experience .section-featured {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(circle at 8% 18%, rgba(202, 236, 249, .34), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f5fbfe 100%);
}

.home-experience .section-categories::before,
.home-experience .section-featured::before {
  content: '';
  position: absolute;
  z-index: -1;
  width: min(42vw, 620px);
  height: min(42vw, 620px);
  border-radius: 50%;
  right: -15%;
  top: 10%;
  background: rgba(228, 246, 252, .48);
  pointer-events: none;
}

/* Category cards: use the available width without leaving a tall empty stack. */
@media (min-width: 781px) {
  .home-experience .section-categories .category-tile--editorial {
    height: auto;
    min-height: 0;
  }

  .home-experience .section-categories .category-tile--editorial .category-text {
    display: flex;
    flex-direction: column;
    padding: 26px 28px 0;
  }

  .home-experience .section-categories .category-tile--editorial .category-text h3 {
    min-height: 0;
    margin: 13px 0 0;
  }

  .home-experience .section-categories .category-tile--editorial .category-text > span:last-child {
    margin-top: 18px;
  }

  .home-experience .section-categories .category-tile--editorial .category-graphic--photo {
    margin-top: 24px;
    height: 220px;
    flex-basis: 220px;
    padding: 0 18px 10px;
    display: flex !important;
    align-items: center;
    justify-content: center !important;
  }

  .home-experience .section-categories .category-tile--editorial .category-graphic--product > img {
    width: auto;
    height: auto !important;
    max-width: 100% !important;
    max-height: 205px !important;
    padding: 0;
    margin: 0 auto !important;
    object-fit: contain !important;
  }
}

@media (max-width: 780px) {
  .home-experience .section-categories .category-tile--editorial {
    height: auto;
    min-height: 0;
  }

  .home-experience .section-categories .category-tile--editorial .category-text h3 {
    min-height: 0;
  }

  .home-experience .section-categories .category-tile--editorial .category-text > span:last-child {
    margin-top: 20px;
  }
}

@media (max-width: 560px) {
  .home-experience .section-categories .category-tile--editorial .category-graphic--photo {
    height: 205px;
    flex-basis: 205px;
    margin-top: 20px;
  }
}

/* News listing media: preserve the complete source frame and never stretch it. */
.cards-grid .news-card .news-photo {
  position: relative;
  height: auto !important;
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #eaf4fa;
}

.cards-grid .news-card .news-photo::before {
  display: none;
}

.cards-grid .news-card .news-photo img.news-art-image {
  position: relative;
  z-index: 1;
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  animation: none !important;
  image-rendering: auto;
}

.cards-grid .news-card .news-photo img.news-art-image--packshot {
  width: auto !important;
  height: auto !important;
  padding: 0;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent;
}

.article-photo img.article-art-image {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center;
}

/* Bright footer treatment: keep contrast through blue typography and dividers. */
.site-footer {
  background: #ffffff;
  color: #0c3154;
  border-top: 1px solid #dcecf4;
}

.site-footer .wordmark { color: #0c3154; }
.site-footer .footer-brand p { color: #61788c; }
.site-footer .footer-kicker { color: #0b76b5; }
.site-footer .footer-column h3 { color: #0c3154; }
.site-footer .footer-list a,
.site-footer .footer-list p { color: #587187; }
.site-footer .footer-list a:hover { color: #0864ae; }
.site-footer .footer-social a {
  border-color: #b9d8e8;
  color: #0b5c95;
}
.site-footer .footer-bottom {
  border-top-color: #d8e8f1;
  color: #7890a1;
}
.site-footer .footer-bottom a { color: #587187; }

/* Product media: use an intrinsic-safe square stage instead of the old 16:10 crop box. */
.product-card--featured .product-photo,
.listing-cards .product-photo {
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  width: 100% !important;
  padding: 18px !important;
  background: #f5faff !important;
  overflow: hidden;
}

.product-card--featured .product-photo img.product-packshot,
.listing-cards .product-photo img.product-packshot {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  object-fit: contain !important;
  object-position: center;
  transform: none !important;
}

.product-card--featured .product-photo--portrait img.product-packshot,
.listing-cards .product-photo--portrait img.product-packshot {
  padding-inline: 24px;
}

/* Portrait product packs need a portrait media stage so the full package remains visible. */
.product-card--featured .product-photo--portrait,
.listing-cards .product-photo--portrait {
  aspect-ratio: 2 / 3 !important;
  padding: 18px !important;
}

.product-card--featured .product-photo--portrait img.product-packshot,
.listing-cards .product-photo--portrait img.product-packshot {
  width: auto !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}

/* GrowPLUS+ is a tall pouch. Give it a real portrait stage so the source image
   is fully visible instead of forcing it into the square media stage. */
.product-card--featured .product-photo--portrait,
.listing-cards .product-photo--portrait {
  height: 298px !important;
  aspect-ratio: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px !important;
}

.product-card--featured .product-photo--portrait img.product-packshot,
.listing-cards .product-photo--portrait img.product-packshot {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

/* Featured cards on the homepage use the same square media height as their
   siblings; the portrait pouch remains fully visible inside that square. */
.product-card--featured .product-photo--portrait {
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  padding: 18px !important;
}

.product-card--featured .product-photo--portrait img.product-packshot {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

/* Use the same intrinsic-safe treatment on the GrowPLUS+ detail page. */
.product-detail-photo--portrait {
  height: 520px !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px !important;
}

.product-detail-photo--portrait img.product-packshot {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

/* Product detail content is split into focused, switchable panels instead of
   one long wall of text. */
.product-info-tabs {
  margin-top: 0;
  border-top: 1px solid #dceaf2;
}

.product-detail-tabs-below {
  margin-top: 38px;
}

.product-tab-list {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 16px 0 0;
}

.product-tab {
  border: 1px solid #cfe1ec;
  border-radius: 999px;
  padding: 11px 16px;
  background: #fff;
  color: #537089;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.product-tab:hover,
.product-tab:focus-visible,
.product-tab.is-active {
  color: #fff;
  background: var(--brand);
  border-color: var(--brand);
  outline: none;
}

.product-tab-panel {
  padding-top: 18px;
}

.product-tab-panel[hidden] {
  display: none;
}

.product-tab-panel .approved-content {
  margin-top: 0;
}

@media (max-width: 780px) {
  .product-tab-list {
    display: grid;
    grid-template-columns: 1fr;
  }

  .product-tab {
    width: 100%;
    text-align: left;
  }
}

/* Prevent the editorial news stack from expanding past the content container. */
.news-editorial {
  grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
  min-width: 0;
  align-items: start;
}

.news-editorial-feature,
.news-editorial-stack,
.news-editorial-stack > div,
.news-editorial-stack .news-card,
.news-editorial-stack .news-info {
  min-width: 0;
  max-width: 100%;
}

.news-editorial-stack .news-card {
  grid-template-columns: minmax(0, 42%) minmax(0, 58%);
}

.news-editorial-stack .news-info,
.news-editorial-stack .news-info h3,
.news-editorial-stack .news-info p {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* The two secondary stories stay vertical so text can never overlap their image. */
.news-editorial-stack .news-card {
  display: block !important;
  grid-template-columns: none !important;
  overflow: hidden !important;
}

.news-editorial-stack .news-photo {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 2 !important;
  min-height: 0 !important;
  background: #eaf4fa;
}

.news-editorial-stack .news-photo img.news-art-image:not(.news-art-image--packshot) {
  object-fit: contain !important;
  object-position: center !important;
  background: #eaf4fa;
}

.news-editorial-feature,
.news-editorial-feature .news-card {
  height: 100%;
}

.news-editorial-feature .news-card {
  display: flex;
  flex-direction: column;
}

.news-editorial-feature .news-photo {
  height: auto !important;
  min-height: 0 !important;
  flex: 0 0 auto;
  aspect-ratio: 3 / 2 !important;
  background: #eaf4fa;
}

.news-editorial-feature .news-photo img.news-art-image {
  object-fit: contain !important;
  object-position: center !important;
  background: #eaf4fa;
}

.news-editorial-feature .news-info {
  flex: 1 1 auto;
}

/* Keep the lead story compact; do not stretch its white content area to match the side stack. */
.news-editorial-feature,
.news-editorial-feature .news-card {
  height: auto !important;
  align-self: start;
}

.news-editorial-feature .news-card {
  display: block;
}

.news-editorial-feature .news-info {
  flex: none;
}

/* Compact secondary stories: two horizontal cards match the lead story height. */
.news-editorial {
  align-items: stretch;
}

.news-editorial-stack {
  height: 100%;
  min-height: 0;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.news-editorial-stack .news-card {
  display: grid !important;
  grid-template-columns: minmax(0, 42%) minmax(0, 58%) !important;
  grid-template-rows: none !important;
  height: 100%;
  min-height: 0;
}

.news-editorial-stack .news-photo {
  height: 100% !important;
  aspect-ratio: auto !important;
  min-height: 0 !important;
}

.news-editorial-stack .news-info {
  min-width: 0;
  padding: 14px 16px !important;
  overflow: hidden;
}

.news-editorial-stack .news-info .eyebrow {
  margin-bottom: 8px;
  font-size: 9px;
}

.news-editorial-stack .news-info h3 {
  margin: 4px 0 8px;
  font-size: 15px;
  line-height: 1.2;
}

.news-editorial-stack .news-info p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-bottom: 8px;
  font-size: 11px;
  line-height: 1.45;
}

@media (max-width: 780px) {
  .news-editorial-stack {
    height: auto;
  }

  .news-editorial-stack .news-card {
    display: block !important;
    height: auto;
  }

  .news-editorial-stack .news-photo {
    height: 220px !important;
  }
}

/* Final media layout: preserve each source ratio inside a compact side card. */
@media (min-width: 781px) {
  .news-editorial {
    align-items: start !important;
  }

  .news-editorial-stack {
    height: auto !important;
    align-self: start;
    grid-template-rows: repeat(2, 300px) !important;
    align-content: start;
    gap: 16px;
  }

  .news-editorial-stack .news-card {
    display: grid !important;
    grid-template-columns: minmax(0, 44%) minmax(0, 56%) !important;
    height: 300px !important;
    min-height: 0 !important;
    align-items: stretch;
  }

  .news-editorial-stack .news-photo {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    min-height: 0 !important;
  }

  .news-editorial-stack .news-photo img.news-art-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .news-editorial-stack .news-info {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    width: 100% !important;
    padding: 12px 16px !important;
  }

  .news-editorial-stack .news-info h3 {
    font-size: 15px;
  }

  .news-editorial-stack .news-info p {
    -webkit-line-clamp: 2;
    margin-bottom: 8px;
  }
}

/* Evidence-based final layout: intrinsic media boxes, no forced track height. */
@media (min-width: 781px) {
  .news-editorial {
    align-items: stretch !important;
  }

  .news-editorial-feature {
    align-self: start;
  }

  .news-editorial-stack {
    height: 100% !important;
    align-self: start !important;
    display: flex !important;
    flex-direction: column;
    grid-template-rows: none !important;
    gap: 16px !important;
  }

  .news-editorial-stack > div[data-reveal] {
    flex: 0 0 auto;
  }

  .news-editorial-stack .news-card {
    display: grid !important;
    grid-template-columns: minmax(0, 44%) minmax(0, 56%) !important;
    height: auto !important;
    min-height: 0 !important;
    align-items: center;
  }

  .news-editorial-stack .news-photo {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 2 !important;
    align-self: center;
    min-height: 0 !important;
  }

  .news-editorial-stack .news-photo:has(.news-art-image--packshot) {
    aspect-ratio: 1 / 1 !important;
  }

  .news-editorial-stack .news-photo img.news-art-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .news-editorial-stack .news-info {
    width: 100% !important;
    min-width: 0 !important;
    padding: 16px 16px !important;
    display: block !important;
  }

  .news-editorial-stack .news-rail-callout {
    flex: 1 1 auto;
    min-height: 170px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 28px 24px;
    border: 1px solid #c8e1ee;
    border-radius: var(--radius);
    background: linear-gradient(145deg, #eaf7fc, #ffffff);
  }

  .news-rail-callout .eyebrow {
    margin-bottom: 12px;
    font-size: 10px;
  }

  .news-rail-callout h3 {
    margin: 0 0 10px;
    color: var(--brand-dark);
    font-size: clamp(19px, 2vw, 27px);
  }

  .news-rail-callout p {
    max-width: 360px;
    margin: 0 0 18px;
    font-size: 13px;
  }
}

.news-editorial-stack .news-info {
  width: 100% !important;
  padding: 16px 20px !important;
}
/* Fix inherited 100px brand-logo rule: split hero photos must fill entire media panel. */
.hero-v14 .hero-brand-art--photo .hero-split-photo>img{display:block;width:100%!important;height:100%!important;max-height:none!important;max-width:none!important;object-fit:cover!important;object-position:center!important;position:relative}
/* A readable mobile image/text layout instead of the old 100px-wide photo column. */
@media(max-width:760px){
  .hero-v14 .hero-slide--text .hero-brand-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important;gap:4px!important;align-items:stretch!important;padding-top:16px!important;padding-bottom:8px!important;height:100%!important}
  .hero-v14 .hero-slide--text .hero-brand-copy{width:100%;max-width:none;align-self:start}
  .hero-v14 .hero-slide--text .hero-brand-copy h2{font-size:clamp(26px,7vw,34px);margin:9px 0!important;line-height:1.05}
  .hero-v14 .hero-slide--text .hero-brand-copy p{display:none!important}
  .hero-v14 .hero-slide--text .hero-brand-copy .btn{min-height:35px;padding:7px 13px;font-size:11px}
  .hero-v14 .hero-slide--text .hero-brand-art--photo{height:100%!important;min-height:0!important;max-width:none!important;width:100%!important;aspect-ratio:auto!important;align-self:stretch;justify-self:stretch;box-shadow:none!important}
  .hero-v14 .hero-slide--text .hero-split-photo{min-height:0!important;height:100%!important;width:100%!important}
  .hero-v14 .hero-slide--text .hero-split-photo>img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 46%!important}
}
