/** Shopify CDN: Minification failed

Line 111:8 Expected identifier but found whitespace
Line 111:10 Unexpected "{"
Line 111:19 Expected ":"
Line 111:66 Expected ":"
Line 117:10 Expected identifier but found whitespace
Line 117:12 Unexpected "{"
Line 117:21 Expected ":"
Line 117:69 Expected ":"

**/
/* GETAWAY theme — ported from HTML mockups */

/* === HOMEPAGE === */
:root{
    --ink-soft:#607096;
    --radius:24px;
  }
  body{overflow-x:hidden;}
  ::selection{background:var(--yellow); color:var(--ink);}
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  button{font-family:inherit; cursor:pointer;}
  .wrap{max-width:var(--page-width, 1200px); margin:0 auto; padding:0 var(--page-margin, 32px);}
  .display{
    font-family:'Montserrat',sans-serif; text-transform:uppercase;
    line-height:0.92;
  }
  .eyebrow{
    font-size:12px; letter-spacing:0.14em; text-transform:uppercase;
    font-weight:600; color:var(--ink-soft);
  }

  /* ---------- ANNOUNCEMENT ---------- */
  .ps-announce {
    --ps-announce-red: #CF2133;
    --ps-announce-gap: 10px;
    --ps-announce-pad: 12px;
    position: relative;
    /* Two diagonal ribbons crossing with a small gap (like the design) */
    overflow: hidden;
    background: var(--navy);
    color: #F9ED30;
  }
  .ps-announce__stage {
    position: relative;
    height: 100%;
    width: 100%;
  }
  .ps-announce__ribbon {
    position: absolute;
    /* Both ribbons centred vertically so their X crosses at the horizontal middle */
    width: 140%;
    height: var(--ps-announce-strip);
    margin-top: calc(var(--ps-announce-strip) / -2);
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--ps-announce-red);
    transform-origin: center center;
    /* second ribbon: bottom-left -> top-right ( / ) */
    transform: rotate(calc(-1 * var(--ps-announce-angle)));
  }
  .ps-announce__ribbon--rev {
    /* first ribbon: top-left -> bottom-right ( \ ) */
    transform: rotate(var(--ps-announce-angle));
  }
  .ps-announce__track {
    display: flex;
    width: max-content;
    height: 100%;
    animation: ps-announce-marquee 26s linear infinite;
  }
  .ps-announce__ribbon--rev .ps-announce__track {
    animation-duration: 26s;
  }
  .ps-announce__group {
    display: flex;
    align-items: center;
    height: 100%;
    white-space: nowrap;
  }
  .ps-announce__item {
    /* Design uses Univers (licensed) — Montserrat Bold is the closest available substitute */
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    letter-spacing: .01em;
    line-height: 1;
  }
  .ps-announce__item--hl { text-transform: uppercase; }
  @keyframes ps-announce-marquee {
    from { transform: translateX(-50%); }
    to { transform: translateX(0); }
  }
  @media (prefers-reduced-motion: reduce) {
    .ps-announce__track { animation: none; }
  }

  /* ---------- NAV ---------- */
  header.nav{
    position:fixed; top:0; left:0; right:0; z-index:100; background:var(--navy);
    border-bottom:1px solid rgba(255,255,255,.18);
  }
  .ps-header__bar{
    display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:clamp(24px,4vw,64px);
    padding:12px clamp(18px,3vw,52px);
  }
  .ps-header__logo { grid-column:1; }
  .ps-header__logo-img {
  width: {{ section.settings.logo_width_mobile | default: 120 }}px;
  height: auto;
}

@media screen and (min-width: 750px) {
  .ps-header__logo-img {
    width: {{ section.settings.logo_width_desktop | default: 160 }}px;
  }
}
  .ps-header__nav { grid-column:2;}
  .ps-header__actions { grid-column:3;}
  .logo-badge{display:inline-flex; align-items:center; justify-content:center;}
  .logo-svg text{font-family:'Anton', Impact, 'Arial Narrow', sans-serif; fill:var(--white);}
  /* Larger header logo */
  .ps-header__logo .logo-svg{width:180px; height:auto;}
  @media (min-width:750px){ .ps-header__logo .logo-svg{width:250px;} }
  nav.links{display:flex; justify-content:center; gap:clamp(28px, 3.2vw, 56px); align-items:center;}
  nav.links a{color:#fff; font-family:'Montserrat',sans-serif; font-size:clamp(13px,1.05vw,15px); font-weight:700; letter-spacing:0.01em; text-transform:uppercase; transition:color .2s;}
  nav.links a:hover{color:var(--yellow);}
  .ps-header__shop-wrap { position: relative; display: inline-flex; align-items: center; }
  .ps-header__shop-trigger {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 0; margin: 0;
    border: 0; border-radius: 0;
    background: transparent; color: #fff;
    font-family: 'Montserrat', sans-serif; font-size:clamp(16px,1.45vw,22px); font-weight:800;
    letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer;
    transition: color .2s ease;
  }
  .ps-header__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #fff;
    background: transparent;
    border: 0;
    padding: 0;
  }
  .ps-header__icon-img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    display: block;
  }
  .ps-header__login .ps-header__icon-img {
    width: 22px;
    height: 26px;
  }
  .ps-header__icon:hover { opacity: 0.85; }
  .ps-header__shop-trigger:hover,
  .ps-header__shop-wrap.is-open .ps-header__shop-trigger { color: var(--yellow); }
  .ps-header__shop-wrap.is-open .ps-header__shop-trigger {
    border: 0;
    background: transparent;
  }
  .ps-header__shop-chevron {
    width: 12px; height: 12px;
    transition: transform .22s ease;
  }
  .ps-header__shop-wrap.is-open .ps-header__shop-chevron { transform: rotate(180deg); }
  .ps-shop-dropdown {
    position: fixed;
    left: 0; right: 0;
    top: var(--ps-header-height, 72px);
    z-index: 99;
    border-top: 1px solid rgba(46,65,98,0.08);
    box-shadow: 0 24px 48px -28px rgba(21,45,82,0.35);
    opacity: 0; visibility: hidden; pointer-events: none;
    transform: translateY(-10px);
    transition: opacity .24s ease, transform .24s ease, visibility .24s ease;
  }
  .ps-shop-dropdown[aria-hidden="false"],
  header.nav:has(.ps-header__shop-wrap.is-open) .ps-shop-dropdown {
    opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0);
  }
  .ps-shop-dropdown__inner {
    width: 100%;
    text-align: center;
  }
  .ps-shop-dropdown__grid {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    align-items: start;
    width: 100%;
  }
  .ps-shop-dropdown__tile {
    color: var(--navy-deep);
    text-decoration: none;
    transition: transform .2s ease;
  }
  .ps-shop-dropdown__tile:hover { transform: translateY(-4px); }
  .ps-shop-dropdown__circle {
    --circle-bg: #f9ed30;
    margin: 0 auto;
    border-radius: 50%;
    background: var(--circle-bg);
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
  }
  .ps-shop-dropdown__circle img,
  .ps-shop-dropdown__img {
    display: block;
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: center;
  }
  .ps-shop-dropdown__label {
    display: inline-block;
    background: var(--navy-deep);
    color: #fff;
    line-height: 1.35;
    text-transform: uppercase;
  }
  .ps-header a.ps-shop-dropdown__view-all,
  .ps-shop-dropdown__view-all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: clamp(24px, 3vw, 36px);
    min-height: 44px;
    padding: 12px 34px;
    border-radius: 999px;
    background: var(--yellow);
    color: var(--navy);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 8px 20px -10px rgba(21,45,82,0.45);
    transition: transform .2s ease, filter .2s ease;
  }
  .ps-shop-dropdown__view-all:hover { transform: translateY(-2px); filter: brightness(0.98); }
  .ps-mobile-shop__trigger {
    width: 100%; display: flex; align-items: center; justify-content: space-between;
    padding: 15px 8px; border: 0; border-bottom: 1px solid rgba(255,255,255,.18);
    background: transparent; color: inherit;
    font-size: 15px; font-weight: 600; font-family: inherit; cursor: pointer;
  }
  .ps-mobile-shop__trigger svg { width: 12px; height: 12px; transition: transform .2s ease; }
  .ps-mobile-shop__trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
  .ps-mobile-shop__panel { display: flex; flex-direction: column; }
  .ps-mobile-shop__panel a {
    padding: 12px 8px 12px 16px;
    border-bottom: 1px solid rgba(255,255,255,.12);
    font-size: 14px; font-weight: 600;
  }
  .ps-mobile-shop__all {
    color: var(--yellow) !important;
    font-weight: 800 !important;
  }
  @media (max-width: 1200px) {
    .ps-shop-dropdown__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  }
  @media (max-width: 700px) {
    .ps-shop-dropdown__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  .nav-right{display:flex; align-items:center; gap:8px;}
  .cart-btn{
    display:flex; align-items:center; gap:8px; background:var(--yellow); color:var(--navy-deep); border:2px solid var(--yellow);
    border-radius:100px; padding:9px 18px; font-size:13px; font-weight:900;
  }

  @media (min-width: 781px) {
    .menu-toggle,
    .ps-header__menu-btn,
    .mobile-menu,
    .mobile-menu-overlay,
    .ps-mobile-menu,
    .ps-mobile-menu__overlay {
      display: none !important;
    }
  }

  /* ---------- HERO ---------- */
  #hero{
    position:relative; min-height:92vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
    background:linear-gradient(135deg,var(--navy-deep),var(--navy) 62%,var(--blue));
    padding:var(--ps-pad-top, 150px) 32px var(--ps-pad-bottom, 90px); overflow:hidden;
  }
  #hero::before{
    content:''; position:absolute; inset:0;
    background:
      radial-gradient(circle at 85% 20%, rgba(249,237,48,.17), transparent 45%),
      radial-gradient(circle at 15% 85%, rgba(226,95,67,.25), transparent 40%);
  }
  .hero-grid{position:relative; z-index:2; width:100%; max-width:var(--page-width, 1200px); margin:0 auto; display:grid; grid-template-columns:1.1fr 0.9fr; gap:50px; align-items:center;}
  @media(max-width:860px){.hero-grid{grid-template-columns:1fr; text-align:center;}}
  .hero-eyebrow{color:var(--yellow); margin-bottom:18px; display:block;}
  #hero h1{font-size:clamp(48px,7vw,92px); color:var(--white);}
  #hero h1 span{color:var(--yellow);}
  .hero-sub{margin-top:22px; font-size:17px; color:rgba(255,255,255,.78); max-width:440px; line-height:1.6; font-weight:600;}
  @media(max-width:860px){.hero-sub{margin-left:auto; margin-right:auto;}}
  .hero-cta{margin-top:34px; display:flex; gap:14px; flex-wrap:wrap;}
  @media(max-width:860px){.hero-cta{justify-content:center;}}
  .btn-primary{
    background:var(--yellow); color:var(--navy-deep); border:none; border-radius:100px; padding:16px 32px;
    font-weight:800; font-size:14.5px; letter-spacing:0.02em; transition:transform .2s;
  }
  .btn-primary:hover{transform:translateY(-2px);}
  .btn-ghost{
    background:transparent; border:2px solid rgba(255,255,255,.65); color:var(--white); border-radius:100px;
    padding:15px 28px; font-weight:700; font-size:14.5px; transition:background .2s;
  }
  .btn-ghost:hover{background:rgba(255,255,255,.1);}
  .ps-hero__track{
    position:relative; z-index:2; width:100%; max-width:1200px; margin:0 auto;
    display:grid; grid-template-columns:1fr;
  }
  .ps-hero__slide{
    grid-area:1 / 1; opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .55s ease, visibility .55s ease;
  }
  .ps-hero__slide.is-active{opacity:1; visibility:visible; pointer-events:auto;}
  .ps-hero__controls{
    position:relative; z-index:3; display:flex; align-items:center; justify-content:center;
    gap:12px; width:100%; max-width:1200px; margin:28px auto 0; padding-bottom:8px;
  }
  .ps-hero-home .carousel-dot{background:rgba(255,255,255,.35);}
  .ps-hero-home .carousel-dot.is-active{background:var(--yellow);}
  .ps-hero-home .carousel-arrow{
    border-color:rgba(255,255,255,.45); background:rgba(46,65,98,.25); color:#fff;
  }
  .ps-hero-home .carousel-arrow:hover{background:rgba(255,255,255,.12);}
  .hero-pack{
    position:relative; aspect-ratio:1/1; border-radius:28px; overflow:hidden;
    background:linear-gradient(160deg,var(--hero-pack-top,var(--coral)),var(--hero-pack-bottom,var(--red)));
    display:flex; align-items:center; justify-content:center;
    border:3px solid rgba(255,255,255,.7); box-shadow:var(--shadow);
  }
  .hero-pack .swirl{position:absolute; inset:0; background:radial-gradient(circle at 30% 25%, rgba(249,237,48,.2), transparent 55%);}
  .hero-pack .logo-svg text,.hero-pack text{fill:var(--white);}
  .hero-pack .word{
    position:relative; line-height:1;
  }
  .hero-pack .badge{
    position:absolute; bottom:24px; left:24px; background:var(--yellow); color:var(--navy);
    font-weight:800; font-size:12px; padding:8px 14px; border-radius:100px;
  }
  .hero-product-image{position:relative; z-index:2; width:94%; height:94%; object-fit:contain; filter:drop-shadow(0 22px 22px rgba(10,28,55,.22)); transform:rotate(-3deg);}

  /* ---------- SECTION SCAFFOLD ---------- */
  .section{padding:var(--ps-pad-top, 76px) 0 var(--ps-pad-bottom, 76px);}
  .section-head{margin-bottom:44px; display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap;}
  .section-head h2{font-size:clamp(30px,4vw,48px); color:var(--navy);}
  .section-head p{color:var(--ink-soft); font-size:14.5px; max-width:340px; line-height:1.6;}
  .section.dark{background:var(--navy); color:var(--white);}
  .section.dark .section-head h2{color:var(--white);}
  .section.dark .eyebrow{color:var(--yellow);}

  /* ---------- ACTIVE PRODUCT CAROUSEL ---------- */
  .flavour-stage{padding:var(--ps-pad-top, 88px) 0 var(--ps-pad-bottom, 94px); overflow:hidden; background:#9bd6ea; color:var(--navy);}
  .flavour-stage .section-head{margin-bottom:28px;}
  .flavour-stage .section-head p{color:var(--navy); opacity:.78;}
  .flavour-carousel{position:relative;}
  .flavour-track{display:flex; align-items:center; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; padding:42px max(9vw,calc((100vw - 1180px)/2)) 50px;}
  .flavour-track::-webkit-scrollbar{display:none;}
  .flavour-card{position:relative; flex:0 0 clamp(250px,27vw,350px); min-height:530px; scroll-snap-align:center; border:2px solid var(--navy); border-radius:32px; overflow:hidden; background:var(--card-bg,#f9ed30); transform:scale(.82); opacity:.64; transition:transform .4s ease,opacity .4s ease,box-shadow .4s ease; cursor:pointer; box-shadow:0 12px 30px rgba(46,65,98,.1);}
  .flavour-card.is-active{transform:scale(1); opacity:1; z-index:2; box-shadow:0 28px 60px rgba(46,65,98,.25);}
  .flavour-visual{height:380px; display:flex; align-items:center; justify-content:center; padding:22px 18px 0;}
  .flavour-visual img{width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 18px 14px rgba(46,65,98,.17)); transition:transform .4s ease;}
  .flavour-card.is-active .flavour-visual img{transform:translateY(-10px) scale(1.06);}
  .flavour-pop{position:absolute; z-index:3; left:12px; right:12px; bottom:12px; min-height:188px; padding:19px; border-radius:23px; background:rgba(255,255,255,.97); border:2px solid var(--navy); transform:translateY(70%); opacity:0; transition:transform .38s ease,opacity .3s ease;}
  .flavour-card.is-active .flavour-pop{transform:translateY(0); opacity:1;}
  .flavour-kicker{font:700 11px/1.2 'Montserrat',sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--coral);}
  .flavour-pop h3{margin:5px 0 4px; font-size:21px; line-height:1.08; color:var(--navy);}
  .flavour-meta{display:flex; justify-content:space-between; gap:12px; align-items:center; font:700 13px/1.2 'Montserrat',sans-serif; color:var(--ink-soft);}
  .flavour-actions{display:flex; gap:8px; margin-top:14px;}
  .flavour-actions a,.quick-add{min-height:38px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:8px 14px; font:800 11px/1 'Montserrat',sans-serif; text-transform:uppercase; letter-spacing:.04em; text-decoration:none;}
  .flavour-actions a{flex:1; background:var(--navy); color:#fff;}
  .quick-add{flex-shrink:0; border:0; background:var(--yellow); color:var(--navy); cursor:pointer;}
  .flavour-controls{display:flex; justify-content:center; align-items:center; gap:14px;}
  .carousel-arrow{width:46px; height:46px; border-radius:50%; border:2px solid var(--navy); background:#fff; color:var(--navy); font-size:20px; cursor:pointer;}
  .carousel-dots{display:flex; gap:8px;}
  .carousel-dot{width:9px; height:9px; padding:0; border:0; border-radius:50%; background:rgba(46,65,98,.32); cursor:pointer;}
  .carousel-dot.is-active{width:27px; border-radius:999px; background:var(--navy);}

  /* ---------- PRODUCT GRID (pack style) ---------- */
  .product-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  @media(max-width:900px){.product-grid{grid-template-columns:repeat(2,1fr);}}
    .pack-card{
    border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:transform .3s ease;
    display:flex; flex-direction:column; border:2px solid var(--navy);
  }
  .pack-card:hover{transform:translateY(-6px);}
  .pack-top{
    position:relative; aspect-ratio:4/5; display:flex; flex-direction:column; justify-content:space-between; padding:16px;
    color:var(--white);
  }
  .pack-top .wordmark{font-family:'Anton', Impact, 'Arial Narrow', sans-serif; font-size:22px;}
  .pack-top .flavour{font-weight:700; font-size:13.5px; margin-top:6px;}
  .pack-top .scoop{
    position:absolute; bottom:0; left:0; right:0; height:52%;
    border-radius:50% 50% 0 0 / 30% 30% 0 0;
  }
  .pill{font-size:10.5px; font-weight:800; padding:4px 8px; border-radius:100px;}
  .pill.protein{background:var(--yellow); color:var(--navy);}
  .pill.sugar{background:var(--yellow); color:var(--navy);}
  .pack-info{background:var(--white); padding:16px; flex:1;}
  .pack-info h4{margin:0 0 6px; font-size:15px; color:var(--navy); font-weight:800;}
  .pack-info p{margin:0; font-size:12.5px; color:var(--ink-soft);line-height:1.5;}
  .pack-cta{width:fit-content; margin-top:14px; padding:9px 14px; font-size:11px; font-weight:900; color:var(--white); background:var(--coral); border-radius:999px;text-transform:uppercase; letter-spacing:.04em;}
  .real-product-card .pack-top{aspect-ratio:1/1; padding:12px; background:var(--product-bg,#f4eee2);}
  .real-product-card .pack-top img{width:100%; height:100%; object-fit:contain; transition:transform .3s ease;}
  .real-product-card:hover .pack-top img{transform:scale(1.04);}
  .real-product-card .pack-info{display:flex; flex-direction:column; padding:18px;}
  .real-product-card .pack-info p{flex:1;}
  .bars-grid{grid-template-columns:repeat(3,minmax(0,1fr)); max-width:980px; margin-inline:auto;}

  /* ---------- REASSURANCE STRIP (comparison, now secondary) ---------- */
  .reassure{
    background:var(--white); border:1.5px solid var(--line); border-radius:var(--radius);
    padding:36px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  }
  .reassure-copy{max-width:440px;}
  .reassure-copy .eyebrow{color:var(--coral);}
  .reassure-copy h3{margin:10px 0 0; font-size:24px; color:var(--navy);text-transform:uppercase;}
  .reassure-stats{display:flex; gap:28px; flex-wrap:wrap;}
  .reassure-stat{text-align:center;}
  .reassure-stat .num{font-size:34px; color:var(--coral);}
  .reassure-stat .lbl{font-size:11px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.06em; margin-top:2px;}

  /* ---------- OUR STORY ---------- */
  .story{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
  @media(max-width:860px){.story{grid-template-columns:1fr;}}
  #story{background:var(--paper-deep);}
  .story-media{aspect-ratio:4/3; border:3px solid var(--navy); border-radius:var(--radius); background:linear-gradient(160deg,var(--yellow),var(--coral)); position:relative; overflow:hidden;}
  .story-media img{width:100%; height:100%; display:block; object-fit:cover;}
  .story-media::after{content:''; position:absolute; inset:0; background:radial-gradient(circle at 70% 30%, rgba(249,237,48,0.2), transparent 55%);}
  .story-media .tag{position:absolute; bottom:20px; left:20px; color:var(--white);font-size:11px; letter-spacing:0.08em; text-transform:uppercase;}
  .story-copy h2{font-size:clamp(28px,3.6vw,42px); color:var(--navy); margin-bottom:18px;}
  .story-copy p{font-size:15.5px; line-height:1.75; color:var(--ink-soft);}
  .story-copy .quote{
    margin-top:24px; padding:20px 24px; background:var(--navy); color:var(--white); border-radius:14px;
    font-size:19px; text-transform:uppercase; line-height:1.3;
  }
  .story-copy .quote span{color:var(--yellow);}

  /* ---------- PRESS / ACCOLADES (Cure-style) ---------- */
  .ps-press {
    background: var(--navy-deep);
    color: #fff;
    padding: var(--ps-pad-top, clamp(64px, 8vw, 100px)) clamp(18px, 5vw, 60px) var(--ps-pad-bottom, clamp(48px, 6vw, 72px));
    text-align: center;
  }
  .ps-press__inner { max-width: 960px; margin: 0 auto; }
  .ps-press__quotes { margin-bottom: clamp(40px, 6vw, 64px); }
  .ps-press__quote-track { position: relative; min-height: 180px; }
  .ps-press__quote {
    position: absolute; inset: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    margin: 0; padding: 0 12px;
    opacity: 0; visibility: hidden;
    transition: opacity 0.45s ease, visibility 0.45s ease;
  }
  .ps-press__quote.is-active { opacity: 1; visibility: visible; position: relative; }
  .ps-press__quote-text {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(28px, 4.5vw, 52px);
    line-height: 1.12;
    text-transform: uppercase;
    color: #fff;
    max-width: 820px;
  }
  .ps-press__quote-author {
    display: block;
    margin-top: 20px;
    font-size: 13px;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.55);
  }
  .ps-press__quote-controls {
    display: flex; align-items: center; justify-content: center; gap: 14px;
    margin-top: 28px;
  }
  .ps-press__arrow {
    width: 42px; height: 42px; border-radius: 50%;
    border: 1.5px solid rgba(255,255,255,0.45); background: transparent;
    color: #fff; font-size: 20px; cursor: pointer;
    transition: background 0.18s ease;
  }
  .ps-press__arrow:hover { background: rgba(255,255,255,0.1); }
  .ps-press__dots { display: flex; gap: 8px; }
  .ps-press__dot {
    width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%;
    background: rgba(255,255,255,0.3); cursor: pointer;
    transition: width 0.2s ease, background 0.2s ease;
  }
  .ps-press__dot.is-active { width: 24px; border-radius: 99px; background: var(--yellow); }
  .ps-press__logos {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
    gap: clamp(20px, 4vw, 48px);
    padding-top: clamp(32px, 5vw, 48px);
    border-top: 1px solid rgba(255,255,255,0.14);
  }
  .ps-press__logo-item {
    flex: 0 1 auto;
    transition: transform 0.22s ease, opacity 0.22s ease;
  }
  .ps-press__logo-item:hover,
  .ps-press__logo-item.is-hover,
  .ps-press__logo-item.is-active {
    transform: scale(1.06);
  }
  .ps-press__logo-link { display: block; text-decoration: none; }
  .ps-press__logo-name {
    font-size: 11px; font-weight: 800;
    letter-spacing: 0.1em; text-transform: uppercase;
    color: rgba(255,255,255,0.55);
    white-space: nowrap;
    transition: color 0.22s ease, text-decoration-color 0.22s ease;
    text-decoration: underline transparent;
    text-underline-offset: 5px;
  }
  .ps-press__logo-item:hover .ps-press__logo-name,
  .ps-press__logo-item.is-hover .ps-press__logo-name,
  .ps-press__logo-item.is-active .ps-press__logo-name {
    color: var(--yellow);
    text-decoration-color: var(--yellow);
  }
  .ps-press__logo-img {
    display: block; max-height: 28px; width: auto; max-width: 120px;
    object-fit: contain; filter: brightness(0) invert(1); opacity: 0.65;
    transition: opacity 0.22s ease, filter 0.22s ease, transform 0.22s ease;
  }
  .ps-press__logo-item:hover .ps-press__logo-img,
  .ps-press__logo-item.is-hover .ps-press__logo-img,
  .ps-press__logo-item.is-active .ps-press__logo-img {
    opacity: 1;
    filter: brightness(0) invert(1) drop-shadow(0 0 6px rgba(249,237,48,0.45));
  }
  .ps-press__header { margin-bottom: 40px; }
  .ps-press__kicker {
    margin: 0 0 12px; font-size: 12px; font-weight: 800;
    letter-spacing: 0.14em; text-transform: uppercase; color: var(--yellow);
  }
  .ps-press__headline {
    margin: 0; font-family: 'Montserrat', sans-serif;
    font-size: clamp(30px, 4vw, 44px); text-transform: uppercase;
  }
  @media (max-width: 620px) {
    .ps-press__logos { gap: 16px 24px; }
    .ps-press__logo-name { font-size: 9px; }
  }

  /* ---------- REVIEWS ---------- */
  .review-carousel{position:relative;}
  .review-grid{display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; padding:2px 2px 18px; -webkit-overflow-scrolling:touch;}
  .review-grid::-webkit-scrollbar{display:none;}
  .review-card{flex:0 0 clamp(280px, 42vw, 400px); min-height:190px; scroll-snap-align:start; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); border-radius:18px; padding:24px; display:flex; flex-direction:column; gap:12px;}
  .review-card .stars{color:var(--yellow); font-size:13px;}
  .review-card p{margin:0; font-size:13px; line-height:1.55;color:rgba(255,255,255,0.85);}
  .review-card .who{font-size:11.5px; font-weight:700; color:rgba(255,255,255,0.5); margin-top:auto;}
  .review-controls{display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:18px; position:relative; z-index:2;}
  .review-arrow{width:42px; height:42px; border:1.5px solid rgba(255,255,255,.5); border-radius:50%; background:transparent; color:#fff; font-size:18px; cursor:pointer; position:relative; z-index:2; pointer-events:auto;}
  .review-arrow:disabled{opacity:.25; cursor:not-allowed;}
  .review-dots{display:flex; gap:7px; margin-right:auto;}

  /* ---------- FAQ ---------- */
  .faq-item{border-top:1px solid var(--line); padding:20px 0;}
  .faq-item:last-child{border-bottom:1px solid var(--line);}
  .faq-item summary{cursor:pointer; font-weight:700; font-size:15px; list-style:none; display:flex; justify-content:space-between; align-items:center; color:var(--navy);}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:'+'; font-size:20px; color:var(--coral); font-weight:400; margin-left:20px;}
  .faq-item[open] summary::after{content:'–';}
  .faq-item p{margin:12px 0 0; color:var(--ink-soft); font-size:13.5px; line-height:1.6;max-width:680px;}

  /* ---------- STORE LOCATOR ---------- */
  .locator{
    background:linear-gradient(120deg,var(--yellow),#FFF6B8); border-radius:var(--radius); padding:42px;
    display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  }
  .locator h3{font-family:'Montserrat',sans-serif;text-transform:uppercase; font-size:26px; color:var(--navy-deep); max-width:340px;}

  /* ---------- NEWSLETTER ---------- */
  .newsletter{background:var(--navy-deep); color:var(--white); border-radius:var(--radius); padding:64px 40px; text-align:center;}
  .newsletter h2{font-size:clamp(28px,3.6vw,40px); text-transform:uppercase;}
  .newsletter p{color:rgba(255,255,255,0.6); margin-top:12px;font-size:14px;}
  .news-form{display:flex; justify-content:center; gap:10px; margin-top:28px; flex-wrap:wrap;}
  .news-form input{width:320px; max-width:80vw; border:1.5px solid rgba(255,255,255,0.3); background:transparent; color:var(--white); border-radius:100px; padding:14px 20px; font-size:14px;}
  .news-form input::placeholder{color:rgba(255,255,255,0.45);}
  .news-form button{background:var(--yellow); color:var(--navy); border:none; border-radius:100px; padding:14px 28px; font-weight:800; font-size:14px;}
  .socials{display:flex; justify-content:center; gap:14px; margin-top:26px;}
  .socials a{width:36px; height:36px; border-radius:50%; border:1.5px solid rgba(255,255,255,0.3); display:flex; align-items:center; justify-content:center; font-size:12px;}
  .ps-social-icons {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
  }
  .ps-social-icons__link {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,255,255,0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    color: inherit;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
  }
  .ps-social-icons__link svg,
  .ps-social-icons__link img {
    width: 16px;
    height: 16px;
    display: block;
  }
  .ps-social-icons__link:hover {
    background: var(--yellow);
    border-color: var(--yellow);
    color: var(--navy-deep);
    transform: translateY(-2px);
  }
  .ps-social-icons--footer {
    color: rgba(255,255,255,0.88);
  }
  /* Design: uniform white circles with navy marks for every social icon */
  .ps-social-icons--footer .ps-social-icons__link {
    background: #fff;
    border-color: #fff;
    color: var(--navy);
  }
  .ps-social-icons--footer .ps-social-icons__link svg {
    width: 18px;
    height: 18px;
  }
  .ps-social-icons--newsletter {
    justify-content: center;
    margin-top: 26px;
    color: rgba(255,255,255,0.88);
  }
  .ps-social-icons--light .ps-social-icons__link {
    border-color: var(--line);
    color: var(--navy);
    background: #fff;
  }
  .ps-social-icons--light .ps-social-icons__link:hover {
    border-color: var(--navy);
    background: var(--yellow);
    color: var(--navy-deep);
  }

  /* ---------- FOOTER ---------- */
  footer{padding:64px 0 48px; color:var(--white); background:var(--navy); border-top:0;}
  /* Footer content capped to a tighter width and centred (columns grouped, not edge-to-edge) */
  .ps-footer-site .wrap{max-width:1180px; margin-inline:auto; padding-inline:clamp(16px, 4vw, 48px);}
  .footer-grid {
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(100%, 210px), 1fr)
  );
  gap: 36px 28px;
  align-items: start;
}
  @media(max-width:860px){
    /* Three link columns share one row; newsletter drops to its own full-width row */
    .footer-grid{grid-template-columns:repeat(3, 1fr); gap:28px 14px; align-items:start;}
    .ps-footer-brand{grid-column:1/-1;}
    .ps-footer-newsletter{grid-column:1/-1;}
    .footer-grid:not(:has(.ps-footer-brand))::before{display:none;}
  }
  .footer-grid h5{font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--yellow); margin-bottom:16px;}
  .footer-grid ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column;}
  .footer-grid a{font-size:15px; color:#fff; font-weight:700;text-transform:uppercase; letter-spacing:.04em;}
  .footer-grid a:hover{color:var(--yellow);}
  .ps-footer-logo{display:inline-flex; max-width:100%;}
  .ps-footer-logo__img{width:var(--ps-footer-logo-width,160px); height:auto; max-width:100%; display:block;}
  .ps-footer-brand__copy{margin-top:14px; color:rgba(255,255,255,.68); font-size:13.5px; max-width:260px; line-height:1.6;}
  .ps-footer-newsletter{display:flex; flex-direction:column; align-items:flex-start; gap:14px; justify-self:end;}
  .ps-footer-newsletter__form{display:flex; flex-direction:column;width:100%;}
  .ps-footer-newsletter__form input{
    box-sizing:border-box;
    border:0;background:#fff; color:var(--navy);
    font-family:'Montserrat',sans-serif; text-align:center;
  }
  .ps-footer-newsletter__form input::placeholder{color:#8e8e8e;}
  .ps-footer-newsletter__form button{
    border:0;background:var(--yellow); color:var(--navy);
    font-weight:800; font-family:'Montserrat',sans-serif; letter-spacing:.01em;
  }
  .ps-social-icons--footer{
    margin:0;
    justify-content:flex-start;
  }
  .ps-footer-copyright{
    margin:40px 0 0;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.18);
    color:rgba(255,255,255,.7);
    font-size:13px;
    font-weight:500;
    text-align:center;
    line-height:1.4;
  }
  footer .logo-badge{background:transparent!important; padding:0!important; border-radius:0!important;}
  .visually-hidden{
    position:absolute!important;white-space:nowrap;
  }

  .eyebrow,
.section-head p,
.pack-top .flavour,
.pill,
.pack-info p,
.pack-cta,
.reassure-stat .lbl,
.story-media .tag,
.story-copy p,
.ps-press__quote-author,
.ps-press__logo-name,
.review-card p,
.review-card .who,
.faq-item p,
.newsletter p,
.news-form input,
.footer-grid h5,
.footer-grid a {
    font-family:'Montserrat',sans-serif;
  }
  .reassure-copy h3,.story-copy .quote,.newsletter h2{
    font-family: var(--font-heading--family), sans-serif;
    font-weight: var(--font-heading--weight, 400);
  }
  .reassure-stat .num{
    font-family:'Montserrat',sans-serif; font-weight:900;
  }

  @media(max-width:780px){
    .ps-header__bar{
      grid-template-columns:42px 1fr auto; gap:8px;padding:10px 14px;
    }
    .ps-header__logo{grid-column:2; justify-self:center;}
    .ps-header__bar > .logo-svg{grid-column:2; justify-self:center; width:118px; height:42px;}
    nav.links {display:none;}
    .ps-shop-dropdown { display: none; }
    .nav-right,
    .ps-header__actions{grid-column:3; justify-self:end; gap:2px;}
    .ps-header__cart{min-height:40px;}
    .menu-toggle,
    .ps-header__menu-btn,
    .ps-menu-toggle{
      grid-column:1; grid-row:1; width:42px; height:42px; display:flex; flex-direction:column;
      align-items:center; justify-content:center; gap:5px; padding:0; color:var(--navy-deep);
      background:var(--yellow); border:2px solid var(--yellow); border-radius:50%; cursor:pointer;
    }
    .menu-toggle span,
    .ps-header__menu-btn span{width:24px; height:1.5px; display:block; background:currentColor; border-radius:999px; transition:transform .2s ease,opacity .2s ease;}
    .menu-toggle[aria-expanded="true"] span:nth-child(1),
    .ps-header__menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
    .menu-toggle[aria-expanded="true"] span:nth-child(2),
    .ps-header__menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0;}
    .menu-toggle[aria-expanded="true"] span:nth-child(3),
    .ps-header__menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
    .mobile-menu-overlay{
      position:fixed; z-index:88; inset:var(--ps-header-height) 0 0; display:block; background:rgba(8,43,112,.42);
      opacity:0; visibility:hidden; transition:opacity .2s ease,visibility .2s ease;
    }
    .mobile-menu{
      position:fixed; z-index:90; inset:var(--ps-header-height) auto 0 0; width:min(88vw,360px); display:flex;
      flex-direction:column; padding:24px 18px; color:var(--white); background:var(--navy);
      border-right:2px solid rgba(255,255,255,.25); transform:translateX(-102%); transition:transform .24s ease;
    }
    .mobile-menu a{padding:15px 8px; border-bottom:1px solid rgba(255,255,255,.18); font-size:15px; font-weight:600;}
    body.menu-open,
    body.ps-menu-open{overflow:hidden;}
    body.menu-open .mobile-menu,
    body.ps-menu-open .ps-mobile-menu{transform:translateX(0);}
    body.menu-open .mobile-menu-overlay,
    body.ps-menu-open .ps-mobile-menu__overlay{opacity:1; visibility:visible;}
    #hero{min-height:auto; padding:118px 18px 58px;}
    .hero-pack{width:min(100%,430px); margin:0 auto;}
    .flavour-stage{padding:60px 0 66px;}
    .flavour-track{gap:10px; padding:24px 12vw 34px;}
    .flavour-card{flex-basis:76vw; min-height:475px; transform:scale(.9); border-radius:25px;}
    .flavour-card.is-active{transform:scale(1);}
    .flavour-visual{height:336px; padding:14px 8px 0;}
    .flavour-pop{min-height:168px; padding:15px; border-radius:19px;}
    .flavour-pop h3{font-size:18px;}
    .section{padding:52px 0;}
    .wrap{padding:0 18px;}
    /* Three link columns in one row; newsletter drops to its own full-width row */
    .footer-grid{grid-template-columns:repeat(3, 1fr); gap:26px 10px;}
    .footer-grid a{font-size:11px; letter-spacing:.02em;}
    .ps-footer-brand{grid-column:1/-1;}
    .ps-footer-newsletter{grid-column:1/-1; justify-self:stretch; align-items:flex-start; margin-top:6px;}
    .footer-grid:not(:has(.ps-footer-brand))::before{display:none; grid-column:auto;}
    .reassure{padding:24px 20px;}
    .reassure-stats{width:100%; display:grid; grid-template-columns:repeat(3,1fr); gap:8px;}
    .reassure-stat .num{font-size:29px;}
    .reassure-stat .lbl{font-size:9px;}
    .bars-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .review-card{flex-basis:min(88vw, 340px); min-height:205px;}
    .newsletter{padding:42px 18px;}
  }

  @media(max-width:520px){
    .product-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;}
    .pack-top{aspect-ratio:1/.95; padding:10px;}
    .pack-top .wordmark{font-size:16px;}
    .pack-top .flavour{font-size:10px;}
    .pill{font-size:7px; padding:3px 5px;}
    .pack-info{padding:12px 10px;}
    .pack-info h4{font-size:12px;}
    .pack-info p{font-size:10px;}
    .pack-cta{padding:8px 10px; font-size:9px;}
  }

/* === PDP === */
:root {
      /* GETAWAY refresh palette */
      --navy: #2E4162;
      --navy-deep: #152D52;
      --yellow: #F9ED30;
      --teal: #288B93;
      --coral: #E25F43;
      --accent-blue: #166A92;
      --orange: #EB8B2C;      /* mango flavour accent */
      --red: #BD2635;
      --paper: #FFFFFF;
      --paper-deep: #F3F5F8;
      --white: #FFFFFF;
      --ink: #14254A;
      --muted: #607096;
      --line: rgba(46, 65, 98, .16);
      --shadow: 0 18px 40px -22px rgba(22, 63, 145, .35);
      /* legacy aliases remapped so existing rules re-skin automatically */
      --blue: #2E4162;
      --blue-dark: #152D52;
      --cream: #FFFFFF;
      --pink: #FDEBD6;        /* warm mango cream */
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }

    body {
      margin: 0;
      min-width: 320px;
      color: var(--ink);
      background: #eed9b7;
      font-family: var(--font-body, 'Montserrat', sans-serif);
      -webkit-font-smoothing: antialiased;
    }

    button, input { font: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }

    .ps-header {
      z-index: 30;
      min-height: 72px;
      display: block;
    }

    .ps-header__bar {
      width: 100%;
      min-height: 72px;
    }

    .ps-header__nav, .ps-header__actions {
      display: flex;
      align-items: center;
      gap: 22px;
    }

    .ps-header__nav { justify-content: center; }
    .ps-header__actions { justify-content: flex-end; justify-self: end; }

    .ps-header a {
      font-size: 13px;
      font-weight: 900;
      letter-spacing: .08em;
      text-decoration: none;
      text-transform: uppercase;
    }

    .ps-logo {
      font-size: clamp(24px, 2vw, 34px) !important;
      font-weight: 1000 !important;
      letter-spacing: 0.02em !important;
    }

    @media (min-width: 781px) {
      .menu-toggle,
      .ps-header__menu-btn,
      .ps-mobile-menu,
      .ps-mobile-menu__overlay {
        display: none !important;
      }
    }

    .ps-product {
      --ps-pdp-stack-gap: 10px;
      --ps-pdp-accent: var(--ps-blob-left, #EB8B2C);
      position: relative;
      isolation: isolate;
      overflow: hidden;
      padding: clamp(64px, 7vw, 120px) clamp(16px, 4vw, 56px) clamp(88px, 9vw, 160px);
      background: var(--ps-hero-bg, #F5E9C8);
      color: var(--navy);
    }

    .ps-product__blob-stage {
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      overflow: hidden;
    }

    .ps-product__blob {
      position: absolute;
      z-index: 0;
      pointer-events: none;
      overflow: visible;
      opacity: var(--ps-blob-opacity, 1);
    }

    .ps-product__blob-svg {
      display: block;
      width: 100%;
      height: 100%;
      overflow: visible;
    }

    .ps-product__blob--left {
      top: 0;
      left: 0;
      right: auto;
      bottom: auto;
      width: calc(522.957 / 1920 * 100%);
      height: auto;
      aspect-ratio: 522.957 / 283.927;
      color: var(--ps-blob-left, var(--ps-pdp-accent, #EB8B2C));
      transform: none;
    }

    .ps-product__blob--right {
      top: auto;
      left: auto;
      right: 0;
      bottom: 0;
      width: min(38%, 740px);
      height: auto;
      aspect-ratio: 676.94 / 388.2;
      color: var(--ps-blob-right, var(--ps-pdp-accent, #EB8B2C));
      transform: none;
    }

    /* In-flow decorative blobs are mobile-only; the mobile block re-enables them */
    .ps-product__flow-blob {
      display: none;
    }

    /* Desktop: keep the top-left blob at its design size; the section top padding
       (below) is raised so the product title drops clear of it. */
    @media (min-width: 781px) {
      .ps-product__blob--left {
        width: min(16%, 280px);
      }
    }

    .ps-product__grid {
      position: relative;
      z-index: 1;
      width: min(1840px, 100%);
      margin: auto;
      display: grid;
      grid-template-columns: minmax(260px,.8fr) minmax(340px,1.05fr) minmax(300px,.92fr);
      gap: clamp(28px, 3.2vw, 56px);
    }

    @media (min-width: 781px) {
      .ps-product {
        min-height: calc(100vh - 72px);
        /* Top padding raised so all three columns start below the top-left blob (title clears it) */
        padding: clamp(88px, 9.5vw, 160px) clamp(32px, 4.5vw, 64px) clamp(88px, 8vw, 140px);
      }

      .ps-product__grid {
        min-height: auto;
        align-items: start;
      }
    }

    /* PDP visibility utilities — mobile layout only; desktop unchanged */
    .ps-hide-mobile { display: block; }
    .ps-hide-desktop { display: none; }

    .ps-product__grid--movable {
      width: min(1840px, 100%);
      margin: auto;
    }

    @media (min-width: 781px) {
      .ps-hide-mobile { display: block; }
      .ps-hide-desktop { display: none !important; }

      .ps-product__grid--movable {
        display: grid;
        align-items: start;
        min-height: calc(100vh - 170px);
        grid-template-columns: minmax(260px, .8fr) minmax(340px, 1.05fr) minmax(300px, .92fr);
        gap: clamp(28px, 3.2vw, 56px);
      }

      .ps-product__buy-column {
        grid-column: 1;
        grid-row: 1;
        display: flex;
        flex-direction: column;
        gap: var(--ps-pdp-stack-gap);
        min-width: 0;
        align-self: start;
        position: relative;
        z-index: 2;
        background: transparent;
      }

      .ps-product__grid--movable .ps-product__block--buy-col,
      .ps-product__grid--movable .ps-product__block--buy_box {
        align-self: stretch;
      }

      .ps-product__grid--movable .ps-product__block--rating {
        padding-top: 0;
        padding-bottom: 0;
      }

      .ps-product__grid--movable .ps-product__block--rating .ps-rating {
        margin-bottom: 0;
      }

      .ps-product__grid--movable .ps-product__block--product_title {
        align-self: start;
      }

      .ps-product__grid--movable .ps-product__block--product_title.ps-buy-part {
        padding-bottom: 0;
      }

      .ps-product__grid--movable .ps-product__block--gallery {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
      }

      .ps-product__grid--movable .ps-product__block--flavour_picker {
        grid-column: 3;
        grid-row: 1;
        align-self: start;
        justify-self: stretch;
        width: 100%;
        max-width: none;
        position: relative;
        z-index: 2;
        background: transparent;
        box-shadow: none;
      }

      .ps-product__block--product_title .ps-buy__title--block {
        margin: 0;
        display: block;
        font-size: clamp(32px, 2.9vw, 50px);
        line-height: 1.02;
        -webkit-text-stroke: 0.4px var(--navy);
      }
    }

    @media (min-width: 781px) and (max-width: 1180px) {
      .ps-product__grid--movable {
        grid-template-columns: minmax(240px, .9fr) minmax(340px, 1.15fr) minmax(275px, .9fr);
        gap: 10px;
      }
    }

    /* iPad / small-tablet portrait: 3 columns can't fit, so stack them (gallery → buy → flavours) */
    @media (min-width: 781px) and (max-width: 1024px) {
      .ps-product__grid.ps-product__grid--movable {
        grid-template-columns: 1fr !important;
        min-height: auto;
        gap: clamp(22px, 3vw, 36px);
      }
      .ps-product__grid.ps-product__grid--movable .ps-product__block--gallery {
        grid-column: 1;
        grid-row: auto;
        order: 1;
        align-self: center;
        justify-self: center;
        width: 100%;
        max-width: 460px;
      }
      .ps-product__grid.ps-product__grid--movable .ps-product__buy-column {
        grid-column: 1;
        grid-row: auto;
        order: 2;
        justify-self: center;
        width: 100%;
        max-width: 560px;
      }
      .ps-product__grid.ps-product__grid--movable .ps-product__block--flavour_picker {
        grid-column: 1;
        grid-row: auto;
        order: 3;
      }
    }

    .ps-title {
      margin: 0;
      color: var(--blue);
      font-size: clamp(52px, 5.7vw, 96px);
      line-height: .88;
    }

    .ps-product .ps-accordions {
      overflow: hidden;
      background: #fff;
      border: 2px solid var(--ps-blob-left, #EB8B2C);
      border-radius: 16px;
    }

    .ps-product .ps-accordion__button {
      min-height: 48px;
      padding: 12px 16px;
      color: var(--navy);
      border-bottom: 0;
      font-weight: 800;
    }

    .ps-product .ps-accordion__panel .rte ul {
      margin: 0;
      padding-left: 1.2em;
      list-style: disc;
    }

    .ps-product .ps-accordion__panel .rte li {
      margin: 0 0 4px;
    }

    .ps-product .ps-accordion__panel .rte p {
      margin: 0 0 4px;
    }

    .ps-accordion + .ps-accordion { border-top: 1px solid var(--line); }

    .ps-accordion__button {
      width: 100%;
      min-height: 52px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 12px 18px;
      color: var(--blue);
      background: transparent;
      border: 0;
      cursor: pointer;
      font-size: 16px;
      font-weight: 900;
      text-align: left;
    }

    .ps-accordion__plus {
      display: inline-flex;
      width: 22px;
      height: 22px;
      flex-shrink: 0;
      transition: transform .2s ease;
    }

    .ps-accordion__plus svg {
      display: block;
      width: 100%;
      height: 100%;
    }

    .ps-accordion__button[aria-expanded="true"] .ps-accordion__plus {
      transform: rotate(0deg);
    }

    .ps-accordion__panel {
      display: none;
      padding: 0 18px 18px;
      color: #294274;
      font-size: 13px;
      line-height: 1.6;
    }

    .ps-accordion__panel[hidden] { display: none; }

    .ps-accordion__button[aria-expanded="true"] + .ps-accordion__panel,
    .ps-accordion__panel.is-open {
      display: block;
    }

    .ps-accordion__panel .rte p {
      margin: 0;
      color: inherit;
    }

    .ps-gallery {
      position: relative;
      min-width: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 22px;
    }

    .ps-gallery__stage {
      position: relative;
      z-index: 0;
      isolation: isolate;
      width: 100%;
      min-height: 0;
      display: grid;
      place-items: center;
      background: #fff;
      /* border: 10px solid var(--ps-blob-left, #EB8B2C); */
      border-radius: 28px;
    }

    .ps-gallery__image {
      max-width: none;
      background: #fff;
      mix-blend-mode: normal;
      filter: none;
      transition: opacity .16s ease;
    }

    .ps-gallery__image.is-changing {
      opacity: 0;
      transform: translateY(7px) scale(.985);
    }

    .ps-gallery__controls {
      width: 100%;
      max-width: 100%;
      display: grid;
      grid-template-columns: 44px minmax(0, 1fr) 44px;
      align-items: center;
      column-gap: clamp(28px, 4vw, 64px);
      margin-top: 2px;
    }

    .ps-gallery__arrow {
      width: 52px;
      height: 52px;
      display: grid;
      place-items: center;
      color: #fff;
      background: var(--ps-blob-left, #EB8B2C);
      border: 0;
      border-radius: 50%;
      box-shadow: none;
      cursor: pointer;
      font-size: 30px;
      font-weight: 900;
      line-height: 1;
    }

    .ps-gallery__dots {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 18px;
    }

    .ps-gallery__dot {
      width: 10px;
      height: 10px;
      flex: 0 0 auto;
      margin: 0;
      padding: 0;
      color: transparent;
      background: var(--navy);
      opacity: 0.28;
      border: 0;
      border-radius: 50%;
      cursor: pointer;
      box-shadow: none;
      transform: none;
    }

    .ps-gallery__dot svg { display: none; }

    .ps-gallery__dot.is-active,
    .ps-gallery__dot[aria-current="true"] {
      transform: none;
      opacity: 1;
      color: transparent;
      background: var(--navy);
      border: 0;
      box-shadow: none;
    }

    .ps-gallery__count {
      display: none;
    }

    .ps-buy {
      position: relative;
      z-index: 2;
      padding: clamp(22px,2vw,34px);
      background: color-mix(in srgb, var(--ps-buy-bg, var(--ps-card-bg, #f4eee2)) 52%, white);
      border: none;
      border-radius: 28px;
      box-shadow: 0 18px 42px -24px rgba(46,65,98,.22);
    }

    .ps-buy--plain {
      background: rgba(255,255,255,.95);
      box-shadow: var(--shadow);
    }

    .ps-rating {
      margin: 0;
      color: var(--navy);
      font-size: 13px;
      font-weight: 800;
    }

    .ps-rating span { color: var(--yellow); letter-spacing: 2px; }

    .ps-buy__title {
      margin: 0;
      color: var(--navy);
      font-size: clamp(32px,2.9vw,50px);
      line-height: 1.02;
      -webkit-text-stroke: 0.4px var(--navy);
    }

    .ps-price {
      margin: 0;
      color: var(--navy);
      font-size: 28px;
      font-weight: 700;
    }

    .ps-price small {
      margin-left: 8px;
      color: var(--navy);
      font-size: 12px;
      font-weight: 700;
      opacity: 0.7;
    }

    .ps-label {
      display: block;
      margin: 0 0 8px;
      color: var(--navy);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .03em;
      text-transform: uppercase;
    }

    .ps-options--outline .ps-option input:checked + label,
    .ps-options[data-ps-option-group="1"] .ps-option input:checked + label {
      color: var(--navy);
      background: #fff;
      border-color: var(--ps-blob-left, #EB8B2C);
    }

    .ps-product__block--variants {
      display: flex;
      flex-direction: column;
      gap: var(--ps-pdp-stack-gap);
    }

    /* Pull each option label down close to the value it describes; the block gap
       then reads as separation *between* option groups, not label-to-value. */
    .ps-product__block--variants .ps-label {
      margin-bottom: calc(6px - var(--ps-pdp-stack-gap));
    }

    .ps-options {
      display: grid;
      grid-template-columns: 1fr;
      gap: 8px;
      margin-bottom: 0;
    }

    .ps-options--single {
      grid-template-columns: 1fr;
    }

    .ps-option input { position: absolute; opacity: 0; }

    .ps-option label {
      min-height: 46px;
      display: grid;
      place-items: center;
      padding: 10px;
      color: var(--navy);
      background: white;
      border: 2px solid var(--ps-blob-left, #EB8B2C);
      border-radius: 14px;
      cursor: pointer;
      font-size: 15px;
      font-weight: 800;
    }

    /* Use the vibrant accent (not the pale --ps-pdp-accent) so white text stays legible */
    .ps-option input:checked + label {
      color: white;
      background: var(--ps-blob-left, #EB8B2C);
      border-color: var(--ps-blob-left, #EB8B2C);
    }

    .ps-purchase {
      display: flex;
      gap: 10px;
      align-items: stretch;
    }

    .ps-buy-now-btn {
      width: 100%;
      min-height: 54px;
      margin-top: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      background: var(--navy);
      border: 0;
      border-radius: 14px;
      cursor: pointer;
      font-size: 16px;
      font-weight: 800;
      letter-spacing: .02em;
      text-transform: uppercase;
    }

    .ps-buy-now-btn:hover {
      filter: brightness(1.08);
    }

    .ps-ingredients-panel {
      margin-top: 0;
      color: var(--navy);
    }

    .ps-ingredients-panel__line {
      margin: 0 0 8px;
      font-size: 13px;
      font-weight: 800;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .ps-lab-report {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      width: 100%;
      box-sizing: border-box;
      min-height: 48px;
      margin: 0;
      padding: 10px 16px;
      color: var(--navy);
      background: #fff;
      border: 2px solid var(--ps-blob-left, #EB8B2C);
      border-radius: 16px;
      font-size: 14px;
      font-weight: 800;
      letter-spacing: 0;
      text-transform: none;
      text-decoration: none;
    }

    .ps-lab-report svg,
    .ps-lab-report__icon {
      width: 22px;
      height: 22px;
      flex-shrink: 0;
      object-fit: contain;
      display: block;
    }

    .ps-lab-report__icon--svg,
    .ps-lab-report__icon--svg svg {
      width: 22px;
      height: 22px;
    }

    .ps-ingredients-panel__category {
      margin: 0 0 10px;
      font-size: 13px;
      font-weight: 600;
      line-height: 1.5;
    }

    .ps-ingredients-panel__heading {
      margin: 0 0 8px;
      font-size: 13px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .ps-ingredients-panel__body {
      font-size: 12px;
      line-height: 1.5;
    }

    .ps-ingredients-panel__note,
    .ps-ingredients-panel__warning {
      margin: 10px 0 0;
      font-size: 12px;
      font-weight: 700;
      line-height: 1.5;
    }

    .ps-ingredients-panel__warning { text-transform: uppercase; }

    .ps-quantity {
      width: 118px;
      flex: 0 0 118px;
      min-height: 48px;
      height: auto;
      align-self: stretch;
      display: grid;
      grid-template-columns: 34px 1fr 34px;
      align-items: center;
      background: #fff;
      border: 2px solid var(--ps-pdp-accent, #EB8B2C);
      border-radius: 14px;
    }

    .ps-quantity button, .ps-quantity input {
      width: 100%;
      color: var(--navy);
      background: transparent;
      border: 0;
      text-align: center;
      font-weight: 800;
    }

    .ps-quantity button { height: 100%; cursor: pointer; font-size: 20px; }

    /* Remove native number spinners so the value sits truly centred */
    .ps-quantity input {
      padding: 0;
      -moz-appearance: textfield;
      appearance: textfield;
    }

    .ps-quantity input::-webkit-outer-spin-button,
    .ps-quantity input::-webkit-inner-spin-button {
      -webkit-appearance: none;
      margin: 0;
    }

    .ps-atc {
      min-height: 48px;
      height: auto;
      flex: 1 1 auto;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 4px 8px;
      border: 0;
      border-radius: 14px;
      cursor: pointer;
      font-size: 16px;
      font-weight: 1000;
      letter-spacing: .02em;
      text-transform: uppercase;
    }

    .ps-delivery {
      margin-top: 12px;
      padding-top: 12px;
      border-top: 1px solid var(--line);
    }

    .ps-delivery__form {
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: stretch;
      overflow: hidden;
      background: #fff;
      /* Match the accent border used by the Lab Reports / Delivery & Storage boxes */
      border: 2px solid var(--ps-blob-left, #EB8B2C);
      border-radius: 16px;
    }

    .ps-delivery input {
      min-width: 0;
      min-height: 50px;
      padding: 12px 12px;
      border: 0;
      outline: 0;
      border-radius: 12px 0 0 12px;
      font-size: 13px;
    }

    .ps-delivery button {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 50px;
      padding: 0 14px;
      color: white;
      background: var(--blue);
      border: 0;
      border-radius: 0 12px 12px 0;
      cursor: pointer;
      font-size: 12px;
      font-weight: 1000;
      white-space: nowrap;
    }

    .ps-delivery__message {
      min-height: 0;
      margin: 8px 2px 0;
      color: #27663a;
      font-size: 12px;
      font-weight: 800;
    }

    .ps-delivery__message:empty {
      margin: 0;
    }

    .ps-flavours {
      min-width: 0;
      margin: 0;
      padding: 0;
      color: var(--blue);
      align-self: center;
      background: transparent;
      box-shadow: none;
    }

    .ps-flavours__header {
      display: block;
      margin-bottom: 16px;
      text-align: center;
    }

    .ps-flavours__more {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      width: auto;
      margin-top: 14px;
      color: var(--navy);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .08em;
      text-align: left;
      text-transform: uppercase;
      text-decoration: none;
    }

    .ps-flavours__title {
      margin: 0 auto;
      color: var(--navy);
      font-family: 'Montserrat', sans-serif;
      /* Base (mobile): sized to sit on a single line across the full-width heading */
      font-size: clamp(20px, 7vw, 30px);
      font-weight: 400;
      letter-spacing: 0.02em;
      line-height: 1.12;
      text-align: center;
      text-transform: none !important;
      white-space: nowrap;
    }

    /* Desktop: the flavour column is narrow, so scale the heading to fit one line there */
    @media (min-width: 781px) {
      .ps-flavours__title {
        font-size: clamp(18px, 1.9vw, 30px);
      }
    }

    .ps-flavours__grid {
      display: grid;
      grid-template-columns: repeat(3,minmax(0,1fr));
      gap: 10px;
    }

    .ps-flavour-card {
      position: relative;
      overflow: hidden;
      color: var(--navy);
      background: #fff;
      border: 1.5px solid rgba(46, 65, 98, 0.14);
      border-radius: 16px;
      text-decoration: none;
      box-shadow: none;
      transition: transform .18s ease, border-color .18s ease;
    }

    .ps-flavour-card:hover {
      transform: translateY(-2px);
      box-shadow: none;
    }

    .ps-flavour-card[aria-current="page"] {
      outline: none;
      border-color: var(--navy);
      border-width: 2px;
      box-shadow: none;
    }

    .ps-flavour-card__media {
      position: relative;
      /* Height scales with card width so cards don't look tall/skinny when the column narrows */
      height: auto;
      aspect-ratio: 1 / 0.8;
      display: grid;
      place-items: center;
      overflow: hidden;
      background: #fff;
    }

    .ps-flavour-card__image {
      /* Contain within the media box so the product never clips at any card width */
      width: auto;
      height: auto;
      max-width: 85%;
      max-height: 88%;
      object-fit: contain;
      mix-blend-mode: normal;
      filter: none;
      transition: transform .22s ease;
    }

    .ps-flavour-card:hover .ps-flavour-card__image { transform: scale(1.04); }

    .ps-flavour-card__badge {
      position: absolute;
      z-index: 3;
      top: 0;
      right: 0;
      padding: 6px 9px 5px;
      color: #fff;
      background: var(--navy);
      border-radius: 0 14px 0 10px;
      font-size: 9px;
      font-weight: 700;
      letter-spacing: .04em;
      line-height: 1;
      text-transform: uppercase;
      transform: none;
    }

    .ps-flavour-card__content {
      min-height: 0;
      display: grid;
      place-items: center;
      padding: 6px 4px 12px;
      text-align: center;
    }

    .ps-flavour-card__title {
      margin: 0;
      color: var(--navy);
      /* font-family: 'Montserrat', sans-serif; */
      font-size: 13px;
      line-height: 1.2;
      font-family: 'Montserrat'; font-weight:800;
    }

    .ps-content-section {
      padding: var(--ps-pad-top, clamp(54px,7vw,110px)) clamp(18px,5vw,80px) var(--ps-pad-bottom, clamp(54px,7vw,110px));
      border-top: 4px solid var(--blue);
    }

    .ps-pdp-nav {
      position: relative;
      z-index: 2;
      padding: 15px 18px;
      color: white;
      background: var(--blue);
    }

    .ps-pdp-nav__inner {
      width: min(1100px,100%);
      margin: auto;
      display: flex;
      justify-content: center;
      gap: 10px;
      flex-wrap: wrap;
    }

    .ps-pdp-nav a {
      padding: 9px 15px;
      color: white;
      border: 1px solid rgba(255,255,255,.55);
      border-radius: 999px;
      font-size: 12px;
      font-weight: 900;
      text-decoration: none;
    }

    .ps-content-section__inner {
      width: min(1320px,100%);
      margin: auto;
    }

    .ps-section-kicker {
      margin: 0 0 10px;
      color: var(--orange);
      font-size: 12px;
      font-weight: 1000;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .ps-section-title {
      max-width: 850px;
      margin: 0;
      color: var(--blue);
      font-size: clamp(38px,5vw,72px);
      line-height: 1.08;
    }

    .ps-flavour-story {
      color: var(--blue);
      background: var(--pink);
    }

    .ps-flavour-story__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
      gap: clamp(30px,6vw,90px);
    }

    .ps-flavour-story__copy p {
      max-width: 630px;
      margin: 24px 0 0;
      font-size: clamp(17px,1.5vw,23px);
      font-weight: 750;
      line-height: 1.55;
    }

    .ps-flavour-story__visual {
      min-height: 420px;
      display: grid;
      place-items: center;
      background: rgba(255,255,255,.35);
      border: 2px solid var(--blue);
      border-radius: 42% 58% 55% 45% / 45% 40% 60% 55%;
    }

    .ps-flavour-story__visual img {
      width: min(90%,540px);
      height: auto;
      filter: drop-shadow(0 25px 28px rgba(20,37,74,.18));
    }

    .ps-proof {
      color: var(--blue);
    }

    .ps-ingredients {
      color: var(--blue);
    }

    .ps-ingredients__grid {
      display: grid;
      grid-template-columns: repeat(3,minmax(0,1fr));
      gap: 18px;
      margin-top: 34px;
    }

    .ps-ingredient {
      min-height: 250px;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 26px;
      background: var(--ingredient-bg,#ffd568);
      border: 2px solid var(--blue);
      border-radius: 28px;
    }

    .ps-ingredient__icon { font-size: 64px; line-height: 1; }
    .ps-ingredient h3 { margin: 24px 0 8px; font-size: 25px; }
    .ps-ingredient p { margin: 0; font-weight: 700; line-height: 1.5; }

    .ps-reviews {
      color: var(--blue);
    }

    .ps-reviews__grid {
      display: grid;
      grid-template-columns: repeat(3,minmax(0,1fr));
      gap: 18px;
      margin-top: 32px;
    }

    .ps-product__block--product_title {
      padding-bottom: 0;
    }

    .ps-buy-part {
      background: transparent;
      padding-inline: 0;
    }

    .ps-buy-part--start {
      padding-top: 0;
      border-radius: 0;
    }

    .ps-buy-part--end {
      padding-bottom: 0;
      border-radius: 0;
      box-shadow: none;
      margin-bottom: 0;
    }

    .ps-buy-part--start.ps-buy-part--end {
      border-radius: 0;
      padding: 0;
    }

    .ps-product__buy-column .ps-buy-part + .ps-buy-part {
      margin-top: 0;
    }

    .ps-product__buy-column .ps-product__block--purchase.ps-buy-part + .ps-buy-part,
    .ps-product__buy-column .ps-product__block--delivery.ps-buy-part + .ps-buy-part,
    .ps-product__buy-column .ps-product__block--text.ps-buy-part + .ps-buy-part,
    .ps-product__buy-column .ps-product__block--richtext.ps-buy-part + .ps-buy-part,
    .ps-product__buy-column .ps-product__block--collapsible.ps-buy-part + .ps-buy-part {
      margin-top: 0;
    }

    .ps-product__block--purchase .ps-buy-form,
    .ps-product__block--purchase form {
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: var(--ps-pdp-stack-gap);
    }

    .ps-product__block--purchase.ps-buy-part + .ps-buy-part,
    .ps-product__block--delivery.ps-buy-part + .ps-buy-part,
    .ps-product__block--text.ps-buy-part + .ps-buy-part,
    .ps-product__block--richtext.ps-buy-part + .ps-buy-part,
    .ps-product__block--collapsible.ps-buy-part + .ps-buy-part {
      margin-top: var(--ps-pdp-stack-gap);
    }

    .ps-product__block--delivery .ps-delivery {
      margin-top: 0;
      margin-bottom: 0;
      padding-top: 0;
      border-top: 0;
      display: flex;
      flex-direction: column;
      gap: var(--ps-pdp-stack-gap);
    }

    .ps-product__block--delivery .ps-delivery > .ps-label {
      margin: 0;
    }

    .ps-product__block--delivery .ps-delivery__message:empty {
      display: none;
      margin: 0;
    }

    .ps-product__block--text.ps-buy-part .ps-product__content,
    .ps-product__block--richtext.ps-buy-part .ps-product__content {
      padding: 15px 18px;
      color: var(--blue);
      background: rgba(255,255,255,.55);
      border: 1px solid var(--blue);
      border-radius: 18px;
      box-shadow: none;
    }

    .ps-product__block--rating .ps-rating {
      margin-bottom: 0;
    }

    .ps-product__block--pills .ps-pills {
      margin: 0;
    }

    .ps-product__block--price .ps-price {
      margin: 0;
    }

    .ps-product__block--variants .ps-label:first-of-type {
      margin-top: 0;
    }

    .ps-accordions--block {
      margin: 0;
      border-radius: 18px;
    }

    .ps-product__block--collapsible .ps-accordions--block {
      background: #fff;
    }

    .ps-product__block {
      min-width: 0;
    }

    .ps-product__block--app,
    .ps-product__content--full {
      grid-column: 1 / -1;
    }

    .ps-product__content {
      padding: 18px 20px;
      color: var(--blue);
      background: rgba(255,255,255,.82);
      border-radius: 22px;
      box-shadow: 0 12px 30px -22px rgba(46,65,98,.28);
    }

    .ps-product__content--heading p {
      margin: 0;
      font-size: clamp(24px, 2.4vw, 34px);
      line-height: 1.05;
    }

    .ps-product__content--kicker p {
      margin: 0;
      font-size: 12px;
      font-weight: 1000;
      letter-spacing: .12em;
      text-transform: uppercase;
      opacity: .8;
    }

    .ps-product__content--body p,
    .ps-product__content--richtext {
      margin: 0;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.55;
    }

    .ps-product__content-image {
      width: 100%;
      height: auto;
      display: block;
      border-radius: 18px;
    }

    .ps-product__content--image figcaption {
      margin-top: 10px;
      font-size: 12px;
      font-weight: 800;
      opacity: .75;
    }

    .ps-reviews__movable--has-app .ps-reviews-from-app__prompt {
      display: none;
    }

    .ps-reviews-from-app {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .ps-reviews-from-app__heading {
      margin: 0;
      font-size: clamp(20px, 2vw, 28px);
      line-height: 1.1;
    }

    .ps-reviews-from-app__summary {
      margin: 0;
    }

    .ps-reviews-from-app__widget {
      min-height: 0;
    }

    .ps-reviews-from-app__prompt {
      margin: 0;
      padding: 14px 16px;
      font-size: 13px;
      font-weight: 700;
      line-height: 1.5;
      color: var(--blue);
      background: rgba(255,255,255,.55);
      border: 2px dashed rgba(46,65,98,.28);
      border-radius: 16px;
    }

    .ps-product__block--reviews_from_app {
      grid-column: 1 / -1;
    }

    .ps-product__block--reviews_from_app .ps-reviews-from-app {
      background: rgba(255,255,255,.82);
      border-radius: 22px;
      padding: 20px;
      box-shadow: 0 12px 30px -22px rgba(46,65,98,.28);
    }

    .ps-reviews__movable .ps-reviews__item--app {
      grid-column: 1 / -1;
    }

    .ps-reviews__movable .ps-reviews__item--full {
      grid-column: 1 / -1;
    }

    .ps-reviews__summary {
      display: flex;
      align-items: center;
      gap: 14px;
      margin: 18px 0 8px;
      padding: 16px 20px;
      background: rgba(255,255,255,.72);
      border-radius: 18px;
      border: 2px solid var(--blue);
    }

    .ps-reviews__summary-stars {
      color: var(--orange);
      letter-spacing: 2px;
      font-size: 14px;
      flex-shrink: 0;
    }

    .ps-reviews__summary-text {
      margin: 0;
      color: var(--blue);
      font-size: 14px;
      font-weight: 800;
      line-height: 1.45;
    }

    .ps-reviews__empty {
      margin: 24px 0 0;
      color: var(--blue);
      font-size: 15px;
      font-weight: 700;
      line-height: 1.5;
    }

    .ps-reviews__empty--dark {
      color: rgba(255,255,255,.72);
    }

    .ps-review-card__media {
      margin: 0 0 14px;
      border-radius: 16px;
      overflow: hidden;
    }

    .ps-review-card__media img {
      width: 100%;
      height: auto;
      display: block;
      object-fit: cover;
    }

    .ps-review-text {
      margin: 0;
      line-height: 1.5;
    }

    .ps-review-text--heading {
      font-size: 22px;
    }

    .ps-review-text--kicker {
      font-size: 12px;
      font-weight: 1000;
      letter-spacing: .12em;
      text-transform: uppercase;
      opacity: .8;
    }

    .ps-review-richtext {
      font-size: 15px;
      font-weight: 700;
      line-height: 1.55;
    }

    .ps-review-image {
      width: 100%;
      height: auto;
      display: block;
      border-radius: 18px;
    }

    .ps-review-image__caption {
      margin: 10px 0 0;
      font-size: 12px;
      font-weight: 800;
      opacity: .75;
    }

    .ps-reviews__item--image.ps-review-card {
      padding: 14px;
    }

    .review-grid .ps-reviews__item--app {
      flex: 0 0 min(100%, 920px);
      scroll-snap-align: start;
      min-height: auto;
      padding: 0;
      background: transparent;
      border: 0;
    }

    .review-grid .ps-reviews__item--image.ps-reviews__carousel-item {
      flex: 0 0 clamp(280px, 42vw, 400px);
    }

    .review-grid .ps-reviews__item--image.ps-reviews__item--full {
      flex: 0 0 min(100%, 920px);
    }

    .review-grid .ps-review-text,
    .review-grid .ps-review-richtext,
    .review-grid .ps-review-image__caption {
      color: rgba(255,255,255,.85);
    }

    .review-grid .ps-review-text--kicker {
      color: var(--yellow);
      opacity: 1;
    }

    .ps-review-card {
      min-height: 260px;
      padding: 28px;
      background: white;
      border: 2px solid var(--blue);
      border-radius: 26px;
    }

    .ps-review-card__stars { color: var(--orange); letter-spacing: 2px; }
    .ps-review-card blockquote { margin: 22px 0; font-size: 19px; font-weight: 800; line-height: 1.5; }
    .ps-review-card cite { font-style: normal; font-size: 13px; font-weight: 1000; }

    .ps-related {
      color: var(--blue);
    }

    .ps-related__grid {
      display: grid;
      grid-template-columns: repeat(3,minmax(0,1fr));
      gap: 18px;
      margin-top: 30px;
    }

    .ps-related-card {
      overflow: hidden;
      color: var(--blue);
      background: white;
      border: 2px solid var(--blue);
      border-radius: 25px;
    }

    .ps-related-card__media {
      display: block;
      overflow: hidden;
      background: var(--related-bg, transparent); /* cards are tinted per position below; no per-product colour is set */
    }

    .ps-related-card img {
      width: 100%;
      display: block;
      aspect-ratio: 1/.82;
      object-fit: contain;
      transform: scale(1.12);
    }

    .ps-related-card__body { padding: 20px; }
    .ps-related-card h3 { margin: 0 0 8px; font-size: 20px; }
    .ps-related-card p { margin: 0; font-size: 14px; font-weight: 800; }

    .ps-related-card__title-link {
      color: inherit;
      text-decoration: none;
    }

    .ps-related-card__atc {
      width: 100%;
      min-height: 48px;
      margin-top: 18px;
      padding: 12px 18px;
      color: white;
      background: var(--blue);
      border: 0;
      border-radius: 999px;
      box-shadow: 5px 5px 0 var(--orange);
      cursor: pointer;
      font-size: 13px;
      font-weight: 1000;
      letter-spacing: .08em;
      text-transform: uppercase;
      transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
    }

    .ps-related-card__atc:hover {
      transform: translate(2px,2px);
      box-shadow: 3px 3px 0 var(--orange);
    }

    .ps-newsletter {
      padding: 48px 18px;
      color: white;
    }

    .ps-newsletter__inner {
      width: min(1060px,100%);
      margin: auto;
      display: grid;
      grid-template-columns: 1fr minmax(320px,.75fr);
      align-items: center;
      gap: 30px;
    }

    .ps-newsletter h2 { margin: 0 0 8px; font-size: clamp(30px,4vw,52px); }
    .ps-newsletter p { margin: 0; font-weight: 700; }
    .ps-newsletter form { display: grid; grid-template-columns: 1fr auto; overflow: hidden; background: white; border-radius: 999px; }
    .ps-newsletter input { min-width: 0; padding: 16px 20px; border: 0; outline: 0; }
    .ps-newsletter button { padding: 0 22px;border: 0; cursor: pointer; font-weight: 1000; }

    @media (max-width: 1180px) {
      .ps-product__grid {
        grid-template-columns: minmax(240px, .9fr) minmax(340px, 1.15fr) minmax(275px, .9fr);
        gap: 10px;
      }
    }

    @media (max-width: 780px) {
      .ps-header {
        min-height: 64px;
      }
      .ps-header__bar {
        grid-template-columns: 42px 1fr auto;
        gap: 8px;
        min-height: 64px;
        padding: 10px 14px;
      }
      .ps-header__nav, .ps-header__actions > a { display: none; }
      .ps-header__logo { grid-column: 2; justify-self: center; }
      .ps-header__actions { grid-column: 3; justify-self: end; }
      .ps-menu-toggle,
      .ps-header__menu-btn,
      .menu-toggle {
        grid-column: 1;
        grid-row: 1;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 0;
        cursor: pointer;
      }
      .ps-menu-toggle span,
      .ps-header__menu-btn span,
      .menu-toggle span {
        display: block;
        background: currentColor;
        border-radius: 999px;
        transition: transform .2s ease, opacity .2s ease;
      }
      .ps-menu-toggle[aria-expanded="true"] span:nth-child(2),
      .ps-header__menu-btn[aria-expanded="true"] span:nth-child(2),
      .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }

      .mobile-menu-overlay,
      .ps-mobile-menu__overlay {
        position: fixed;
        z-index: 38;
        inset: var(--ps-header-height) 0 0;
        display: block;
        background: rgba(8,43,112,.42);
        opacity: 0;
        visibility: hidden;
        transition: opacity .2s ease, visibility .2s ease;
      }

      .mobile-menu,
      .ps-mobile-menu {
        position: fixed;
        z-index: 40;
        inset: var(--ps-header-height) auto 0 0;
        width: min(88vw,360px);
        display: flex;
        flex-direction: column;
        padding: 24px 18px;
        color: var(--blue);
        background: var(--cream);
        border-right: 2px solid var(--blue);
        transform: translateX(-102%);
        transition: transform .24s ease;
      }

      .mobile-menu a,
      .ps-mobile-menu a {
        padding: 15px 8px;
        color: inherit;
        border-bottom: 1px solid var(--line);
        font-size: 16px;
        font-weight: 1000;
        text-decoration: none;
      }

      body.menu-open,
      body.ps-menu-open { overflow: hidden; }
      body.menu-open .mobile-menu,
      body.ps-menu-open .ps-mobile-menu { transform: translateX(0); }
      body.menu-open .mobile-menu-overlay,
      body.ps-menu-open .ps-mobile-menu__overlay { opacity: 1; visibility: visible; }

      .ps-product {
        --ps-pdp-mobile-flow-gap: 10px;
        min-height: auto;
        padding: 36px 16px 96px;
        overflow: hidden;
      }

      .ps-product__blob-stage {
        inset: 0;
        height: auto;
        bottom: 0;
      }

      .ps-product__blob--left {
        top: 0;
        left: 0;
        width: min(42%, 200px);
        height: auto;
        aspect-ratio: 522.957 / 283.927;
      }

      .ps-product__blob--right {
        right: 0;
        bottom: 0;
        width: min(46%, 200px);
        height: auto;
        aspect-ratio: 676.94 / 388.2;
      }

      .ps-product__grid {
        display: flex;
        min-height: auto;
        flex-direction: column;
        align-items: stretch;
        align-content: flex-start;
        gap: var(--ps-pdp-mobile-flow-gap);
      }

      .ps-hide-mobile { display: none !important; }
      .ps-hide-desktop { display: block !important; }

      .ps-product__buy-column {
        display: contents;
      }

      /* Mobile PDP stack: title → gallery → flavours → buy details */
      .ps-product__grid--movable {
        display: flex;
        flex-direction: column;
        gap: var(--ps-pdp-mobile-flow-gap);
        min-height: auto;
      }

      .ps-product__grid--movable .ps-product__block {
        width: 100%;
      }

      .ps-pdp-mobile-slot--title {
        order: 1;
        display: block;
        width: 100%;
      }
      .ps-pdp-mobile-slot--gallery { order: 2; margin-bottom: 0; }
      .ps-pdp-mobile-slot--flavours { order: 3; margin-top: 4px; padding-bottom: 8px; }
      .ps-pdp-mobile-slot--details { order: 4; margin-top: 18px; }
      .ps-pdp-mobile-slot--ingredients { order: 5; padding-inline: 16px; }

      /* Mobile block order (buy-column is display:contents, so every block is a flex sibling).
         Gallery → Title → Rating → Price → Subtitle → Size/Pack (variants) →
         Qty+Add/Buy now (purchase) → Delivery → Delivery & Storage (collapsible) →
         Lab reports → Flavour picker. Desktop is untouched (this is inside max-width:780). */
      /* Fallback first: any unlisted buy-column block stays within the buy cluster.
         The specific per-type rules below share its specificity and win by source order. */
      .ps-product__grid--movable .ps-pdp-mobile-slot--details { order: 95; }
      .ps-product__grid--movable .ps-product__block--gallery { order: 10; }
      .ps-product__flow-blob--gallery { order: 15; }
      .ps-product__grid--movable .ps-product__block--product_title { order: 20; }
      .ps-product__grid--movable .ps-product__block--rating { order: 30; }
      .ps-product__grid--movable .ps-product__block--price { order: 40; }
      .ps-product__grid--movable .ps-product__block--subtitle { order: 50; }
      .ps-product__grid--movable .ps-product__block--variants { order: 60; }
      .ps-product__grid--movable .ps-product__block--purchase { order: 70; }
      .ps-product__grid--movable .ps-product__block--delivery { order: 80; }
      .ps-product__grid--movable .ps-product__block--collapsible { order: 90; }
      .ps-product__grid--movable .ps-lab-report { order: 100; }
      .ps-product__grid--movable .ps-product__block--flavour_picker { order: 110; }
      .ps-product__flow-blob--tail { order: 120; }

      /* Blobs: hide the absolute bottom-right (relocated into the flow); keep the top-left as-is */
      .ps-product__blob-stage .ps-product__blob--right { display: none; }

      /* In-flow blobs are zero-height markers: they hold their place in the order
         but reserve no vertical space, and the SVG bleeds behind content (z-index:-1). */
      .ps-product__flow-blob {
        display: block;
        position: relative;
        z-index: -1;
        height: 0;
        width: 100%;
        overflow: visible;
        pointer-events: none;
      }

      .ps-product__flow-blob .ps-product__blob {
        position: absolute;
        bottom: 0;
        width: 32%;
        height: auto;
        opacity: var(--ps-blob-opacity, 1);
      }

      /* Bottom-right accent under the gallery, bleeding off the right edge */
      .ps-product__flow-blob--gallery .ps-product__blob {
        right: calc(-1 * clamp(28px, 4vw, 56px));
      }

      /* New bottom-left accent pinned flush to the section's bottom-left edge; flipped
         so the flat edge grounds at the bottom (proper bottom-left corner). */
      .ps-product__flow-blob--tail {
        position: absolute;
        left: 0;
        bottom: 0;
        height: auto;
        width: 46vw;
        max-width: 260px;
        z-index: 0;
      }

      .ps-product__flow-blob--tail .ps-product__blob {
        position: static;
        left: auto;
        bottom: auto;
        width: 100%;
        transform: scaleY(-1);
      }

      .ps-pdp-mobile-slot--details.ps-buy-part--start {
        border-radius: 22px 22px 0 0;
      }

      .ps-pdp-mobile-slot--details.ps-buy-part--end {
        border-radius: 0 0 22px 22px;
        margin-bottom: 0;
      }

      .ps-pdp-mobile-slot--title.ps-buy-part {
        background: transparent;
        box-shadow: none;
        padding: 12px 16px 6px;
        border-radius: 0;
      }

      .ps-pdp-mobile-slot--title .ps-buy__title,
      .ps-pdp-mobile-slot--title .ps-buy__title--block {
        display: block !important;
        font-size: clamp(36px, 10.5vw, 54px);
        font-weight: 1000;
        line-height: 1.02;
        letter-spacing: 0;
        -webkit-text-stroke: 0.5px var(--navy);
        overflow-wrap: break-word;
      }

      .ps-pdp-mobile-slot--gallery,
      .ps-pdp-mobile-slot--flavours {
        padding-inline: 16px;
      }

      .ps-pdp-mobile-slot--gallery,
      .ps-pdp-mobile-slot--flavours {
        grid-column: auto;
      }

      .ps-pdp-mobile-slot--details .ps-buy__title {
        display: none;
      }

      .ps-pdp-mobile-slot--details.ps-buy-part {
        width: 100%;
        max-width: none;
        align-self: stretch;
        box-sizing: border-box;
        padding-inline: 16px;
      }

      .ps-pdp-mobile-slot--details .ps-buy {
        padding: 0;
        border-radius: 0;
        box-shadow: none;
        background: transparent;
      }

      .ps-buy-part {
        padding-inline: 16px;
      }

      .ps-buy-part--start {
        padding-top: 14px;
      }

      .ps-buy-part--end {
        padding-bottom: 14px;
      }

      .ps-buy-part--start.ps-buy-part--end {
        padding: 14px 16px;
      }

      .ps-pdp-mobile-slot--details .ps-buy-form,
      .ps-pdp-mobile-slot--details .ps-purchase {
        margin-bottom: 0;
      }

      /* Mobile buy-part vertical rhythm */
      .ps-pdp-mobile-slot--details.ps-buy-part--start {
        padding-top: 16px;
      }

      .ps-pdp-mobile-slot--details.ps-buy-part--end {
        padding-bottom: 0;
      }

      .ps-lab-report.ps-pdp-mobile-slot--details {
        align-self: stretch;
        width: auto;
        max-width: none;
        box-sizing: border-box;
        margin: 0 16px;
      }

      .ps-pdp-mobile-slot--details.ps-buy-part + .ps-pdp-mobile-slot--details.ps-buy-part {
        margin-top: calc(12px - var(--ps-pdp-mobile-flow-gap));
        padding-top: 0;
      }

      .ps-pdp-mobile-slot--details.ps-product__block--rating .ps-rating {
        margin-bottom: 2px;
      }

      .ps-pdp-mobile-slot--details.ps-product__block--pills .ps-pills {
        margin: 8px 0 2px;
      }

      .ps-pdp-mobile-slot--details.ps-product__block--variants .ps-label:first-of-type {
        margin-top: 2px;
      }

      .ps-pdp-mobile-slot--details.ps-product__block--variants {
        padding-bottom: 4px;
      }

      .ps-pdp-mobile-slot--details.ps-product__block--variants + .ps-pdp-mobile-slot--details.ps-product__block--purchase {
        margin-top: calc(-1 * var(--ps-pdp-mobile-flow-gap));
        padding-top: 20px;
      }

      .ps-pdp-mobile-slot--details.ps-product__block--purchase {
        padding-top: 20px;
      }

      .ps-pdp-mobile-slot--details.ps-buy-part.ps-product__block--purchase + .ps-pdp-mobile-slot--details.ps-buy-part,
      .ps-pdp-mobile-slot--details.ps-buy-part.ps-product__block--delivery + .ps-pdp-mobile-slot--details.ps-buy-part,
      .ps-pdp-mobile-slot--details.ps-buy-part.ps-product__block--text + .ps-pdp-mobile-slot--details.ps-buy-part,
      .ps-pdp-mobile-slot--details.ps-buy-part.ps-product__block--richtext + .ps-pdp-mobile-slot--details.ps-buy-part,
      .ps-pdp-mobile-slot--details.ps-buy-part.ps-product__block--collapsible + .ps-pdp-mobile-slot--details.ps-buy-part,
      .ps-pdp-mobile-slot--details.ps-buy-part.ps-product__block--ingredients + .ps-pdp-mobile-slot--details.ps-buy-part {
        margin-top: calc(var(--ps-pdp-stack-gap) - var(--ps-pdp-mobile-flow-gap));
        padding-top: 0;
      }

      .ps-pdp-mobile-slot--details.ps-product__block--purchase .ps-buy-form,
      .ps-pdp-mobile-slot--details.ps-product__block--purchase form {
        margin: 0;
      }

      .ps-pdp-mobile-slot--details.ps-product__block--delivery .ps-delivery,
      .ps-pdp-mobile-slot--details .ps-delivery {
        margin: 0;
        padding-top: 0;
        border-top: 0;
        display: flex;
        flex-direction: column;
        gap: var(--ps-pdp-stack-gap);
      }

      .ps-pdp-mobile-slot--details .ps-delivery > .ps-label {
        margin: 0;
      }

      .ps-pdp-mobile-slot--details .ps-delivery__message:empty {
        display: none;
        margin: 0;
      }

      .ps-pdp-mobile-slot--details.ps-product__block--collapsible .ps-accordions--block {
        margin: 0;
        overflow: visible;
      }

      .ps-pdp-mobile-slot--details.ps-product__block--collapsible:has([aria-expanded="true"]) {
        position: relative;
        z-index: 2;
      }

      .ps-title { font-size: clamp(48px,16vw,74px); }
      .ps-gallery__stage { min-height: 0;}
      .ps-gallery__controls {
        width: 100%;
        grid-template-columns: 42px minmax(0, 1fr) 42px;
        column-gap: 20px;
      }
      .ps-gallery__arrow { width: 42px; height: 42px; }
      .ps-gallery__dot { width: 10px; height: 10px; }
      .ps-gallery__dots { gap: 14px; }

      .ps-pdp-mobile-slot--gallery .ps-gallery {
        gap: 18px;
      }

      .ps-pdp-mobile-slot--gallery .ps-gallery__count {
        display: none;
      }

      .ps-pdp-mobile-slot--flavours .ps-flavours__header {
        margin-bottom: 12px;
      }

      .ps-pdp-mobile-slot--flavours .ps-flavours__more {
        margin-top: 16px;
        margin-bottom: 4px;
      }

      .ps-flavours__grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
        gap: 7px;
      }

      .ps-flavour-card {
        border-radius: 11px;
      }

      .ps-flavour-card__media {
        height: 72px;
        aspect-ratio: auto;
      }

      .ps-flavour-card__content {
        min-height: 0;
        padding: 4px 6px 8px;
      }

      .ps-flavour-card__title {
        font-size: 12px;
        line-height: 1.25;
      }

      .ps-flavour-card__badge {
        top: 0;
        right: 0;
        padding: 5px 7px 4px;
        font-size: 8px;
        /* Match the card's corner so the badge nests flush instead of bulging past it */
        border-radius: 0 9px 0 8px;
      }

      .ps-flavour-story__grid,
.ps-newsletter__inner {
        grid-template-columns: 1fr;
      }

      .ps-flavour-story__visual { min-height: 330px; }
      .ps-ingredients__grid,
      .ps-reviews__grid,
      .ps-related__grid { grid-template-columns: 1fr; }
      .ps-ingredient { min-height: 210px; }
      .ps-newsletter form { grid-template-columns: 1fr; border-radius: 18px; }
      .ps-newsletter button { min-height: 52px; }
      .ps-pdp-nav { padding: 13px 12px; }
      .ps-pdp-nav__inner { justify-content: flex-start; gap: 7px; }
      .ps-pdp-nav a { padding: 8px 11px; font-size: 10px; }
    }

    @media (max-width: 390px) {
      .ps-flavours__grid { gap: 5px; }
      .ps-flavour-card__content { padding-inline: 3px; }
      .ps-purchase { display: flex; gap: 10px; }
    }

    @media (prefers-reduced-motion: reduce) {
      *,*::before,*::after { scroll-behavior: auto !important; transition: none !important; }
    }

    /* =========================================================
       GETAWAY BRAND REFRESH — visual override layer
       ========================================================= */
    .ps-logo { display:inline-flex; align-items:center; color:#fff !important; }

    /* Punch accents in Anton; everything else stays Montserrat */
    .ps-newsletter h2 {
      font-family:'Montserrat',sans-serif;
      text-transform:uppercase;
    }

    /* Header — navy bar, white wordmark, yellow cart */
    .ps-header,
    .ps-header.nav {
      position: fixed;
      top: 0;
      color:#fff;
      background:var(--navy);
      border-bottom:1px solid rgba(255,255,255,.18);
    }
    .ps-header a { color:#fff; }
    .ps-header .ps-header__nav a,
    .ps-header .ps-header__shop-trigger {
      font-family: 'Montserrat', sans-serif;
      font-size: clamp(13px, 1.05vw, 15px);
      font-weight: 700;
      letter-spacing: .01em;
      color: #fff;
      text-transform: uppercase;
    }
    .ps-header a.ps-shop-dropdown__view-all,
    .ps-header a.ps-shop-dropdown__view-all:hover { color: var(--navy); }
    .ps-header__nav a:hover,
    .ps-header__shop-trigger:hover { color:var(--yellow); }

    /* Product hero — tub accent tints */
    .ps-atc { color:var(--navy); background:var(--yellow); }
    .ps-atc:hover { filter:brightness(.97); }
    .ps-atc.is-added { color:#fff; background:var(--teal); }

    /* Packaging-style pills */
    .ps-pills { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 2px; }
    .ps-buy__subtitle { margin:0; color:var(--navy); font-size:14px; font-weight:600; line-height:1.5; opacity:.85; }
    .ps-buy__subtitle--desc p { margin:0 0 .6em; font-size:inherit; line-height:inherit; }
    .ps-buy__subtitle--desc > :last-child { margin-bottom:0; }
    .ps-buy__subtitle--desc ul, .ps-buy__subtitle--desc ol { margin:0 0 .6em; padding-left:1.2em; }
    .ps-pill { display:inline-flex; align-items:center; padding:7px 13px; border-radius:999px; font-size:12px; font-weight:800; }
    .ps-pill--protein { background:var(--yellow); color:var(--navy); }
    .ps-pill--sugar   { background:var(--navy);   color:var(--yellow); }
    .ps-pill--flavour { background:#fff; color:var(--navy); box-shadow:inset 0 0 0 2px var(--orange); }

    /* Mango story — warm cream; keep product image blending safely */

    /* Proof / numbers — bold navy block */
    .ps-proof { background:var(--navy); border-top-color:var(--yellow); }
    .ps-proof .ps-section-kicker { color:var(--yellow); }
    .ps-proof .ps-section-title { color:#fff; }

    /* Comparison (Cure-style) */
    .ps-compare__head { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:20px 48px; }
    .ps-compare__intro { max-width:520px; margin:0; color:rgba(255,255,255,.82); font-size:clamp(15px,1.15vw,18px); font-weight:600; line-height:1.6; }
    .ps-compare__grid { margin-top:44px; display:grid; grid-template-columns:1.15fr repeat(3,1fr); gap:16px; }
    .ps-compare__col { padding:8px 6px; }
    .ps-compare__col--rival { position:relative; }
    .ps-compare__next {
      position:absolute; top:0; right:2px; width:42px; height:42px;
      display:none; align-items:center; justify-content:center;
      color:#fff; background:transparent; border:1.5px solid rgba(255,255,255,.5);
      border-radius:50%; font-size:22px; line-height:1; cursor:pointer;
      transition:background .18s ease;
    }
    .ps-compare__next:hover { background:rgba(255,255,255,.12); }
    .ps-compare__col--hero { padding:30px 26px; color:var(--navy); background:#fff; border-radius:26px; box-shadow:0 26px 50px -24px rgba(0,0,0,.55); }
    .ps-compare__brand { padding-bottom:20px; margin-bottom:24px; border-bottom:1px solid var(--line); }
    .ps-compare__brand svg text { fill:var(--navy); }
    .ps-compare__label { margin:0 0 24px; padding-bottom:18px; color:#fff; font-size:14px; font-weight:800; letter-spacing:.07em; line-height:1.25; text-transform:uppercase; border-bottom:1px solid rgba(255,255,255,.25); }
    .ps-compare__metric { margin-bottom:24px; }
    .ps-compare__metric:last-of-type { margin-bottom:0; }
    .ps-compare__delta { display:block; margin-bottom:8px; color:var(--yellow); font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
    .ps-compare__num { display:block; font-family:'Montserrat',sans-serif; font-weight:800; font-size:clamp(40px,4vw,60px); line-height:.9; }
    .ps-compare__unit { display:block; margin-top:8px; font-size:13px; font-weight:700; opacity:.85; }
    .ps-compare__col--hero .ps-compare__num { color:var(--orange); }
    .ps-compare__note { margin:26px 0 0; font-size:13px; font-weight:700; line-height:1.5; opacity:.85; }
    .ps-compare__col--hero .ps-compare__note { color:var(--navy); opacity:1; }
    .ps-compare__foot { margin:32px 0 0; color:rgba(255,255,255,.6); font-size:12px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
    @media (max-width:1024px){
      .ps-compare__grid { grid-template-columns:1fr 1fr; }
      .ps-compare__col--hero { grid-column:1 / -1; display:grid; grid-template-columns:auto 1fr 1fr; align-items:center; gap:20px 32px; }
      .ps-compare__col--hero .ps-compare__brand { grid-row:1 / span 2; margin:0; padding:0; border:0; }
      .ps-compare__col--hero .ps-compare__note { grid-column:1 / -1; margin:0; }
    }
    @media (max-width:620px){
      .ps-compare__head { grid-template-columns:1fr; }
      .ps-compare__grid { grid-template-columns:1fr 1fr; gap:16px; align-items:start; }
      .ps-compare__col--hero { grid-column:1; display:block; padding:24px 18px; }
      .ps-compare__col--hero .ps-compare__brand { margin-bottom:20px; padding-bottom:18px; border-bottom:1px solid var(--line); }
      .ps-compare__col--hero .ps-compare__note { grid-column:auto; margin-top:24px; }
      .ps-compare__col--rival { display:none; padding:6px 2px; }
      .ps-compare__col--rival.is-active { display:block; }
      .ps-compare__label { padding-right:48px; }
      .ps-compare__next { display:inline-flex; }
    }

    /* Ingredients — clean white with on-brand card tints */
    .ps-ingredients { background:var(--paper); }
    .ps-ingredients__grid .ps-ingredient:nth-child(1){ background:#FDEBD6; }
    .ps-ingredients__grid .ps-ingredient:nth-child(2){ background:#E7F1F1; }
    .ps-ingredients__grid .ps-ingredient:nth-child(3){ background:#FCF6C4; }

    /* Reviews — yellow band */
    .ps-reviews { background:var(--yellow); }
    .ps-reviews .ps-section-kicker { color:var(--navy); }

    /* Related — soft grey with tinted media */
    .ps-related { background:var(--paper-deep); }
    .ps-related__grid .ps-related-card:nth-child(1) .ps-related-card__media{ background:#FDEBD6; }
    .ps-related__grid .ps-related-card:nth-child(2) .ps-related-card__media{ background:#F1E6DE; }
    .ps-related__grid .ps-related-card:nth-child(3) .ps-related-card__media{ background:#E7ECF6; }
    .ps-related-card__atc.is-added { color:var(--navy); background:var(--yellow); }

    /* Newsletter — navy-deep, yellow action */
    .ps-newsletter { background:var(--navy-deep); }
    .ps-newsletter button { color:var(--navy); background:var(--yellow); }

    /* Footer — navy-deep, matches homepage */

    @media (max-width:780px){
      .ps-logo-svg { width:118px; height:42px; }
    }
    @media print{
      *{ -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; }
      .ps-header{ position:static !important; }
      .ps-product{ min-height:auto !important; padding:24px 18px !important; }
      .ps-content-section{ padding:34px clamp(18px,5vw,60px) !important; }
      .ps-buy,
.ps-flavour-card,
.ps-review-card,
.ps-ingredient,
.ps-related-card,
.ps-compare__col--hero { break-inside:avoid; }
      .ps-menu-toggle, .ps-mobile-menu, .ps-mobile-menu__overlay{ display:none !important; }
      .ps-compare__next{ display:none !important; }
      .ps-compare__col--rival{ display:block !important; }
    }

/* Shopify layout fixes */
:root {
  --ps-ticker-height: 82px;
  --ps-header-bar-height: 72px;
  --ps-header-height: calc(var(--ps-ticker-height) + var(--ps-header-bar-height));
}

@media (max-width: 780px) {
  :root {
    --ps-header-bar-height: 66px;
    --ps-header-height: calc(var(--ps-ticker-height) + var(--ps-header-bar-height));
  }
}

html {
  scroll-padding-top: var(--ps-header-height);
}

body {
  padding-top: var(--ps-header-height);
}

/* Homepage hero stays full-bleed beneath fixed nav */
#hero,
.ps-hero-home {
  margin-top: calc(-1 * var(--ps-header-height));
}

/* Shopify section grid overrides */
.shopify-section > .full-width { grid-column: 1 / -1; width: 100%; }
.shopify-section:has(.ps-product) {
  overflow: visible;
}
.ps-logo-svg text { font-family: 'Anton', Impact, 'Arial Narrow', sans-serif; fill: #fff; }
header.nav .ps-logo-svg text { fill: #fff; }
.ps-footer-site footer, footer.ps-footer-site { margin: 0; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

/* Collection page */
.ps-collection {padding: var(--ps-pad-top, clamp(28px, 4vw, 56px)) clamp(18px, 5vw, 60px) var(--ps-pad-bottom, 72px); }
.ps-collection__inner { max-width: 1280px; margin: 0 auto; }
.ps-collection__title { margin: 8px 0 12px; font-family: 'Montserrat', sans-serif; font-size: clamp(36px, 5vw, 56px);color: var(--navy); text-transform: uppercase; line-height: 1; }
.ps-collection__description { max-width: 640px; color: var(--navy); font-size: 16px; font-weight: 600; line-height: 1.6; opacity: .85; }
.ps-collection__toolbar { display: flex; flex-wrap: wrap;justify-content: space-between;}
.ps-collection__filters { display: flex; flex-wrap: wrap;}
.ps-filter-btn {
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.ps-sort-select {
  min-width: 200px;
  color: var(--navy); background: #fff;
  font-weight: 700; cursor: pointer; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%232E4162' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
}
.ps-collection__count { margin: 0 0 20px; color: var(--navy); font-size: 13px; font-weight: 700; opacity: .7; }
.ps-collection__grid {
  display: grid;
}
.ps-collection-card {
  display: flex; flex-direction: column;overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease;
}
.ps-collection-card[hidden] { display: none !important; }
.ps-collection-card__media {
  display: block;
}
.ps-collection-card__vendor,
.ps-collection-card__rating {
  margin: 0 0 4px; color: var(--navy); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; opacity: .7;
}
.ps-collection-card__media img { width: 100%; height: 100%; object-fit: contain; }
.ps-collection-card__title {
  display: block;text-decoration: none;
}
.ps-collection-card__title:hover { color: var(--orange); }
.ps-collection-card__price {color: var(--navy);}
.ps-collection-card__cta {
  align-items: center;
  text-decoration: none;
}
.ps-collection__empty { grid-column: 1 / -1; padding: 48px 0; text-align: center; color: var(--navy); font-weight: 700; }

/* Collection facets (Search & Discovery) */
.ps-facets {
  margin-bottom: 24px; padding: 20px 22px;
  border: 2px solid var(--line); border-radius: 18px; background: #fff;
}
.ps-facets__groups { display: flex; flex-wrap: wrap; gap: 16px 32px; }
.ps-facet { min-width: 180px; }
.ps-facet__summary {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  cursor: pointer; font-size: 13px; font-weight: 800;
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--navy);
  list-style: none; user-select: none;
}
.ps-facet__summary::-webkit-details-marker { display: none; }
.ps-facet__label-text { flex: 1; }
.ps-facet__chevron {
  flex-shrink: 0; width: 8px; height: 8px;
  border-right: 2px solid var(--navy); border-bottom: 2px solid var(--navy);
  transform: rotate(45deg); transition: transform 0.2s ease; margin-top: -2px;
}
.ps-facet[open] .ps-facet__chevron { transform: rotate(-135deg); margin-top: 4px; }
.ps-facet__values { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.ps-facet__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ps-facet__label {
  display: flex; align-items: center; gap: 8px;
  font-size: 14px; font-weight: 600; color: var(--navy); cursor: pointer;
}
.ps-facet__count { opacity: 0.55; font-size: 12px; }
.ps-facet__price { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.ps-facet__price input {
  width: 90px; padding: 8px 10px; border: 1.5px solid var(--line);
  border-radius: 8px; font-size: 14px;
}
.ps-facets__actions { display: flex; align-items: center; gap: 16px; margin-top: 18px; }
.ps-facet__apply {
  padding: 10px 20px; border-radius: 999px; border: 2px solid var(--navy);
  background: var(--yellow); color: var(--navy); font-size: 13px; font-weight: 800; cursor: pointer;
}
.ps-facet__clear { font-size: 13px; font-weight: 700; color: var(--navy); opacity: 0.7; }
.ps-filter-btn {
  display: inline-flex; align-items: center; justify-content: center;
  text-decoration: none;
}
a.ps-filter-btn { cursor: pointer; }

/* Contact page */
.ps-contact { width: 100%; background: var(--paper); }
.ps-contact__hero {
  background: var(--navy-deep); color: #fff;
  padding: clamp(48px, 7vw, 80px) clamp(18px, 5vw, 60px) clamp(40px, 5vw, 56px);
  text-align: center;
}
.ps-contact__body { padding: clamp(40px, 5vw, 64px) max(var(--page-margin), clamp(18px, 5vw, 60px)); }
.ps-contact__inner { width: 100%; max-width: 1080px; margin: 0 auto; }
.ps-contact__grid {
  display: grid; grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  gap: clamp(24px, 4vw, 40px); align-items: start;
}
.ps-contact__card,
.ps-contact__form-card {
  padding: clamp(24px, 3vw, 32px); border-radius: 20px; border: 2px solid var(--line);
}
.ps-contact__card {
  background: var(--paper-deep);
  box-shadow: 0 12px 36px -24px rgba(21,45,82,0.15);
}
.ps-contact__card-title {
  margin: 0 0 6px; font-family: 'Montserrat', sans-serif;font-size: 22px;
  text-transform: uppercase; color: var(--navy); line-height: 1.1;
}
.ps-contact__card-lead {
  margin: 0 0 24px; font-size: 13px; font-weight: 600; line-height: 1.5; color: var(--ink-soft);
}
.ps-contact__items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.ps-contact__item { display: flex; gap: 14px; align-items: flex-start; }
.ps-contact__item-icon {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%; background: #fff;
  font-size: 18px; line-height: 1; border: 1.5px solid var(--line);
}
.ps-contact__item-label {
  display: block; margin-bottom: 2px; font-size: 11px; font-weight: 800;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--coral);
}
.ps-contact__item a,
.ps-contact__item p { margin: 0; font-size: 14px; font-weight: 700; line-height: 1.45; color: var(--navy); text-decoration: none; }
.ps-contact__item a:hover { color: var(--coral); }
.ps-contact__social { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); }
.ps-contact__social-links { display: flex; gap: 10px; margin-top: 10px; }
.ps-contact__social-links a {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 40px; height: 40px; padding: 0 12px; border-radius: 999px;
  background: #fff; border: 2px solid var(--line);
  font-size: 11px; font-weight: 800; letter-spacing: 0.04em; color: var(--navy); text-decoration: none;
}
.ps-contact__social-links a:hover { border-color: var(--navy); background: var(--yellow); }
.ps-contact__faq-btn {
  display: inline-flex; margin-top: 24px; padding: 12px 20px; border-radius: 999px;
  background: #fff; border: 2px solid var(--navy); color: var(--navy);
  font-size: 13px; font-weight: 800; text-decoration: none; transition: background 0.15s ease;
}
.ps-contact__faq-btn:hover { background: var(--yellow); border-color: var(--navy); }
.ps-contact__form-card {
  background: #fff; box-shadow: 0 16px 48px -28px rgba(21,45,82,0.22);
}
.ps-contact__form-heading {
  margin: 0 0 6px; font-family: 'Montserrat', sans-serif;font-size: 22px;
  text-transform: uppercase; color: var(--navy); line-height: 1.1;
}
.ps-contact__form-lead {
  margin: 0 0 24px; font-size: 13px; font-weight: 600; line-height: 1.5; color: var(--ink-soft);
}
.ps-contact__form { display: flex; flex-direction: column; gap: 16px; max-width: 100%; }
.ps-contact__field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ps-contact__field label {
  display: block; margin-bottom: 6px; font-size: 11px; font-weight: 800;
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--navy);
}
.ps-contact__field input,
.ps-contact__field textarea {
  width: 100%; padding: 13px 15px; border: 2px solid var(--line); border-radius: 12px;
  font-size: 15px; font-family: 'Montserrat', sans-serif; background: var(--paper);
  transition: border-color 0.15s ease, background 0.15s ease;
}
.ps-contact__field input:focus,
.ps-contact__field textarea:focus {
  outline: none; border-color: var(--navy); background: #fff;
}
.ps-contact__submit {
  align-self: flex-start; margin-top: 4px; padding: 14px 32px; border-radius: 999px; border: 0;
  background: var(--yellow); color: var(--navy); font-size: 14px; font-weight: 800; cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.ps-contact__submit:hover { transform: translateY(-1px); box-shadow: 0 8px 20px -8px rgba(21,45,82,0.35); }
@media (max-width: 860px) {
  .ps-contact__grid { grid-template-columns: 1fr; }
  .ps-contact__field-row { grid-template-columns: 1fr; }
  .ps-contact__submit { width: 100%; text-align: center; }
}

/* Cart page */
.ps-cart-page { width: 100%;position: relative;isolation: isolate; }

/* Decorative page blobs (careers / policies / cart) */
.ps-page-blobs { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.ps-page-blob { position: absolute; display: block; max-width: 100%; height: auto; }
/* Design corner blobs (flat edges sit flush): orange top-right, blue bottom-left, pink bottom-right. Mobile-first sizes. */
.ps-page-blob--tr { top: 0; right: 0; width: 38vw; }
.ps-page-blob--bl { bottom: 0; left: 0; width: 30vw; }
.ps-page-blob--br { bottom: 0; right: 0; width: 30vw; }
@media (min-width: 750px) {
  .ps-page-blob--tr { width: min(26vw, 440px); }
  .ps-page-blob--bl { width: min(18vw, 300px); }
  .ps-page-blob--br { width: min(19vw, 320px); }
}
.ps-cart-page__title {
  margin: 8px 0 6px; font-family: 'Montserrat', sans-serif;
  font-size: clamp(30px, 4vw, 44px); text-transform: uppercase;color: #fff;
}
.ps-cart-page__count { margin: 0; font-size: 14px; font-weight: 600; color: rgba(255,255,255,0.65); }
.ps-cart-page__inner { width: 100%; max-width: 1040px; margin: 0 auto; }
.ps-cart-page__empty {
  background: #fff;
}
.ps-cart-page__empty-text { margin: 0 0 20px; font-size: 17px; font-weight: 700; color: var(--navy); }
.ps-cart-page__empty-btn {
  display: inline-flex; padding: 14px 28px; border-radius: 999px;
  background: var(--yellow); color: var(--navy); font-size: 14px; font-weight: 800; text-decoration: none;
}
.ps-cart-page__head {
  display: grid; grid-template-columns: 100px minmax(0, 1fr) 140px 110px;
  gap: 20px; padding: 14px 24px; background: var(--paper-deep);
  border-bottom: 1px solid var(--line);
  font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-soft);
}
.ps-cart-page__head span:first-child { grid-column: 1 / 3; }
.ps-cart-page__items { display: flex; flex-direction: column; }
.ps-cart-page__row {
  display: grid; grid-template-columns: 100px minmax(0, 1fr) 140px 110px;
  gap: 20px; align-items: center; padding: 20px 24px; border-bottom: 1px solid var(--line);
}
.ps-cart-page__row:last-child { border-bottom: 0; }
.ps-cart-page__media { display: block; }
.ps-cart-page__media img {
  width: 100px; height: 100px; object-fit: contain; border-radius: 12px;
  background: var(--paper-deep); display: block;
}
.ps-cart-page__remove {
  padding: 0; border: 0; background: transparent; font-size: 12px; font-weight: 700;
  color: var(--ink-soft); text-decoration: underline; text-underline-offset: 2px; cursor: pointer;
}
.ps-cart-page__remove:hover { color: var(--coral); }
.ps-cart-page__qty {
  display: inline-flex; align-items: center; gap: 10px;
  border: 1.5px solid var(--line); border-radius: 999px; padding: 4px 8px;
}
.ps-cart-page__qty button {
  width: 28px; height: 28px; border: 0; background: transparent;
  font-size: 18px; line-height: 1; cursor: pointer; color: var(--navy);
}
.ps-cart-page__qty span { min-width: 20px; text-align: center; font-size: 14px; font-weight: 800; color: var(--navy); }
.ps-cart-page__price { text-align: right; }
.ps-cart-page__price strong { display: block; font-size: 15px; font-weight: 800; color: var(--navy); }
.ps-cart-page__price-compare {margin-top: 2px;color: var(--ink-soft); }
.ps-cart-page__footer {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end;
  gap: 24px; margin-top: 28px; padding: 24px; border-radius: 20px;
  background: #fff; border: 2px solid var(--line);
}
.ps-cart-page__subtotal {
  display: flex; justify-content: space-between; gap: 32px; min-width: 260px;
  margin-bottom: 6px; font-size: 18px; font-weight: 800; color: var(--navy);
}
.ps-cart-page__note { margin: 0; font-size: 12px; color: var(--ink-soft); }
.ps-cart-page__continue {
  padding: 14px 22px; border-radius: 999px; border: 2px solid var(--navy);
  background: transparent;
}
.ps-cart-page__continue:hover { background: var(--paper-deep); }
.ps-cart-page__checkout {
  padding: 14px 32px; border-radius: 999px; border: 0;
  background: var(--yellow); color: var(--navy); font-size: 14px; font-weight: 800; cursor: pointer;
}
.ps-cart-page__checkout:hover { box-shadow: 0 8px 20px -8px rgba(21,45,82,0.35); }
@media (max-width: 768px) {
  .ps-cart-page__head { display: none; }
  .ps-cart-page__row {
    grid-template-columns: 80px 1fr; grid-template-rows: auto auto;
    gap: 12px 16px; padding: 18px 16px;
  }
  .ps-cart-page__media img { width: 80px; height: 80px; }
  .ps-cart-page__qty-wrap { grid-column: 1 / -1; }
  .ps-cart-page__price { grid-column: 2; grid-row: 1; text-align: right; align-self: start; }
  .ps-cart-page__footer { flex-direction: column; align-items: stretch; }
  .ps-cart-page__continue,
  .ps-cart-page__checkout { width: 100%; text-align: center; }
}

/* Our Story page */
.ps-story-page__hero { background: var(--navy-deep); color: #fff; padding: clamp(56px, 8vw, 96px) clamp(18px, 5vw, 60px) clamp(48px, 6vw, 72px); text-align: center; }
.ps-story-page__title { margin: 8px 0 12px; font-family: 'Montserrat', sans-serif;font-size: clamp(40px, 6vw, 64px); text-transform: uppercase; line-height: 1; }
.ps-story-page__tagline { margin: 0; font-size: 18px; font-weight: 600; color: rgba(255,255,255,0.7); }
.ps-story-page__inner { max-width: 1080px; margin: 0 auto; padding: clamp(40px, 6vw, 72px) clamp(18px, 5vw, 60px); }
.ps-story-page__intro { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.ps-story-page__media { position: relative; border: 3px solid var(--navy); border-radius: var(--radius); overflow: hidden; aspect-ratio: 4/3; }
.ps-story-page__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ps-story-page__badge { position: absolute; bottom: 16px; left: 16px; font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: #fff; }
.ps-story-page__copy h2 { font-family: 'Montserrat', sans-serif;font-size: clamp(28px, 3.5vw, 40px); text-transform: uppercase; color: var(--navy); margin-bottom: 18px; }
.ps-story-page__copy p { font-size: 15.5px; line-height: 1.75; color: var(--ink-soft); margin-bottom: 16px; }
.ps-story-page__quote { margin: 24px 0 0; padding: 20px 24px; background: var(--navy); color: #fff; border-radius: 14px; font-family: 'Montserrat', sans-serif; font-weight:800; font-size: 19px; text-transform: uppercase; }
.ps-story-page__quote span { color: var(--yellow); }
.ps-story-page__values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 56px; }
.ps-story-page__value { padding: 28px 24px; border-radius: 18px; background: var(--paper-deep); border: 2px solid var(--line); }
.ps-story-page__value h3 { margin: 0 0 10px; font-size: 14px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--coral); }
.ps-story-page__value p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--ink-soft); }
.ps-story-page__cta { text-align: center; margin-top: 48px; }
.ps-story-page__cta-btn { display: inline-flex; padding: 16px 32px; border-radius: 999px; background: var(--yellow); color: var(--navy); font-size: 14px; font-weight: 800; text-decoration: none; }
@media (max-width: 860px) {
  .ps-story-page__intro { grid-template-columns: 1fr; }
  .ps-story-page__values { grid-template-columns: 1fr; }
}

/* Franchise page */
.ps-franchise { width: 100%; background: var(--paper); }
.ps-franchise__shell {
  width: 100%;
  max-width: min(var(--page-width), 100%);
  margin: 0 auto;
  padding-left: max(var(--page-margin), clamp(18px, 4vw, 56px));
  padding-right: max(var(--page-margin), clamp(18px, 4vw, 56px));
}
.ps-franchise__shell--wide { max-width: min(var(--page-width), 100%); }

.ps-franchise__banner {
  background: linear-gradient(135deg, #f4d4c4 0%, #f7e8dc 48%, #f3f5f8 100%);
  padding: clamp(24px, 4vw, 48px) 0 clamp(40px, 6vw, 72px);
  overflow: visible;
}
.ps-franchise__banner-media {
  min-width: 0;
  margin: 0 0 clamp(24px, 3.5vw, 40px);
  overflow: visible;
}
.ps-franchise__banner-media img {
  width: 100%;
  height: auto;
  max-height: none;
  min-height: 0;
  display: block;
  border-radius: 16px;
  object-fit: contain;
  object-position: center top;
  box-shadow: 0 24px 56px -28px rgba(21,45,82,0.28);
}
.ps-franchise__banner-copy {
  position: relative;
  z-index: 1;
  overflow: visible;
  padding: 4px 0 0;
}
.ps-franchise__banner-title {
  margin: 8px 0 16px;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(34px, 4.8vw, 62px);
  line-height: 1.08;
  text-transform: uppercase;
  color: var(--navy-deep);
  overflow: visible;
}
.ps-franchise__banner-text {
  margin: 0;
  max-width: 720px;
  font-size: clamp(15px, 1.5vw, 18px);
  font-weight: 600;
  line-height: 1.65;
  color: var(--ink-soft);
}
.ps-franchise__story-media {
  min-width: 0;
}
.ps-franchise__story-media img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 24px;
  object-fit: cover;
  box-shadow: 0 24px 56px -28px rgba(21,45,82,0.28);
}

.ps-franchise__story {
  padding: clamp(48px, 6vw, 88px) 0;
  background: #fff;
}
.ps-franchise__story-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}
.ps-franchise__story-title {
  margin: 0 0 18px;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(28px, 3.8vw, 46px);
  line-height: 1.05;
  text-transform: uppercase;
  color: var(--navy-deep);
}
.ps-franchise__story-text {
  font-size: 16px;
  line-height: 1.75;
  color: var(--ink-soft);
}
.ps-franchise__story-text p { margin: 0 0 1rem; }

.ps-franchise__legacy {
  padding: clamp(32px, 4vw, 48px) 0;
  background: var(--paper);
}
.ps-franchise__legacy-content {
  width: 100%;
  max-width: none;
  font-size: 16px;
  line-height: 1.75;
  color: var(--ink-soft);
}
.ps-franchise__legacy-content img { max-width: 100%; height: auto; border-radius: 16px; }
.ps-franchise__legacy-content > * { max-width: none !important; width: 100% !important; }

.ps-franchise__inquiry {
  padding: clamp(48px, 6vw, 88px) 0 clamp(64px, 7vw, 96px);
  background: var(--paper);
}
.ps-franchise__inquiry-head {
  margin-bottom: clamp(32px, 4vw, 48px);
  max-width: 760px;
}
.ps-franchise__inquiry-title {
  margin: 0 0 10px;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(28px, 3.5vw, 40px);
  text-transform: uppercase;
  color: var(--navy);
}
.ps-franchise__inquiry-intro {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  color: var(--ink-soft);
}
.ps-franchise__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(420px, 520px);
  gap: clamp(40px, 5vw, 72px);
  align-items: start;
}
.ps-franchise__benefits { position: sticky; top: 24px; min-width: 0; }
.ps-franchise__benefits-title {
  margin: 0 0 24px;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(24px, 2.8vw, 30px);
  text-transform: uppercase;
  color: var(--navy);
}
.ps-franchise__carousel { min-width: 0; }
.ps-franchise__track {
  display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 4px;
}
.ps-franchise__track::-webkit-scrollbar { display: none; }
.ps-franchise__card {
  flex: 0 0 calc(100% - 4px); scroll-snap-align: start;
  padding: 24px 22px; border-radius: 18px; background: #fff;
  border: 2px solid var(--line); box-shadow: 0 12px 32px -20px rgba(21,45,82,0.18);
}
.ps-franchise__card-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; margin-bottom: 14px; border-radius: 50%;
  background: var(--yellow); font-size: 22px; line-height: 1;
}
.ps-franchise__card-title { margin: 0 0 8px; font-size: 16px; font-weight: 800; color: var(--navy); line-height: 1.25; }
.ps-franchise__card-text { margin: 0; font-size: 14px; line-height: 1.6; color: var(--ink-soft); }
.ps-franchise__controls {
  display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 20px;
}
.ps-franchise__controls .carousel-arrow:disabled { opacity: 0.35; cursor: not-allowed; }
.ps-franchise__email { margin-top: 28px; font-size: 14px; font-weight: 600; color: var(--navy); }
.ps-franchise__email a { color: var(--coral); font-weight: 800; text-decoration: none; }
.ps-franchise__form-wrap {
  padding: clamp(28px, 4vw, 40px); border-radius: 20px; background: #fff;
  border: 2px solid var(--line); box-shadow: 0 16px 40px -20px rgba(21,45,82,0.2);
}
.ps-franchise__form-title { margin: 0 0 8px; font-family: 'Montserrat', sans-serif;font-size: 22px; text-transform: uppercase; color: var(--navy); }
.ps-franchise__form-intro { margin: 0 0 20px; font-size: 14px; line-height: 1.55; color: var(--ink-soft); }
.ps-franchise__form { display: flex; flex-direction: column; gap: 16px; }
.ps-franchise__field label { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--navy); }
.ps-franchise__field input, .ps-franchise__field textarea {
  width: 100%; padding: 14px 16px; border: 2px solid var(--line); border-radius: 12px;
  font-size: 15px; font-family: 'Montserrat', sans-serif; background: #fff;
}
.ps-franchise__submit {
  align-self: flex-start; padding: 14px 28px; border-radius: 999px; border: 0;
  background: var(--yellow); color: var(--navy); font-size: 14px; font-weight: 800; cursor: pointer;
}
.ps-franchise__success { padding: 14px 18px; border-radius: 12px; background: #e8f5e9; color: #27663a; font-weight: 700; }
.ps-franchise__errors { padding: 14px 18px; border-radius: 12px; background: #fdecea; color: #a13927; font-weight: 700; }
@media (min-width: 640px) {
  .ps-franchise__card { flex-basis: calc(50% - 8px); }
}
@media (min-width: 1100px) {
  .ps-franchise__card { flex-basis: calc(33.333% - 11px); }
}
@media (max-width: 960px) {
  .ps-franchise__story-grid,
  .ps-franchise__grid { grid-template-columns: 1fr; gap: 32px; }
  .ps-franchise__benefits { position: static; }
  .ps-franchise__form-wrap { max-width: none; width: 100%; }
}

/* Blog listing */
.ps-blog__inner { max-width: 1200px; margin: 0 auto; padding: clamp(40px, 6vw, 72px) clamp(18px, 5vw, 60px); }
.ps-blog__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.ps-blog-card { display: flex; flex-direction: column; border-radius: 18px; overflow: hidden; background: #fff; border: 2px solid var(--line); transition: transform 0.18s ease, box-shadow 0.18s ease; }
.ps-blog-card:hover { transform: translateY(-3px); box-shadow: 0 16px 36px -18px rgba(21,45,82,0.25); }
.ps-blog-card__media { display: block; aspect-ratio: 4/3; overflow: hidden; background: var(--paper-deep); }
.ps-blog-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ps-blog-card__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-family: 'Montserrat', sans-serif; font-weight:800; font-size: 24px; color: var(--navy); opacity: 0.3; }
.ps-blog-card__body { padding: 18px 20px 22px; display: flex; flex-direction: column; flex: 1; }
.ps-blog-card__date { font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--coral); }
.ps-blog-card__title { margin: 8px 0; font-size: 17px; font-weight: 800; line-height: 1.3; }
.ps-blog-card__title a { color: var(--navy); text-decoration: none; }
.ps-blog-card__title a:hover { color: var(--coral); }
.ps-blog-card__excerpt { margin: 0 0 14px; font-size: 13.5px; line-height: 1.6; color: var(--ink-soft); flex: 1; }
.ps-blog-card__cta { font-size: 13px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--navy); text-decoration: none; }
.ps-blog-card__cta:hover { color: var(--coral); }
.ps-blog__empty { grid-column: 1 / -1; text-align: center; padding: 48px 0; color: var(--navy); font-weight: 700; }
.ps-blog__pagination { margin-top: 40px; text-align: center; }
@media (max-width: 1024px) { .ps-blog__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) { .ps-blog__grid { grid-template-columns: repeat(2, 1fr); gap: 16px; } }

/* Article page */
.ps-article__hero { background: var(--navy-deep); color: #fff; padding: clamp(48px, 7vw, 80px) clamp(18px, 5vw, 60px) clamp(32px, 4vw, 48px); }
.ps-article__hero-inner { max-width: 760px; margin: 0 auto; }
.ps-article__back { display: inline-block; margin-bottom: 20px; font-size: 13px; font-weight: 700; color: rgba(255,255,255,0.6); text-decoration: none; }
.ps-article__back:hover { color: var(--yellow); }
.ps-article__date { display: block; font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--yellow); }
.ps-article__author { margin: 0; font-size: 14px; font-weight: 600; color: rgba(255,255,255,0.6); }
.ps-article__featured { max-width: 1080px; margin: 0 auto; padding: 0 clamp(18px, 5vw, 60px); }
.ps-article__featured img { width: 100%; border-radius: 18px; margin-top: -32px; display: block; object-fit: cover; max-height: 520px; }
.ps-article__inner { max-width: 720px; margin: 0 auto; padding: clamp(40px, 6vw, 64px) clamp(18px, 5vw, 60px); }
.ps-article__content { font-size: 16px; line-height: 1.8; color: var(--ink-soft); }
.ps-article__content h2, .ps-article__content h3 { color: var(--navy); font-family: 'Montserrat', sans-serif;text-transform: uppercase; margin: 32px 0 12px; }
.ps-article__content p { margin-bottom: 18px; }
.ps-article__content img { max-width: 100%; border-radius: 12px; margin: 24px 0; }
.ps-article__content a { color: var(--coral); font-weight: 700; }
.ps-article__comments { margin-top: 48px; padding-top: 40px; border-top: 2px solid var(--line); }
.ps-article__comments h2 { font-family: 'Montserrat', sans-serif;text-transform: uppercase; color: var(--navy); margin-bottom: 24px; }
.ps-article__comment { margin-bottom: 20px; padding: 16px 18px; border-radius: 12px; background: var(--paper-deep); }
.ps-article__comment time { display: block; font-size: 12px; color: var(--ink-soft); margin: 4px 0 8px; }
.ps-article__comment-form { margin-top: 32px; display: flex; flex-direction: column; gap: 14px; }
.ps-article__comment-form h3 { font-size: 16px; font-weight: 800; color: var(--navy); }
.ps-article__field label { display: block; margin-bottom: 4px; font-size: 12px; font-weight: 800; text-transform: uppercase; color: var(--navy); }
.ps-article__field input, .ps-article__field textarea {
  width: 100%; padding: 12px 14px; border: 2px solid var(--line); border-radius: 10px; font-size: 14px;
}
.ps-article__comment-form button {
  align-self: flex-start; padding: 12px 24px; border-radius: 999px; border: 0;
  background: var(--navy); color: #fff; font-size: 13px; font-weight: 800; cursor: pointer;
}

/* Cart drawer */
body.ps-cart-drawer-open { overflow: hidden; }
.ps-cart-drawer { position: fixed; inset: 0; z-index: 200; pointer-events: none; }
.ps-cart-drawer.is-open { pointer-events: auto; }
.ps-cart-drawer__overlay {
  position: absolute; inset: 0; background: rgba(21,45,82,0.55);
  opacity: 0; transition: opacity 0.3s ease;
}
.ps-cart-drawer.is-open .ps-cart-drawer__overlay { opacity: 1; }
.ps-cart-drawer__panel {
  position: absolute; top: 0; right: 0; width: min(440px, 100vw); height: 100%;
  display: flex; flex-direction: column; background: #fff;
  transform: translateX(100%); transition: transform 0.32s cubic-bezier(0.4,0,0.2,1);
  box-shadow: -8px 0 40px rgba(21,45,82,0.18);
}
.ps-cart-drawer.is-open .ps-cart-drawer__panel { transform: translateX(0); }
.ps-cart-drawer__header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 22px; background: var(--navy-deep); color: #fff;
}
.ps-cart-drawer__title { margin: 0; font-family: 'Montserrat', sans-serif;font-size: 22px; text-transform: uppercase; }
.ps-cart-drawer__close {
  width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,0.4);
  background: transparent; color: #fff; font-size: 24px; line-height: 1; cursor: pointer;
}
.ps-cart-drawer__delivery { padding: 14px 22px; background: var(--paper-deep); border-bottom: 1px solid var(--line); }
.ps-cart-drawer__delivery-text { margin: 0 0 10px; font-size: 12px; font-weight: 700; color: var(--navy); line-height: 1.4; }
.ps-cart-drawer__delivery-bar { height: 6px; border-radius: 99px; background: rgba(46,65,98,0.12); overflow: hidden; }
.ps-cart-drawer__delivery-fill { display: block; height: 100%; width: 0; border-radius: 99px; background: var(--yellow); transition: width 0.3s ease; }
.ps-cart-drawer__delivery.is-complete .ps-cart-drawer__delivery-fill { background: #4caf50; }
.ps-cart-drawer__body { flex: 1; overflow-y: auto; padding: 16px 22px; }
.ps-cart-drawer__items { display: flex; flex-direction: column; gap: 16px; }
.ps-cart-drawer__item { display: grid; grid-template-columns: 72px 1fr auto; gap: 12px; align-items: start; }
.ps-cart-drawer__item-media img { width: 72px; height: 72px; object-fit: contain; border-radius: 10px; background: var(--paper-deep); }
.ps-cart-drawer__item-title { font-size: 13px; font-weight: 800; color: var(--navy); text-decoration: none; line-height: 1.3; }
.ps-cart-drawer__item-variant { margin: 2px 0 8px; font-size: 11px; color: var(--ink-soft); }
.ps-cart-drawer__item-qty { display: inline-flex; align-items: center; gap: 8px; border: 1.5px solid var(--line); border-radius: 999px; padding: 2px 6px; }
.ps-cart-drawer__item-qty button { width: 26px; height: 26px; border: 0; background: transparent; font-size: 16px; cursor: pointer; color: var(--navy); }
.ps-cart-drawer__item-price { text-align: right; }
.ps-cart-drawer__item-price strong { display: block; font-size: 13px; color: var(--navy); }
.ps-cart-drawer__item-remove { margin-top: 6px; border: 0; background: transparent; font-size: 18px; color: var(--ink-soft); cursor: pointer; }
.ps-cart-drawer__empty { text-align: center; padding: 32px 0; color: var(--navy); font-weight: 700; }
.ps-cart-drawer__upsell { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.ps-cart-drawer__upsell-title { margin: 0 0 14px; font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--navy); }
.ps-cart-drawer__upsell-track {
  display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 4px;
}
.ps-cart-drawer__upsell-track::-webkit-scrollbar { display: none; }
.ps-cart-drawer__upsell-card {
  flex: 0 0 min(68%, 148px); scroll-snap-align: start;
  display: flex; flex-direction: column; gap: 8px;
  padding: 10px; border-radius: 12px; background: var(--paper-deep); border: 1.5px solid var(--line);
}
.ps-cart-drawer__upsell-media { display: block; }
.ps-cart-drawer__upsell-media img { width: 100%; height: 88px; object-fit: contain; border-radius: 8px; background: #fff; }
.ps-cart-drawer__upsell-info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ps-cart-drawer__upsell-name { display: block; font-size: 11px; font-weight: 800; color: var(--navy); text-decoration: none; line-height: 1.3; }
.ps-cart-drawer__upsell-price { display: block; font-size: 11px; color: var(--ink-soft); }
.ps-cart-drawer__upsell-add {
  padding: 5px 12px; border-radius: 999px; border: 2px solid var(--navy);
  background: var(--yellow); color: var(--navy); font-size: 11px; font-weight: 800; cursor: pointer;
}
.ps-cart-drawer__footer { padding: 18px 22px 24px; border-top: 2px solid var(--line); background: #fff; }
.ps-cart-drawer__discount { display: flex; gap: 8px; margin-bottom: 12px; }
.ps-cart-drawer__discount input {
  flex: 1; padding: 10px 14px; border: 2px solid var(--line); border-radius: 999px; font-size: 13px;
}
.ps-cart-drawer__discount button {
  padding: 10px 16px; border-radius: 999px; border: 2px solid var(--navy);
  background: #fff; color: var(--navy); font-size: 12px; font-weight: 800; cursor: pointer;
}
.ps-cart-drawer__discount-msg { margin: 0 0 12px; font-size: 12px; font-weight: 700; }
.ps-cart-drawer__discount-msg.is-success { color: #27663a; }
.ps-cart-drawer__subtotal { display: flex; justify-content: space-between; margin-bottom: 6px; font-size: 15px; font-weight: 700; color: var(--navy); }
.ps-cart-drawer__note { margin: 0 0 14px; font-size: 11px; color: var(--ink-soft); }
.ps-header__cart {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  min-width: 0;
  flex-shrink: 0;
}
.ps-header__cart:hover { opacity: 0.85; }
.ps-header__cart-icon {
  width: 26px;
  height: 25px;
  object-fit: contain;
  display: block;
}
.ps-header__cart-count {
  position: absolute;
  top: 2px;
  right: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: #CF2133;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
}
.ps-cart-drawer__checkout {
  display: block; width: 100%; padding: 14px; border-radius: 999px; text-align: center;
  background: var(--yellow); color: var(--navy); font-size: 14px; font-weight: 800; text-decoration: none;
}
button.cart-btn, button.ps-header__cart { cursor: pointer; font-family: inherit; }

/* Careers page */
.ps-careers { width: 100%; background: #eed9b7; position: relative; overflow: hidden; isolation: isolate; }

.ps-careers__shell {
  width: 100%;
  max-width: min(var(--page-width), 100%);
  margin: 0 auto;
  padding-left: max(var(--page-margin), clamp(18px, 4vw, 56px));
  padding-right: max(var(--page-margin), clamp(18px, 4vw, 56px));
}

.ps-careers__story-media { min-width: 0; overflow: visible; }

.ps-careers__story-media img {
  width: 100%;
  height: auto;
  max-height: none;
  min-height: 0;
  display: block;
  border-radius: 24px;
  object-fit: contain;
  object-position: center top;
  box-shadow: 0 24px 56px -28px rgba(21, 45, 82, 0.28);
}

.ps-careers__section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: clamp(28px, 4vw, 40px);
}

.ps-careers__track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-snap-stop: always;
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding-bottom: 8px;
  -webkit-overflow-scrolling: touch;
}

.ps-careers__track::-webkit-scrollbar { display: none; }

.ps-careers__perk-card {
  flex: 0 0 min(360px, 82vw);
  scroll-snap-align: start;
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.ps-careers__perk-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 48px -18px rgba(21, 45, 82, 0.28);
}

.ps-careers__perk-icon {
  margin-bottom: 18px;
  border-radius: 50%;
  /* background: rgba(255, 255, 255, 0.92); */
  /* border: 2px solid var(--navy); */
}

.ps-careers__perk-card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
  color: var(--navy);
  opacity: 0.82;
}

.ps-careers__roles-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2.5vw, 24px);
}

@media (min-width: 900px) {
  .ps-careers__perk-card { flex: 0 0 min(420px, calc(46% - 8px)); }
}

@media (max-width: 900px) {
  .ps-careers__roles-grid { grid-template-columns: 1fr; }
  .ps-careers__perk-card { flex: 0 0 min(340px, calc(68% - 8px)); }
}

@media (max-width: 600px) {
  .ps-careers__perk-card { flex-basis: min(320px, 88vw); }
  .ps-careers__section-head { flex-direction: column; align-items: flex-start; }
}

/* FAQ page */
.ps-faq { width: 100%; background: var(--paper); }
.ps-faq__hero { background: var(--navy-deep); color: #fff; padding: clamp(56px, 8vw, 88px) clamp(18px, 5vw, 60px) clamp(40px, 5vw, 56px); text-align: center; }
.ps-faq__hero-inner { max-width: 680px; margin: 0 auto; }
.ps-faq__title { margin: 8px 0 12px; font-family: 'Montserrat', sans-serif;font-size: clamp(36px, 5vw, 56px); text-transform: uppercase; line-height: 1; }
.ps-faq__intro { margin: 0 auto; max-width: 560px; font-size: 16px; font-weight: 600; line-height: 1.6; color: rgba(255,255,255,0.72); }
.ps-faq__inner { max-width: 760px; margin: 0 auto; padding: clamp(40px, 6vw, 72px) clamp(18px, 5vw, 60px); }
.ps-faq__search {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 20px; margin-bottom: 32px;
  border: 2px solid var(--line); border-radius: 999px; background: #fff;
}
.ps-faq__search input { flex: 1; border: 0; background: transparent; outline: none; font-size: 14px; color: var(--navy); }
.ps-faq__list { display: flex; flex-direction: column; gap: 0; }
.ps-faq__item { border-bottom: 1px solid var(--line); }
.ps-faq__item[hidden] { display: none; }
.ps-faq__question {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 20px 4px; cursor: pointer; list-style: none;
  font-size: 15px; font-weight: 800; color: var(--navy);
}
.ps-faq__question::-webkit-details-marker { display: none; }
.ps-faq__chevron {
  flex-shrink: 0; width: 8px; height: 8px;
  border-right: 2px solid var(--navy); border-bottom: 2px solid var(--navy);
  transform: rotate(45deg); transition: transform 0.2s ease; margin-top: -4px;
}
.ps-faq__item[open] .ps-faq__chevron { transform: rotate(-135deg); margin-top: 4px; }
.ps-faq__answer { padding: 0 4px 20px; font-size: 14px; line-height: 1.7; color: var(--ink-soft); }
.ps-faq__answer p { margin: 0 0 12px; }
.ps-faq__answer p:last-child { margin-bottom: 0; }
.ps-faq__answer ol, .ps-faq__answer ul { margin: 12px 0; padding-left: 20px; }
.ps-faq__contact { margin-top: 40px; padding: 28px; border-radius: 16px; background: var(--paper-deep); text-align: center; }
.ps-faq__contact p { margin: 0 0 10px; font-weight: 700; color: var(--navy); }
.ps-faq__contact-link { font-size: 14px; font-weight: 800; color: var(--coral); text-decoration: none; }

/* Policy / legal pages */
.ps-policy { width: 100%; background: #eed9b7; position: relative; overflow: hidden; isolation: isolate; }
.ps-policy__hero {
  position: relative;
  background: transparent; color: #fff;
  text-align: center;
}
.ps-policy__hero-blob {
  position: absolute;
  z-index: 0; pointer-events: none;
}
.ps-policy__hero-inner { position: relative; z-index: 1; max-width: 760px; margin: 0 auto; }
.ps-policy__title {
  margin: 8px 0 12px; font-family: 'Montserrat', sans-serif;
  font-size: clamp(32px, 4.5vw, 52px);
  text-transform: uppercase; line-height: 1.05; color: var(--navy);
}
.ps-policy__hero .ps-policy__title { color: #fff; }
.ps-policy__intro {
  margin: 0 auto; max-width: 600px;
  font-size: 16px; font-weight: 600; line-height: 1.6;
  color: rgba(255,255,255,0.72);
}
.ps-policy__updated {
  margin: 16px 0 0; font-size: 12px; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: rgba(255,255,255,0.5);
}
.ps-policy__header .ps-policy__updated { color: var(--ink-soft); }
.ps-policy__body { width: 100%; }
.ps-policy__inner {
  width: 100%; max-width: 760px; margin: 0 auto;
  padding: clamp(48px, 5rem, 80px) clamp(18px, 5vw, 60px);
}
.ps-policy__header { margin-bottom: 40px; text-align: center; }
.ps-policy__content {
  font-size: 16px; line-height: 1.8; color: var(--ink-soft);
}
.ps-policy__content > *:first-child { margin-top: 0; }
.ps-policy__content p { margin: 0 0 1.25rem; }
.ps-policy__content h2 {
  margin: 2.5rem 0 1rem; font-family: 'Montserrat', sans-serif;
  font-size: clamp(22px, 2.8vw, 28px);
  text-transform: uppercase; color: var(--navy); line-height: 1.15;
}
.ps-policy__content h3 {
  margin: 2rem 0 0.75rem; font-size: 17px; font-weight: 800;
  color: var(--navy); line-height: 1.3;
}
.ps-policy__content h4 {
  margin: 1.5rem 0 0.5rem; font-size: 15px; font-weight: 800; color: var(--navy);
}
.ps-policy__content ul, .ps-policy__content ol {
  margin: 0 0 1.25rem; padding-left: 1.5rem;
}
.ps-policy__content li { margin-bottom: 0.5rem; }
.ps-policy__content li:last-child { margin-bottom: 0; }
.ps-policy__content a {
  color: var(--coral); font-weight: 700; text-decoration: underline;
  text-underline-offset: 3px;
}
.ps-policy__content a:hover { color: var(--navy); }
.ps-policy__content strong { color: var(--navy); font-weight: 800; }
.ps-policy__content blockquote {
  margin: 1.5rem 0; padding: 20px 24px;
  border-left: 4px solid var(--yellow);
  background: var(--paper-deep); border-radius: 0 12px 12px 0;
  color: var(--navy); font-weight: 600;
}
.ps-policy__content hr {
  margin: 2.5rem 0; border: 0; border-top: 1px solid var(--line);
}
.ps-policy__content table {
  width: 100%; margin: 1.5rem 0 2rem; border-collapse: collapse;
  font-size: 14px; line-height: 1.5;
}
.ps-policy__content th, .ps-policy__content td {
  padding: 12px 14px; border: 1px solid var(--line); text-align: left;
}
.ps-policy__content th {
  background: var(--navy-deep); color: #fff;
  font-weight: 800; font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase;
}
.ps-policy__content tr:nth-child(even) td { background: rgba(46,65,98,0.04); }
.ps-policy__footer {
  margin-top: 48px; padding: 28px 24px;
  border-radius: 16px; background: var(--paper-deep);
  border: 2px solid var(--line); text-align: center;
}
.ps-policy__footer p { margin: 0 0 10px; font-weight: 700; color: var(--navy); }
.ps-policy__footer-link { font-size: 14px; font-weight: 800; color: var(--coral); text-decoration: none; }

/* Spacious layout — annual return & long documents */
.ps-policy--spacious .ps-policy__inner {
  max-width: 880px;
  padding: clamp(64px, 6rem, 100px) clamp(24px, 6vw, 80px);
}
.ps-policy--spacious .ps-policy__content {
  font-size: 16.5px; line-height: 1.85;
}
.ps-policy--spacious .ps-policy__content p { margin-bottom: 1.5rem; }
.ps-policy--spacious .ps-policy__content h2 {
  margin-top: 3rem; margin-bottom: 1.25rem;
  padding-top: 1.5rem; border-top: 1px solid var(--line);
}
.ps-policy--spacious .ps-policy__content h2:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.ps-policy--spacious .ps-policy__content h3 { margin-top: 2.25rem; }
.ps-policy--spacious .ps-policy__content table { margin: 2rem 0 2.5rem; }
.ps-policy--spacious .ps-policy__content th,
.ps-policy--spacious .ps-policy__content td { padding: 16px 18px; }
.ps-policy--spacious .ps-policy__footer { margin-top: 64px; padding: 36px 32px; }

@media (max-width: 768px) {
  .ps-collection__filters { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
  .ps-filter-btn { flex: 0 0 auto; }
  .ps-sort-select { width: 100%; }
}

/* Product showcase — Culture Cup style carousel */
.ps-showcase {
  width: 100%;
  max-width: 100vw;
  background: #f4eee2;
  padding: clamp(48px, 6vw, 80px) 0 clamp(40px, 5vw, 64px);
  overflow: hidden;
}
.ps-showcase__header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto clamp(28px, 4vw, 44px);
  padding: 0 max(var(--page-margin), clamp(18px, 4vw, 48px));
}
.ps-showcase__title {
  margin: 8px 0 12px;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 0.98;
  text-transform: uppercase;
  color: var(--navy-deep);
}
.ps-showcase__sub {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
  color: var(--ink-soft);
}
.ps-showcase__arena {
  position: relative;
  width: 100%;
  max-width: 100vw;
  background: linear-gradient(180deg, rgba(244, 238, 226, 0.2) 0%, #f4eee2 14%, #f4eee2 100%);
}
.ps-showcase__stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.ps-showcase__track-wrap {
  min-width: 0;
  overflow: hidden;
  width: 100%;
}
.ps-showcase__track {
  --showcase-slide: clamp(200px, 18vw, 280px);
  display: flex;
  align-items: flex-end;
  gap: clamp(20px, 2.5vw, 36px);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 12px calc(50% - (var(--showcase-slide) / 2)) 0;
  scroll-padding-inline: calc(50% - (var(--showcase-slide) / 2));
  min-height: clamp(320px, 46vh, 520px);
}
.ps-showcase__track::-webkit-scrollbar { display: none; }
.ps-showcase__slide {
  position: relative;
  flex: 0 0 var(--showcase-slide);
  width: var(--showcase-slide);
  scroll-snap-align: center;
  scroll-snap-stop: always;
  transform: scale(0.78);
  opacity: 0.55;
  transform-origin: center bottom;
  transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.38s ease;
  cursor: pointer;
  z-index: 1;
  margin-bottom: 0;
  will-change: transform;
}
.ps-showcase__slide.is-active {
  transform: scale(1.22);
  opacity: 1;
  z-index: 6;
}
.ps-showcase__new {
  position: absolute;
  top: 4%;
  left: 58%;
  transform: translateX(-50%) scale(0.85) rotate(-8deg);
  z-index: 8;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--yellow);
  color: var(--navy-deep);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  box-shadow: 0 8px 20px rgba(21,45,82,0.18);
  pointer-events: none;
}
.ps-showcase__visual-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.ps-showcase__slide.is-active .ps-showcase__visual-link {
  cursor: pointer;
}

.ps-showcase__visual {
  position: relative;
  display: grid;
  place-items: end center;
  min-height: clamp(260px, 40vh, 460px);
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.ps-showcase__slide.is-active .ps-showcase__new {
  transform: translateX(-50%) scale(1.05) rotate(-8deg);
}
.ps-showcase__img {
  position: relative;
  z-index: 1;
  width: 108%;
  max-height: clamp(260px, 40vh, 460px);
  object-fit: contain;
  object-position: bottom center;
  mix-blend-mode: normal;
  /* filter: drop-shadow(0 18px 28px rgba(21,45,82,0.16)); */
  transition: opacity 0.32s ease, transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}
.ps-showcase__img--closed { grid-area: 1 / 1; }
.ps-showcase__slide.is-active .ps-showcase__img--closed {
  opacity: 1;
  transform: translateY(0) scale(1.07);
  max-height: clamp(300px, 46vh, 520px);
  width: 118%;
}
.ps-showcase__slide:not(.is-active) .ps-showcase__img--closed { opacity: 1; }
.ps-showcase__arrow {
  position: absolute;
  top: 42%;
  z-index: 10;
  transform: translateY(-50%);
}
.ps-showcase__arrow--prev { left: clamp(12px, 2vw, 28px); }
.ps-showcase__arrow--next { right: clamp(12px, 2vw, 28px); }
.ps-showcase__controls {
  display: flex;
  justify-content: center;
  margin-top: 6px;
  margin-bottom: 2px;
}
.ps-showcase__arrow:disabled { opacity: 0.35; cursor: not-allowed; }
.ps-showcase__panel-wrap {
  width: 100%;
  max-width: min(720px, 100%);
  margin: 0 auto;
  padding: clamp(10px, 2.5vw, 10px) max(var(--page-margin), clamp(18px, 4vw, 48px)) 0;
}
.ps-showcase__panel {
  border: 0;
  background: transparent;
  box-shadow: none;
}
.ps-showcase__panel-body {
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
}
.ps-showcase__kicker {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--coral);
}
.ps-showcase__flavour {
  margin: 0 0 10px;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(30px, 4vw, 46px);
  text-transform: uppercase;
  color: var(--navy-deep);
  line-height: 1.05;
}
.ps-showcase__flavour-link {
  color: inherit;
  text-decoration: none;
}
.ps-showcase__flavour-link:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.ps-showcase__desc {
  margin: 0 auto;
  max-width: 520px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.65;
  color: var(--ink-soft);
}
@media (max-width: 1100px) {
  .ps-showcase__track {
    --showcase-slide: clamp(180px, 22vw, 240px);
    min-height: clamp(280px, 42vh, 440px);
  }
  .ps-showcase__slide.is-active { transform: scale(1.18); }
}
@media (max-width: 900px) {
  .ps-showcase__track {
    --showcase-slide: clamp(150px, 34vw, 200px);
    gap: clamp(16px, 3vw, 24px);
    min-height: clamp(240px, 38vh, 380px);
  }
  .ps-showcase__slide { transform: scale(0.8); }
  .ps-showcase__slide.is-active { transform: scale(1.14); }
}
@media (max-width: 560px) {
  .ps-showcase__arrow { display: none; }
  .ps-showcase__track {
    --showcase-slide: clamp(130px, 40vw, 170px);
    min-height: clamp(220px, 36vh, 320px);
  }
  .ps-showcase__slide { transform: scale(0.82); }
  .ps-showcase__slide.is-active { transform: scale(1.1); }
  .ps-showcase__img,
.ps-showcase__slide.is-active .ps-showcase__img--closed {
    max-height: clamp(220px, 36vh, 320px);
  }
}

/* Defer offscreen paint for long homepage sections */
.flavour-stage,
.ps-showcase,
.ps-reviews,
.ps-press,
.ps-ingredients {
  content-visibility: auto;
  contain-intrinsic-size: auto 480px;
}

@media (max-width: 749px) {
  .ps-hide-mobile { display: none !important; }
}
@media (min-width: 750px) {
  .ps-hide-desktop { display: none !important; }
}

/* Anton is condensed — slight positive tracking so heading glyphs don't collide */
h1,
h2,
h3,
h4,
.display,
.ps-title,
.ps-section-title,
.ps-buy__title,
.ps-buy__title--block,
.ps-product__content--heading p,
.ps-reviews-from-app__heading,
.ps-review-text--heading,
.ps-collection__title,
.ps-faq__title,
.ps-story-page__title,
.ps-story-page__copy h2,
.ps-article__content h2,
.ps-article__content h3,
.ps-article__comments h2,
.ps-franchise__banner-title,
.ps-franchise__form-title,
.ps-franchise__story-title,
.ps-franchise__inquiry-title,
.ps-franchise__benefits-title,
.ps-policy__title,
.ps-showcase__title,
.ps-showcase__flavour,
.ps-contact__card-title,
.ps-contact__form-heading,
.ps-newsletter h2,
.newsletter h2,
.ps-press__headline,
.ps-press__quote-text,
.reassure-copy h3,
.locator h3,
.ps-cart-drawer__title,
.ps-cart-page__title,
.ps-policy__content h2,
.section-head h2,
.story-copy h2,
.ps-product__block--product_title .ps-buy__title--block,
#hero h1 {
  letter-spacing: 0;
  font-weight: var(--font-heading--weight, 400);
}

body.ps-reduce-motion *,
body.ps-reduce-motion *::before,
body.ps-reduce-motion *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}

/* PDP hero paper-cutout blobs sit behind the 3-column grid */
.ps-product__grid,
.ps-product__block--gallery,
.ps-gallery {
  overflow: visible !important;
}
.ps-gallery__stage {
  overflow: hidden;
}
.ps-gallery::before,
.ps-gallery__stage::before {
  content: none !important;
  display: none !important;
}
.ps-gallery__image {
  position: relative;
  z-index: 1;
  width: 100% !important;
  height: auto;
  object-fit: contain;
}

/* ============ Collection page — design match ============ */
/* Hide the big page title/kicker (kept in DOM for SEO/accessibility) */
.ps-collection__header { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* Drop the availability/price facet box — keep only the sort dropdown */
.ps-facets { display: none !important; }
.ps-collection__toolbar { border-bottom: 0; padding-bottom: 0;}
/* Filter pills: solid navy */
.ps-filter-btn { background: var(--navy); color: #fff; border-color: var(--navy); }
.ps-filter-btn:hover { background: var(--navy-deep); color: #fff; }
.ps-filter-btn.is-active { background: var(--yellow); color: var(--navy); border-color: var(--navy); }
/* Cards sit on the cream page with a thin border (no white box) */
.ps-collection-card__title {letter-spacing: .01em; }
/* Rating: gold stars + "5.0 · N reviews" */
.ps-collection-card__rating { display: flex; align-items: center; gap: 8px;text-transform: none; opacity: 1;}
.ps-collection-card__stars { color: #F5B301;line-height: 1; }
.ps-collection-card__ratingtext { color: var(--navy); font-weight: 700; opacity: .8; }
/* ADD TO CART: full-width yellow pill */
.ps-collection-card__cta {text-align: center; background: var(--yellow); color: var(--navy);
  border: 0; cursor: pointer; margin-top: 4px;
  text-transform: uppercase; }
.ps-collection-card__cta:hover { color: var(--navy); filter: brightness(.96); }
.ps-collection-card__cta.is-loading { opacity: .7; }
.ps-collection-card__cta--soldout { background: transparent; border: 2px solid var(--navy); opacity: .55; cursor: default; }

/* ---- Collection refinements ---- */
/* 1) categories full width, 2) sort on its own row (right) */
.ps-collection__filters { width: 100%;}
/* less-rounded category pills + sort to match the tighter cards */
/* tighter card + content padding (match design) */
/* 3) tighter gaps + smaller radius */
/* 4) reserve two lines for the title, 5) centre the card content */
/* 6) bolder price (original size) */

/* ============ Careers page — redesigned (CAREER band / find your sweet spot / perks) ============ */
.ps-careers__shell--wide { max-width: 1180px; margin-inline: auto; padding-inline: clamp(16px, 4vw, 48px); }
.ps-careers__hero { position: relative; text-align: center;}
.ps-careers__hero-blob { position: absolute;z-index: 0; pointer-events: none; }
.ps-careers__hero-title { position: relative; z-index: 1; margin: 0; color: #fff; font-family: 'Montserrat', sans-serif; font-weight: 900; text-transform: uppercase; font-size: var(--h1); letter-spacing: .01em; }
.ps-careers__intro { padding: clamp(16px,3vw,40px) 0 clamp(28px,5vw,60px); }
.ps-careers__intro-grid { display: grid;align-items: center; }
.ps-careers__intro-img { width: 100%; height: auto;display: block; }
.ps-careers__intro-title { margin: 0 0 16px; font-family: 'Montserrat', sans-serif;color: var(--navy);}
.ps-careers__intro-text p { margin: 0 0 12px; }
.ps-careers__email {align-items: center;background: #fff8ec; text-decoration: none; }
.ps-careers__email-icon { flex: 0 0 auto;color: #EE5A2B; }
.ps-careers__email-icon svg { width: 100%; height: auto; display: block; }
.ps-careers__email-copy { display: flex; flex-direction: column;}
.ps-careers__email-label { color: var(--navy);}
.ps-careers__email-address { color: var(--navy);}
.ps-careers__perks { padding: clamp(16px,3vw,36px) 0 clamp(48px,7vw,90px); }
.ps-careers__perks-head { text-align: center;}
.ps-careers__perks-title { display: inline-flex; align-items: center;margin: 0; color: var(--navy); font-family: 'Montserrat', sans-serif; font-weight: 800; text-transform: uppercase;}
.ps-careers__perks-title::before, .ps-careers__perks-title::after { content: '';height: 2px;}
.ps-careers__perks-grid { display: grid; grid-template-columns: repeat(3,1fr);}
.ps-careers__perk-card { background: #fff8ec;text-align: center; display: flex; flex-direction: column; align-items: center;box-shadow: none; border: 0; }
.ps-careers__perk-icon {display: flex; align-items: center; justify-content: center;line-height: 1; }
.ps-careers__perk-icon img { width: 100%; height: 100%; object-fit: contain; }
.ps-careers__perk-card h3 { margin: 0; color: var(--navy); font-family: 'Montserrat', sans-serif;}
@media (max-width: 820px) {
  .ps-careers__perks-grid { grid-template-columns: 1fr; }
}

/* Heading blob (design "Careers, T&C, Privacy Policy Heading Blob"): flat top edge hangs from the header,
   title sits inside the band. Width min(935px, 100vw) but never under 560px on phones (overflow is clipped). */
.ps-careers__hero,
.ps-policy__hero {
  --band-w: max(560px, min(935px, 100vw));
  padding: calc(var(--band-w) * 0.045) clamp(18px, 5vw, 60px) clamp(28px, 4vw, 44px);
  min-height: calc(var(--band-w) * 0.1746);
}
.ps-careers__hero-blob,
.ps-policy__hero-blob {
  top: 0; left: 50%; transform: translateX(-50%);
  width: var(--band-w); max-width: none; height: auto;
}
.ps-careers__hero-title, .ps-policy__hero .ps-policy__title, .ps-cart-page__title { line-height: 1; }

/* Search page — same look as the policy pages (cream bg, heading band, corner blobs) */
.ps-search { width: 100%; background: #eed9b7; position: relative; overflow: hidden; isolation: isolate; }
.ps-search__hero { --band-w: max(560px, min(935px, 100vw)); padding: calc(var(--band-w) * 0.045) clamp(18px, 5vw, 60px) clamp(28px, 4vw, 44px); min-height: calc(var(--band-w) * 0.1746); }
.ps-search__hero .ps-policy__hero-blob { top: 0; left: 50%; transform: translateX(-50%); width: var(--band-w); max-width: none; }
.ps-search__hero .ps-policy__title { line-height: 1; }
.ps-search__inner { width: 100%; max-width: 1180px; margin: 0 auto; padding: clamp(24px, 4vw, 48px) clamp(16px, 4vw, 48px) clamp(56px, 7vw, 96px); }
.ps-search__form { display: flex; gap: 10px; max-width: 640px; margin: 0 auto clamp(24px, 3vw, 40px); }
.ps-search__input {
  flex: 1 1 auto; min-width: 0; height: 52px; padding: 0 20px;
  border: 1.5px solid var(--navy); border-radius: 999px; background: #fff;
  font-family: var(--font-body); font-size: 16px; color: var(--navy);
}
.ps-search__input:focus-visible { outline: 3px solid color-mix(in srgb, var(--navy) 30%, transparent); outline-offset: 2px; }
.ps-search__submit {
  flex: 0 0 auto; height: 52px; padding: 0 28px; border: 0; border-radius: 999px; cursor: pointer;
  background: var(--yellow, #f9ed30); color: var(--navy);
  font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 14px; letter-spacing: .06em; text-transform: uppercase;
}
.ps-search__count, .ps-search__empty { text-align: center; color: var(--navy); font-size: 16px; margin: 0 0 24px; }
.ps-search__empty p { margin: 0 0 16px; }
.ps-search__cta { display: inline-block; padding: 12px 24px; border-radius: 999px; background: var(--navy); color: #fff; font-weight: 800; text-decoration: none; }
.ps-search__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 750px) { .ps-search__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
@media (min-width: 1100px) { .ps-search__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ps-search__links { list-style: none; margin: clamp(24px, 3vw, 40px) 0 0; padding: 0; display: grid; gap: 12px; }
@media (min-width: 750px) { .ps-search__links { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ps-search__link {
  display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; text-decoration: none;
  border: 1px solid rgba(43,63,102,.22); border-radius: 10px; background: rgba(255,255,255,.35); color: var(--navy);
}
.ps-search__link:hover { background: rgba(255,255,255,.6); }
.ps-search__link-type { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; opacity: .7; }
.ps-search__link-title { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 16px; }
@media (max-width: 749px) { .ps-search__input { height: 46px; padding: 0 16px; } .ps-search__submit { height: 46px; padding: 0 18px; font-size: 12px; } }

/* ---------- Product page: fonts + image treatment per the PDP design ----------
   Titles in Anton (condensed), all UI text in Montserrat; no box/border behind gallery or flavour images. */
main.ps-product .ps-buy__title,
main.ps-product .ps-buy__title--block {
  font-family: 'Anton', Impact, 'Arial Narrow', sans-serif; font-weight: 400; letter-spacing: 0; text-transform: none;
  font-size: clamp(34px, 3.4vw, 54px); line-height: 1.05; color: var(--navy);
}
main.ps-product .ps-price,
main.ps-product .ps-buy__subtitle,
main.ps-product .ps-buy__subtitle p,
main.ps-product label,
main.ps-product .ps-label,
main.ps-product button,
main.ps-product .ps-accordion,
main.ps-product .ps-accordion__button,
main.ps-product input { font-family: 'Montserrat', sans-serif; }
main.ps-product .ps-buy__subtitle, main.ps-product .ps-buy__subtitle p { font-weight: 500 !important; }
main.ps-product .ps-price { font-weight: 800; }
/* Gallery: product sits straight on the page background, no card/box */
main.ps-product .ps-gallery__stage,
main.ps-product .ps-gallery__image {border: 0; border-radius: 0; box-shadow: none; }
/* Product photos are shown exactly as uploaded (no background removal) */
main.ps-product .ps-gallery__stage { background: transparent; overflow: visible; }
main.ps-product .ps-gallery__image { mix-blend-mode: normal; filter: none; }
/* "What's for dessert today?" + flavour cards */
main.ps-product .ps-flavours__title { font-family: 'Anton', Impact, 'Arial Narrow', sans-serif; font-weight: 400; font-size: clamp(28px, 2.3vw, 40px); line-height: 1.1; overflow-wrap: anywhere; }
main.ps-product .ps-flavour-card { border: 2px solid transparent; }
main.ps-product .ps-flavour-card[aria-current="page"] { border-color: var(--navy); }
main.ps-product .ps-flavour-card__title { font-family: 'Anton', Impact, 'Arial Narrow', sans-serif; font-weight: 400; font-size: 18px; line-height: 1.1; }

/* ---------- Shop dropdown (reference): cream panel, bare coloured circles, navy rounded labels ---------- */
.ps-shop-dropdown { background: #fdf0de; }
.ps-shop-dropdown__inner {margin: 0 auto; padding: 24px clamp(16px, 2.5vw, 32px) 28px; }
.ps-shop-dropdown__grid { display: flex; flex-wrap: nowrap;}
.ps-shop-dropdown__tile { flex: 1 1 0; min-width: 0;display: flex; flex-direction: column; align-items: center; }
.ps-shop-dropdown__visual { background: none; padding: 0; margin-bottom: 14px; border-radius: 0; }
.ps-shop-dropdown__circle { width: clamp(96px, 8vw, 124px); height: clamp(96px, 8vw, 124px); box-shadow: none; }
.ps-shop-dropdown__circle { isolation: isolate; }
.ps-shop-dropdown__circle img, .ps-shop-dropdown__img { max-width: 78%; max-height: 78%; filter: none; }
.ps-shop-dropdown__img--blend { mix-blend-mode: normal; filter: none; }
.ps-shop-dropdown__label {
  padding: 7px 14px; border-radius: 7px; box-shadow: none;
  font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .03em; white-space: nowrap;
}
.ps-shop-dropdown__design { display: block; width: clamp(96px, 8vw, 124px); height: auto; aspect-ratio: 1; margin: 0 auto; }

/* Shop (collection) page: white background (product page keeps its cream hero colour) */
body.ps-template-collection { background: #fff; }
body.ps-template-collection .ps-collection, .ps-collection { background: #fff; }

/* ---------- Shop page layout (design): centred navy pills, sort on the right, borderless 4-col grid ---------- */
.ps-collection__toolbar { flex-direction: column; align-items: stretch; gap: 18px; margin-bottom: 28px; }
.ps-collection__filters { justify-content: center; gap: 10px; }
.ps-filter-btn {
  border-radius: 8px; padding: 7px 18px; border: 0;
  font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}
.ps-collection__sort { align-self: flex-end; }
.ps-sort-select { border: 1px solid rgba(43,63,102,.35); border-radius: 6px; padding: 6px 30px 6px 10px; font-family: 'Montserrat', sans-serif; font-size: 12px; background-color: #fff; }
.ps-collection__count { display: none; }
.ps-collection__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
@media (min-width: 750px) { .ps-collection__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 24px; } }
@media (min-width: 1100px) { .ps-collection__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* Cards: no box, image straight on the white page */
.ps-collection-card, .ps-collection-card:hover { background: transparent; border: 0; border-radius: 0; box-shadow: none; transform: none; }
.ps-collection-card__media { background: transparent; padding: 0; aspect-ratio: 1; }
.ps-collection-card__media img { mix-blend-mode: normal; transition: none; transform: none; } /* no hover lift: it pushed tall bar packs past the card's clipped top edge */
.ps-collection-card__body { padding: 12px 6px 0; text-align: center; display: flex; flex-direction: column; align-items: center; }
.ps-collection-card__title { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: clamp(12px, 1vw, 14px); line-height: 1.3; text-transform: uppercase; color: var(--navy); min-height: 2.6em; margin-bottom: 8px; }
.ps-collection-card__rating { margin: 0 0 6px; font-size: 12px; }
.ps-collection-card__price { margin: 0 0 12px; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 14px; }
.ps-collection-card__cta {
  display: inline-block; width: auto; min-width: 60%; padding: 7px 18px; border-radius: 999px;
  font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .04em;
}
/* Pagination: "1 2 >" centred */
.ps-collection nav[aria-label], .ps-collection .pagination { text-align: center; }
main.ps-product .ps-gallery__line {
  position: absolute; z-index: 0; left: 50%; top: 50%; transform: translate(-50%, -50%);
  height: 92%; width: auto; aspect-ratio: 630.85 / 772.93; pointer-events: none;
  color: var(--ps-blob-left, #ff7e05); stroke-width: 2.5px;
}
main.ps-product .ps-gallery__line path { stroke-width: 2.5px; }
main.ps-product .ps-gallery__image { background: transparent; }
/* PDP type scale from the mobile design (375px): rating 12, price 28, description 12, labels 11, options 14, CTA 15, accordion 14/12 */
main.ps-product .ps-rating { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 12px; }
main.ps-product .ps-price small { font-weight: 500; }
main.ps-product .ps-buy__subtitle, main.ps-product .ps-buy__subtitle p { font-size: 12px; line-height: 1.5; }
main.ps-product .ps-label { font-weight: 600; font-size: 11px; letter-spacing: .06em; }
main.ps-product fieldset label { font-size: 14px; font-weight: 700; }
main.ps-product .ps-atc, main.ps-product .ps-buy-now-btn { font-size: 15px; font-weight: 800; }
main.ps-product .ps-accordion__button { font-size: 14px; font-weight: 700; }
main.ps-product .ps-accordion li, main.ps-product .ps-accordion p { font-size: 12px; }
@media (min-width: 990px) {
  main.ps-product .ps-rating { font-size: 14px; }
  main.ps-product .ps-price { font-size: 32px; }
  main.ps-product .ps-buy__subtitle, main.ps-product .ps-buy__subtitle p { font-size: 15px; }
  main.ps-product .ps-label { font-size: 12px; }
  main.ps-product fieldset label { font-size: 15px; }
  main.ps-product .ps-atc, main.ps-product .ps-buy-now-btn { font-size: 16px; }
  main.ps-product .ps-accordion__button { font-size: 16px; }
  main.ps-product .ps-accordion li, main.ps-product .ps-accordion p { font-size: 14px; }
}
/* Flavour cards: image always fits inside its box (fixes cropped tops at tablet widths) */
main.ps-product .ps-flavour-card__media { height: auto; aspect-ratio: 1 / 0.8; }
main.ps-product .ps-flavour-card__image {
  position: absolute; inset: 0; margin: auto;
}
@media (max-width: 780px) {
  /* Mobile design: bottom-right blob under the gallery is ~55% wide, flush to the screen edge */
}

/* Showcase: frame hugs the product image (same sizing context as before), NEW! badge pinned to its top edge */
.ps-showcase__frame { grid-area: 1 / 1; align-self: end; position: relative; width: 100%; display: grid; place-items: end center; }
.ps-showcase__frame .ps-showcase__img { grid-area: 1 / 1; }
.ps-showcase__frame .ps-showcase__new { top: 0; left: 50%;}

/* Shop pills on mobile: full-bleed scroll row (edge to edge), start-aligned so nothing is unreachable,
   and each pill snaps fully into view — never cut at the gutter */
@media (max-width: 749px) {
  .ps-collection__filters {
    justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto;
    max-width: none;
    scroll-snap-type: x mandatory;
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  .ps-collection__filters::-webkit-scrollbar { display: none; }
  .ps-collection__filters::after {flex: 0 0 1px; } /* keeps the end padding when scrolled fully right */
  .ps-filter-btn {scroll-snap-align: start; }
}

/* Mobile menu "Shop" drill-down (reference): sub-panel slides over the menu with a back row */
@media (max-width: 780px) {
  .ps-mobile-menu { overflow-x: hidden; }
  .ps-mobile-shop__trigger svg { width: 16px; height: 12px; transform: none !important; }
  .ps-mobile-shop__panel {
    position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column;
    padding: 24px 18px; overflow-y: auto; background: inherit; background-color: var(--cream, #fff);
    transform: translateX(100%); transition: transform .24s ease;
  }
  .ps-mobile-shop__panel.is-open { transform: translateX(0); }
  .ps-mobile-shop__panel[hidden] { display: none; }
  .ps-mobile-shop__back {
    display: flex; align-items: center; gap: 10px; padding: 12px 8px; margin-bottom: 4px;
    border: 0; background: transparent; color: inherit; cursor: pointer;
    font: inherit; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-align: left;
  }
  .ps-mobile-shop__back svg { width: 16px; height: 12px; flex: 0 0 auto; }
}
@media (max-width: 780px) { .ps-mobile-shop__all { color: var(--navy) !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: .04em; } }
/* Shop pills on mobile: exactly 4 visible at a time, equal width, labels may wrap to 2 lines */
@media (max-width: 749px) {
  .ps-collection__filters { gap: 8px; }
  .ps-filter-btn {
    flex: 0 0 calc((100% - 3 * 8px) / 4); min-height: 40px; padding: 6px 4px;
    display: flex; align-items: center; justify-content: center; text-align: center;
    font-size: 11px; line-height: 1.2; white-space: normal; letter-spacing: .02em;
  }
}
/* Product cards: stars only under the title (no rating value / review count) */
.ps-collection-card__ratingtext { display: none; }
.ps-collection-card__rating { justify-content: center; }
.ps-collection-card__stars { font-size: 15px; letter-spacing: 2px; }

/* Footer (design): tighter link lines; newsletter input + button share one width and the same 10px radius */
.footer-grid ul a { line-height: 1.25; display: inline-block; }
.footer-grid ul { gap: 11px; }
.ps-footer-newsletter__form { gap: 8px; max-width: 300px; }
.ps-footer-newsletter__form input,
.ps-footer-newsletter__form button { width: 100%; min-height: 44px; border-radius: 10px; }
.ps-footer-newsletter__form input { padding: 10px 18px; font-size: 14px; }
.ps-footer-newsletter__form button { font-size: 15px; }
@media (max-width: 749px) {
  .footer-grid ul { gap: 8px; }
  .footer-grid ul a { line-height: 1.2; }
  .ps-footer-newsletter__form { max-width: 280px; }
}
/* Shop pills (mobile): row sits inside the page margins so exactly 4 whole pills fit; snapping keeps them whole when scrolled */
@media (max-width: 749px) {
  .ps-collection__filters { width: 100%; margin-inline: 0; padding-inline: 0; scroll-padding-inline: 0; }
  .ps-collection__filters::after { content: none; display: none; }
}
/* PDP desktop: gallery column starts at the top, level with the title (was vertically centred) */
@media (min-width: 781px) {
  main.ps-product .ps-product__block--gallery { align-self: start; }
}

/* Pagination (design): plain "1  2  >" — navy Montserrat, current page underlined, no bubbles */
.ps-pagination { display: flex; justify-content: center; align-items: center; gap: 22px; margin-top: 48px; font-family: 'Montserrat', sans-serif; }
.ps-pagination__page, .ps-pagination__arrow, .ps-pagination__gap {
  color: var(--navy); font-size: 16px; font-weight: 500; line-height: 1; text-decoration: none; padding: 6px 2px;
}
.ps-pagination__arrow { font-size: 22px; }
.ps-pagination__page.is-current { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1.5px; }
.ps-pagination a:hover { color: var(--orange, #EE5A2B); }
/* Flavour cards: image fills its box (100% width + height, contained — never cropped) */
main.ps-product .ps-flavour-card__image { width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; }
@media (max-width: 780px) {
  main.ps-product .ps-flavour-card__media { aspect-ratio: 1 / 1; }
  /* 16px → 14px on mobile */
}

/* ---------- PS Announcement (text bar above the header) ---------- */
.ps-announcement {
  background: var(--ann-bg, #2e4162); color: var(--ann-fg, #fff);
  font-family: 'Montserrat', sans-serif; font-size: var(--ann-size, 13px); font-weight: 600; letter-spacing: .02em;
  overflow: hidden; min-height: 34px; display: flex; align-items: center;
}
.ps-announcement__item { color: inherit; text-decoration: none; white-space: nowrap; }
a.ps-announcement__item:hover { text-decoration: underline; text-underline-offset: 3px; }
.ps-announcement__static { width: 100%; padding: 8px 16px; text-align: center; }
.ps-announcement__static .ps-announcement__item { white-space: normal; }
/* Carousel: slides stack in one grid cell and cross-fade */
.ps-announcement__carousel { width: 100%; max-width: 760px; margin-inline: auto; display: flex; align-items: center; gap: 8px; padding: 6px 8px; }
.ps-announcement__slides { flex: 1 1 auto; display: grid; text-align: center; min-width: 0; }
.ps-announcement__slide { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility .35s ease; }
.ps-announcement__slide.is-active { opacity: 1; visibility: visible; }
.ps-announcement__slide .ps-announcement__item { white-space: normal; }
.ps-announcement__arrow {
  flex: 0 0 auto; width: 28px; height: 28px; display: grid; place-items: center;
  border: 0; background: transparent; color: inherit; cursor: pointer; border-radius: 50%;
}
.ps-announcement__arrow svg { width: 12px; height: 12px; }
.ps-announcement__arrow:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
/* Marquee: two identical groups scroll left in a seamless loop */
.ps-announcement__marquee { display: flex; width: max-content; animation: ps-ann-marquee var(--ann-speed, 24s) linear infinite; padding-block: 8px; }
.ps-announcement__group { display: flex; flex: 0 0 auto; }
.ps-announcement__group .ps-announcement__item { padding-inline: 28px; }
.ps-announcement:hover .ps-announcement__marquee { animation-play-state: paused; }
@keyframes ps-ann-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ps-announcement__marquee { animation: none; } }

/* ---------- Header menus: generic dropdowns ---------- */
/* Only the open item's mega panel shows (the old :has(.is-open) rule would have opened every panel) */
header.nav .ps-shop-dropdown[aria-hidden="true"] { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-10px); }
.ps-nav-item { position: relative; display: inline-flex; align-items: center; }
.ps-header__nav a.is-active, .ps-header__shop-trigger.is-active { color: var(--yellow); }
.ps-nav-dropdown {
  position: absolute; top: calc(100% + 14px); left: 50%; z-index: 99; min-width: 220px;
  display: flex; flex-direction: column; padding: 10px 0; border-radius: 10px;
  background: #fdf0de; box-shadow: 0 18px 40px -20px rgba(21,45,82,.45);
  opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%, -6px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.ps-nav-dropdown::before { content: ''; position: absolute; left: 0; right: 0; top: -14px; height: 14px; } /* hover bridge */
.ps-nav-dropdown[aria-hidden="false"] { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
.ps-header .ps-nav-dropdown a.ps-nav-dropdown__link {
  padding: 9px 20px; color: var(--navy); font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase; text-decoration: none; white-space: nowrap;
}
.ps-header .ps-nav-dropdown a.ps-nav-dropdown__link:hover,
.ps-header .ps-nav-dropdown a.ps-nav-dropdown__link.is-active { background: rgba(46,65,98,.07); color: var(--navy); }
.ps-header .ps-nav-dropdown a.ps-nav-dropdown__link--sub { padding-left: 34px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.ps-mobile-menu a.ps-mobile-shop__sub { padding-left: 24px; font-weight: 600; }

/* ---------- Mobile header (reference): plain white 3-line menu icon, centred logo, cart on the right ---------- */
@media (max-width: 780px) {
  .ps-menu-toggle, .ps-header__menu-btn, .menu-toggle {
    background: transparent; border: 0; border-radius: 0; color: #fff; gap: 7px; width: 42px; height: 42px;
  }
  .ps-menu-toggle span, .ps-header__menu-btn span, .menu-toggle span { width: 30px; height: 2px; }
  .ps-menu-toggle[aria-expanded="true"] span:nth-child(1),
  .ps-header__menu-btn[aria-expanded="true"] span:nth-child(1),
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
  .ps-menu-toggle[aria-expanded="true"] span:nth-child(3),
  .ps-header__menu-btn[aria-expanded="true"] span:nth-child(3),
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }
}

/* Announcement section sits above the fixed header; header drops by its height.
   CSS defaults (34px) avoid a jump before ps-nav.js measures the real height. */
:root { --ps-ann-height: 0px; }
:root:has(.ps-announcement) {
  --ps-ann-height: 34px;
  --ps-header-height: calc(var(--ps-ticker-height) + var(--ps-header-bar-height) + 34px);
}
.ps-announcement-section { position: fixed; top: 0; left: 0; right: 0; z-index: 101; }
header.nav.ps-header { top: var(--ps-ann-height, 0px); }
.ps-announcement-section { display: block; }
.ps-announcement-section > .ps-announcement { width: 100%; max-width: none; margin: 0; }
.ps-collection__sort { display: flex; align-items: center; gap: 8px; }
.ps-collection__sort-label { font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 600; color: var(--navy); white-space: nowrap; }

/* Mega panel: sits flush under the header (header is fixed, so the panel's top is measured from the header, not the page)
   and spreads its tiles across the full header width */
header.nav .ps-shop-dropdown { top: calc(var(--ps-header-height) - var(--ps-ann-height, 0px)); }
.ps-shop-dropdown__inner { max-width: none; padding-inline: clamp(24px, 3vw, 48px); }
.ps-shop-dropdown__grid { justify-content: space-between; gap: clamp(12px, 2vw, 32px); }
.ps-shop-dropdown__tile { max-width: none; }

/* ---------- Cart page (design) — mobile first ---------- */
body.ps-template-cart { background: #fff; }
.ps-cart-page { background: #fff; overflow: visible; }
.ps-cart-page .ps-cart-page__inner { max-width: 1000px; margin: 0 auto; padding: 20px 16px 56px; }
.ps-cart-page__top { display: flex;justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.ps-cart-page .ps-cart-page__title {
  margin: 0; font-family: 'Montserrat', sans-serif; font-weight: 800; text-transform: uppercase;
  font-size: clamp(24px, 3vw, 32px); line-height: 1; color: var(--navy);
}
.ps-cart-page__continue { font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 600; color: var(--navy); text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }
.ps-cart-page .ps-cart-page__head {
  display: grid; grid-template-columns: 1fr auto; gap: 16px; padding: 0 12px 8px; border: 0; background: none;
  font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--navy);
}
.ps-cart-page__head-qty { display: none; }
.ps-cart-page .ps-cart-page__items { border: 1.5px solid #d9d9d9; border-radius: 14px; background: #fff; overflow: hidden; }
.ps-cart-page .ps-cart-page__row {
  display: grid; grid-template-columns: 72px 1fr auto; grid-template-areas: "media info price" "media qty qty";
  gap: 6px 14px; align-items: start; padding: 20px 14px; border: 0; background: none; box-shadow: none; border-radius: 0;
}
.ps-cart-page .ps-cart-page__row + .ps-cart-page__row { border-top: 1px solid #ececec; }
.ps-cart-page .ps-cart-page__media { grid-area: media; width: 72px; aspect-ratio: 1; background: none; border-radius: 0; }
.ps-cart-page .ps-cart-page__media img { width: 100%; height: 100%; object-fit: contain; }
.ps-cart-page__info { grid-area: info; font-family: 'Montserrat', sans-serif; color: var(--navy); min-width: 0; }
.ps-cart-page__name { display: block; font-size: 16px; font-weight: 700; color: var(--navy); text-decoration: none; }
.ps-cart-page__sub { margin: 2px 0 0; font-size: 13px; font-weight: 800; }
.ps-cart-page__unit { margin: 3px 0 0; font-size: 13px; font-weight: 500; }
.ps-cart-page .ps-cart-page__qty-wrap { grid-area: qty; display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.ps-cart-page .ps-cart-page__qty {
  display: inline-flex; align-items: center; gap: 4px; height: 32px; padding: 0 6px;
  border: 1.5px solid #d9d9d9; border-radius: 10px; background: #fff; font-family: 'Montserrat', sans-serif; color: var(--navy);
}
.ps-cart-page .ps-cart-page__qty button { width: 24px; height: 24px; border: 0; background: none; color: var(--navy); font-size: 16px; font-weight: 700; cursor: pointer; }
.ps-cart-page .ps-cart-page__qty span { min-width: 22px; text-align: center; font-size: 13px; font-weight: 700; }
.ps-cart-page .ps-cart-page__remove { width: 28px; height: 28px; padding: 4px; border: 0; background: none; color: var(--navy); cursor: pointer; }
.ps-cart-page .ps-cart-page__remove svg { width: 18px; height: 18px; }
.ps-cart-page .ps-cart-page__price { grid-area: price; text-align: right; font-family: 'Montserrat', sans-serif; color: var(--navy); }
.ps-cart-page .ps-cart-page__price strong { font-size: 14px; font-weight: 800; }
.ps-cart-page__price-compare { display: block; font-size: 12px; opacity: .6; }
.ps-cart-page .ps-cart-page__footer { display: flex; flex-direction: column; gap: 22px; margin-top: 18px; border: 0; background: none; padding: 0; }
.ps-cart-page__note label { display: block; margin: 0 0 8px 8px; font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 500; color: #222; }
.ps-cart-page__note textarea { width: 100%; min-height: 64px; padding: 10px 12px; border: 1.5px solid #e2e2e2; border-radius: 12px; font: inherit; resize: vertical; }
.ps-cart-page .ps-cart-page__summary { display: flex; flex-direction: column; align-items: stretch; gap: 10px; width: 100%; max-width: 290px; margin: 0 auto; text-align: center; }
.ps-cart-page .ps-cart-page__checkout {
  width: 100%; min-height: 46px; border: 0; border-radius: 10px; background: var(--yellow); color: var(--navy); cursor: pointer;
  font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase;
}
.ps-cart-page__offer { padding: 12px 16px; border-radius: 12px; background: var(--navy); color: #fff; font-family: 'Montserrat', sans-serif; }
.ps-cart-page .ps-cart-page__subtotal { display: flex; justify-content: center; gap: 12px; margin: 6px 0 0; border: 0; padding: 0; font-family: 'Montserrat', sans-serif; font-size: 13px;color: var(--navy); }
.ps-cart-page .ps-cart-page__subtotal strong { font-size: 13px;}
.ps-cart-page__ship { margin: 0; font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 500; color: var(--navy); }
.ps-cart-page__empty { padding: 48px 16px; text-align: center; border: 1.5px solid #d9d9d9; border-radius: 14px; }

@media (min-width: 750px) {
  .ps-cart-page .ps-cart-page__inner { padding: 28px 32px 72px; }
  .ps-cart-page .ps-cart-page__head { grid-template-columns: 1fr 180px 140px; padding: 0 20px 10px; }
  .ps-cart-page__head-qty { display: block; text-align: center; }
  .ps-cart-page .ps-cart-page__head span:last-child { text-align: right; }
  .ps-cart-page .ps-cart-page__row { grid-template-columns: 96px 1fr 180px 140px; grid-template-areas: "media info qty price"; gap: 20px; padding: 26px 20px; }
  .ps-cart-page .ps-cart-page__media { width: 96px; }
  .ps-cart-page__name { font-size: 18px; }
  .ps-cart-page__sub,
.ps-cart-page__unit { font-size: 14px; }
  .ps-cart-page .ps-cart-page__qty-wrap { justify-content: center; margin-top: 0; }
  .ps-cart-page .ps-cart-page__price strong { font-size: 15px; }
  .ps-cart-page .ps-cart-page__footer { flex-direction: row; justify-content: space-between; align-items: flex-start; }
  .ps-cart-page__note { flex: 0 1 300px; }
  .ps-cart-page .ps-cart-page__summary { flex: 0 1 300px; margin: 0; text-align: right; }
  .ps-cart-page .ps-cart-page__offer { text-align: left; }
  .ps-cart-page .ps-cart-page__subtotal { justify-content: flex-end; }
}
/* Page-mode cart is a link; keep it visible on mobile */
@media (max-width: 780px) { .ps-header__actions > a.ps-header__cart { display: inline-flex; } }
/* Mobile header: search + account icons beside the cart (as on desktop), a size smaller than desktop.
   The logo is pinned to the exact centre of the bar (not of the leftover grid space), nudged 3px right because the
   ® mark widens the image on its right - so the word GETAWAY itself reads as centred. */
@media (max-width: 780px) {
  .ps-header__actions > a.ps-header__icon { display: inline-flex; width: 30px; height: 40px; }
  .ps-header__actions { display: flex; align-items: center; gap: 0; }
  .ps-header__actions .ps-header__icon-img { width: 19px; height: 19px; }
  .ps-header__actions .ps-header__login .ps-header__icon-img { width: 17px; height: 21px; }
  .ps-header__actions .ps-header__cart { width: 32px; }
  .ps-header__actions .ps-header__cart-icon { width: 22px; height: 21px; }
  .ps-header .ps-header__bar { position: relative; grid-template-columns: auto minmax(0, 1fr) auto; }
  .ps-header .ps-header__menu-btn { justify-self: start; }
  .ps-header .ps-header__logo { position: absolute; grid-column: auto; grid-row: auto; left: 50%; right: auto; top: 50%; transform: translate(calc(-50% + 3px), -50%); } /* auto placement = positioned against the whole bar */
  /* hamburger sized to the icons: 22px lines, 16px tall, in a 32px tap area */
  .ps-header .ps-header__menu-btn { width: 32px; height: 40px; gap: 5px; }
  .ps-header .ps-header__menu-btn span { width: 22px; height: 2px; }
  .ps-header .ps-header__menu-btn[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .ps-header .ps-header__menu-btn[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  /* never runs into the icons: icons 92px + bar padding 14px + 8px gap, on both sides */
  .ps-header .ps-header__logo-img { max-width: max(72px, calc(100vw - 2 * (92px + 14px + 8px))); }
}
.ps-cart-page .ps-cart-page__head span:first-child { grid-column: auto; }
.ps-cart-page .ps-cart-page__continue { border: 0; padding: 0; border-radius: 0; background: none; min-height: 0; }
.ps-cart-page .ps-cart-page__continue:hover { background: none; color: var(--orange, #EE5A2B); }
.ps-cart-page .ps-cart-page__title { white-space: nowrap; }
.ps-cart-page__top { align-items: center; }
/* plain text link flush with the right edge of the cart box (drops the old pill button padding/border) */
.ps-cart-page__top .ps-cart-page__continue { margin-left: auto; padding: 0; border: 0; border-radius: 0; background: none; text-align: right; }
.ps-cart-page__top .ps-cart-page__continue:hover { background: none; }
.ps-cart-page .ps-cart-page__offer p { margin: 0; font-size: 12px; font-weight: 500; color: #fff; line-height: 1.45; }
.ps-cart-page .ps-cart-page__offer p:first-child { font-size: 15px; margin-bottom: 2px; }
.ps-cart-page .ps-cart-page__offer strong, .ps-cart-page .ps-cart-page__offer b { font-weight: 700 !important; }
.ps-cart-page .ps-cart-page__offer a { color: #fff; text-decoration: underline; }
/* Subtotal line fully bold */
.ps-cart-page .ps-cart-page__subtotal, .ps-cart-page .ps-cart-page__subtotal span, .ps-cart-page .ps-cart-page__subtotal strong { font-weight: 800 !important; }
/* Shop pills (desktop): spread across the full container width, like the design */
@media (min-width: 750px) {
  .ps-collection__filters { width: 100%; justify-content: space-between; gap: 12px; flex-wrap: nowrap; }
  .ps-collection__filters .ps-filter-btn { flex: 1 1 0; min-width: 0; text-align: center; white-space: nowrap; }
}

/* ---------- Footer, mobile (design): one-line links in 3 columns spread edge to edge, roomier rows,
   smaller social icons, compact newsletter pair ---------- */
@media (max-width: 749px) {
  .ps-footer-site .footer-grid ul li { display: flex; line-height: 1.2; } /* li hugs the link so the 2px gap is the real gap */
  .ps-footer-site .ps-footer-newsletter { gap: 22px; margin-top: 0; }
  .ps-footer-site .ps-social-icons--footer .ps-social-icons__link svg { width: 15px; height: 15px; }
  .ps-footer-site .ps-footer-newsletter__form input { padding: 6px 12px;}
}

/* Social icons: design badges (circle + glyph in one SVG). Colours per variant via --ps-si-bg / --ps-si-fg */
.ps-social-icons__link--badge { border: 0 !important; background: transparent !important; padding: 0; }
.ps-social-icons__link--badge .ps-si-bg { fill: var(--ps-si-bg, #fff); transition: fill .2s ease; }
.ps-social-icons__link--badge .ps-si-fg { fill: var(--ps-si-fg, #2f4162); }
.ps-social-icons__link--badge:hover { transform: translateY(-2px); }
.ps-social-icons__link--badge:hover .ps-si-bg { fill: var(--yellow, #f9ed30); }
.ps-social-icons--light { --ps-si-bg: #2f4162; --ps-si-fg: #fff; }
.ps-social-icons--light .ps-social-icons__link--badge:hover .ps-si-bg { fill: var(--yellow, #f9ed30); }
.ps-social-icons--light .ps-social-icons__link--badge:hover .ps-si-fg { fill: #2f4162; }
.ps-social-icons .ps-social-icons__link--badge svg { width: 100% !important; height: 100% !important; } /* badge includes its circle */

/* Richtext fields rendered inside a styled wrapper: paragraphs inherit the wrapper's type, no extra margins */
.ps-rt > p { margin: 0 0 .6em; font-size: inherit; line-height: inherit; color: inherit; letter-spacing: inherit; text-align: inherit; }
.ps-rt > p:last-child { margin-bottom: 0; }
.ps-rt a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* Pages using the policy-style header (contact, franchise): cream page, corner blobs, intro under the band */
.ps-page-shell { background: #eed9b7; position: relative; overflow: hidden; isolation: isolate; }
.ps-page-shell .ps-page-hero { --band-w: max(560px, min(935px, 100vw)); padding: calc(var(--band-w) * 0.045) clamp(18px, 5vw, 60px) clamp(28px, 4vw, 44px); min-height: calc(var(--band-w) * 0.1746); }
.ps-page-shell .ps-page-hero .ps-policy__hero-blob { top: 0; left: 50%; transform: translateX(-50%); width: var(--band-w); max-width: none; }
.ps-page-shell .ps-page-hero .ps-policy__title { line-height: 1; }
.ps-page-shell__intro { max-width: 640px; margin: 30px auto clamp(8px, 2vw, 20px); padding: 0 18px; text-align: center; color: var(--navy); font-size: 15px; line-height: 1.6; }
.ps-contact.ps-page-shell .ps-contact__body, .ps-franchise.ps-page-shell > *:not(.ps-page-blobs):not(.ps-page-hero) { background: transparent; }

/* Mobile: no orange top-right blob on the policy-style pages (it crowds the heading band) */
@media (max-width: 749px) { .ps-page-blob--tr { display: none; } }

/* Content boxes on policy-style pages use the FAQ card palette (card #fff8ec, border #d8ccb9) */
.ps-page-shell .ps-blog-card,
.ps-page-shell .ps-contact__card,
.ps-page-shell .ps-contact__form-card {
  background: #fff8ec; border: 1px solid #d8ccb9; box-shadow: none;
}
.ps-page-shell .ps-blog-card__placeholder { background: #f6e6cc; color: var(--navy); }
.ps-blog.ps-page-shell .ps-blog__inner { background: transparent; }

/* ---------- Blog post: same cream page + FAQ palette as the blog listing ---------- */
.ps-article.ps-page-shell .ps-article__hero { background: transparent; color: var(--navy); padding-bottom: clamp(20px, 3vw, 32px); }
.ps-article.ps-page-shell .ps-article__back { color: var(--navy); opacity: .75; }
.ps-article.ps-page-shell .ps-article__back:hover { color: #e96340; opacity: 1; }
.ps-article.ps-page-shell .ps-article__date { color: #e96340; }
.ps-article.ps-page-shell .ps-article__author { color: var(--navy); opacity: .75; }
/* Article body sits in an FAQ-style card */
.ps-article.ps-page-shell .ps-article__inner {
  background: #fff8ec; border: 1px solid #d8ccb9; border-radius: 16px;
  margin: clamp(20px, 3vw, 36px) auto clamp(48px, 6vw, 80px); width: calc(100% - 32px);
}
.ps-article.ps-page-shell .ps-article__content { color: var(--navy); }
.ps-article.ps-page-shell .ps-article__content a { color: #e96340; }
.ps-article.ps-page-shell .ps-article__comments { border-top-color: #d8ccb9; }
.ps-article.ps-page-shell .ps-article__comment { background: #fdf0de; border: 1px solid #d8ccb9; border-radius: 12px; }
.ps-article.ps-page-shell input, .ps-article.ps-page-shell textarea { background: #fff; border-color: #d8ccb9; }
.ps-article.ps-page-shell .ps-article__featured img { margin-top: 0; }
.ps-article.ps-page-shell .ps-article__inner { max-width: 820px; }

/* Desktop header: tighter bar and menu spacing */
@media (min-width: 781px) {
  :root { --ps-header-bar-height: 60px; }
  .ps-header__bar { min-height: 60px; padding-block: 8px; padding-inline: clamp(24px, 2.6vw, 40px); }
  nav.links.ps-header__nav { gap: 36px; column-gap: 36px; }
}
/* PDP price: "(Tax included)" vertically centred on the price line */
main.ps-product .ps-price { display: flex; align-items: center; flex-wrap: wrap; gap: 2px; }
main.ps-product .ps-price small { line-height: 1; }

/* Shop page (mobile): tighter spacing above the pills and between pills and sort; compact sort box aligned right */
@media (max-width: 749px) {
  .ps-collection { padding-top: 14px; }
  .ps-collection__toolbar { gap: 8px; margin-bottom: 16px; }
  .ps-collection__sort { align-self: flex-end; gap: 6px; }
  .ps-collection__sort-label { font-size: 11px; }
  .ps-sort-select { width: auto; min-width: 0; height: 28px; padding: 3px 24px 3px 8px; font-size: 11px; background-position: right 6px center; }
}

/* Mobile menu: one type style for every item, no divider lines; "Shop" text links to the shop page, arrow opens the sub-menu */
@media (max-width: 780px) {
  .ps-mobile-menu > a,
  .ps-mobile-menu .ps-mobile-shop__link,
  .ps-mobile-menu .ps-mobile-shop__panel a {
    display: block; padding: 13px 8px; border: 0; font-family: 'Montserrat', sans-serif;
    font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--navy); text-decoration: none;
  }
  .ps-mobile-shop__row { display: flex; align-items: center; justify-content: space-between; border: 0; }
  .ps-mobile-shop__row .ps-mobile-shop__link { flex: 1 1 auto; }
  .ps-mobile-menu .ps-mobile-shop__trigger {
    width: 44px; height: 44px; flex: 0 0 44px; padding: 0; border: 0; display: grid; place-items: center;
    background: none; color: var(--navy); cursor: pointer;
  }
  .ps-mobile-menu .ps-mobile-shop__back { border: 0; }
  .ps-mobile-menu .ps-mobile-shop__panel .ps-mobile-shop__all { color: var(--navy) !important; text-transform: uppercase; }
}

/* Shop grid (mobile): 10px gaps both ways, 10px side padding, compact card text so 2 rows (4 products) fit one screen */
@media (max-width: 749px) {
  .ps-collection { padding-left: 10px; padding-right: 10px; }
  .ps-collection__grid { gap: 10px; }
  .ps-collection-card__body { padding: 8px 2px 0; }
  .ps-collection-card__title { font-size: 11.5px; line-height: 1.3; min-height: 2.6em; margin-bottom: 4px; }
  .ps-collection-card__rating { margin: 0 0 2px; font-size: 11px; }
  .ps-collection-card__stars { font-size: 13px; letter-spacing: 1px; }
  .ps-collection-card__price { margin: 0 0 6px; font-size: 13px; line-height: 1.2; }
  .ps-collection-card__cta { padding: 5px 14px; font-size: 11px; min-width: 70%; }
}

/* PDP mobile: product photo clears the top-left blob, bottom-right blob starts below the photo (behind the arrows) */
@media (max-width: 780px) {
  main.ps-product .ps-gallery__stage { width: 84%; margin: 44px auto 0; }
  /* design: starts at the photo's bottom-right corner, behind the right arrow, ends just above the title */
}
@media (max-width: 780px) { main.ps-product .ps-flavour-card__title { font-size: 12px; } } /* flavour names: 14px → 12px */

/* Mobile heading band: smaller title that fits the band; if it still wraps, the band stretches taller to keep it inside */
@media (max-width: 749px) {
  .ps-careers__hero,
.ps-policy__hero,
.ps-search__hero,
.ps-page-shell .ps-page-hero { padding-top: 18px; }
  .ps-policy__hero .ps-policy__title, .ps-careers__hero-title { font-size: 26px; margin: 0; }
  .ps-careers__hero-blob, .ps-policy__hero-blob, .ps-search__hero .ps-policy__hero-blob, .ps-page-shell .ps-page-hero .ps-policy__hero-blob {
    height: max(calc(var(--band-w) * 0.1746), calc(143% - 40px));
  }
}

/* Blog post: title inside the Terms & Conditions heading band; long titles stretch the band instead of spilling out */
.ps-article.ps-page-shell .ps-page-hero .ps-policy__hero-inner { max-width: min(700px, 82vw); }
.ps-article.ps-page-shell .ps-page-hero .ps-policy__title { font-size: clamp(26px, 2.4vw, 40px); margin: 0; }
.ps-article.ps-page-shell .ps-page-hero .ps-policy__hero-blob { height: max(calc(var(--band-w) * 0.1746), calc(143% - 40px)); }
.ps-article.ps-page-shell .ps-article__hero { padding-top: clamp(8px, 1.5vw, 20px); text-align: center; }
.ps-article.ps-page-shell .ps-article__back { margin-bottom: 8px; }
.ps-article__meta { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 12px; margin: 0; }
.ps-article__meta .ps-article__author { font-size: 13px; }
@media (max-width: 749px) {
  .ps-article.ps-page-shell .ps-page-hero .ps-policy__title { font-size: 20px; line-height: 1.1; }
}

/* Careers — Career Page design (1920 artboard): 500px rounded image + copy column, email card, 3 perk cards */
.ps-careers__intro-grid { grid-template-columns: 1fr; gap: 24px; }
.ps-careers__intro-img { max-width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: clamp(20px, 2.6vw, 50px); }
.ps-careers__intro-title { font-weight: 800; font-size: clamp(34px, 3.75vw, 72px); line-height: 1; max-width: 7em; text-wrap: balance; }
.ps-careers__intro-text, .ps-careers__intro-text p { font-family: 'Montserrat', sans-serif; font-weight: 600 !important; font-size: clamp(15px, 1.25vw, 24px); line-height: 1.5; max-width: none; color: var(--navy); }
.ps-careers__email { display: flex; gap: clamp(16px, 2.2vw, 43px); margin-top: clamp(24px, 3.9vw, 76px); padding: clamp(16px, 1.7vw, 27px) clamp(18px, 2.3vw, 45px); border-radius: clamp(20px, 2.1vw, 40px); }
.ps-careers__email-icon { width: clamp(48px, 4.75vw, 91px); height: auto; }
.ps-careers__email-copy { border-left: 2px solid #e96340; padding-left: clamp(16px, 2.2vw, 43px); }
.ps-careers__email-label, .ps-careers__email-address { font-family: 'Montserrat', sans-serif; font-size: clamp(14px, 1.25vw, 24px); line-height: 1.5; }
.ps-careers__email-label { font-weight: 600; }
.ps-careers__email-address { font-weight: 700; }
.ps-careers__shell--perks { max-width: calc(1392px + 2 * clamp(16px, 4vw, 48px)); margin-inline: auto; padding-inline: clamp(16px, 4vw, 48px); }
.ps-careers__perks-title { font-size: clamp(15px, 1.25vw, 24px); letter-spacing: .08em; gap: clamp(16px, 1.7vw, 32px); }
.ps-careers__perks-title::before, .ps-careers__perks-title::after { width: clamp(40px, 6.2vw, 118px); background: #e96340; }
.ps-careers__perks-head { margin-bottom: clamp(16px, 1.3vw, 25px); }
.ps-careers__perks-grid { gap: clamp(12px, 1.5vw, 29px); }
.ps-careers__perk-card { border-radius: clamp(20px, 1.7vw, 32px); padding: clamp(16px, 1.3vw, 24px) 20px clamp(18px, 1.4vw, 26px); gap: clamp(10px, .9vw, 18px); justify-content: flex-start; }
.ps-careers__perk-icon { width: clamp(80px, 6.7vw, 128px); height: clamp(80px, 6.7vw, 128px); font-size: 0; }
.ps-careers__perk-card h3 { font-weight: 700; font-size: clamp(15px, 1.12vw, 21.5px); line-height: 1.25; max-width: 10.5em; }
.ps-careers__perks { padding-top: 0; padding-bottom: clamp(48px, 4.9vw, 94px); }
@media (min-width: 750px) {
  .ps-careers__shell--wide { max-width: calc(1323px + 2 * clamp(24px, 4vw, 48px)); }
  .ps-careers__intro { padding-top: clamp(20px, 2.9vw, 56px); }
  .ps-careers__intro-grid { grid-template-columns: minmax(0, 500fr) minmax(0, 743fr); gap: clamp(32px, 4.2vw, 80px); align-items: center; }
}
@media (max-width: 749px) {
  .ps-careers__perks-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .ps-careers__perk-card { padding: 14px 6px 16px; border-radius: 14px; }
  .ps-careers__perk-icon { width: 56px; height: 56px; }
  .ps-careers__perk-card h3 { font-size: 11.5px; }
  .ps-careers__email-copy { min-width: 0; }
  .ps-careers__email-address { overflow-wrap: anywhere; }
  .ps-careers__email { gap: 12px; padding: 14px 16px; }
  .ps-careers__email-icon { width: 40px; }
  .ps-careers__email-copy { padding-left: 12px; }
  .ps-careers__email-label, .ps-careers__email-address { font-size: 13px; }
}

/* Blog listing — compact 2-up cards on phones */
@media (max-width: 749px) {
  .ps-blog.ps-page-shell .ps-blog__inner { padding: 14px 16px 110px; }
  .ps-blog__grid { gap: 12px; }
  .ps-page-shell .ps-blog-card { border-radius: 14px; }
  .ps-blog-card:hover { transform: none; }
  .ps-blog-card__media { aspect-ratio: 1; }
  .ps-blog-card__body { padding: 10px 10px 12px; }
  .ps-blog-card__date { font-size: 9.5px; letter-spacing: .06em; }
  .ps-blog-card__title { margin: 4px 0 6px; font-size: 13px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .ps-blog-card__excerpt { margin: 0 0 8px; font-size: 11.5px; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .ps-blog-card__cta { font-size: 10.5px; }
}
header.ps-showcase__header.ps-reveal.ps-reveal--up.is-revealed{
  margin-bottom:30px;
}
/* No hairline under the header: the heading bands / page content meet the navy bar directly (as in the designs) */
header.nav.ps-header { border-bottom: 0; }

/* ---------- Footer, mobile (all pages): email + button on top, two link columns
   (Company + Legal stacked left, Help right), social icons centred at the bottom ---------- */
@media (max-width: 749px) {
  .ps-footer-site .wrap { padding-inline: 32px; }
  .ps-footer-site .footer-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "news news" "c1 c2" "c3 c2" "social social";
    justify-content: stretch;
    column-gap: 16px;
    row-gap: 0;
    max-width: 420px;
    margin-inline: auto;
  }
  .ps-footer-site .ps-footer-brand { display: none; }
  .ps-footer-site .ps-footer-newsletter { display: contents; }
  .ps-footer-site .ps-footer-newsletter__form { grid-area: news; max-width: none; width: 100%; gap: 10px; margin-bottom: 26px; }
  .ps-footer-site .ps-footer-newsletter__form input,
  .ps-footer-site .ps-footer-newsletter__form button { min-height: 42px; border-radius: 8px; }
  .ps-footer-site .ps-footer-newsletter__form input { font-size: 14px; text-align: center; }
  .ps-footer-site .ps-footer-newsletter__form button { font-size: 15px; font-weight: 700; }
  .ps-footer-site .ps-footer-col:nth-child(1 of .ps-footer-col) { grid-area: c1; }
  .ps-footer-site .ps-footer-col:nth-child(2 of .ps-footer-col) { grid-area: c2; }
  .ps-footer-site .ps-footer-col:nth-child(3 of .ps-footer-col) { grid-area: c3; margin-top: 14px; }
  .ps-footer-site .footer-grid ul { gap: 14px; }
  .ps-footer-site .footer-grid ul a { font-size: 12px; font-weight: 700; letter-spacing: .01em; white-space: nowrap; }
  .ps-footer-site .ps-social-icons--footer { grid-area: social; justify-content: center; gap: 12px; margin-top: 30px; }
  .ps-footer-site .ps-social-icons--footer .ps-social-icons__link { width: 34px; height: 34px; }
}

/* Careers, mobile: perk cards end above the bottom corner blobs; perks heading on one line */
@media (max-width: 749px) {
  .ps-careers__perks { padding-bottom: 124px; }
  .ps-careers__perks-title { font-size: 13px; letter-spacing: .06em; gap: 10px; white-space: nowrap; }
  .ps-careers__perks-title::before, .ps-careers__perks-title::after { width: 24px; }
}

/* Contact: keep the info + message cards clear of the corner blobs (bottom space follows the blob's height) */
.ps-contact.ps-page-shell .ps-contact__body { padding-bottom: calc(29vw + 20px); }
@media (min-width: 750px) {
  .ps-contact.ps-page-shell .ps-contact__body { padding-top: calc(clamp(40px, 5vw, 64px) + 28px); padding-bottom: calc(min(18.2vw, 306px) + 28px); }
}

/* Desktop: keep cards / forms clear of the page corner blobs */
@media (min-width: 750px) {
  .ps-careers__perks { padding-bottom: calc(min(18.2vw, 306px) + 24px); }
  .ps-franchise.ps-page-shell .ps-page-blob--tr { width: min(14vw, 220px); } /* full-width banner starts right under the heading band */
  .ps-franchise.ps-page-shell .ps-franchise__inquiry { padding-bottom: calc(min(18.2vw, 306px) + 24px); }
}

/* Product showcase: scale photos from their base so the bottom is never clipped; NEW! badge sits just above the photo */
.ps-showcase__img { transform-origin: 50% 100%; }
.ps-showcase__track { padding-bottom: 6px; }
.ps-showcase__frame .ps-showcase__new { transform: translate(-50%, -105%) scale(0.85) rotate(-8deg); }
.ps-showcase__slide.is-active .ps-showcase__frame .ps-showcase__new { top: -7%; transform: translate(-50%, -105%) scale(1.05) rotate(-8deg); } /* the active photo grows 7% upward from its base */
@media (max-width: 749px) { .ps-showcase .ps-showcase__track { padding-top: 65px; } .ps-showcase .ps-showcase__stage { margin-top: -12px; } } /* room above the enlarged active photo + NEW! badge */
/* Tablet/desktop: the track's height follows window height (vh) but the active photo follows width and grows ~30% upward,
   so short or zoomed-in windows clipped the top of tall bar packs. Never let the track be shorter than the enlarged photo
   (+ headroom); normal windows keep their vh height, so the layout there is unchanged. */
/* The extra 44px of top padding is pulled back up (negative margin on the wrap) into the empty band under the heading,
   so photos stay where they were but the NEW! badge above the active photo is no longer clipped. */
@media (min-width: 750px) {
  .ps-showcase .ps-showcase__track-wrap { margin-top: -44px; }
  .ps-showcase .ps-showcase__track { padding-top: 56px; min-height: max(calc(clamp(320px, 46vh, 520px) + 44px), calc(var(--showcase-slide) * 1.31 + 84px)); }
}
@media (min-width: 750px) and (max-width: 1100px) {
  .ps-showcase .ps-showcase__track { min-height: max(calc(clamp(280px, 42vh, 440px) + 44px), calc(var(--showcase-slide) * 1.27 + 84px)); }
}
@media (min-width: 750px) and (max-width: 900px) {
  .ps-showcase .ps-showcase__track { min-height: max(calc(clamp(240px, 38vh, 380px) + 44px), calc(var(--showcase-slide) * 1.23 + 84px)); }
}

/* Blog listing: intro line styled as a subtitle under the heading band */
.ps-blog .ps-blog__subtitle,
.ps-blog .ps-blog__subtitle p { max-width: 980px; font-family: 'Montserrat', sans-serif; font-weight: 700 !important; font-size: clamp(17px, 1.4vw, 24px); line-height: 1.35; color: var(--navy); } /* same subtitle style as Our Story's "How it all began" */
.ps-blog .ps-blog__subtitle { margin-top: clamp(20px, 2vw, 32px); }

/* Product showcase arrows: filled circle (customizer colours) with a chevron */
.ps-showcase .ps-showcase__arrow.carousel-arrow {
  display: inline-flex; align-items: center; justify-content: center;
  width: clamp(44px, 3.4vw, 56px); height: clamp(44px, 3.4vw, 56px);
  padding: 0; border: 0; border-radius: 50%;
  background: var(--showcase-arrow-bg, #2e4162); color: var(--showcase-arrow-fg, #fff);
  box-shadow: none; cursor: pointer; transition: filter .2s ease, transform .2s ease;
}
.ps-showcase .ps-showcase__arrow.carousel-arrow svg { width: 46%; height: 46%; display: block; }
.ps-showcase .ps-showcase__arrow.carousel-arrow:hover { filter: brightness(1.08); }
.ps-showcase .ps-showcase__arrow.carousel-arrow:focus-visible { outline: 3px solid var(--navy); outline-offset: 3px; }
/* Infinite loop: no animation while jumping from a copy back to the real slide */
.ps-showcase__track.is-jumping,
.ps-showcase__track.is-jumping .ps-showcase__slide,
.ps-showcase__track.is-jumping .ps-showcase__img,
.ps-showcase__track.is-jumping .ps-showcase__new { transition: none !important; scroll-behavior: auto !important; }

/* Promo ribbons — design geometry (Home Page 1920 / 1080): two 2° ribbons crossing at ~65% of the width,
   fully visible in a taller strip; 41px ribbons with ~25px text on desktop, scaled with the viewport */
.ps-announce {
  --ps-announce-angle: 2deg;
  --ps-announce-strip: 24px;
  height: 46px;
}
.ps-announce__ribbon {
  left: -5%;               /* 140% wide → rotation centre (the crossing) sits at 65% of the width */
  top: 46%;
}
.ps-announce__item { font-size: 11.5px; }
.ps-announce__group { gap: 22px; padding-right: 22px; }
@media (min-width: 750px) {
  .ps-announce {
    --ps-announce-strip: clamp(28px, 2.14vw, 41px);
    height: clamp(64px, 6.04vw, 116px);
  }
  .ps-announce__ribbon { top: 45%; }
  .ps-announce__item { font-size: clamp(13px, 1.3vw, 25px); }
  .ps-announce__group { gap: clamp(24px, 2.6vw, 56px); padding-right: clamp(24px, 2.6vw, 56px); }
}
/* Mobile: one straight ribbon instead of two crossing ones (desktop keeps both) */
@media (max-width: 749px) {
  .ps-announce { --ps-announce-strip: 30px; height: 30px; }
  .ps-announce__ribbon--rev { display: none; }
  .ps-announce__ribbon { left: 0; width: 100%; top: 50%; transform: none; }
  .ps-announce__item { font-size: 12px; }
}

/* PDP gallery outline: hidden until the photo has loaded; shown on the first two images only (ps-pdp.js) */
main.ps-product .ps-gallery__line { opacity: 0; transition: opacity .3s ease; }
main.ps-product .ps-gallery__stage.is-line-visible .ps-gallery__line { opacity: 1; }

/* PDP gallery cross-fade (ps-pdp.js): current and incoming image share the stage's grid cell */
main.ps-product .ps-gallery__stage > .ps-gallery__image { grid-area: 1 / 1; transition: opacity .3s ease, transform .3s ease; }
main.ps-product .ps-gallery__image--incoming { position: relative; z-index: 2; opacity: 0; transform: scale(.985); pointer-events: none; }
main.ps-product .ps-gallery__image--incoming.is-in { opacity: 1; transform: none; }
main.ps-product .ps-gallery__image.is-leaving { opacity: 0; transition: opacity .16s ease .14s; } /* old image holds until the new one is half in (no dip) */
@media (prefers-reduced-motion: reduce) { main.ps-product .ps-gallery__stage > .ps-gallery__image { transition: none; } }

/* Annual Return (spacious policy layout): short link list sits in the middle of the page, text still left-aligned */
.ps-policy--spacious .ps-policy__content { width: fit-content; max-width: 100%; margin-inline: auto; text-align: left; }

/* Policy pages: tighter gap between the heading band and the text */
.ps-policy__inner, .ps-policy--spacious .ps-policy__inner { padding-top: 20px; }
@media (min-width: 750px) { .ps-policy__inner, .ps-policy--spacious .ps-policy__inner { padding-top: clamp(24px, 2.5vw, 40px); } }

main.ps-product .ps-price small { margin-left: 0; } /* spacing comes from the flex gap only */

/* Heading bands tuck 3px under the fixed header so sub-pixel rounding can never show a light seam */
section.ps-careers, article.ps-policy, section.ps-search, .ps-page-shell.full-width { margin-top: -3px !important; }

/* PDP gallery blob (mobile) = the desktop bottom-right blob, repositioned: one position for every photo,
   2% further off the right edge, ending just above the title and clear of the arrows */
@media (max-width: 780px) {
  main.ps-product .ps-product__flow-blob--gallery .ps-product__blob {
    width: 44vw; right: calc(-1 * clamp(16px, 4vw, 56px) - 2vw); bottom: -34px; transform: none;
  }
  /* extra room above the title so the blob shows clearly between the arrows and the title */
  main.ps-product .ps-product__grid--movable .ps-product__block--product_title { margin-top: 24px; }
}
/* Desktop: bottom-right blob 2% further off the right edge */
@media (min-width: 781px) {
  main.ps-product .ps-product__blob-stage .ps-product__blob--right { right: -2%; }
}
/* Gallery arrows: smaller, grouped right next to the dots (desktop + mobile) */
main.ps-product .ps-gallery__controls {
  display: flex; justify-content: center; align-items: center; gap: 20px;
}
main.ps-product .ps-gallery__arrow { width: 40px; height: 40px; font-size: 20px; flex: 0 0 auto; }
@media (max-width: 780px) {
  main.ps-product .ps-gallery__controls { gap: 14px; }
  main.ps-product .ps-gallery__arrow { width: 30px; height: 30px; font-size: 15px; }
}
@media (max-width: 780px) { main.ps-product .ps-product__blob-stage .ps-product__blob--left { width: 54vw; } } /* mobile design: top-left blob spans ~54% of the width */

/* Product quick view (collection / search cards with options) — ps-card-cart.js
   Mirrors the product page: page background, corner blobs and accent-coloured options per product
   (--qv-* vars come from the card's data-qv-style). Blobs stay pinned while .ps-qv__inner scrolls. */
.ps-qv { --qv-accent-c: var(--qv-blob-left, var(--qv-accent, #EB8B2C)); position: fixed; inset: 0; margin: auto; width: min(780px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 0; border-radius: 22px; background: var(--qv-bg, #F5E9C8); color: var(--navy); overflow: hidden; box-shadow: 0 24px 60px -20px rgba(21,45,82,.45); }
.ps-qv::backdrop { background: rgba(21,45,82,.5); }
.ps-qv[open] { display: flex; flex-direction: column; }
.ps-qv__blobs { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.ps-qv__blob { position: absolute; display: block; height: auto; }
.ps-qv__blob--left { top: 0; left: 0; width: 62%; aspect-ratio: 522.957 / 283.927; color: var(--qv-blob-left, var(--qv-accent-c)); }
.ps-qv__blob--right { right: 0; bottom: 0; width: 30%; aspect-ratio: 676.94 / 388.2; color: var(--qv-blob-right, var(--qv-accent-c)); }
.ps-qv__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr; min-height: 0; overflow: auto; overscroll-behavior: contain; }
.ps-qv__close { position: absolute; top: 12px; right: 12px; z-index: 3; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #fff; color: var(--navy); font-size: 26px; line-height: 1; cursor: pointer; box-shadow: 0 6px 16px -8px rgba(46,65,98,.4); }
.ps-qv__media { display: grid; place-items: center; margin: 58px 20px 0; padding: 12px; background: #fff; border-radius: 20px; box-shadow: 0 18px 42px -24px rgba(46,65,98,.3); }
.ps-qv__img { display: block; width: 100%; max-width: 300px; max-height: 34dvh; height: auto; aspect-ratio: 1; object-fit: contain; }
.ps-qv__body { padding: 18px 20px 40px; display: flex; flex-direction: column; gap: 12px; }
.ps-qv__title { margin: 0; font-family: 'Anton', Impact, 'Arial Narrow', sans-serif; font-weight: 400; font-size: 28px; line-height: 1.08; color: var(--navy); }
.ps-qv__price { margin: 0; font-family: 'Montserrat', sans-serif; font-weight: 700 !important; font-size: 24px; color: var(--navy); }
.ps-qv__options { display: flex; flex-direction: column; gap: 14px; }
.ps-qv__opt { margin: 0; padding: 0; border: 0; min-width: 0; }
.ps-qv__opt legend { margin: 0 0 6px; padding: 0; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 12px; letter-spacing: .03em; text-transform: uppercase; color: var(--navy); }
.ps-qv__pills { display: flex; flex-wrap: wrap; gap: 8px; }
.ps-qv__pill { min-height: 46px; padding: 10px 18px; border: 2px solid var(--qv-accent-c); border-radius: 14px; background: #fff; color: var(--navy); font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 15px; cursor: pointer; }
.ps-qv__pill[aria-pressed="true"] { background: var(--qv-accent-c); border-color: var(--qv-accent-c); color: #fff; }
.ps-qv__buy { display: flex; gap: 10px; align-items: stretch; margin-top: 4px; }
.ps-qv__qty { flex: 0 0 118px; display: grid; grid-template-columns: 34px 1fr 34px; align-items: center; min-height: 48px; border: 2px solid var(--qv-accent, var(--qv-accent-c)); border-radius: 14px; background: #fff; }
.ps-qv__qty button { height: 100%; border: 0; background: none; font-size: 20px; font-weight: 800; color: var(--navy); cursor: pointer; }
.ps-qv__qty input { width: 100%; padding: 0; border: 0; text-align: center; font: 800 16px 'Montserrat', sans-serif; color: var(--navy); background: none; -moz-appearance: textfield; appearance: textfield; }
.ps-qv__qty input::-webkit-inner-spin-button, .ps-qv__qty input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ps-qv__atc { flex: 1 1 auto; min-height: 48px; padding: 4px 8px; border: 0; border-radius: 14px; background: var(--yellow, #F9ED30); color: var(--navy); font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 16px; letter-spacing: .02em; text-transform: uppercase; cursor: pointer; }
.ps-qv__atc:hover { filter: brightness(.97); }
.ps-qv__atc:disabled { opacity: .6; cursor: default; }
.ps-qv__msg { margin: 0; min-height: 1em; font-size: 13px; }
.ps-qv__msg:empty { display: none; }
.ps-qv__link { align-self: flex-start; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 13px; color: var(--navy); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 750px) {
  .ps-qv__blob--left { width: 46%; }
  .ps-qv__blob--right { width: 24%; }
  .ps-qv__inner { grid-template-columns: 1fr 1fr; align-items: center; }
  .ps-qv__media { margin: 64px 0 64px 32px; }
  .ps-qv__img { max-height: none; }
  .ps-qv__body { padding: 56px 32px 96px 28px; }
  .ps-qv__title { font-size: 34px; }
}

/* Policy pages: long titles (e.g. "Manufacturing addresses") stay on one line inside the heading blob on desktop */
@media (min-width: 750px) {
  .ps-policy__hero .ps-policy__title--long { font-size: clamp(26px, 4.5vw, 44px); }
  .ps-policy__hero .ps-policy__title--xlong { font-size: clamp(24px, 3.6vw, 36px); }
}
/* Policy pages below 1100px: the text column reaches the bottom corner blobs, so end it above them */
@media (max-width: 749px) {
  .ps-policy__inner, .ps-policy--spacious .ps-policy__inner { padding-bottom: calc(30vw * 301 / 314 + 16px); }
}
@media (min-width: 750px) and (max-width: 1099px) {
  .ps-policy__inner, .ps-policy--spacious .ps-policy__inner { padding-bottom: calc(min(19vw, 320px) * 301 / 314 + 16px); }
}

/* Form messages (contact page + footer newsletter): success / error panel with an icon */
.ps-form-msg { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-radius: 12px; font-family: 'Montserrat', sans-serif; line-height: 1.4; text-align: left; }
.ps-form-msg--success { background: #e6f4e8; color: #1f6b35; border: 1.5px solid #9fd3aa; }
.ps-form-msg--error { background: #fdecea; color: #a13927; border: 1.5px solid #f2b8ae; margin-bottom: 16px; }
.ps-form-msg__icon { flex: 0 0 auto; display: flex; padding-top: 1px; }
.ps-form-msg__body { min-width: 0; }
.ps-form-msg__title { margin: 0 0 2px; font-size: 16px; font-weight: 800 !important; color: inherit; } /* beats the global p { font-weight: 500 !important } */
.ps-form-msg__text { font-size: 14px; font-weight: 500; color: inherit; }
.ps-form-msg__text p { margin: 0; color: inherit; }
.ps-form-msg__text ul { margin: 0; padding: 0; list-style: none; }
.ps-form-msg__action { display: inline-block; margin-top: 8px; font-size: 14px; font-weight: 800; color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.ps-form-msg--compact { padding: 12px 14px; gap: 10px; }
.ps-form-msg--compact .ps-form-msg__title { font-size: 15px; }
.ps-form-msg--compact.ps-form-msg--error { margin-bottom: 0; }
form[data-ps-sending] button[type="submit"][aria-busy="true"] { opacity: .75; cursor: progress; }

/* Policy pages: optional customiser image (e.g. manufacturing addresses) */
.ps-policy__figure { margin: 0 0 24px; }
.ps-policy__figure:last-child { margin-bottom: 0; }
.ps-policy__content + .ps-policy__figure { margin-top: 24px; }
.ps-policy__figure-img { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 5px; }

/* Search popup (ps-search.js): panel drops from the top; full screen on phones */
.ps-search-modal { position: fixed; inset: 0 0 auto 0; width: 100%; max-width: none; height: auto; max-height: 100dvh; margin: 0; padding: 0; border: 0; background: transparent; color: var(--navy); overflow: visible; }
.ps-search-modal::backdrop { background: rgba(21, 45, 82, .55); }
html.ps-search-open { overflow: hidden; }
.ps-search-modal__panel { background: #fff8ec; box-shadow: 0 18px 40px -20px rgba(21, 45, 82, .45); padding: 14px 16px 18px; max-height: 100dvh; overflow-y: auto; overscroll-behavior: contain; }
.ps-search-modal__form { position: relative; display: flex; align-items: center; gap: 10px; max-width: 1180px; margin: 0 auto; }
.ps-search-modal__icon { position: absolute; left: 16px; color: var(--navy); pointer-events: none; }
.ps-search-modal__input { flex: 1; min-width: 0; height: 52px; padding: 0 16px 0 48px; border: 2px solid var(--navy); border-radius: 999px; background: #fff; color: var(--navy); font: 600 16px 'Montserrat', sans-serif; outline: none; -webkit-appearance: none; appearance: none; }
.ps-search-modal__input:focus-visible { box-shadow: 0 0 0 3px rgba(249, 237, 48, .9); }
.ps-search-modal__input::-webkit-search-cancel-button { -webkit-appearance: none; }
.ps-search-modal__close { flex: 0 0 auto; width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--navy); color: #fff; cursor: pointer; }
.ps-search-modal__results { max-width: 1180px; margin: 0 auto; transition: opacity .15s ease; }
.ps-search-modal__results.is-loading { opacity: .55; }
.ps-search-modal__results:not(:empty) { padding-top: 18px; }
.ps-search-modal__group + .ps-search-modal__group { margin-top: 18px; }
.ps-search-modal__heading { margin: 0 0 10px; font: 800 12px 'Montserrat', sans-serif !important; letter-spacing: .08em; text-transform: uppercase; color: var(--navy); opacity: .7; }
.ps-search-modal__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ps-search-modal__chip { padding: 8px 14px; border-radius: 999px; background: #fff; border: 1.5px solid rgba(46, 65, 98, .25); color: var(--navy); font: 700 14px 'Montserrat', sans-serif; text-decoration: none; }
.ps-search-modal__chip:hover { border-color: var(--navy); }
.ps-search-modal__cols { display: grid; gap: 18px; }
.ps-search-modal__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.ps-search-modal__list a { color: var(--navy); font: 600 15px 'Montserrat', sans-serif; text-decoration: none; }
.ps-search-modal__list a:hover { text-decoration: underline; }
.ps-search-modal__list mark { background: none; color: inherit; font-weight: 800; }
.ps-search-modal__products { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.ps-search-modal__product { display: flex; flex-direction: column; gap: 6px; color: var(--navy); text-decoration: none; }
.ps-search-modal__thumb { display: block; aspect-ratio: 1; border-radius: 5px; background: #fff; box-shadow: 0 6px 16px -10px rgba(21, 45, 82, .35); overflow: hidden; }
.ps-search-modal__thumb img { display: block; width: 100%; max-width: 100%; height: 100%; object-fit: contain; }
.ps-search-modal__ptitle { font: 700 13px/1.3 'Montserrat', sans-serif; text-transform: uppercase; }
.ps-search-modal__price { font: 600 13px 'Montserrat', sans-serif; }
.ps-search-modal__product:hover .ps-search-modal__ptitle { text-decoration: underline; }
.ps-search-modal__empty { margin: 0; font: 600 15px 'Montserrat', sans-serif !important; color: var(--navy); }
.ps-search-modal__all { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 18px; min-height: 48px; padding: 0 20px; border-radius: 999px; background: var(--yellow, #F9ED30); color: var(--navy); font: 800 15px 'Montserrat', sans-serif; text-decoration: none; }
.ps-search-modal__all:hover { filter: brightness(.97); }
@media (max-width: 749px) {
  .ps-search-modal { height: 100dvh; }
  .ps-search-modal__panel { height: 100dvh; }
}
@media (min-width: 750px) {
  .ps-search-modal__panel { padding: 22px clamp(24px, 4vw, 56px) 26px; max-height: 85vh; }
  .ps-search-modal__cols { grid-template-columns: 220px minmax(0, 1fr); gap: 32px; }
  .ps-search-modal__cols > .ps-search-modal__products-wrap:only-child { grid-column: 1 / -1; }
  .ps-search-modal__products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ps-search-modal__all { display: inline-flex; margin-left: auto; margin-right: auto; }
  .ps-search-modal__results { display: flex; flex-direction: column; }
}
@media (min-width: 1100px) {
  .ps-search-modal__products { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* Search page: end the results above the bottom corner blobs (same sizes as .ps-page-blob--bl/--br) */
.ps-search__inner { padding-bottom: calc(30vw * 301 / 314 + 24px); }
@media (min-width: 750px) { .ps-search__inner { padding-bottom: calc(min(19vw, 320px) * 301 / 314 + 24px); } }

/* Heading-band pages (404, all collections): cream page + policy heading band + corner blobs,
   content ends above the bottom corner blobs */
.ps-band-page { width: 100%; background: #eed9b7; position: relative; overflow: hidden; isolation: isolate; }
.ps-band-page .ps-404__inner,
.ps-band-page .ps-collections-page__inner { position: relative; z-index: 1; padding-top: 20px; padding-bottom: calc(30vw * 301 / 314 + 24px); }
@media (min-width: 750px) {
  .ps-band-page .ps-404__inner,
  .ps-band-page .ps-collections-page__inner { padding-top: clamp(24px, 2.5vw, 40px); padding-bottom: calc(min(19vw, 320px) * 301 / 314 + 24px); }
}
.ps-404__inner { max-width: 640px; margin: 0 auto; padding-inline: 16px; text-align: center; color: var(--navy); }
.ps-404__kicker { margin: 0 0 8px; font: 800 13px 'Montserrat', sans-serif !important; letter-spacing: .08em; text-transform: uppercase; }
.ps-404__text { font-size: 17px; }
.ps-404__btn { display: inline-flex; align-items: center; margin-top: 24px; min-height: 48px; padding: 0 28px; border-radius: 999px; background: var(--yellow, #F9ED30); color: var(--navy); font: 800 15px 'Montserrat', sans-serif; text-decoration: none; }
.ps-collections-page__inner { max-width: 1180px; margin: 0 auto; padding-inline: 16px; }

/* Policy pages: headings inside the page text (e.g. Privacy "CONSENT") read like the bold section labels on
   Terms / Shipping - body size, bold, body font - so every policy page looks the same */
.ps-policy__content :is(h2, h3, h4) {
  margin: 1.75rem 0 .5rem;
  font-family: inherit;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  color: var(--navy);
}
.ps-policy__content > :is(h2, h3, h4):first-child { margin-top: 0; }
