/* ==========================================================================
   PYTHAL — Global Design System
   Quiet luxury / warm modernity / editorial restraint
   ========================================================================== */

/* ---- Font loading (self-hostable Google Fonts, swap strategy) ---- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400&family=Inter:wght@400;500;600&display=swap');

/* ---- Design tokens ---- */
:root{
  /* Brand palette — used exactly as specified */
  --mocha:   #AB886D;
  --beige:   #E6D3BD;
  --creme:   #F8F4E1;
  --orchid:  #BB979C;
  --sage:    #93AB8E;
  --blue:    #95ACBA;
  --black:   #000000;
  --white:   #FFFFFF;

  /* Working tones derived from the palette (typographic ink, hairlines) */
  --ink:        #231F20;
  --ink-soft:   rgba(35,31,32,.72);
  --hairline:   rgba(35,31,32,0.12);
  --hairline-on-dark: rgba(248,244,225,0.18);

  --surface-canvas: var(--creme);
  --surface-panel:  var(--white);
  --surface-dark:   #231F20;

  /* Type */
  --font-display: "Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --font-body: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;

  /* Fluid type scale */
  --fs-display-xl: clamp(2.6rem, 3.2vw + 1.6rem, 6.4rem);
  --fs-display-lg: clamp(2.1rem, 2.2vw + 1.4rem, 3.8rem);
  --fs-display-md: clamp(1.7rem, 1.4vw + 1.2rem, 2.6rem);
  --fs-display-sm: clamp(1.35rem, 0.8vw + 1.05rem, 1.9rem);
  --fs-eyebrow:    0.78rem;
  --fs-body-lg:    clamp(1.05rem, 0.2vw + 1rem, 1.2rem);
  --fs-body:       1rem;
  --fs-small:      0.875rem;
  --fs-caption:    0.78rem;

  /* Spacing — 8px base */
  --sp-1: 0.5rem;
  --sp-2: 1rem;
  --sp-3: 1.5rem;
  --sp-4: 2rem;
  --sp-5: 3rem;
  --sp-6: 4rem;
  --sp-7: 5rem;
  --sp-8: 6.5rem;
  --sp-9: 8.5rem;
  --sp-section: clamp(4.5rem, 6vw + 1rem, 10rem);

  /* Layout */
  --container-max: 1400px;
  --container-pad: clamp(1.25rem, 4vw, 3.5rem);
  --editorial-max: 760px;

  /* Radius / shadow / motion */
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 22px;
  --shadow-quiet: 0 1px 2px rgba(28,26,23,0.04), 0 12px 32px rgba(28,26,23,0.05);
  --ease-editorial: cubic-bezier(0.22, 0.61, 0.36, 1);
  --dur-fast: 250ms;
  --dur-med: 450ms;
  --dur-slow: 700ms;

  --header-h: 78px;
  --z-header: 100;
  --z-drawer: 200;
  --z-overlay: 300;
  --z-toast: 400;
}

/* v30 — coded region selector: vector character, crisp rim, visible page context */
body .region-modal .region-modal__backdrop{
  background:rgba(35,31,32,.27)!important;
  -webkit-backdrop-filter:blur(1.5px)!important;
  backdrop-filter:blur(1.5px)!important;
}
body .region-modal .region-modal__panel{
  position:relative!important;
  width:min(410px,calc(100vw - 106px))!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  isolation:isolate!important;
}
body .region-modal .region-modal__art,
body .region-modal .region-modal__baby{display:none!important}
body .region-modal .region-modal__surface{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:36px 39px 25px!important;
  overflow:hidden!important;
  border:3px solid #9b755d!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 45% 28%,#fff 0%,#fcfaf3 46%,#f8f4e1 78%,#efe2d1 100%)!important;
  box-shadow:0 18px 48px rgba(58,39,29,.25),inset 0 0 0 1px rgba(255,255,255,.95),inset 0 -18px 40px rgba(171,136,109,.08)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body .region-modal .region-modal__coded-baby{
  position:absolute!important;
  z-index:1!important;
  top:58px!important;
  left:-74px!important;
  width:122px!important;
  height:276px!important;
  pointer-events:none!important;
  filter:drop-shadow(-7px 11px 13px rgba(67,43,30,.16))!important;
}
body .region-modal .region-modal__coded-baby svg{display:block;width:100%;height:100%;overflow:visible}
body .region-modal .region-baby__body{fill:#f4eadb;stroke:#8b624b;stroke-width:2.1}
body .region-modal .region-baby__ear,
body .region-modal .region-baby__face{fill:#efd0b5;stroke:#8b624b;stroke-width:2.1}
body .region-modal .region-baby__hair{fill:#76503b;stroke:#684432;stroke-width:2}
body .region-modal .region-baby__hair-line,
body .region-modal .region-baby__brow,
body .region-modal .region-baby__nose,
body .region-modal .region-baby__smile,
body .region-modal .region-baby__collar{fill:none;stroke:#76503b;stroke-width:2.1;stroke-linecap:round}
body .region-modal .region-baby__eye{fill:#453126}
body .region-modal .region-baby__glint{fill:#fff}
body .region-modal .region-modal__coded-hand{
  position:absolute!important;
  z-index:4!important;
  top:194px!important;
  left:-18px!important;
  width:39px!important;
  height:60px!important;
  pointer-events:none!important;
  filter:drop-shadow(2px 3px 3px rgba(67,43,30,.14))!important;
}
body .region-modal .region-modal__coded-hand svg{display:block;width:100%;height:100%;overflow:visible}
body .region-modal .region-modal__coded-hand path{fill:#efd0b5;stroke:#8b624b;stroke-width:1.8;stroke-linejoin:round}
body .region-modal .region-modal__close{
  top:4px!important;
  right:-46px!important;
  z-index:6!important;
  width:37px!important;
  height:37px!important;
  color:#f8f4e1!important;
  border:1px solid rgba(248,244,225,.72)!important;
  background:rgba(35,31,32,.42)!important;
  box-shadow:none!important;
}
body .region-modal .region-modal__brand{margin:0 auto 5px!important}
body .region-modal .region-modal__brand img{width:49px!important;max-height:31px!important}
body .region-modal .region-modal__intro{margin:0 auto 13px!important;text-align:center!important}
body .region-modal .region-modal__intro h2{max-width:290px!important;margin:0 auto 6px!important;color:#231f20!important;font-size:26px!important;line-height:.98!important;letter-spacing:-.045em!important}
body .region-modal .region-modal__intro p{max-width:260px!important;margin:0 auto!important;color:#625b57!important;font-size:10.5px!important;line-height:1.36!important}
body .region-modal .region-modal__options{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin:0!important}
body .region-modal .region-modal__option{width:100%!important;min-height:52px!important;padding:6px 14px 6px 8px!important;border:1px solid rgba(171,136,109,.22)!important;border-radius:999px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 6px 14px rgba(86,61,44,.09)!important}
body .region-modal .region-modal__monogram{flex:0 0 35px!important;width:35px!important;height:35px!important;font-size:12px!important}
body .region-modal .region-modal__option-copy small{font-size:6.6px!important;letter-spacing:.13em!important}
body .region-modal .region-modal__option-copy strong{font-size:13.5px!important;line-height:1.04!important}
body .region-modal .region-modal__option-copy em{display:none!important}
body .region-modal .region-modal__arrow{font-size:17px!important}
body .region-modal .region-modal__footer{margin-top:9px!important;font-size:7.5px!important;line-height:1.25!important}
@media(max-width:620px){
  body .region-modal{padding:8px!important}
  body .region-modal .region-modal__backdrop{background:rgba(35,31,32,.23)!important;-webkit-backdrop-filter:blur(1px)!important;backdrop-filter:blur(1px)!important}
  body .region-modal .region-modal__panel{width:min(298px,calc(100vw - 60px))!important}
  body .region-modal .region-modal__surface{padding:27px 27px 19px!important;border-width:2.5px!important}
  body .region-modal .region-modal__coded-baby{top:44px!important;left:-52px!important;width:86px!important;height:201px!important}
  body .region-modal .region-modal__coded-hand{top:141px!important;left:-13px!important;width:29px!important;height:45px!important}
  body .region-modal .region-modal__close{top:-3px!important;right:-39px!important;width:32px!important;height:32px!important}
  body .region-modal .region-modal__brand{margin-bottom:3px!important}
  body .region-modal .region-modal__brand img{width:38px!important;max-height:24px!important}
  body .region-modal .region-modal__intro{margin-bottom:9px!important}
  body .region-modal .region-modal__intro h2{max-width:210px!important;margin-bottom:4px!important;font-size:19px!important}
  body .region-modal .region-modal__intro p{max-width:195px!important;font-size:7.8px!important}
  body .region-modal .region-modal__options{gap:5px!important}
  body .region-modal .region-modal__option{min-height:40px!important;padding:4px 10px 4px 6px!important}
  body .region-modal .region-modal__monogram{flex-basis:27px!important;width:27px!important;height:27px!important;font-size:9px!important}
  body .region-modal .region-modal__option-copy small{font-size:5px!important}
  body .region-modal .region-modal__option-copy strong{font-size:10px!important}
  body .region-modal .region-modal__arrow{font-size:13px!important}
  body .region-modal .region-modal__footer{margin-top:6px!important;font-size:5.8px!important}
}

/* v30.1 — FINAL source-order lock. No raster popup artwork is rendered. */
html body .region-modal .region-modal__backdrop{background:rgba(35,31,32,.25)!important;-webkit-backdrop-filter:blur(1px)!important;backdrop-filter:blur(1px)!important}
html body .region-modal .region-modal__panel{position:relative!important;width:min(410px,calc(100vw - 106px))!important;height:auto!important;max-width:none!important;max-height:none!important;aspect-ratio:1/1!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;isolation:isolate!important}
html body .region-modal .region-modal__art,html body .region-modal .region-modal__baby{display:none!important}
html body .region-modal .region-modal__surface{position:absolute!important;inset:0!important;z-index:2!important;width:100%!important;height:100%!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;justify-content:center!important;padding:36px 39px 25px!important;overflow:hidden!important;border:3px solid #9b755d!important;border-radius:50%!important;background:radial-gradient(circle at 45% 28%,#fff 0%,#fcfaf3 46%,#f8f4e1 78%,#efe2d1 100%)!important;box-shadow:0 18px 48px rgba(58,39,29,.25),inset 0 0 0 1px rgba(255,255,255,.95),inset 0 -18px 40px rgba(171,136,109,.08)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html body .region-modal .region-modal__coded-baby{display:block!important;position:absolute!important;z-index:1!important;top:58px!important;left:-74px!important;width:122px!important;height:276px!important;pointer-events:none!important;filter:drop-shadow(-7px 11px 13px rgba(67,43,30,.16))!important}
html body .region-modal .region-modal__coded-baby svg{display:block!important;width:100%!important;height:100%!important;overflow:visible!important}
html body .region-modal .region-modal__coded-hand{display:block!important;position:absolute!important;z-index:4!important;top:194px!important;left:-18px!important;width:39px!important;height:60px!important;pointer-events:none!important;filter:drop-shadow(2px 3px 3px rgba(67,43,30,.14))!important}
html body .region-modal .region-modal__coded-hand svg{display:block!important;width:100%!important;height:100%!important;overflow:visible!important}
html body .region-modal .region-modal__close{top:4px!important;right:-46px!important;z-index:6!important;width:37px!important;height:37px!important}
html body .region-modal .region-modal__brand img{width:49px!important;max-height:31px!important}
html body .region-modal .region-modal__intro{margin:0 auto 13px!important}
html body .region-modal .region-modal__intro h2{max-width:290px!important;margin:0 auto 6px!important;font-size:26px!important;line-height:.98!important}
html body .region-modal .region-modal__intro p{max-width:260px!important;margin:0 auto!important;font-size:10.5px!important;line-height:1.36!important}
html body .region-modal .region-modal__options{gap:8px!important}
html body .region-modal .region-modal__option{min-height:52px!important;padding:6px 14px 6px 8px!important}
html body .region-modal .region-modal__monogram{flex:0 0 35px!important;width:35px!important;height:35px!important;font-size:12px!important}
html body .region-modal .region-modal__option-copy small{font-size:6.6px!important}html body .region-modal .region-modal__option-copy strong{font-size:13.5px!important}
html body .region-modal .region-modal__footer{margin-top:9px!important;font-size:7.5px!important}
@media(max-width:620px){html body .region-modal .region-modal__panel{width:min(298px,calc(100vw - 60px))!important}html body .region-modal .region-modal__surface{padding:27px 27px 19px!important;border-width:2.5px!important}html body .region-modal .region-modal__coded-baby{top:44px!important;left:-52px!important;width:86px!important;height:201px!important}html body .region-modal .region-modal__coded-hand{top:141px!important;left:-13px!important;width:29px!important;height:45px!important}html body .region-modal .region-modal__close{top:-3px!important;right:-39px!important;width:32px!important;height:32px!important}html body .region-modal .region-modal__brand img{width:38px!important;max-height:24px!important}html body .region-modal .region-modal__intro{margin-bottom:9px!important}html body .region-modal .region-modal__intro h2{max-width:210px!important;font-size:19px!important}html body .region-modal .region-modal__intro p{max-width:195px!important;font-size:7.8px!important}html body .region-modal .region-modal__options{gap:5px!important}html body .region-modal .region-modal__option{min-height:40px!important;padding:4px 10px 4px 6px!important}html body .region-modal .region-modal__monogram{flex-basis:27px!important;width:27px!important;height:27px!important;font-size:9px!important}html body .region-modal .region-modal__option-copy small{font-size:5px!important}html body .region-modal .region-modal__option-copy strong{font-size:10px!important}html body .region-modal .region-modal__footer{margin-top:6px!important;font-size:5.8px!important}}

/* v34 — accessible social icon links */
.social-links{display:flex!important;align-items:center;gap:.65rem;list-style:none;margin:0;padding:0}
.social-links li{margin:0;padding:0}
.social-icon{display:grid!important;place-items:center;width:40px;height:40px;border:1px solid rgba(248,244,225,.3);border-radius:50%;color:var(--creme)!important;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.social-icon:hover,.social-icon:focus-visible{transform:translateY(-2px);border-color:rgba(248,244,225,.75);background:rgba(248,244,225,.1)}
.social-icon svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.social-icon svg path{fill:currentColor;stroke:none}
.social-icon svg .social-icon__dot{fill:currentColor;stroke:none}
.social-links--contact{margin-top:.55rem}
.social-links--contact .social-icon{color:var(--ink)!important;border-color:rgba(35,31,32,.25);background:rgba(255,255,255,.34)}
.social-links--contact .social-icon:hover,.social-links--contact .social-icon:focus-visible{border-color:var(--mocha);background:rgba(171,136,109,.1)}

/* v35 — supplied Pythal symbol used only in navigation headers. */
html body .header-inner > .wordmark img,
html body .nav-drawer .wordmark img{
  content:normal!important;
  display:block!important;
  width:64px!important;
  height:52px!important;
  max-width:64px!important;
  object-fit:contain!important;
  filter:none!important;
}
html body .site-header.on-hero:not(.is-scrolled) .header-inner > .wordmark img{
  content:normal!important;
  filter:brightness(0) invert(1)!important;
}
@media(max-width:720px){
  html body .header-inner > .wordmark img,
  html body .nav-drawer .wordmark img{
    width:54px!important;
    height:44px!important;
    max-width:54px!important;
  }
}

/* v31 final safety lock: no retired toast may remain at the viewport edge. */
html body .region-toast{display:none!important;visibility:hidden!important}

/* v31: the retired location toast must never paint at the viewport edge. */
.region-toast{display:none!important}

/* Pythal locale selector — photographic baby and speech-cloud edition. */
body.pythal-locale-open{overflow:hidden}
.pythal-locale[hidden]{display:none!important}
.pythal-locale{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}
.pythal-locale.is-visible{opacity:1;visibility:visible}
.pythal-locale__veil{position:absolute;inset:0;background:rgba(35,31,32,.54);-webkit-backdrop-filter:blur(10px) saturate(.78);backdrop-filter:blur(10px) saturate(.78)}
.pythal-locale__stage{position:relative;z-index:1;display:grid;grid-template-columns:210px minmax(390px,500px);align-items:end;width:min(710px,calc(100vw - 48px));transform:translateY(16px) scale(.985);transition:transform .32s cubic-bezier(.2,.7,.2,1)}
.pythal-locale.is-visible .pythal-locale__stage{transform:translateY(0) scale(1)}
.pythal-locale__portrait{position:relative;z-index:2;align-self:end;width:238px;margin:0 -38px -4px 0;pointer-events:none}
.pythal-locale__portrait img{display:block;width:100%;height:auto;filter:drop-shadow(0 22px 24px rgba(47,31,23,.24))}
.pythal-locale__card{position:relative;z-index:3;width:100%;padding:38px 38px 28px;border:1px solid rgba(171,136,109,.34);border-radius:42px;background:linear-gradient(145deg,#fff 0%,#fbf8ef 58%,#f4eadd 100%);box-shadow:0 30px 80px rgba(35,31,32,.25),0 1px 0 rgba(255,255,255,.95) inset}
.pythal-locale__card::before{content:"";position:absolute;z-index:-1;left:-18px;bottom:74px;width:42px;height:42px;border-left:1px solid rgba(171,136,109,.34);border-bottom:1px solid rgba(171,136,109,.34);border-radius:0 0 0 12px;background:#f8f2e7;transform:rotate(45deg)}
.pythal-locale__close{position:absolute;z-index:5;top:14px;right:14px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid rgba(35,31,32,.13);border-radius:50%;color:#231f20;background:rgba(255,255,255,.72);cursor:pointer;transition:background .2s ease,transform .2s ease}
.pythal-locale__close:hover{background:#fff;transform:rotate(4deg)}
.pythal-locale__close svg{width:16px;height:16px}.pythal-locale__close path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.pythal-locale__header{text-align:center}.pythal-locale__logo{display:block;width:74px;height:auto;margin:0 auto 10px}.pythal-locale__header h2{max-width:330px;margin:0 auto;color:#231f20;font-family:var(--font-display,Georgia,serif);font-size:clamp(30px,4vw,36px);font-weight:400;line-height:1.03;letter-spacing:-.035em}.pythal-locale__header>p:last-child{max-width:330px;margin:12px auto 21px;color:#625b57;font-size:13px;line-height:1.5}
.pythal-locale__choices{display:grid;gap:9px}.pythal-locale__choice{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:13px;min-height:66px;padding:9px 17px 9px 11px;border:1px solid rgba(171,136,109,.24);border-radius:999px;color:#231f20;background:rgba(255,255,255,.88);box-shadow:0 8px 22px rgba(86,61,44,.07);text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.pythal-locale__choice:hover{border-color:rgba(171,136,109,.7);box-shadow:0 12px 26px rgba(86,61,44,.12);transform:translateY(-2px)}
.pythal-locale__code{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(171,136,109,.32);border-radius:50%;color:#9c765d;background:#fbf5e8;font-family:var(--font-display,Georgia,serif);font-size:13px;letter-spacing:.04em}.pythal-locale__details{display:grid;gap:3px;min-width:0}.pythal-locale__details small{color:#716861;font-size:9px;line-height:1.1;letter-spacing:.13em;text-transform:uppercase}.pythal-locale__details strong{font-size:16px;line-height:1.1}.pythal-locale__arrow{color:#9c765d;font-size:19px;transition:transform .2s ease}.pythal-locale__choice:hover .pythal-locale__arrow{transform:translateX(4px)}
.pythal-locale__continue{display:block;margin:18px auto 0;padding:4px 0;border:0;border-bottom:1px solid rgba(35,31,32,.32);color:#4f4843;background:transparent;font-size:11px;cursor:pointer}
.pythal-locale :focus-visible{outline:2px solid #ab886d;outline-offset:3px}
@media(max-width:700px){.pythal-locale{padding:14px}.pythal-locale__stage{display:block;width:min(390px,calc(100vw - 28px));padding-bottom:62px}.pythal-locale__portrait{position:absolute;z-index:2;left:2px;bottom:0;width:112px;margin:0}.pythal-locale__card{padding:34px 19px 22px;border-radius:32px}.pythal-locale__card::before{left:35px;bottom:-15px;width:34px;height:34px}.pythal-locale__close{top:12px;right:12px;width:32px;height:32px}.pythal-locale__logo{width:66px;margin-bottom:7px}.pythal-locale__header h2{max-width:260px;font-size:29px}.pythal-locale__header>p:last-child{max-width:285px;margin:10px auto 17px;font-size:12px}.pythal-locale__choice{grid-template-columns:38px 1fr auto;gap:10px;min-height:58px;padding:7px 13px 7px 9px}.pythal-locale__code{width:38px;height:38px;font-size:12px}.pythal-locale__details small{font-size:7.5px}.pythal-locale__details strong{font-size:14px}.pythal-locale__continue{margin-top:15px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.pythal-locale,.pythal-locale__stage,.pythal-locale__choice,.pythal-locale__arrow{transition:none}}

/* =========================================================
   Region selector v27 — compact joined baby-and-circle artwork
   The baby is rendered behind the card, with a second clipped
   layer bringing only the gripping hand above the circular rim.
   ========================================================= */
body .region-modal__panel {
  width: min(420px, calc(100vw - 112px)) !important;
  aspect-ratio: 1 / 1 !important;
  overflow: visible !important;
}

body .region-modal__surface {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
  padding: 38px 42px 26px !important;
  overflow: hidden !important;
  border: 4px solid rgba(171, 136, 109, 0.9) !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 48% 35%, rgba(255, 255, 255, 0.98), rgba(248, 244, 225, 0.96) 72%, rgba(230, 211, 189, 0.96) 100%) !important;
  box-shadow:
    0 22px 54px rgba(35, 31, 32, 0.24),
    inset 0 0 30px rgba(255, 255, 255, 0.7) !important;
}

body .region-modal__baby {
  position: absolute !important;
  top: 54px !important;
  left: -72px !important;
  display: block !important;
  width: 112px !important;
  height: 326px !important;
  margin: 0 !important;
  background: url("../img/brand/baby-peeking-cutout-v2.png") center / contain no-repeat !important;
  pointer-events: none !important;
}

body .region-modal__baby--back {
  z-index: 1 !important;
  filter: drop-shadow(-8px 12px 18px rgba(35, 31, 32, 0.2)) !important;
}

body .region-modal__baby--front {
  z-index: 4 !important;
  clip-path: polygon(66% 44%, 100% 44%, 100% 68%, 66% 68%) !important;
  filter: drop-shadow(2px 3px 3px rgba(35, 31, 32, 0.12)) !important;
}

body .region-modal__close {
  top: 2px !important;
  right: -48px !important;
  z-index: 5 !important;
  width: 38px !important;
  height: 38px !important;
}

body .region-modal__brand {
  width: 54px !important;
  margin: 0 auto 7px !important;
}

body .region-modal__intro {
  margin: 0 auto 15px !important;
}

body .region-modal__intro h2 {
  margin: 0 auto 7px !important;
  max-width: 300px !important;
  font-size: 27px !important;
  line-height: 0.98 !important;
  letter-spacing: -0.045em !important;
}

body .region-modal__intro p {
  max-width: 275px !important;
  margin: 0 auto !important;
  font-size: 11px !important;
  line-height: 1.34 !important;
}

body .region-modal__options {
  gap: 8px !important;
}

body .region-modal__option {
  min-height: 54px !important;
  padding: 7px 15px 7px 9px !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 14px rgba(86, 61, 44, 0.1) !important;
}

body .region-modal__monogram {
  width: 36px !important;
  height: 36px !important;
  font-size: 13px !important;
}

body .region-modal__option small {
  margin-bottom: 2px !important;
  font-size: 7px !important;
  letter-spacing: 0.14em !important;
}

body .region-modal__option strong {
  font-size: 14px !important;
  line-height: 1.04 !important;
}

body .region-modal__arrow {
  font-size: 18px !important;
}

body .region-modal__footer {
  margin-top: 10px !important;
  font-size: 8px !important;
  line-height: 1.25 !important;
}

@media (max-width: 620px) {
  body .region-modal__panel {
    width: min(306px, calc(100vw - 58px)) !important;
  }

  body .region-modal__surface {
    padding: 29px 28px 20px !important;
    border-width: 3px !important;
  }

  body .region-modal__baby {
    top: 42px !important;
    left: -51px !important;
    width: 82px !important;
    height: 236px !important;
  }

  body .region-modal__close {
    top: -4px !important;
    right: -40px !important;
    width: 34px !important;
    height: 34px !important;
  }

  body .region-modal__brand {
    width: 43px !important;
    margin-bottom: 5px !important;
  }

  body .region-modal__intro {
    margin-bottom: 10px !important;
  }

  body .region-modal__intro h2 {
    max-width: 230px !important;
    margin-bottom: 5px !important;
    font-size: 20px !important;
  }

  body .region-modal__intro p {
    max-width: 210px !important;
    font-size: 8.5px !important;
  }

  body .region-modal__options {
    gap: 6px !important;
  }

  body .region-modal__option {
    min-height: 43px !important;
    padding: 5px 11px 5px 7px !important;
  }

  body .region-modal__monogram {
    width: 29px !important;
    height: 29px !important;
    font-size: 10px !important;
  }

  body .region-modal__option small {
    font-size: 5.5px !important;
  }

  body .region-modal__option strong {
    font-size: 11px !important;
  }

  body .region-modal__arrow {
    font-size: 15px !important;
  }

  body .region-modal__footer {
    margin-top: 7px !important;
    font-size: 6.5px !important;
  }
}

/* REGION SELECTOR v25 — final readable, integrated composition */
.region-modal .region-modal__panel{width:min(500px,calc(100vw - 150px))!important;max-width:none!important;aspect-ratio:1!important;overflow:visible!important}
.region-modal .region-modal__surface{z-index:2!important;width:100%!important;height:100%!important;box-sizing:border-box!important;padding:48px 54px 30px!important;border:5px solid rgba(171,136,109,.82)!important;border-radius:50%!important;overflow:hidden!important;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.99),rgba(248,244,225,.98) 67%,rgba(230,211,189,.98) 100%)!important;box-shadow:0 28px 70px rgba(35,31,32,.34),0 8px 20px rgba(35,31,32,.18),inset 0 0 0 1px rgba(255,255,255,.92)!important}
.region-modal .region-modal__baby{display:block!important;position:absolute!important;z-index:1!important;top:65px!important;left:-78px!important;width:126px!important;height:378px!important;pointer-events:none!important;background-image:url('../img/brand/baby-peeking-cutout-v2.png')!important;background-repeat:no-repeat!important;background-position:right center!important;background-size:auto 100%!important;filter:drop-shadow(-10px 14px 18px rgba(35,31,32,.22))!important}
.region-modal .region-modal__content{z-index:3!important;width:100%!important;height:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;overflow:visible!important;text-align:center!important}
.region-modal .region-modal__brand{margin:0 0 11px!important}
.region-modal .region-modal__brand img{width:70px!important;max-height:44px!important;object-fit:contain!important}
.region-modal .region-modal__intro{margin:0 0 18px!important}
.region-modal .region-modal__intro h2{max-width:370px!important;margin:0 auto!important;color:#231f20!important;font-size:34px!important;line-height:.98!important;letter-spacing:-.035em!important;font-weight:650!important}
.region-modal .region-modal__intro p{max-width:335px!important;margin:10px auto 0!important;color:#625d58!important;font-size:14px!important;line-height:1.36!important}
.region-modal .region-modal__options{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:11px!important;margin:0!important}
.region-modal .region-modal__option{width:100%!important;min-height:68px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;gap:14px!important;padding:9px 16px 9px 12px!important;border:1px solid rgba(171,136,109,.25)!important;border-radius:999px!important;background:rgba(255,255,255,.91)!important;box-shadow:0 7px 18px rgba(73,56,44,.10)!important;color:#231f20!important;text-align:left!important}
.region-modal .region-modal__monogram{flex:0 0 44px!important;width:44px!important;height:44px!important;border:1px solid rgba(171,136,109,.34)!important;border-radius:50%!important;background:#f8f4e1!important;color:#ab886d!important;font-size:15px!important}
.region-modal .region-modal__option-copy small{margin:0 0 3px!important;color:#625d58!important;font-size:9.5px!important;line-height:1.15!important;letter-spacing:.13em!important}
.region-modal .region-modal__option-copy strong{color:#231f20!important;font-size:18px!important;line-height:1.05!important;font-weight:650!important}
.region-modal .region-modal__arrow{margin-left:auto!important;color:#ab886d!important;font-size:22px!important}
.region-modal .region-modal__footer{display:flex!important;justify-content:center!important;gap:6px!important;margin:13px 0 0!important;color:#6a645f!important;font-size:10.5px!important;line-height:1.2!important;white-space:normal!important}
.region-modal .region-modal__footer button{color:#231f20!important;font-weight:650!important;text-underline-offset:4px!important}
.region-modal .region-modal__close{z-index:5!important;top:5px!important;right:-54px!important;width:42px!important;height:42px!important;border:1px solid rgba(248,244,225,.65)!important;border-radius:50%!important;background:rgba(35,31,32,.28)!important;color:#f8f4e1!important;backdrop-filter:blur(10px)!important}
@media(max-width:600px){
  .region-modal .region-modal__panel{width:min(340px,calc(100vw - 64px))!important}
  .region-modal .region-modal__surface{padding:32px 31px 21px!important;border-width:4px!important}
  .region-modal .region-modal__baby{top:43px!important;left:-55px!important;width:88px!important;height:264px!important}
  .region-modal .region-modal__brand{margin-bottom:7px!important}.region-modal .region-modal__brand img{width:54px!important;max-height:34px!important}
  .region-modal .region-modal__intro{margin-bottom:11px!important}.region-modal .region-modal__intro h2{max-width:245px!important;font-size:23px!important}.region-modal .region-modal__intro p{max-width:240px!important;margin-top:7px!important;font-size:10px!important;line-height:1.3!important}
  .region-modal .region-modal__options{gap:7px!important}.region-modal .region-modal__option{min-height:50px!important;gap:9px!important;padding:6px 11px 6px 8px!important}
  .region-modal .region-modal__monogram{flex-basis:32px!important;width:32px!important;height:32px!important;font-size:11px!important}
  .region-modal .region-modal__option-copy small{font-size:7px!important;letter-spacing:.1em!important}.region-modal .region-modal__option-copy strong{font-size:13px!important}.region-modal .region-modal__arrow{font-size:16px!important}
  .region-modal .region-modal__footer{gap:4px!important;margin-top:8px!important;font-size:7.5px!important}.region-modal .region-modal__close{top:0!important;right:-42px!important;width:34px!important;height:34px!important}
}
@media(max-width:360px){
  .region-modal .region-modal__panel{width:calc(100vw - 58px)!important}.region-modal .region-modal__surface{padding:28px 27px 18px!important}.region-modal .region-modal__baby{top:39px!important;left:-48px!important;width:78px!important;height:234px!important}.region-modal .region-modal__intro h2{font-size:20px!important}.region-modal .region-modal__intro p{font-size:9px!important}.region-modal .region-modal__option{min-height:46px!important}.region-modal .region-modal__close{right:-36px!important;width:31px!important;height:31px!important}
}


/* ---- Reset ---- */
*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *, *::before, *::after{
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
body{
  margin: 0;
  background: var(--surface-canvas);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, picture, video{ max-width: 100%; display: block; }
img{ height: auto; }
a{ color: inherit; text-decoration: none; }
ul, ol{ margin: 0; padding: 0; list-style: none; }
h1,h2,h3,h4,p,figure{ margin: 0; }
button{ font-family: inherit; cursor: pointer; }
input, textarea, select{ font-family: inherit; font-size: inherit; }
.hp-field{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}

/* ---- Focus states (accessibility) ---- */
:focus-visible{
  outline: 2px solid var(--mocha);
  outline-offset: 3px;
  border-radius: 4px;
}
a:focus:not(:focus-visible), button:focus:not(:focus-visible){ outline: none; }

/* ---- Skip link ---- */
.skip-link{
  position: absolute;
  left: 1rem;
  top: -60px;
  background: var(--ink);
  color: var(--creme);
  padding: 0.75rem 1.25rem;
  border-radius: var(--radius-sm);
  z-index: 500;
  transition: top var(--dur-fast) var(--ease-editorial);
}
.skip-link:focus{ top: 1rem; }

/* ---- Layout helpers ---- */
.container{
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
}
.prose{ max-width: var(--editorial-max); }
.section{ padding-block: var(--sp-section); }
.section--tight{ padding-block: var(--sp-6); }
.section--creme{ background: var(--creme); }
.section--white{ background: var(--white); }
.section--beige{ background: var(--beige); }
.section--sage{ background: var(--sage); color: var(--white); }
.section--mocha{ background: var(--mocha); color: var(--white); }
.section--dark{ background: var(--surface-dark); color: var(--creme); }
.visually-hidden{
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* ---- Type ---- */
.eyebrow{
  font-family: var(--font-body);
  font-size: var(--fs-eyebrow);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mocha);
  font-weight: 600;
  display: inline-block;
  margin-bottom: var(--sp-2);
}
.section--dark .eyebrow, .section--mocha .eyebrow{ color: var(--beige); }
.section--sage .eyebrow{ color: var(--white); }

.display-xl{ font-family: var(--font-display); font-weight: 400; font-size: var(--fs-display-xl); line-height: 1.04; letter-spacing: -0.01em; }
.display-lg{ font-family: var(--font-display); font-weight: 400; font-size: var(--fs-display-lg); line-height: 1.08; letter-spacing: -0.01em; }
.display-md{ font-family: var(--font-display); font-weight: 400; font-size: var(--fs-display-md); line-height: 1.16; }
.display-sm{ font-family: var(--font-display); font-weight: 500; font-size: var(--fs-display-sm); line-height: 1.24; }
.lede{ font-size: var(--fs-body-lg); color: var(--ink-soft); line-height: 1.7; }
.body-copy{ color: var(--ink-soft); line-height: 1.75; }
.body-copy + .body-copy{ margin-top: var(--sp-3); }
.caption{ font-size: var(--fs-caption); color: var(--ink-soft); letter-spacing: 0.02em; }

/* ---- Buttons & links ---- */
.btn{
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.95rem 1.9rem;
  border-radius: 999px;
  font-size: var(--fs-small);
  font-weight: 600;
  letter-spacing: 0.03em;
  border: 1px solid transparent;
  transition: background var(--dur-fast) var(--ease-editorial), color var(--dur-fast) var(--ease-editorial), border-color var(--dur-fast) var(--ease-editorial), transform var(--dur-fast) var(--ease-editorial);
  min-height: 48px;
}
.btn--primary{ background: var(--ink); color: var(--creme); }
.btn--primary:hover{ background: var(--mocha); }
.btn--ghost{ background: transparent; color: var(--ink); border-color: currentColor; }
.btn--ghost:hover{ background: var(--ink); color: var(--creme); }
.btn--on-dark{ background: var(--creme); color: var(--ink); }
.btn--on-dark:hover{ background: var(--white); }
.btn--quiet-on-dark{ background: transparent; color: var(--creme); border-color: var(--hairline-on-dark); }
.btn--quiet-on-dark:hover{ border-color: var(--creme); }

.link-underline{
  position: relative;
  padding-bottom: 2px;
  border-bottom: 1px solid currentColor;
  transition: opacity var(--dur-fast) var(--ease-editorial);
}
.link-underline:hover{ opacity: 0.65; }

.text-link{
  font-size: var(--fs-small);
  font-weight: 600;
  letter-spacing: 0.02em;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.text-link svg{ transition: transform var(--dur-fast) var(--ease-editorial); }
.text-link:hover svg{ transform: translateX(4px); }

/* ==========================================================================
   HEADER / NAVIGATION
   ========================================================================== */
.site-header{
  position: sticky;
  top: 0;
  z-index: var(--z-header);
  height: var(--header-h);
  display: flex;
  align-items: center;
  background: transparent;
  transition: background var(--dur-med) var(--ease-editorial), box-shadow var(--dur-med) var(--ease-editorial), border-color var(--dur-med) var(--ease-editorial);
  border-bottom: 1px solid transparent;
}
.site-header.is-scrolled,
.site-header.is-solid{
  background: rgba(248,244,225,0.86);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-bottom-color: var(--hairline);
}
.header-inner{
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: var(--sp-3);
}
.wordmark{
  font-family: var(--font-display);
  font-size: 1.55rem;
  letter-spacing: 0.06em;
  font-weight: 500;
  justify-self: start;
}
.primary-nav{ justify-self: center; }
.primary-nav ul{ display: flex; gap: var(--sp-4); }
.primary-nav a{
  font-size: var(--fs-small);
  font-weight: 500;
  letter-spacing: 0.01em;
  position: relative;
  padding-bottom: 4px;
}
.primary-nav a::after{
  content: "";
  position: absolute;
  left: 0; right: 100%;
  bottom: 0;
  height: 1px;
  background: currentColor;
  transition: right var(--dur-fast) var(--ease-editorial);
}
.primary-nav a:hover::after,
.primary-nav a[aria-current="page"]::after{ right: 0; }
.header-actions{
  justify-self: end;
  display: flex;
  align-items: center;
  gap: var(--sp-3);
}
.icon-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: transparent;
  border: none;
  color: inherit;
  transition: background var(--dur-fast) var(--ease-editorial);
}
.icon-btn:hover{ background: var(--hairline); }
.region-pill{
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: var(--fs-small);
  font-weight: 600;
  padding: 0.55rem 1.1rem;
  border: 1px solid var(--hairline);
  border-radius: 999px;
  background: transparent;
}
.region-pill:hover{ border-color: var(--mocha); }
.menu-toggle{ display: none; }

/* Hero overlay header state */
.site-header.on-hero{
  color: var(--white);
  background: linear-gradient(180deg,rgba(24,18,14,.62) 0%,rgba(24,18,14,.28) 72%,rgba(24,18,14,.08) 100%);
  border-bottom-color:rgba(248,244,225,.12);
  text-shadow:0 1px 12px rgba(0,0,0,.28);
  -webkit-backdrop-filter:blur(5px) saturate(90%);
  backdrop-filter:blur(5px) saturate(90%);
}
.site-header.on-hero .region-pill{ border-color: rgba(248,244,225,.42); background:rgba(20,15,12,.12); }
.site-header.on-hero.is-scrolled{ color: var(--ink); }
.site-header.on-hero.is-scrolled .region-pill{ border-color: var(--hairline); }

/* Mobile nav drawer */
.nav-drawer{
  position: fixed;
  inset: 0;
  background: var(--creme);
  z-index: var(--z-drawer);
  display: flex;
  flex-direction: column;
  padding: var(--sp-4) var(--container-pad);
  transform: translateY(-100%);
  transition: transform var(--dur-med) var(--ease-editorial);
}
.nav-drawer.is-open{ transform: translateY(0); }
.nav-drawer-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header-h);
}
.nav-drawer-links{ margin-top: var(--sp-5); display: flex; flex-direction: column; gap: var(--sp-3); }
.nav-drawer-links a{ font-family: var(--font-display); font-size: 2rem; }
.nav-drawer-footer{ margin-top: auto; display: flex; flex-direction: column; gap: var(--sp-2); padding-top: var(--sp-4); border-top: 1px solid var(--hairline); }

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: flex-end;
  color: var(--white);
  overflow: hidden;
  margin-top: calc(var(--header-h) * -1);
}
.hero-media{ position: absolute; inset: 0; z-index: 0; }
.hero-media img{ width: 100%; height: 100%; object-fit: cover; }
.hero-media::after{
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(20,17,14,0.05) 0%, rgba(20,17,14,0.55) 100%);
}
.hero-content{
  position: relative;
  z-index: 1;
  padding-block: var(--sp-8) var(--sp-7);
  max-width: 780px;
}
.hero-content .eyebrow{ color: var(--beige); }
.hero-content h1{ color: var(--white); }
.hero-content p{ color: var(--creme); margin-top: var(--sp-3); max-width: 480px; }
.hero-ctas{ display: flex; gap: var(--sp-2); margin-top: var(--sp-4); flex-wrap: wrap; }

.page-hero{
  position: relative;
  min-height: 62vh;
  display: flex;
  align-items: flex-end;
  color: var(--white);
  overflow: hidden;
  margin-top: calc(var(--header-h) * -1);
}
.page-hero .hero-content{ padding-block: var(--sp-8) var(--sp-6); max-width: 900px; }
.page-hero::after{
  content:"";
  position:absolute;
  right:clamp(1.25rem,4vw,3.5rem);
  bottom:clamp(1.25rem,3vw,2.5rem);
  z-index:2;
  width:52px;
  height:52px;
  background:rgba(248,244,225,.86) url('/assets/img/brand/pythal-symbol.png') center/29px 29px no-repeat;
  border:1px solid rgba(248,244,225,.72);
  border-radius:50%;
  box-shadow:0 12px 32px rgba(22,16,12,.16);
  opacity:.92;
}

/* ---- Brand film ---- */
.brand-film{position:relative;padding:clamp(5rem,9vw,10rem) 0;background:var(--surface-dark);color:var(--creme);overflow:hidden}
.brand-film::before{content:"";position:absolute;width:520px;height:520px;left:-280px;bottom:-330px;border:1px solid rgba(230,211,189,.12);border-radius:50%}
.brand-film__layout{position:relative;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.55fr);align-items:center;gap:clamp(2rem,6vw,7rem)}
.brand-film__copy{max-width:440px}
.brand-film__symbol{width:44px;height:44px;object-fit:contain;margin-bottom:1.75rem;filter:brightness(0) invert(92%) sepia(10%) saturate(520%);opacity:.86}
.brand-film__copy .eyebrow{color:var(--beige)}
.brand-film__copy h2{margin-top:.8rem;color:var(--creme);font-size:clamp(3rem,6.4vw,6.4rem);line-height:.88;letter-spacing:-.035em}
.brand-film__copy p{margin-top:1.5rem;max-width:35ch;color:rgba(248,244,225,.72);font-size:var(--fs-body-lg)}
.brand-film__copy .text-link{margin-top:2rem;color:var(--creme)}
.brand-film__media{position:relative;margin:0;aspect-ratio:16/9;overflow:hidden;border-radius:clamp(18px,2.5vw,30px);background:#17120f;box-shadow:0 35px 90px rgba(0,0,0,.34)}
.brand-film__media::after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid rgba(248,244,225,.18);border-radius:inherit;box-shadow:inset 0 0 60px rgba(0,0,0,.10)}
.brand-film__media video{display:block;width:100%;height:100%;object-fit:cover}
.brand-film__media figcaption{position:absolute;left:1.25rem;bottom:1rem;z-index:2;padding:.45rem .75rem;color:rgba(248,244,225,.78);background:rgba(20,15,12,.38);border:1px solid rgba(248,244,225,.13);border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}

@media(max-width:800px){
  .brand-film__layout{grid-template-columns:1fr;gap:2.5rem}
  .brand-film__copy{max-width:560px}
  .brand-film__copy h2{font-size:clamp(3.4rem,15vw,5.3rem)}
  .page-hero::after{width:44px;height:44px;background-size:24px 24px}
}

/* ==========================================================================
   MANIFESTO / ASYMMETRIC EDITORIAL
   ========================================================================== */
.manifesto-grid{
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: var(--sp-6);
  align-items: center;
}
.manifesto-grid .display-lg{ margin-top: var(--sp-2); }
.manifesto-grid .body-copy{ margin-top: var(--sp-4); max-width: 46ch; }

/* ==========================================================================
   COLLECTION WORLDS
   ========================================================================== */
.section-head{ max-width: 640px; margin-bottom: var(--sp-6); }
.worlds-grid{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--sp-3);
}
.world-card{
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  min-height: 420px;
  color: var(--white);
  grid-column: span 4;
}
.world-card:nth-child(1){ grid-column: span 7; }
.world-card:nth-child(2){ grid-column: span 5; }
.world-card:nth-child(3){ grid-column: span 5; min-height: 340px; }
.world-card:nth-child(4){ grid-column: span 4; min-height: 340px; }
.world-card:nth-child(5){ grid-column: span 3; min-height: 340px; }
.world-card img{
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  transition: transform var(--dur-slow) var(--ease-editorial);
}
.world-card:hover img{ transform: scale(1.045); }
.world-card::after{
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(20,17,14,0) 40%, rgba(20,17,14,0.62) 100%);
}
.world-card-copy{
  position: relative; z-index: 1;
  padding: var(--sp-4);
  margin-top: auto;
  align-self: flex-end;
}
.world-card{ display: flex; flex-direction: column; }
.world-card-copy .eyebrow{ color: var(--beige); }
.world-card-copy h3{ font-family: var(--font-display); font-size: var(--fs-display-sm); color: var(--white); }
.world-card-copy p{ margin-top: 0.4rem; font-size: var(--fs-small); color: var(--creme); max-width: 32ch; }

/* ==========================================================================
   SPLIT FEATURE STORY
   ========================================================================== */
.feature-story{
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  min-height: 640px;
}
.feature-story-media{ position: relative; overflow: hidden; }
.feature-story-media img{ width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.feature-story-copy{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--sp-7) var(--sp-6);
  background: var(--white);
}
.feature-story-copy .display-lg{ margin-top: var(--sp-2); }
.feature-story-copy p{ margin-top: var(--sp-3); max-width: 44ch; }
.feature-story-copy .text-link{ margin-top: var(--sp-4); }

/* ==========================================================================
   MATERIALS / PILLARS
   ========================================================================== */
.pillars-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-4);
  margin-top: var(--sp-6);
}
.pillar{ border-top: 1px solid var(--hairline); padding-top: var(--sp-3); }
.section--sage .pillar, .section--mocha .pillar, .section--dark .pillar{ border-top-color: var(--hairline-on-dark); }
.pillar-index{ font-family: var(--font-display); font-size: 1.4rem; color: var(--mocha); }
.section--sage .pillar-index, .section--mocha .pillar-index{ color: var(--white); }
.pillar h3{ font-family: var(--font-display); font-size: 1.4rem; font-weight: 500; margin-top: var(--sp-1); }
.pillar p{ margin-top: var(--sp-1); font-size: var(--fs-small); }
.pillar p, .pillar-index{ color: var(--ink-soft); }
.section--sage .pillar p{ color: rgba(255,255,255,0.85); }

/* ==========================================================================
   EMOTIONAL MOMENT
   ========================================================================== */
.moment{
  position: relative;
  min-height: 78vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  color: var(--white);
}
.moment img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.moment::after{ content: ""; position: absolute; inset: 0; background: rgba(20,17,14,0.32); }
.moment blockquote{
  position: relative; z-index: 1;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(1.6rem, 2.4vw + 1rem, 3.1rem);
  max-width: 900px;
  padding-inline: var(--container-pad);
  line-height: 1.3;
}

/* ==========================================================================
   JOURNAL
   ========================================================================== */
.journal-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-4);
  margin-top: var(--sp-6);
}
.article-card{ display: flex; flex-direction: column; }
.article-card-media{ border-radius: var(--radius-md); overflow: hidden; aspect-ratio: 4/5; }
.article-card-media img{ width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-slow) var(--ease-editorial); }
.article-card:hover .article-card-media img{ transform: scale(1.04); }
.article-meta{ display: flex; gap: var(--sp-2); align-items: center; margin-top: var(--sp-3); }
.article-card h3{ font-family: var(--font-display); font-size: 1.5rem; font-weight: 500; margin-top: var(--sp-1); line-height: 1.25; }
.article-card p{ margin-top: 0.5rem; color: var(--ink-soft); font-size: var(--fs-small); }

/* ==========================================================================
   REGION SELECTION
   ========================================================================== */
.region-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); margin-top: var(--sp-6); }
.region-card{
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  min-height: 380px;
  display: flex;
  align-items: flex-end;
  color: var(--white);
}
.region-card img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.region-card::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,17,14,0) 30%, rgba(20,17,14,0.65) 100%); }
.region-card-copy{ position: relative; z-index: 1; padding: var(--sp-5); }
.region-card-copy .eyebrow{ color: var(--beige); }
.region-card-copy h3{ font-family: var(--font-display); font-size: var(--fs-display-sm); color: var(--white); }
.region-card-copy .caption{ color: var(--creme); margin-top: 0.3rem; }
.region-card-copy .btn{ margin-top: var(--sp-3); }
.region-note{ margin-top: var(--sp-4); text-align: center; color: var(--ink-soft); font-size: var(--fs-small); }

/* ==========================================================================
   NEWSLETTER
   ========================================================================== */
.newsletter{ text-align: center; }
.newsletter .display-lg{ margin-top: var(--sp-2); }
.newsletter p{ margin-inline: auto; margin-top: var(--sp-2); }
.newsletter-form{
  display: flex;
  gap: var(--sp-2);
  justify-content: center;
  margin-top: var(--sp-5);
  flex-wrap: wrap;
  max-width: 720px;
  margin-inline: auto;
}
.field{ display: flex; flex-direction: column; gap: 0.4rem; text-align: left; flex: 1 1 200px; }
.field label{ font-size: var(--fs-caption); font-weight: 600; letter-spacing: 0.03em; }
.field input, .field select{
  border: 1px solid var(--hairline);
  background: var(--white);
  border-radius: var(--radius-sm);
  padding: 0.85rem 1rem;
  min-height: 48px;
}
.field input:invalid[data-touched="true"]{ border-color: var(--orchid); }
.form-msg{ margin-top: var(--sp-3); font-size: var(--fs-small); min-height: 1.2em; }
.form-msg[data-state="success"]{ color: #4C6A48; }
.form-msg[data-state="error"]{ color: #9A4F45; }
.consent-copy{ margin-top: var(--sp-3); font-size: var(--fs-caption); color: var(--ink-soft); max-width: 520px; margin-inline: auto; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{ padding-block: var(--sp-7) var(--sp-4); }
.footer-top{
  display: grid;
  grid-template-columns: 1.4fr repeat(4, 1fr);
  gap: var(--sp-4);
}
.footer-brand .wordmark{ color: var(--creme); font-size: 1.7rem; }
.footer-brand p{ margin-top: var(--sp-2); max-width: 34ch; color: rgba(248,244,225,0.72); font-size: var(--fs-small); }
.footer-col h4{ font-size: var(--fs-caption); letter-spacing: 0.1em; text-transform: uppercase; color: rgba(248,244,225,0.55); margin-bottom: var(--sp-2); }
.footer-col ul{ display: flex; flex-direction: column; gap: 0.65rem; }
.footer-col a{ color: rgba(248,244,225,0.85); font-size: var(--fs-small); }
.footer-col a:hover{ color: var(--white); }
.footer-bottom{
  margin-top: var(--sp-6);
  padding-top: var(--sp-3);
  border-top: 1px solid var(--hairline-on-dark);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-2);
  font-size: var(--fs-caption);
  color: rgba(248,244,225,0.55);
}
.footer-bottom a{ color: rgba(248,244,225,0.55); }
.footer-bottom a:hover{ color: var(--white); }

/* ==========================================================================
   BREADCRUMBS / ARTICLE / GENERAL CONTENT
   ========================================================================== */
.breadcrumbs{ font-size: var(--fs-caption); color: var(--ink-soft); margin-bottom: var(--sp-4); }
.breadcrumbs a:hover{ color: var(--ink); }
.breadcrumbs span[aria-hidden]{ margin-inline: 0.4rem; }

.article-header{ max-width: var(--editorial-max); margin-inline: auto; text-align: center; padding-top: var(--sp-6); }
.article-header .caption{ margin-top: var(--sp-3); }
.article-body{ max-width: var(--editorial-max); margin-inline: auto; padding-block: var(--sp-6); }
.article-body h2{ font-family: var(--font-display); font-size: var(--fs-display-sm); margin-top: var(--sp-6); margin-bottom: var(--sp-2); }
.article-body p{ color: var(--ink-soft); line-height: 1.8; margin-bottom: var(--sp-3); }
.article-body blockquote{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.6rem;
  border-left: 2px solid var(--mocha);
  padding-left: var(--sp-3);
  margin-block: var(--sp-5);
}
.article-body figure{ margin-block: var(--sp-5); }
.article-body figure img{ border-radius: var(--radius-md); }
.article-body figcaption{ margin-top: var(--sp-1); font-size: var(--fs-caption); color: var(--ink-soft); }
.toc{ background: var(--white); border: 1px solid var(--hairline); border-radius: var(--radius-md); padding: var(--sp-3) var(--sp-4); margin-block: var(--sp-5); }
.toc h2{ font-size: var(--fs-caption); text-transform: uppercase; letter-spacing: 0.1em; font-family: var(--font-body); margin-bottom: var(--sp-2); }
.toc ol{ display: flex; flex-direction: column; gap: 0.5rem; counter-reset: toc; }
.toc li{ counter-increment: toc; font-size: var(--fs-small); }
.toc li::before{ content: counter(toc) ". "; color: var(--mocha); font-weight: 600; }

.faq-list{ margin-top: var(--sp-4); display: flex; flex-direction: column; gap: var(--sp-1); }
.faq-item{ border-bottom: 1px solid var(--hairline); }
.faq-q{
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: var(--sp-3);
  text-align: left;
  background: none;
  border: none;
  font-weight: 600;
  font-size: var(--fs-body-lg);
}
.faq-q .plus{ transition: transform var(--dur-fast) var(--ease-editorial); }
.faq-item[data-open="true"] .plus{ transform: rotate(45deg); }
.faq-a{ overflow: hidden; max-height: 0; transition: max-height var(--dur-med) var(--ease-editorial); }
.faq-item[data-open="true"] .faq-a{ max-height: 400px; }
.faq-a p{ padding-bottom: var(--sp-3); color: var(--ink-soft); }

/* ---- Simple content page (privacy, terms, accessibility, contact) ---- */
.legal-body{ max-width: var(--editorial-max); margin-inline: auto; }
.legal-body h2{ font-family: var(--font-display); font-size: var(--fs-display-sm); margin-top: var(--sp-5); margin-bottom: var(--sp-2); }
.legal-body p, .legal-body li{ color: var(--ink-soft); line-height: 1.8; margin-bottom: var(--sp-2); }
.legal-body ul{ padding-left: var(--sp-3); list-style: disc; }

.contact-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-7); align-items: start; }
.contact-form{ display: flex; flex-direction: column; gap: var(--sp-3); }
.contact-form .field{ text-align: left; }
.contact-form textarea{ border: 1px solid var(--hairline); border-radius: var(--radius-sm); padding: 1rem; min-height: 140px; resize: vertical; }
.contact-info h3{ font-family: var(--font-display); font-size: 1.5rem; font-weight: 500; margin-top: var(--sp-4); }
.contact-info h3:first-child{ margin-top: 0; }
.contact-info p{ color: var(--ink-soft); margin-top: 0.4rem; }

/* ---- Cards used on Collections index / Journal index ---- */
.index-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-4); margin-top: var(--sp-6); }
.index-card-media{ border-radius: var(--radius-md); overflow: hidden; aspect-ratio: 3/4; }
.index-card-media img{ width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-slow) var(--ease-editorial); }
.index-card:hover .index-card-media img{ transform: scale(1.04); }
.index-card h3{ font-family: var(--font-display); font-size: 1.6rem; font-weight: 500; margin-top: var(--sp-2); }
.index-card p{ margin-top: 0.4rem; color: var(--ink-soft); font-size: var(--fs-small); }

/* ---- Region select page ---- */
.region-select-list{ display: flex; flex-direction: column; gap: var(--sp-2); margin-top: var(--sp-6); }
.region-row{
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--sp-4);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-md);
  background: var(--white);
  transition: border-color var(--dur-fast) var(--ease-editorial);
}
.region-row:hover{ border-color: var(--mocha); }
.region-row-name{ font-family: var(--font-display); font-size: 1.5rem; }
.region-row-meta{ color: var(--ink-soft); font-size: var(--fs-small); margin-top: 0.2rem; }

/* ---- 404 ---- */
.error-page{ min-height: 70vh; display: flex; align-items: center; justify-content: center; text-align: center; }
.error-page .display-xl{ font-size: clamp(4rem, 8vw, 8rem); color: var(--mocha); }
.error-actions{ display: flex; gap: var(--sp-2); justify-content: center; margin-top: var(--sp-4); flex-wrap: wrap; }

/* ---- Search overlay ---- */
.search-overlay{
  position: fixed; inset: 0;
  background: rgba(28,26,23,0.5);
  z-index: var(--z-overlay);
  opacity: 0; pointer-events: none;
  transition: opacity var(--dur-fast) var(--ease-editorial);
  display: flex; align-items: flex-start; justify-content: center;
  padding-top: 12vh;
}
.search-overlay.is-open{ opacity: 1; pointer-events: auto; }
.search-panel{
  background: var(--creme);
  width: min(640px, 92vw);
  border-radius: var(--radius-lg);
  padding: var(--sp-4);
  box-shadow: var(--shadow-quiet);
}
.search-panel input{
  width: 100%;
  border: none;
  border-bottom: 1px solid var(--hairline);
  background: transparent;
  font-family: var(--font-display);
  font-size: 1.6rem;
  padding-block: var(--sp-2);
}
.search-results{ margin-top: var(--sp-3); display: flex; flex-direction: column; gap: var(--sp-1); max-height: 50vh; overflow-y: auto; }
.search-results a{ display: block; padding: 0.65rem 0.4rem; border-radius: var(--radius-sm); font-size: var(--fs-small); }
.search-results a:hover{ background: var(--hairline); }
.search-empty{ padding: var(--sp-3) 0.4rem; color: var(--ink-soft); font-size: var(--fs-small); }
.search-close{ position: absolute; top: var(--sp-4); right: var(--sp-4); }

/* ---- Region suggestion toast ---- */
.region-toast{
  position: fixed;
  bottom: var(--sp-3);
  left: 50%;
  transform: translateX(-50%) translateY(120%);
  background: var(--ink);
  color: var(--creme);
  padding: var(--sp-2) var(--sp-3);
  border-radius: 999px;
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  z-index: var(--z-toast);
  transition: transform var(--dur-med) var(--ease-editorial);
  font-size: var(--fs-small);
  box-shadow: var(--shadow-quiet);
}
.region-toast.is-visible{ transform: translateX(-50%) translateY(0); }
.region-toast a, .region-toast button{ color: var(--creme); font-weight: 600; }
.region-toast .btn--on-dark{ padding: 0.5rem 1rem; min-height: auto; }

/* ---- Premium region modal ---- */
body.region-modal-open{ overflow: hidden; }
.region-modal[hidden]{ display: none; }
.region-modal{
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 4vw, 3rem);
}
.region-modal__backdrop{
  position: absolute;
  inset: 0;
  background: rgba(24, 20, 16, 0.64);
  -webkit-backdrop-filter: blur(12px) saturate(80%);
  backdrop-filter: blur(12px) saturate(80%);
  opacity: 0;
  transition: opacity 280ms var(--ease-editorial);
}
.region-modal__panel{
  position: relative;
  width: min(880px, 100%);
  max-height: min(760px, calc(100vh - 2rem));
  overflow: auto;
  padding: clamp(2rem, 5vw, 4.5rem);
  color: var(--ink);
  background:
    radial-gradient(circle at 92% 8%, rgba(187,151,156,.20), transparent 32%),
    linear-gradient(145deg, #fffdf8 0%, var(--creme) 100%);
  border: 1px solid rgba(248,244,225,.72);
  border-radius: clamp(20px, 3vw, 34px);
  box-shadow: 0 36px 100px rgba(11,9,7,.32), 0 2px 8px rgba(11,9,7,.10);
  opacity: 0;
  transform: translateY(24px) scale(.975);
  transition: opacity 280ms var(--ease-editorial), transform 360ms var(--ease-editorial);
}
.region-modal__panel::before{
  content: "";
  position: absolute;
  top: 0;
  left: clamp(2rem, 5vw, 4.5rem);
  right: clamp(2rem, 5vw, 4.5rem);
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--mocha), transparent);
  opacity: .62;
}
.region-modal.is-open .region-modal__backdrop{ opacity: 1; }
.region-modal.is-open .region-modal__panel{ opacity: 1; transform: translateY(0) scale(1); }
.region-modal__close{
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: var(--ink-soft);
  background: rgba(255,255,255,.62);
  border: 1px solid var(--hairline);
  border-radius: 50%;
  transition: color var(--dur-fast), background var(--dur-fast), transform var(--dur-fast);
}
.region-modal__close:hover{ color: var(--ink); background: var(--white); transform: rotate(5deg); }
.region-modal__intro{ max-width: 650px; margin: 0 auto clamp(2rem, 4vw, 3rem); text-align: center; }
.region-modal__eyebrow{
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: 1rem;
  color: var(--mocha);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.region-modal__eyebrow::before,.region-modal__eyebrow::after{ content:""; width:24px; height:1px; background:currentColor; opacity:.55; }
.region-modal__intro h2{ font-family: var(--font-display); font-size: clamp(2.35rem, 5vw, 4.4rem); font-weight: 400; line-height: .98; letter-spacing: -.025em; }
.region-modal__intro p{ max-width: 560px; margin: 1.25rem auto 0; color: var(--ink-soft); font-size: var(--fs-body-lg); }
.region-modal__options{ display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.region-modal__option{
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
  min-height: 150px;
  padding: clamp(1.25rem, 3vw, 2rem);
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(28,26,23,.10);
  border-radius: 18px;
  box-shadow: 0 12px 34px rgba(28,26,23,.045);
  transition: border-color var(--dur-fast), background var(--dur-fast), transform var(--dur-fast), box-shadow var(--dur-fast);
}
.region-modal__option:hover{
  background: var(--white);
  border-color: rgba(171,136,109,.52);
  transform: translateY(-4px);
  box-shadow: 0 20px 45px rgba(28,26,23,.09);
}
.region-modal__monogram{
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  color: var(--mocha);
  background: var(--creme);
  border: 1px solid rgba(171,136,109,.28);
  border-radius: 50%;
  font-family: var(--font-display);
  font-size: 1.15rem;
  letter-spacing: .06em;
}
.region-modal__option-copy{ display: flex; flex-direction: column; min-width: 0; }
.region-modal__option-copy small{ margin-bottom:.15rem; color:var(--ink-soft); font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; }
.region-modal__option-copy strong{ font-family:var(--font-display); font-size:clamp(1.55rem,3vw,2.05rem); font-weight:500; line-height:1.1; }
.region-modal__option-copy em{ margin-top:.35rem; color:var(--ink-soft); font-size:.82rem; font-style:normal; }
.region-modal__arrow{ color:var(--mocha); font-size:1.5rem; transition:transform var(--dur-fast); }
.region-modal__option:hover .region-modal__arrow{ transform:translateX(4px); }
.region-modal__footer{ display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:.55rem; margin-top:1.75rem; color:var(--ink-soft); font-size:.86rem; }
.region-modal__footer button{ padding:0; color:var(--ink); background:none; border:0; border-bottom:1px solid rgba(28,26,23,.35); font:inherit; font-weight:600; }
.region-modal__footer button:hover{ border-color:var(--mocha); }

@media (max-width: 680px){
  .region-modal{ align-items:end; padding:.65rem; }
  .region-modal__panel{ max-height:calc(100dvh - 1.3rem); padding:3.5rem 1.15rem 1.5rem; border-radius:24px; }
  .region-modal__panel::before{ left:1.5rem; right:1.5rem; }
  .region-modal__intro{ margin-bottom:1.5rem; }
  .region-modal__intro h2{ font-size:clamp(2.25rem,11vw,3.25rem); }
  .region-modal__intro p{ font-size:.95rem; }
  .region-modal__options{ grid-template-columns:1fr; }
  .region-modal__option{ min-height:118px; padding:1rem; }
  .region-modal__monogram{ width:50px; height:50px; }
}

@media (prefers-reduced-motion: reduce){
  .region-modal__backdrop,.region-modal__panel,.region-modal__option{ transition:none; }
}

/* ---- Utility reveal (scroll animation) ---- */
.reveal{ opacity: 0; transform: translateY(18px); transition: opacity var(--dur-slow) var(--ease-editorial), transform var(--dur-slow) var(--ease-editorial); }
.reveal.is-visible{ opacity: 1; transform: translateY(0); }

/* Supplied Pythal brand artwork */
.wordmark{display:inline-flex;align-items:center;text-decoration:none;line-height:1;}
.wordmark img{display:block;width:auto;height:42px;max-width:190px;object-fit:contain;}
.site-header.on-hero:not(.is-scrolled) .wordmark img{filter:brightness(0) invert(1);}
.footer-brand .wordmark img{height:52px;filter:none;}
@media (max-width: 720px){.wordmark img{height:36px;max-width:150px}.footer-brand .wordmark img{height:46px}}

/* Pythal signature icon accents — intentionally restrained */
.pythal-signature-mark{display:block;width:42px;height:42px;object-fit:contain;opacity:.72}
.pythal-signature-mark--soft{opacity:.28;width:64px;height:64px}
.pythal-signature-mark--micro{width:26px;height:26px;opacity:.52}
.pythal-icon-lockup{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.pythal-icon-lockup .eyebrow{margin:0}
.pythal-philosophy-mark{position:absolute;right:clamp(18px,5vw,70px);top:clamp(36px,6vw,82px);pointer-events:none}
.pythal-section-signature{display:flex;justify-content:center;align-items:center;padding:12px 0 4px}
.pythal-section-signature:before,.pythal-section-signature:after{content:'';height:1px;width:min(90px,12vw);background:currentColor;opacity:.14}
.pythal-section-signature img{margin:0 16px}
.footer-signature{margin-top:24px;display:flex;align-items:center;gap:12px;color:rgba(248,244,225,.62);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.footer-signature img{filter:brightness(0) invert(1);opacity:.55}
@media(max-width:720px){.pythal-philosophy-mark{right:20px;top:28px}.pythal-signature-mark--soft{width:46px;height:46px}.pythal-section-signature{padding-top:0}.pythal-section-signature:before,.pythal-section-signature:after{width:44px}}


/* ==========================================================================
   PYTHAL — Luxury Interaction Layer
   Premium motion, tactile details, baby-oriented brand cues
   ========================================================================== */
:root{
  --glow: rgba(248,244,225,.42);
  --mocha-soft: rgba(171,136,109,.18);
  --silk: cubic-bezier(.16,1,.3,1);
}
body{overflow-x:hidden}
body::selection{background:var(--mocha);color:var(--white)}

/* Hairline scroll progress */
.pythal-progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:9999;pointer-events:none}
.pythal-progress span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#9e7c63,#c4a58c,#e3d2c1);transform:scaleX(0);transform-origin:left center;will-change:transform}



/* Hero: cinematic depth and nursery-mobile motif */
.hero-media img{transform:scale(1.025);transition:transform 1.4s var(--silk),filter 1.2s ease;will-change:transform}
.hero.is-ready .hero-media img{transform:scale(1)}
.hero-content>*{opacity:0;transform:translateY(28px)}
.hero.is-ready .hero-content>*{animation:pythalHeroIn .95s var(--silk) forwards}
.hero.is-ready .hero-content>*:nth-child(2){animation-delay:.10s}.hero.is-ready .hero-content>*:nth-child(3){animation-delay:.20s}.hero.is-ready .hero-content>*:nth-child(4){animation-delay:.30s}
@keyframes pythalHeroIn{to{opacity:1;transform:none}}
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at var(--mx,70%) var(--my,35%),rgba(248,244,225,.16),transparent 26%);opacity:.8;transition:opacity .5s ease}

.nursery-mobile{position:absolute;right:clamp(26px,5vw,86px);top:clamp(105px,14vh,170px);z-index:2;width:170px;height:230px;pointer-events:none;opacity:.62;filter:drop-shadow(0 8px 20px rgba(20,17,14,.08))}
.nursery-mobile .mobile-thread{stroke:rgba(255,255,255,.6);stroke-width:1;fill:none}
.nursery-mobile .mobile-shape{fill:none;stroke:rgba(255,255,255,.8);stroke-width:1.2}
.nursery-mobile .m1{transform-origin:50% 0;animation:mobileSway 7s ease-in-out infinite}.nursery-mobile .m2{transform-origin:50% 0;animation:mobileSway 8.5s ease-in-out -2s infinite}.nursery-mobile .m3{transform-origin:50% 0;animation:mobileSway 9.5s ease-in-out -4s infinite}
@keyframes mobileSway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}

/* premium buttons: sheen + magnetic movement */
.btn{position:relative;overflow:hidden;isolation:isolate;box-shadow:0 8px 24px transparent}
.btn::after{content:"";position:absolute;inset:-2px;z-index:-1;background:linear-gradient(110deg,transparent 28%,rgba(255,255,255,.30) 44%,transparent 60%);transform:translateX(-130%);transition:transform .75s var(--silk)}
.btn:hover::after{transform:translateX(130%)}
.btn:hover{box-shadow:0 16px 38px rgba(39,30,23,.14)}

/* reveal system with richer art direction */
.reveal{opacity:0;transform:translateY(30px);filter:blur(5px);transition:opacity .95s var(--silk),transform .95s var(--silk),filter .95s var(--silk)}
.reveal.is-visible{opacity:1;transform:none;filter:none}
.reveal .display-lg{transition:letter-spacing 1.1s var(--silk)}
.reveal.is-visible .display-lg{letter-spacing:-.015em}

/* image mask reveal */
.world-card,.article-card-media,.index-card-media,.feature-story-media,.manifesto-grid>div>img{clip-path:inset(0 0 0 0 round var(--radius-lg))}
.world-card::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(120deg,rgba(255,255,255,.00),rgba(255,255,255,.13),rgba(255,255,255,0));transform:translateX(-120%);transition:transform .9s var(--silk);pointer-events:none}
.world-card:hover::before{transform:translateX(120%)}
.world-card{transition:transform .55s var(--silk),box-shadow .55s var(--silk);transform-style:preserve-3d}
.world-card:hover{transform:translateY(-7px) scale(1.006);box-shadow:0 28px 70px rgba(43,32,24,.16)}
.world-card-copy{transition:transform .55s var(--silk)}.world-card:hover .world-card-copy{transform:translateY(-6px)}
.article-card{transition:transform .5s var(--silk)}.article-card:hover{transform:translateY(-6px)}
.article-card-media{box-shadow:0 16px 42px rgba(45,34,26,.08)}

/* subtle stitched separators — baby textile cue, not childish */
.stitched-divider{height:34px;position:relative;background:var(--creme);overflow:hidden}
.stitched-divider::before{content:"";position:absolute;left:var(--container-pad);right:var(--container-pad);top:50%;height:1px;background:repeating-linear-gradient(90deg,var(--mocha) 0 5px,transparent 5px 12px);opacity:.32}
.stitched-divider::after{content:"✦";position:absolute;left:50%;top:50%;transform:translate(-50%,-53%);background:var(--creme);padding:0 16px;color:var(--mocha);font-size:11px;letter-spacing:.2em}

/* Little rituals interactive section */
.little-rituals{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,var(--creme) 100%)}
.little-rituals::after{content:"";position:absolute;width:460px;height:460px;border:1px solid rgba(171,136,109,.14);border-radius:50%;right:-210px;top:-220px;pointer-events:none}
.ritual-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--sp-6);align-items:end;margin-bottom:var(--sp-6)}
.ritual-intro p{max-width:48ch;color:var(--ink-soft)}
.ritual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ritual-card{position:relative;min-height:300px;padding:34px;border:1px solid rgba(28,26,23,.10);border-radius:28px;background:rgba(255,255,255,.72);backdrop-filter:blur(8px);overflow:hidden;transition:transform .55s var(--silk),border-color .4s ease,box-shadow .55s var(--silk);cursor:pointer}
.ritual-card:hover,.ritual-card:focus-visible{transform:translateY(-8px);border-color:rgba(171,136,109,.42);box-shadow:0 30px 70px rgba(51,37,28,.10)}

.ritual-card h3{font-family:var(--font-display);font-size:1.8rem;font-weight:500;margin-top:40px}.ritual-card p{color:var(--ink-soft);font-size:.9rem;margin-top:9px;max-width:30ch}


/* material section gets woven light */
.section--sage{position:relative;overflow:hidden;background:linear-gradient(135deg,#d8c3ae 0%,var(--sage) 45%,#e3d2c1 100%)}
.section--sage::before{content:"";position:absolute;inset:0;opacity:.10;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.7) 0 1px,transparent 1px 8px),repeating-linear-gradient(0deg,rgba(255,255,255,.4) 0 1px,transparent 1px 8px);mask-image:linear-gradient(90deg,transparent,#000,transparent);pointer-events:none}
.section--sage>.container{position:relative;z-index:1}
.pillar{transition:transform .45s var(--silk),background .45s ease;padding:24px;border-radius:18px}
.section--sage .pillar:hover{transform:translateY(-5px);background:rgba(255,255,255,.08)}

/* emotional moment: slow cinematic zoom */
.moment img{transform:scale(1.05);transition:transform 8s ease-out}.moment.is-visible img{transform:scale(1)}
.moment blockquote{text-shadow:0 6px 30px rgba(20,17,14,.18)}
.moment blockquote::before{content:"";display:block;width:1px;height:54px;background:rgba(255,255,255,.65);margin:0 auto 26px}

/* icon gets premium micro motion */
.pythal-signature-mark{transition:transform .8s var(--silk),opacity .4s ease}.pythal-icon-lockup:hover .pythal-signature-mark{transform:rotate(-7deg) scale(1.08);opacity:.9}
.pythal-philosophy-mark img{animation:iconBreathe 7s ease-in-out infinite}@keyframes iconBreathe{0%,100%{transform:scale(1);opacity:.22}50%{transform:scale(1.06);opacity:.34}}

/* baby-oriented tiny constellations */
.baby-constellation{position:absolute;pointer-events:none;color:var(--mocha);opacity:.18}
.baby-constellation svg{width:130px;height:130px}.baby-constellation--left{left:2vw;bottom:5vw;transform:rotate(-12deg)}.baby-constellation--right{right:3vw;top:5vw;transform:rotate(8deg)}

/* nav and footer polish */
.primary-nav a{transition:color .3s ease,opacity .3s ease}.primary-nav ul:hover a{opacity:.48}.primary-nav ul a:hover{opacity:1}
.site-header.is-scrolled{box-shadow:0 10px 40px rgba(38,29,22,.055)}
.footer-col a{display:inline-block;position:relative;transition:transform .3s var(--silk),color .3s ease}.footer-col a:hover{transform:translateX(4px)}

/* interactive tilt hint */
[data-tilt]{will-change:transform;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0px));transition:transform .18s ease-out}
[data-tilt]:hover{--ty:-4px}

@media (max-width:900px){
  .nursery-mobile{width:115px;height:160px;right:12px;top:105px;opacity:.42}
  .ritual-intro{grid-template-columns:1fr;gap:20px}.ritual-grid{grid-template-columns:1fr}.ritual-card{min-height:240px}
  
}
@media (max-width:600px){.nursery-mobile{display:none}.ritual-card{padding:28px;border-radius:22px}.baby-constellation{display:none}}

/* Refined baby-oriented ritual iconography */
.ritual-icon{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(248,244,225,.96),rgba(230,211,189,.48));border:1px solid rgba(171,136,109,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 26px rgba(75,55,42,.05);color:var(--mocha);transition:transform .55s var(--silk),box-shadow .55s var(--silk),background .55s ease}
.ritual-icon svg{width:42px;height:42px;display:block}
.ritual-card:hover .ritual-icon,.ritual-card:focus-visible .ritual-icon{transform:translateY(-3px) scale(1.035);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 18px 34px rgba(75,55,42,.09);background:linear-gradient(145deg,#fffaf0,rgba(230,211,189,.62))}
.ritual-kicker{display:block;margin-top:27px;font-size:.66rem;line-height:1;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(112,79,60,.72)}
.ritual-card h3{margin-top:10px}
@media(max-width:600px){.ritual-icon{width:64px;height:64px;border-radius:19px}.ritual-icon svg{width:38px;height:38px}}

/* 2026-08 premium editorial refinement: Little Rituals */
.little-rituals{
  background:
    radial-gradient(circle at 84% 7%, rgba(187,151,156,.07), transparent 28%),
    radial-gradient(circle at 10% 92%, rgba(149,172,186,.055), transparent 30%),
    linear-gradient(180deg,#fffdf9 0%,#fbf7e9 100%);
}
.little-rituals::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;
  background-image:
    repeating-linear-gradient(0deg,rgba(171,136,109,.045) 0 1px,transparent 1px 7px),
    repeating-linear-gradient(90deg,rgba(171,136,109,.032) 0 1px,transparent 1px 9px);
  mask-image:linear-gradient(180deg,transparent 4%,#000 22%,#000 78%,transparent 96%);
}
.little-rituals>.container{position:relative;z-index:2}
.ritual-intro{position:relative;padding-bottom:34px;margin-bottom:26px;border-bottom:1px solid rgba(171,136,109,.18)}
.ritual-intro::after{content:"";position:absolute;left:0;bottom:-1px;width:118px;height:1px;background:var(--mocha);opacity:.65}
.ritual-grid{gap:0;border-top:1px solid rgba(171,136,109,.12);border-bottom:1px solid rgba(171,136,109,.12)}
.ritual-card{
  min-height:310px;padding:42px 38px 38px;border:0;border-radius:0;background:transparent;backdrop-filter:none;
  overflow:visible;cursor:default;box-shadow:none;transition:background .5s var(--silk),transform .5s var(--silk)
}
.ritual-card+ .ritual-card{border-left:1px solid rgba(171,136,109,.14)}
.ritual-card::after{content:"";position:absolute;left:38px;right:38px;bottom:24px;height:1px;opacity:0;transform:scaleX(.4);transform-origin:left;background:linear-gradient(90deg,var(--mocha),transparent);transition:opacity .45s ease,transform .55s var(--silk)}
.ritual-card:hover,.ritual-card:focus-visible{transform:translateY(-3px);background:rgba(255,255,255,.38);box-shadow:none}
.ritual-card:hover::after,.ritual-card:focus-visible::after{opacity:.48;transform:scaleX(1)}
.ritual-icon{
  width:68px;height:68px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(145deg,#b99376 0%,#8f684f 100%);border:1px solid rgba(255,255,255,.48);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 13px 28px rgba(85,58,41,.14);
  color:var(--creme);position:relative
}
.ritual-icon::before{content:"";position:absolute;inset:5px;border:1px solid rgba(248,244,225,.34);border-radius:50%}
.ritual-icon::after{content:"";position:absolute;left:50%;bottom:-14px;width:34px;height:1px;transform:translateX(-50%);background:var(--mocha);opacity:.38}
.ritual-icon svg{width:37px;height:37px;stroke-width:1.25;position:relative;z-index:1}
.ritual-card:hover .ritual-icon,.ritual-card:focus-visible .ritual-icon{transform:translateY(-4px) rotate(-2deg);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 20px 38px rgba(85,58,41,.18);background:linear-gradient(145deg,#c49c7d,#876047)}
.ritual-kicker{margin-top:34px;font-size:.61rem;letter-spacing:.24em;color:rgba(112,79,60,.68)}
.ritual-card h3{margin-top:12px;font-size:2rem;letter-spacing:-.018em}
.ritual-card p{font-size:.92rem;line-height:1.7;max-width:31ch}
.little-rituals .baby-constellation{opacity:.10}
.little-rituals::after{width:520px;height:520px;border-color:rgba(171,136,109,.10);right:-250px;top:-260px}

/* ---- Pythal campaign editions ---- */
.campaign-editions{padding:clamp(5rem,8vw,9rem) 0;background:#fff;overflow:hidden}
.campaign-editions__head{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:2rem;margin-bottom:clamp(2rem,4vw,3.5rem)}
.campaign-editions__head p{max-width:39ch;color:var(--ink-soft);justify-self:end;font-size:var(--fs-body-lg)}
.campaign-editions__rail{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(.7rem,1.2vw,1.25rem)}
.campaign-tile{position:relative;aspect-ratio:4/5.25;overflow:hidden;border-radius:22px;background:var(--beige);box-shadow:0 18px 44px rgba(31,24,19,.10);isolation:isolate;transition:transform .6s var(--silk),box-shadow .6s var(--silk)}
.campaign-tile img{width:100%;height:100%;object-fit:cover;filter:saturate(.76) contrast(.95);transform:scale(1.01);transition:transform .9s var(--silk),filter .7s ease}
.campaign-tile__veil{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(24,19,15,.38) 0%,rgba(24,19,15,.05) 50%,rgba(24,19,15,.30) 100%);mix-blend-mode:multiply}
.campaign-tile--sand .campaign-tile__veil{background:linear-gradient(180deg,rgba(112,83,58,.32),rgba(225,206,178,.12) 55%,rgba(60,44,33,.25))}
.campaign-tile--umber .campaign-tile__veil{background:linear-gradient(180deg,rgba(45,28,19,.62),rgba(83,53,35,.22) 58%,rgba(32,22,17,.52))}
.campaign-tile--linen .campaign-tile__veil{background:linear-gradient(180deg,rgba(113,86,61,.30),rgba(221,205,181,.08) 55%,rgba(66,48,34,.27))}
.campaign-tile--rose .campaign-tile__veil{background:linear-gradient(180deg,rgba(113,59,60,.43),rgba(177,111,111,.16) 60%,rgba(68,39,39,.35))}
.campaign-tile--sage .campaign-tile__veil{background:linear-gradient(180deg,rgba(67,78,57,.46),rgba(138,151,116,.12) 58%,rgba(45,55,39,.35))}
.campaign-tile--slate .campaign-tile__veil{background:linear-gradient(180deg,rgba(43,54,65,.52),rgba(100,116,130,.14) 58%,rgba(31,39,48,.42))}
.campaign-tile__copy{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1rem,1.6vw,1.45rem);color:#fff}
.campaign-tile__copy span{font-size:.63rem;letter-spacing:.22em;opacity:.82}
.campaign-tile__copy h3{font-family:var(--font-body);font-size:clamp(.88rem,1.25vw,1.2rem);font-weight:500;line-height:1.13;letter-spacing:.035em;text-transform:uppercase;text-shadow:0 1px 12px rgba(0,0,0,.18)}
.campaign-tile__copy h3::after{content:"";display:block;width:24px;height:1px;margin-top:.75rem;background:currentColor;opacity:.75}
.campaign-tile:hover{transform:translateY(-8px);box-shadow:0 28px 58px rgba(31,24,19,.16)}
.campaign-tile:hover img{transform:scale(1.055);filter:saturate(.88) contrast(1)}

@media(max-width:1050px){
  .campaign-editions__rail{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:680px){
  .campaign-editions__head{grid-template-columns:1fr;gap:1rem}
  .campaign-editions__head p{justify-self:start}
  .campaign-editions__rail{display:flex;gap:.85rem;overflow-x:auto;padding:0 var(--container-pad) 1.2rem;margin-inline:calc(var(--container-pad) * -1);scroll-snap-type:x mandatory;scrollbar-width:none}
  .campaign-editions__rail::-webkit-scrollbar{display:none}
  .campaign-tile{flex:0 0 min(72vw,280px);scroll-snap-align:center;border-radius:18px}
  .ritual-icon{width:62px;height:62px}.ritual-icon svg{width:34px;height:34px}
}

/* v18 — official stacked Pythal identity system. */
.header-inner > .wordmark img,
.nav-drawer .wordmark img{
  width:auto;
  height:68px;
  max-width:82px;
  object-fit:contain;
  filter:none;
}
.site-header.on-hero:not(.is-scrolled) .header-inner > .wordmark img{
  content:url('/assets/img/brand/pythal-logo-creme.png');
  filter:none;
}
.footer-wordmark{
  display:inline-flex;
  align-items:center;
  line-height:1;
  text-decoration:none;
}
.footer-wordmark img{
  display:block;
  width:auto;
  height:104px;
  max-width:120px;
  object-fit:contain;
}
.region-modal__brand img{
  width:58px;
  height:auto;
  filter:none;
}
@media(max-width:720px){
  .header-inner > .wordmark img,
  .nav-drawer .wordmark img{height:54px;max-width:65px}
  .footer-wordmark img{height:86px;max-width:100px}
  .region-modal__brand img{width:42px}
}

/* v22 FINAL POPUP OVERRIDE — keep at the physical end of this file. */
.region-modal__panel{
  position:relative!important;
  width:min(620px,calc(100vw - 32px))!important;
  height:auto!important;
  max-height:calc(100dvh - 28px)!important;
  aspect-ratio:1451/1084!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.region-modal__art{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  opacity:1!important;
  z-index:1!important;
  pointer-events:none!important;
}
.region-modal__art--baby-front,
.region-modal__decor--baby,
.region-modal__decor--baby-hand{display:none!important}
.region-modal__surface{
  position:absolute!important;
  left:24.2%!important;
  top:8%!important;
  width:62.8%!important;
  height:84%!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:7.5% 7.4% 6.2%!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.region-modal__brand,.region-modal__intro,.region-modal__options,.region-modal__footer{
  position:relative!important;inset:auto!important;transform:none!important;width:auto!important;height:auto!important
}
.region-modal__brand{margin:0 0 .32rem!important}
.region-modal__brand img{width:58px!important;height:auto!important}
.region-modal__intro{margin:0 0 .7rem!important}
.region-modal__intro h2{font-size:clamp(1.38rem,2.65vw,2.15rem)!important;line-height:.96!important}
.region-modal__intro p{margin:.55rem auto 0!important;font-size:clamp(.64rem,1.12vw,.9rem)!important;line-height:1.35!important;max-width:29rem!important}
.region-modal__options{display:grid!important;gap:.55rem!important;margin:0!important}
.region-modal__option{min-height:58px!important;padding:.55rem .9rem!important}
.region-modal__monogram{width:38px!important;height:38px!important}
.region-modal__option-copy small{font-size:.56rem!important}
.region-modal__option-copy strong{font-size:clamp(.78rem,1.35vw,1.05rem)!important}
.region-modal__footer{margin:.65rem 0 0!important;font-size:clamp(.48rem,.82vw,.65rem)!important}
.region-modal__close{top:8.5%!important;right:3.5%!important;z-index:4!important}
@media(max-width:680px){
  .region-modal__panel{width:min(360px,calc(100vw - 16px))!important;max-height:calc(100dvh - 12px)!important}
  .region-modal__surface{left:23.8%!important;top:7.5%!important;width:63.5%!important;height:85%!important;padding:7% 7% 5.5%!important}
  .region-modal__brand{margin-bottom:.12rem!important}.region-modal__brand img{width:36px!important}
  .region-modal__intro{margin-bottom:.32rem!important}.region-modal__intro h2{font-size:1rem!important}.region-modal__intro p{margin-top:.22rem!important;font-size:.45rem!important}
  .region-modal__options{gap:.26rem!important}.region-modal__option{min-height:38px!important;padding:.28rem .5rem!important}
  .region-modal__monogram{width:24px!important;height:24px!important;font-size:.55rem!important}.region-modal__option-copy small{font-size:.34rem!important}.region-modal__option-copy strong{font-size:.58rem!important}
  .region-modal__footer{margin-top:.28rem!important;font-size:.35rem!important}.region-modal__close{top:6%!important;right:1%!important;width:30px!important;height:30px!important}
}

/* v21 FINAL — must remain last: one undistorted artwork and one live surface. */
.region-modal__panel{
  width:min(620px,calc(100vw - 2rem))!important;
  height:auto!important;
  aspect-ratio:1451/1084!important;
  overflow:visible!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:drop-shadow(0 22px 36px rgba(35,31,32,.24))!important;
}
.region-modal__art{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  opacity:1!important;
  clip-path:none!important;
}
.region-modal__art--baby-front{display:none!important}
.region-modal__surface{
  position:absolute!important;
  inset:auto!important;
  left:24.2%!important;
  top:8%!important;
  z-index:2!important;
  width:62.8%!important;
  height:84%!important;
  padding:1.8rem 2.15rem 1.25rem!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
}
.region-modal__brand,.region-modal__intro,.region-modal__options,.region-modal__footer{
  position:relative!important;
  inset:auto!important;
  width:auto!important;
}
.region-modal__close{top:5.5%!important;right:3.5%!important}

@media(max-width:680px){
  .region-modal__panel{width:min(390px,calc(100vw - .75rem))!important;height:auto!important}
  .region-modal__surface{left:24.2%!important;top:8%!important;width:62.8%!important;height:84%!important;padding:.9rem 1.05rem .62rem!important}
  .region-modal__brand img{width:31px!important}
  .region-modal__intro{margin:0 0 .2rem!important}
  .region-modal__intro h2{font-size:.83rem!important}
  .region-modal__intro p{font-size:.35rem!important}
  .region-modal__options{gap:.2rem!important}
  .region-modal__option{min-height:31px!important;padding:.18rem .34rem!important}
  .region-modal__monogram{width:19px!important;height:19px!important;flex-basis:19px!important;font-size:.43rem!important}
  .region-modal__option-copy small{font-size:.27rem!important}
  .region-modal__option-copy strong{font-size:.48rem!important}
  .region-modal__arrow{font-size:.62rem!important}
  .region-modal__footer{margin-top:.16rem!important;font-size:.28rem!important}
  .region-modal__footer button{font-size:.28rem!important}
  .region-modal__close{top:3%!important;right:1%!important;width:29px!important;height:29px!important}
}

/* v20 — definitive single-layer region composition.
   Keep the artwork at its native ratio so the child and circular rim stay joined. */
.region-modal__panel{
  width:min(620px,calc(100vw - 2rem));
  height:auto;
  aspect-ratio:1451/1084;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  filter:drop-shadow(0 22px 36px rgba(35,31,32,.24));
}
.region-modal__art{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:1;
}
.region-modal__art--baby-front{display:none!important}
.region-modal__surface{
  inset:auto;
  left:24.2%;
  top:8%;
  z-index:2;
  width:62.8%;
  height:84%;
  padding:1.8rem 2.15rem 1.25rem;
  overflow:hidden;
  border:0;
  border-radius:50%;
  background:transparent;
  box-shadow:none;
}
.region-modal__close{top:5.5%;right:3.5%}

@media(max-width:680px){
  .region-modal__panel{
    width:min(390px,calc(100vw - .75rem));
    height:auto;
    aspect-ratio:1451/1084;
  }
  .region-modal__surface{
    left:24.2%;
    top:8%;
    width:62.8%;
    height:84%;
    padding:.9rem 1.05rem .62rem;
  }
  .region-modal__brand img{width:31px}
  .region-modal__intro{margin-bottom:.2rem}
  .region-modal__intro h2{font-size:.83rem}
  .region-modal__intro p{font-size:.35rem}
  .region-modal__options{gap:.2rem}
  .region-modal__option{min-height:31px;padding:.18rem .34rem}
  .region-modal__monogram{width:19px;height:19px;flex-basis:19px;font-size:.43rem}
  .region-modal__option-copy small{font-size:.27rem}
  .region-modal__option-copy strong{font-size:.48rem}
  .region-modal__arrow{font-size:.62rem}
  .region-modal__footer{margin-top:.16rem;font-size:.28rem}
  .region-modal__footer button{font-size:.28rem}
  .region-modal__close{top:3%;right:1%;width:29px;height:29px}
}

/* Region selector — unified reference composition with live controls */
.region-modal{padding:1rem}
.region-modal__backdrop{background:rgba(38,29,24,.64);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.region-modal__panel{position:relative;width:min(700px,calc(100vw - 2rem));height:auto;max-height:none;aspect-ratio:1451/1084;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;filter:drop-shadow(0 22px 32px rgba(29,20,15,.25));isolation:isolate}
.region-modal__panel::before,.region-modal__panel::after{display:none!important}
.region-modal__art{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.region-modal__art--baby-front{z-index:3;clip-path:polygon(0 0,29% 0,29% 100%,0 100%);-webkit-clip-path:polygon(0 0,29% 0,29% 100%,0 100%)}
.region-modal__decor,.region-modal__decor--baby,.region-modal__decor--baby-back,.region-modal__decor--baby-hand{display:none!important}
.region-modal__surface{position:absolute;z-index:2;left:24.2%;top:8%;width:62.8%;height:84%;display:flex;flex-direction:column;justify-content:center;gap:.55rem;padding:2rem 2.25rem 1.4rem;overflow:hidden;border:0;border-radius:50%;background:transparent;box-shadow:none}
.region-modal__close{position:absolute;z-index:5;top:5.5%;right:3.5%;width:44px;height:44px;border:1px solid rgba(255,253,248,.58);border-radius:50%;color:#fffdf8;background:rgba(43,29,21,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.region-modal__brand{width:auto;height:auto;margin:0 auto .05rem;background:transparent;box-shadow:none}
.region-modal__brand img{display:block;width:92px;height:auto;margin:auto}
.region-modal__eyebrow{display:none}
.region-modal__intro{margin:0;text-align:center}
.region-modal__intro h2{max-width:330px;margin:0 auto .28rem;color:#231f20;font-family:var(--font-sans);font-size:clamp(1.55rem,2.8vw,2.15rem);font-weight:650;line-height:.98;letter-spacing:-.045em}
.region-modal__intro p{max-width:335px;margin:0 auto;color:#625d59;font-size:.92rem;line-height:1.38}
.region-modal__options{display:grid;grid-template-columns:1fr;gap:.55rem;margin:.15rem 0 0}
.region-modal__option{min-height:62px;padding:.5rem .75rem;border:1px solid rgba(171,136,109,.22);border-radius:999px;background:rgba(255,255,255,.91);box-shadow:0 7px 16px rgba(90,65,49,.10)}
.region-modal__monogram{width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(171,136,109,.26);background:#fbf4e6;color:#a47758;font-size:.88rem}
.region-modal__option-copy small{font-size:.61rem;letter-spacing:.13em}
.region-modal__option-copy strong{font-size:1.05rem;line-height:1.05}
.region-modal__option-copy em{display:none}
.region-modal__arrow{font-size:1.3rem;color:#9e6f4d}
.region-modal__footer{display:flex;justify-content:center;align-items:center;gap:.45rem;margin-top:.05rem;color:#6f6964;font-size:.7rem;white-space:nowrap}
.region-modal__footer button{font-size:.7rem}

@media(max-width:600px){
  .region-modal{padding:.35rem}
  .region-modal__panel{width:min(390px,calc(100vw - .7rem));max-width:none}
  .region-modal__surface{left:23.2%;top:7%;width:64.5%;height:86%;gap:.28rem;padding:1.05rem 1.15rem .72rem}
  .region-modal__close{top:2%;right:1%;width:36px;height:36px}
  .region-modal__brand img{width:61px}
  .region-modal__intro h2{font-size:1.18rem;line-height:.98}
  .region-modal__intro p{font-size:.63rem;line-height:1.25}
  .region-modal__options{gap:.3rem;margin:0}
  .region-modal__option{min-height:44px;padding:.28rem .45rem}
  .region-modal__monogram{width:30px;height:30px;flex-basis:30px;font-size:.66rem}
  .region-modal__option-copy small{font-size:.47rem}
  .region-modal__option-copy strong{font-size:.76rem}
  .region-modal__arrow{font-size:.9rem}
  .region-modal__footer{gap:.22rem;font-size:.48rem}
  .region-modal__footer button{font-size:.48rem}
}

/* Popup final — compact circle with baby physically holding the rim */
.region-modal__panel{
  width:min(340px,calc(100vw - 4rem));
  height:min(340px,calc(100vw - 4rem));
  max-height:calc(100svh - 3rem);
}
.region-modal__surface{
  position:relative;
  z-index:3;
  padding:1.55rem 2rem 1.05rem;
  border:0;
  border-radius:50%;
  background:radial-gradient(circle at 45% 30%,#fffdf8 0%,#fbf7ea 68%,#f4ead8 100%);
  box-shadow:
    0 0 0 5px #a9876d,
    0 18px 55px rgba(43,29,21,.28),
    inset 0 0 34px rgba(171,136,109,.08);
  overflow:hidden;
}
.region-modal__brand{margin:0 auto .32rem}
.region-modal__brand img{width:52px}
.region-modal__title{
  max-width:260px;
  margin:0 auto .25rem;
  font-size:clamp(1.25rem,2.2vw,1.65rem);
  line-height:.96;
  letter-spacing:-.045em;
}
.region-modal__copy{
  max-width:255px;
  margin:0 auto .58rem;
  font-size:.72rem;
  line-height:1.35;
}
.region-modal__options{gap:.42rem}
.region-modal__option{
  min-height:49px;
  padding:.48rem .7rem;
  border-radius:999px;
  box-shadow:0 5px 14px rgba(70,48,35,.08);
}
.region-modal__option-code{width:31px;height:31px;font-size:.69rem}
.region-modal__option-country{font-size:.51rem;letter-spacing:.11em}
.region-modal__option-action{font-size:.82rem;line-height:1.05}
.region-modal__option-arrow{font-size:1rem}
.region-modal__footer{margin-top:.48rem;font-size:.55rem}
.region-modal__close{top:3px;right:-43px;width:35px;height:35px;z-index:8}
.region-modal__decor--baby{
  display:block;
  top:34px;
  left:-94px;
  width:105px;
  height:276px;
  background-image:url('/assets/img/brand/baby-peeking-cutout-v2.png');
  background-repeat:no-repeat;
  background-position:right center;
  background-size:auto 100%;
}
.region-modal__decor--baby-back{z-index:1}
.region-modal__decor--baby-hand{
  z-index:6;
  transform:translateX(12px);
  clip-path:polygon(43% 35%,100% 35%,100% 74%,43% 74%);
  filter:drop-shadow(2px 3px 2px rgba(45,29,20,.16));
}

@media(max-width:680px){
  .region-modal__panel{
    width:min(278px,calc(100vw - 3.5rem));
    height:min(278px,calc(100vw - 3.5rem));
  }
  .region-modal__surface{padding:1.28rem 1.62rem .88rem;box-shadow:0 0 0 4px #a9876d,0 14px 40px rgba(43,29,21,.25)}
  .region-modal__brand{margin-bottom:.22rem}
  .region-modal__brand img{width:40px}
  .region-modal__title{max-width:215px;font-size:1.17rem;margin-bottom:.2rem}
  .region-modal__copy{max-width:215px;font-size:.6rem;margin-bottom:.4rem}
  .region-modal__options{gap:.32rem}
  .region-modal__option{min-height:41px;padding:.34rem .54rem}
  .region-modal__option-code{width:27px;height:27px;font-size:.61rem}
  .region-modal__option-country{font-size:.43rem}
  .region-modal__option-action{font-size:.7rem}
  .region-modal__footer{margin-top:.35rem;font-size:.47rem}
  .region-modal__close{top:-3px;right:-34px;width:31px;height:31px}
  .region-modal__decor--baby{top:31px;left:-77px;width:88px;height:222px}
  .region-modal__decor--baby-hand{transform:translateX(9px)}
}

/* v17 — clean, code-built selector. The baby and circular board read as one object. */
.region-modal__backdrop{
  background:rgba(35,31,32,.62);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.region-modal__panel{
  position:relative;
  width:min(390px,calc(100vw - 3.5rem));
  height:min(390px,calc(100dvh - 2rem));
  aspect-ratio:1;
  padding:0;
  border:0;
  border-radius:50%;
  overflow:visible;
  background:none;
  box-shadow:none;
  filter:none;
  isolation:isolate;
}
.region-modal__panel::before,.region-modal__panel::after{display:none}
.region-modal__surface{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
  padding:2.05rem 2.55rem 1.45rem;
  border:1px solid rgba(171,136,109,.44);
  border-radius:50%;
  background:
    radial-gradient(circle at 48% 35%,rgba(255,255,255,.98),rgba(255,253,248,.96) 48%,rgba(248,244,225,.98) 100%);
  box-shadow:
    0 0 0 6px rgba(171,136,109,.52),
    0 24px 58px rgba(35,31,32,.25);
}
.region-modal__brand,.region-modal__intro,.region-modal__options,.region-modal__footer{
  position:relative;
  inset:auto;
  z-index:3;
  width:auto;
}
.region-modal__brand{margin:0 0 .22rem;text-align:center}
.region-modal__brand img{width:48px;height:auto}
.region-modal__eyebrow{display:none}
.region-modal__intro{margin:0 0 .55rem;text-align:center}
.region-modal__intro h2{
  max-width:10em;
  margin:0 auto;
  color:var(--ink)!important;
  font-size:1.38rem;
  line-height:1;
  letter-spacing:-.035em;
}
.region-modal__intro p{
  max-width:31ch;
  margin:.38rem auto 0;
  color:var(--ink-soft)!important;
  font-size:.58rem;
  line-height:1.35;
}
.region-modal__options{display:grid;gap:.36rem}
.region-modal__option{
  min-height:49px;
  padding:.36rem .62rem;
  border:1px solid rgba(171,136,109,.20);
  border-radius:999px;
  background:rgba(255,255,255,.93);
  box-shadow:0 7px 18px rgba(69,48,34,.08);
}
.region-modal__monogram{width:29px;height:29px;font-size:.68rem}
.region-modal__option-copy small{font-size:.43rem;letter-spacing:.11em}
.region-modal__option-copy strong{font-size:.74rem;line-height:1.08}
.region-modal__option-copy em{display:none}
.region-modal__arrow{font-size:.95rem}
.region-modal__footer{
  margin:.42rem 0 0;
  color:var(--ink-soft)!important;
  font-size:.47rem;
  line-height:1.25;
  text-align:center;
}
.region-modal__footer button{color:var(--ink)!important}
.region-modal__close{
  top:-8px;
  right:-34px;
  z-index:7;
  width:38px;
  height:38px;
  color:var(--creme);
  background:rgba(35,31,32,.54);
  border-color:rgba(248,244,225,.55);
}
.region-modal__decor--star,.region-modal__decor--heart,.region-modal__decor--mark{display:none}
.region-modal__decor--baby{
  position:absolute;
  display:block;
  top:72px;
  left:-104px;
  width:108px;
  height:245px;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent url('/assets/img/brand/baby-peeking-cutout-v2.png') right center/auto 100% no-repeat;
  box-shadow:none;
  filter:drop-shadow(-7px 12px 14px rgba(35,31,32,.15));
  transform:none;
  pointer-events:none;
}
.region-modal__decor--baby-back{z-index:1}
.region-modal__decor--baby-hand{
  z-index:5;
  transform:translateX(7px);
  clip-path:polygon(52% 43%,100% 43%,100% 70%,52% 70%);
  filter:drop-shadow(2px 4px 5px rgba(35,31,32,.12));
}

@media(max-width:680px){
  .region-modal{padding:.55rem}
  .region-modal__panel{
    width:min(304px,calc(100vw - 3rem));
    height:min(304px,calc(100dvh - 1.5rem));
    aspect-ratio:1;
    padding:0;
  }
  .region-modal__surface{
    padding:1.42rem 1.85rem 1rem;
    box-shadow:0 0 0 4px rgba(171,136,109,.52),0 18px 42px rgba(35,31,32,.24);
  }
  .region-modal__brand{margin-bottom:.1rem}.region-modal__brand img{width:36px}
  .region-modal__intro{margin-bottom:.3rem}.region-modal__intro h2{font-size:1rem}.region-modal__intro p{margin-top:.22rem;font-size:.44rem}
  .region-modal__options{gap:.24rem}.region-modal__option{min-height:38px;padding:.24rem .44rem}.region-modal__monogram{width:23px;height:23px;font-size:.54rem}.region-modal__option-copy small{font-size:.34rem}.region-modal__option-copy strong{font-size:.56rem}.region-modal__arrow{font-size:.7rem}
  .region-modal__footer{margin-top:.24rem;font-size:.35rem}
  .region-modal__close{top:0;right:2px;width:30px;height:30px}
  .region-modal__decor--baby{top:57px;left:-75px;width:78px;height:190px}
  .region-modal__decor--baby-hand{transform:translateX(5px)}
}
@media(max-width:900px){
  .ritual-grid{grid-template-columns:1fr;border-bottom:0}
  .ritual-card{min-height:auto;padding:34px 8px 36px}
  .ritual-card+.ritual-card{border-left:0;border-top:1px solid rgba(171,136,109,.14)}
  .ritual-card::after{left:8px;right:8px;bottom:18px}
}
@media(max-width:600px){
  .ritual-card{padding:30px 2px 32px;border-radius:0}
  .ritual-icon{width:44px;height:44px}.ritual-icon svg{width:36px;height:36px}
  .ritual-card h3{font-size:1.75rem}.ritual-intro{padding-bottom:26px}
}

/* Final brand-story treatment: small emblem + contained editorial film */
.brand-film{padding:clamp(4.5rem,7vw,7.5rem) 0;background:linear-gradient(135deg,#fffdf8 0%,#f7f1e8 100%);color:var(--ink)}
.brand-film::before{width:360px;height:360px;left:-210px;bottom:-235px;border-color:rgba(171,136,109,.12)}
.brand-film__layout{grid-template-columns:minmax(260px,.78fr) minmax(460px,1.35fr);gap:clamp(3rem,6vw,7rem);align-items:center}
.brand-film__copy{max-width:520px}
.brand-film__emblem{width:58px;height:58px;margin:0 0 2.2rem;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.82);border:1px solid rgba(171,136,109,.22);box-shadow:0 12px 34px rgba(70,49,34,.08)}
.brand-film__emblem img{display:block!important;width:28px!important;height:28px!important;max-width:28px!important;object-fit:contain}
.brand-film__copy .eyebrow{color:var(--mocha)}
.brand-film__copy h2{margin-top:.85rem;color:var(--ink);font-size:clamp(3.1rem,5.4vw,5.8rem);line-height:.92}
.brand-film__copy p{margin-top:1.55rem;max-width:39ch;color:var(--ink-soft);font-size:var(--fs-body-lg);line-height:1.65}
.brand-film__copy .text-link{margin-top:1.8rem;color:var(--ink)}
.brand-film__media{width:100%;max-width:900px;justify-self:end;aspect-ratio:16/9;border-radius:20px;background:#d8d4ce;box-shadow:0 28px 75px rgba(50,38,29,.14)}
.brand-film__media::after{border-color:rgba(28,26,23,.10);box-shadow:inset 0 0 48px rgba(28,26,23,.05)}
.brand-film__media video{width:100%;height:100%;object-fit:cover}
.brand-film__media figcaption{left:1.25rem;bottom:1.1rem;display:flex;align-items:center;gap:.55rem;padding:0;color:rgba(28,26,23,.64);background:transparent;border:0;border-radius:0;backdrop-filter:none;font-weight:600;letter-spacing:.15em}
.brand-film__media figcaption img{display:block!important;width:22px!important;height:22px!important;max-width:22px!important;object-fit:contain}
.brand-film__toggle{position:absolute;right:1.15rem;bottom:1rem;z-index:3;min-height:46px;padding:0 1.15rem;border:1px solid rgba(28,26,23,.12);border-radius:999px;background:rgba(255,253,248,.90);color:var(--ink);font:700 .64rem/1 var(--font-body);letter-spacing:.15em;text-transform:uppercase;box-shadow:0 8px 25px rgba(30,24,20,.08);cursor:pointer;backdrop-filter:blur(10px);transition:transform .3s var(--silk),background .3s ease}
.brand-film__toggle:hover{transform:translateY(-2px);background:#fffdf8}
.brand-film__toggle span{display:inline-block;margin-right:.38rem}
@media(max-width:900px){.brand-film__layout{grid-template-columns:1fr;gap:2.5rem}.brand-film__copy{max-width:620px}.brand-film__media{max-width:760px;justify-self:start}}
@media(max-width:600px){.brand-film{padding:4rem 0}.brand-film__emblem{width:50px;height:50px;margin-bottom:1.7rem}.brand-film__emblem img{width:24px!important;height:24px!important}.brand-film__copy h2{font-size:clamp(3rem,15vw,4.3rem)}.brand-film__media{border-radius:14px}.brand-film__media figcaption{left:.8rem;bottom:.75rem;font-size:.52rem}.brand-film__toggle{right:.65rem;bottom:.6rem;min-height:39px;padding:0 .8rem;font-size:.54rem}}

/* Content must remain visible if JavaScript is delayed or unavailable. */
.reveal,.reveal.is-visible{opacity:1;transform:none;filter:none}
.hero-content>*{opacity:1;transform:none}

/* Final palette: light mocha replaces the former sage-green care section. */
.section--sage{
  color:var(--ink);
  background:linear-gradient(135deg,#d8c3ae 0%,#c9ab91 48%,#e3d2c1 100%);
}
.section--sage::before{opacity:.16;background-image:repeating-linear-gradient(90deg,rgba(255,253,248,.72) 0 1px,transparent 1px 8px),repeating-linear-gradient(0deg,rgba(104,73,52,.18) 0 1px,transparent 1px 8px)}
.section--sage .eyebrow,.section--sage .pillar-index{color:#694a38}
.section--sage .pillar{border-top-color:rgba(73,51,38,.22)}
.section--sage .pillar p{color:rgba(41,31,25,.76)}
.section--sage .pillar:hover{background:rgba(255,253,248,.18)}
.section--sage .text-link{color:var(--ink)}

/* Exact six campaign artworks framed from the supplied Pythal reference. */
.campaign-tile{background:#e8ddcf}
.campaign-art{position:absolute;inset:0;background-image:url('/assets/img/campaign/pythal-six-editions-reference.webp');background-repeat:no-repeat;background-size:797% 378%;background-position-y:47.75%;transition:transform .8s var(--silk)}
.campaign-art--1{background-position-x:10.9%}.campaign-art--2{background-position-x:26.5%}.campaign-art--3{background-position-x:42.2%}.campaign-art--4{background-position-x:57.8%}.campaign-art--5{background-position-x:73.5%}.campaign-art--6{background-position-x:89.2%}
.campaign-tile:hover .campaign-art{transform:scale(1.025)}

/* Round stitched Pythal region emblem. */
.region-modal__panel{
  width:min(680px,calc(100vw - 2rem));height:min(680px,calc(100vh - 2rem));max-height:none;overflow:hidden;
  display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,7vw,6rem);border-radius:50%;
  color:#fffdf8;background:linear-gradient(145deg,#b89a80 0%,#9e7c63 100%);border:1px solid rgba(255,253,248,.65)
}
.region-modal__panel::before{inset:22px;height:auto;border:4px dashed rgba(255,253,248,.82);border-radius:50%;background:none;opacity:1;pointer-events:none}
.region-modal__brand{display:grid;place-items:center;width:92px;height:92px;margin:0 auto 1rem;border-radius:50%;background:rgba(255,253,248,.13)}
.region-modal__brand img{display:block;width:74px;height:auto;filter:brightness(0) invert(1)}
.region-modal__intro{margin-bottom:1.25rem}.region-modal__eyebrow,.region-modal__intro p{color:rgba(255,253,248,.82)}
.region-modal__intro h2{font-size:clamp(2.4rem,5vw,3.7rem);color:#fffdf8}
.region-modal__options{gap:.7rem}.region-modal__option{min-height:92px;padding:.9rem 1.15rem;background:rgba(255,253,248,.92);border-color:rgba(255,255,255,.55);border-radius:999px;color:var(--ink)}
.region-modal__monogram{width:48px;height:48px}.region-modal__option-copy em{display:none}.region-modal__option-copy strong{font-size:1.35rem}
.region-modal__footer{margin-top:1.1rem;color:rgba(255,253,248,.76)}.region-modal__footer button{color:#fffdf8;border-color:rgba(255,253,248,.55)}
.region-modal__close{top:3rem;right:5rem;color:#fffdf8;background:rgba(255,253,248,.12);border-color:rgba(255,253,248,.42)}
@media(max-width:680px){.region-modal{align-items:center}.region-modal__panel{width:calc(100vw - 1.3rem);height:auto;max-height:calc(100dvh - 1.3rem);overflow:auto;padding:4.3rem 1.25rem 2rem;border-radius:32px}.region-modal__panel::before{inset:12px;border-width:2px;border-radius:24px}.region-modal__brand{width:70px;height:70px}.region-modal__brand img{width:58px}.region-modal__close{top:1.5rem;right:1.5rem}.region-modal__options{grid-template-columns:1fr}.region-modal__option{min-height:88px}.region-modal__intro h2{font-size:2.45rem}}

/* Mission and vision */
.mission-vision{padding:clamp(5rem,9vw,9rem) 0;background:#fffdf9}
.mission-vision__head{max-width:900px;margin-bottom:clamp(2.8rem,5vw,5rem)}
.mission-vision__head h2{margin-top:1rem}
.mission-vision__grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(112,79,60,.20);border-bottom:1px solid rgba(112,79,60,.20)}
.purpose-card{position:relative;min-height:470px;padding:clamp(2.2rem,4vw,4.4rem);outline:0;overflow:hidden;transition:background .5s var(--silk)}
.purpose-card+.purpose-card{border-left:1px solid rgba(112,79,60,.18)}
.purpose-card::before{content:"";position:absolute;width:260px;height:260px;right:-160px;top:-160px;border:1px solid rgba(171,136,109,.16);border-radius:50%;transition:transform .7s var(--silk)}
.purpose-card:hover,.purpose-card:focus-visible{background:#f7eee4}.purpose-card:hover::before,.purpose-card:focus-visible::before{transform:scale(1.25)}
.purpose-card__number{position:absolute;right:clamp(2.2rem,4vw,4.4rem);top:clamp(2.2rem,4vw,4.4rem);font-family:var(--font-display);font-size:1rem;color:var(--mocha)}
.purpose-card__label{display:block;color:var(--mocha);font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.purpose-card h3{margin-top:clamp(3rem,6vw,6rem);font-family:var(--font-display);font-size:clamp(2rem,3.3vw,3.55rem);font-weight:400;line-height:1.02}.purpose-card h3 em{color:var(--mocha);font-style:normal}
.purpose-card p{margin-top:1.6rem;max-width:52ch;color:var(--ink-soft);line-height:1.75}

/* Interactive woven signature inspired by the supplied embroidery reference */
.wonder-tapestry{--wx:0px;--wy:0px;position:relative;padding:clamp(5rem,8vw,8rem) 0;background:#f4ecdf;overflow:hidden}
.wonder-tapestry__texture{position:absolute;inset:0;opacity:.34;background-image:repeating-linear-gradient(0deg,rgba(112,79,60,.075) 0 1px,transparent 1px 5px),repeating-linear-gradient(90deg,rgba(112,79,60,.055) 0 1px,transparent 1px 6px);mask-image:radial-gradient(circle,#000 20%,transparent 78%)}
.wonder-tapestry__inner{position:relative}.wonder-tapestry__intro{text-align:center;max-width:720px;margin:0 auto 3rem}.wonder-tapestry__intro h2{margin-top:.8rem}.wonder-tapestry__intro p{margin-top:1rem;color:var(--ink-soft)}
.wonder-stage{position:relative;width:min(900px,100%);aspect-ratio:1.8/1;margin:auto;border:1px solid rgba(171,136,109,.24);border-radius:44px;background:rgba(255,253,248,.56);box-shadow:inset 0 0 80px rgba(171,136,109,.08),0 28px 70px rgba(60,43,31,.08)}
.wonder-stage::before{content:"";position:absolute;inset:18px;border:1px dashed rgba(171,136,109,.34);border-radius:32px;pointer-events:none}
.wonder-stage__centre{position:absolute;left:50%;top:50%;width:min(390px,46%);transform:translate(calc(-50% + var(--wx)),calc(-50% + var(--wy)));text-align:center;transition:transform .6s var(--silk)}
.wonder-stage__centre img{width:44px;height:44px;object-fit:contain;margin:0 auto 1rem}.wonder-stage__centre strong{display:block;font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.6rem);font-weight:500}.wonder-stage__centre p{margin:.75rem auto 0;max-width:34ch;color:var(--ink-soft);font-size:.92rem;line-height:1.65}
.wonder-motif{position:absolute;z-index:2;display:grid;place-items:center;width:112px;height:112px;padding:.7rem;color:var(--mocha);background:rgba(255,253,248,.72);border:1px solid rgba(171,136,109,.22);border-radius:50%;cursor:pointer;transition:transform .45s var(--silk),background .35s ease,box-shadow .45s var(--silk)}
.wonder-motif svg{width:43px;height:43px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.wonder-motif span{font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.wonder-motif:hover,.wonder-motif:focus-visible,.wonder-motif.is-active{transform:translateY(-5px) scale(1.04);color:#fffdf8;background:linear-gradient(145deg,#b89a80,#8f684f);box-shadow:0 20px 42px rgba(77,52,38,.18);outline:0}
.wonder-motif--care{left:6%;top:9%}.wonder-motif--wonder{right:6%;top:9%}.wonder-motif--trust{left:6%;bottom:9%}.wonder-motif--belonging{right:6%;bottom:9%}
@media(max-width:760px){.mission-vision__grid{grid-template-columns:1fr}.purpose-card{min-height:auto;padding:2.5rem 1.25rem 3rem}.purpose-card+.purpose-card{border-left:0;border-top:1px solid rgba(112,79,60,.18)}.purpose-card h3{margin-top:3rem}.wonder-stage{aspect-ratio:auto;min-height:680px;border-radius:28px}.wonder-stage::before{inset:10px;border-radius:20px}.wonder-stage__centre{width:72%;top:50%}.wonder-motif{width:92px;height:92px}.wonder-motif svg{width:34px;height:34px}.wonder-motif--care{left:8%;top:6%}.wonder-motif--wonder{right:8%;top:6%}.wonder-motif--trust{left:8%;bottom:6%}.wonder-motif--belonging{right:8%;bottom:6%}}

/* ========================================================================
   Brand-guideline harmonisation — exact Pythal palette, site-wide
   ======================================================================== */
html{background:var(--creme)}
body{color:var(--ink);background:var(--creme)}
::selection{color:var(--creme);background:var(--mocha)}
:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.site-header:not(.on-hero),.site-header.is-scrolled,.site-header.on-hero.is-scrolled{background:rgba(248,244,225,.94)}
.nav-drawer,.search-panel{background:var(--creme)}
.section--white,.campaign-editions,.mission-vision{background:#fff}
.section--creme,.little-rituals{background:var(--creme)}
.section--beige{background:var(--beige)}
.section--mocha{background:var(--mocha)}
.section--dark,.site-footer{background:var(--ink)}
.btn--primary{background:var(--ink);border-color:var(--ink);color:var(--creme)}
.btn--ghost{border-color:rgba(35,31,32,.22)}
.eyebrow{color:var(--mocha)}
.world-card,.article-card,.index-card,.ritual-card,.purpose-card{border-color:rgba(171,136,109,.20)}
.world-card-copy,.article-card-copy,.index-card-copy{background:linear-gradient(180deg,transparent,rgba(35,31,32,.72))}
.section--sage{color:var(--ink);background:linear-gradient(135deg,var(--beige) 0%,rgba(171,136,109,.78) 52%,var(--creme) 100%)}
.section--sage::before{background-image:repeating-linear-gradient(90deg,rgba(248,244,225,.62) 0 1px,transparent 1px 8px),repeating-linear-gradient(0deg,rgba(35,31,32,.10) 0 1px,transparent 1px 8px)}
.section--sage .eyebrow,.section--sage .pillar-index{color:var(--ink)}
.section--sage .body-copy,.section--sage .pillar p{color:rgba(35,31,32,.76)}
.region-modal__panel{background:linear-gradient(145deg,var(--mocha),rgba(171,136,109,.90));color:var(--creme)}
.region-modal__option{background:rgba(248,244,225,.95)}
.mission-vision{background:linear-gradient(180deg,#fff 0%,var(--creme) 100%)}
.mission-vision__grid{border-color:rgba(171,136,109,.28)}
.purpose-card:hover,.purpose-card:focus-visible{background:rgba(230,211,189,.42)}
.wonder-tapestry{background:var(--creme)}
.wonder-stage{background:rgba(230,211,189,.28);border-color:rgba(171,136,109,.32)}
.wonder-motif{background:rgba(248,244,225,.92)}
.wonder-motif--care:hover,.wonder-motif--care:focus-visible,.wonder-motif--care.is-active{background:var(--mocha)}
.wonder-motif--wonder:hover,.wonder-motif--wonder:focus-visible,.wonder-motif--wonder.is-active{background:var(--orchid)}
.wonder-motif--trust:hover,.wonder-motif--trust:focus-visible,.wonder-motif--trust.is-active{background:var(--blue)}
.wonder-motif--belonging:hover,.wonder-motif--belonging:focus-visible,.wonder-motif--belonging.is-active{background:var(--sage)}
.campaign-tile{background:var(--beige)}
.brand-film{background:linear-gradient(135deg,#fff 0%,var(--creme) 100%)}
.brand-film__emblem{background:var(--creme);border-color:rgba(171,136,109,.28)}
.form-field input,.form-field textarea,.form-field select{background:rgba(248,244,225,.62);border-color:rgba(171,136,109,.28)}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(149,172,186,.18)}
.pythal-progress span{background:linear-gradient(90deg,var(--mocha),var(--orchid),var(--blue))}

/* Compact region emblem */
.region-modal__panel{width:min(540px,calc(100vw - 2rem));height:min(540px,calc(100vh - 2rem));padding:3.35rem 3.6rem}
.region-modal__panel::before{inset:16px;border-width:3px}
.region-modal__brand{width:66px;height:66px;margin-bottom:.65rem}.region-modal__brand img{width:55px}
.region-modal__intro{margin-bottom:.85rem}.region-modal__eyebrow{margin-bottom:.55rem;font-size:.62rem}.region-modal__intro h2{font-size:clamp(2.15rem,4vw,2.85rem)}.region-modal__intro p{margin-top:.7rem;font-size:.9rem;line-height:1.45}
.region-modal__options{gap:.55rem}.region-modal__option{min-height:76px;padding:.65rem .85rem;gap:.65rem}.region-modal__monogram{width:40px;height:40px;font-size:.92rem}.region-modal__option-copy small{font-size:.61rem}.region-modal__option-copy strong{font-size:1.15rem}.region-modal__arrow{font-size:1.15rem}
.region-modal__footer{margin-top:.75rem;font-size:.72rem}.region-modal__close{top:2.35rem;right:3.8rem;width:38px;height:38px}
@media(max-width:680px){.region-modal__panel{width:calc(100vw - 1.3rem);height:auto;max-height:calc(100dvh - 1.3rem);padding:4rem 1.2rem 1.8rem}.region-modal__panel::before{inset:10px;border-width:2px}.region-modal__brand{width:60px;height:60px}.region-modal__brand img{width:50px}.region-modal__intro h2{font-size:2.2rem}.region-modal__options{grid-template-columns:1fr}.region-modal__option{min-height:74px}.region-modal__close{top:1.35rem;right:1.35rem}}

/* Oval region selector inspired by the supplied premium popup reference */
.region-modal__panel{
  width:min(440px,calc(100vw - 2rem));height:min(560px,calc(100vh - 2rem));
  padding:3.7rem 3rem 2.8rem;overflow:visible;border:0;border-radius:50% / 44%;
  background:var(--creme);color:var(--ink);box-shadow:0 38px 110px rgba(35,31,32,.34)
}
.region-modal__panel::before{inset:-12px;height:auto;border:12px solid rgba(187,151,156,.46);border-radius:50% / 44%;background:none;opacity:1;z-index:-1}
.region-modal__panel::after{content:"✦";position:absolute;right:-17px;top:78px;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;color:var(--mocha);background:rgba(248,244,225,.96);box-shadow:0 10px 28px rgba(35,31,32,.14);font-size:1.45rem}
.region-modal__brand{width:auto;height:auto;margin:0 auto .55rem;background:transparent}.region-modal__brand img{width:76px;height:auto;filter:none}
.region-modal__intro{margin-bottom:.8rem}.region-modal__eyebrow{display:none}.region-modal__intro h2{font-family:var(--font-body);font-size:clamp(1.85rem,3.2vw,2.25rem);font-weight:600;line-height:1.03;letter-spacing:-.025em}.region-modal__intro p{margin-top:.65rem;color:var(--ink-soft);font-size:.82rem;line-height:1.45}
.region-modal__options{grid-template-columns:1fr;gap:.5rem;width:100%}.region-modal__option{min-height:68px;padding:.55rem .9rem;border:1px solid rgba(171,136,109,.22);border-radius:999px;background:#fff;box-shadow:none}.region-modal__option:hover{transform:translateY(-2px);border-color:var(--mocha);box-shadow:0 12px 25px rgba(171,136,109,.13)}
.region-modal__monogram{width:38px;height:38px;background:var(--creme)}.region-modal__option-copy small{font-size:.58rem}.region-modal__option-copy strong{font-family:var(--font-body);font-size:.98rem;font-weight:600}.region-modal__footer{margin-top:.7rem;color:var(--ink-soft);font-size:.66rem}.region-modal__footer button{color:var(--ink)}
.region-modal__close{top:-12px;right:-32px;width:38px;height:38px;color:var(--creme);background:rgba(35,31,32,.48);border-color:rgba(248,244,225,.48);z-index:4}.region-modal__close:hover{color:var(--ink);background:var(--creme)}
@media(max-width:520px){.region-modal{padding:.85rem}.region-modal__panel{width:min(390px,calc(100vw - 2rem));height:auto;min-height:520px;max-height:calc(100dvh - 2rem);padding:3.6rem 2rem 2.2rem;border-radius:46% / 38%;overflow:auto}.region-modal__panel::before{inset:-7px;border-width:7px;border-radius:46% / 38%}.region-modal__panel::after{right:-8px;top:65px;width:48px;height:48px}.region-modal__close{top:5px;right:22px}.region-modal__brand img{width:66px}.region-modal__intro h2{font-size:1.8rem}.region-modal__option{min-height:64px}}

/* Final compact circular selector: reference-sized, readable and child-led. */
.region-modal__panel{
  width:min(520px,calc(100vw - 2rem));
  height:min(520px,calc(100vh - 2rem));
  min-height:0;
  padding:3.25rem 3.5rem 2.5rem;
  border-radius:50%;
  color:var(--ink);
}
.region-modal__panel::before{inset:-9px;border-width:9px;border-radius:50%}
.region-modal__panel::after{
  content:"";
  right:-37px;
  top:82px;
  width:96px;
  height:96px;
  border:7px solid var(--creme);
  border-radius:50%;
  background-color:var(--beige);
  background-image:url('/assets/img/pythal/pilot-babies.webp');
  background-repeat:no-repeat;
  background-size:355% auto;
  background-position:12% 27%;
  box-shadow:0 14px 34px rgba(35,31,32,.20);
}
.region-modal__intro h2{color:var(--ink)!important;font-size:clamp(1.8rem,3vw,2.2rem)}
.region-modal__intro p{color:var(--ink-soft)!important}
.region-modal__option,.region-modal__option-copy small,.region-modal__option-copy strong{color:var(--ink)!important}
.region-modal__footer{color:var(--ink-soft)!important}
.region-modal__footer button{color:var(--ink)!important}
.region-modal__close{top:-2px;right:-47px}
@media(max-width:560px){
  .region-modal__panel{width:min(390px,calc(100vw - 1.5rem));height:min(390px,calc(100dvh - 1.5rem));padding:2.7rem 2.2rem 2rem;overflow:visible}
  .region-modal__panel::before{inset:-6px;border-width:6px;border-radius:50%}
  .region-modal__panel::after{right:-13px;top:52px;width:68px;height:68px;border-width:5px}
  .region-modal__brand{margin-bottom:.3rem}.region-modal__brand img{width:56px}
  .region-modal__intro{margin-bottom:.45rem}.region-modal__intro h2{font-size:1.48rem}.region-modal__intro p{margin-top:.35rem;font-size:.7rem;line-height:1.3}
  .region-modal__options{gap:.35rem}.region-modal__option{min-height:54px;padding:.4rem .65rem}.region-modal__monogram{width:32px;height:32px;font-size:.76rem}.region-modal__option-copy small{font-size:.48rem}.region-modal__option-copy strong{font-size:.82rem}
  .region-modal__footer{margin-top:.4rem;font-size:.56rem}.region-modal__close{top:-4px;right:8px}
}

/* First Flight — premium journal composition */
.journal-feature{background:linear-gradient(180deg,#fff 0%,var(--creme) 48%,#fff 100%);overflow:hidden}
.journal-feature__shell{position:relative;padding-bottom:clamp(5rem,8vw,8rem)}
.journal-feature__shell::before{content:"";position:absolute;right:-19rem;top:4rem;width:38rem;height:38rem;border:1px solid rgba(171,136,109,.11);border-radius:50%;pointer-events:none}
.journal-feature .breadcrumbs{position:relative;z-index:1;padding-top:2rem!important;margin-bottom:0;text-transform:uppercase;letter-spacing:.13em;font-size:.6rem}
.journal-feature__header{position:relative;z-index:1;max-width:1060px;padding-top:clamp(4rem,8vw,7.5rem)}
.journal-feature__header .eyebrow{display:inline-flex;align-items:center;gap:.85rem;color:var(--mocha)}
.journal-feature__header .eyebrow::before,.journal-feature__header .eyebrow::after{content:"";width:42px;height:1px;background:currentColor;opacity:.42}
.journal-feature__header h1{max-width:14ch;margin:1.35rem auto 0;font-size:clamp(3.6rem,7.2vw,7.3rem);line-height:.91;letter-spacing:-.045em}
.journal-feature__header .lede{max-width:40ch;margin:1.8rem auto 0;color:var(--ink-soft);font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.6}
.journal-feature__meta{display:grid;grid-template-columns:repeat(4,1fr);max-width:900px;margin:3.2rem auto 0;padding:1.35rem 0;border-top:1px solid rgba(171,136,109,.24);border-bottom:1px solid rgba(171,136,109,.24);text-align:left}
.journal-feature__meta p{padding:0 1.4rem;color:var(--ink);font-size:.72rem;line-height:1.45}
.journal-feature__meta p+p{border-left:1px solid rgba(171,136,109,.20)}
.journal-feature__meta span{display:block;margin-bottom:.35rem;color:var(--mocha);font-size:.55rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.journal-feature__hero{position:relative;z-index:1;margin:clamp(3rem,6vw,5.8rem) 0 0}
.journal-feature__hero::before{content:"PYTHAL JOURNAL  ·  01";position:absolute;left:-3.1rem;top:2.3rem;z-index:2;color:#fff;font-size:.55rem;font-weight:700;letter-spacing:.2em;writing-mode:vertical-rl;transform:rotate(180deg)}
.journal-feature__hero img{width:100%;height:min(64vw,760px);object-fit:cover;object-position:center 38%;border-radius:clamp(20px,2.4vw,36px);filter:saturate(.76) contrast(.96);box-shadow:0 34px 85px rgba(62,44,32,.14)}
.journal-feature__hero figcaption{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;color:var(--ink-soft);font-size:.68rem;letter-spacing:.08em}
.journal-feature__hero figcaption span{color:var(--mocha);font-family:var(--font-display);font-size:1rem}
.journal-feature__layout{display:grid;grid-template-columns:minmax(190px,260px) minmax(0,720px);justify-content:center;gap:clamp(3.5rem,8vw,8rem);max-width:1160px;padding-block:clamp(5rem,8vw,8.5rem)}
.journal-feature__toc{position:sticky;top:calc(var(--header-h) + 2rem);align-self:start;margin:0;padding:1.5rem 0;border:0;border-top:1px solid rgba(171,136,109,.35);border-bottom:1px solid rgba(171,136,109,.22);border-radius:0;background:transparent}
.journal-feature__toc h2{margin:0 0 1.15rem;font-size:.6rem;letter-spacing:.19em;color:var(--mocha)}
.journal-feature__toc ol{gap:.85rem}.journal-feature__toc li{display:grid;grid-template-columns:1.7rem 1fr;align-items:baseline;color:var(--ink-soft);font-size:.74rem}
.journal-feature__toc li::before{font-family:var(--font-display);font-size:.92rem;font-weight:400;color:var(--mocha)}
.journal-feature__toc a{background-size:0 1px}.journal-feature__toc a:hover{color:var(--ink);background-size:100% 1px}
.journal-feature__prose{counter-reset:flight-section}
.journal-feature__prose>h2{scroll-margin-top:calc(var(--header-h) + 2rem);position:relative;margin:clamp(5rem,8vw,7rem) 0 1.7rem;padding-top:1.15rem;border-top:1px solid rgba(171,136,109,.24);font-size:clamp(2.6rem,5vw,4.4rem);line-height:.98;letter-spacing:-.035em;counter-increment:flight-section}
.journal-feature__prose>h2::after{content:"0" counter(flight-section);position:absolute;right:0;top:1.35rem;color:var(--mocha);font-family:var(--font-body);font-size:.6rem;font-weight:700;letter-spacing:.14em}
.journal-feature__prose>p{max-width:62ch;margin-bottom:1.55rem;font-size:1.02rem;line-height:1.9}
.journal-feature__opening{margin:0!important;max-width:39ch!important;color:var(--ink)!important;font-family:var(--font-display);font-size:clamp(1.75rem,3.1vw,2.55rem)!important;line-height:1.32!important;letter-spacing:-.014em}
.journal-feature__opening::first-letter{float:left;margin:.08em .12em 0 0;color:var(--mocha);font-family:var(--font-display);font-size:4.2em;line-height:.72}
.journal-feature__prose blockquote{position:relative;margin:clamp(3rem,6vw,5rem) calc(-1 * clamp(1rem,4vw,3rem));padding:clamp(2.3rem,5vw,4rem);border:0;border-radius:28px;background:linear-gradient(145deg,var(--beige),#f4e8d8);color:var(--ink);font-size:clamp(1.85rem,3.4vw,3rem);line-height:1.18;text-align:center;box-shadow:0 24px 60px rgba(72,49,35,.08)}
.journal-feature__prose blockquote::before{content:"“";display:block;margin-bottom:.6rem;color:var(--mocha);font-family:var(--font-display);font-size:3.8rem;line-height:.6}
.journal-feature__prose figure{margin:clamp(4rem,8vw,6.5rem) calc(-1 * clamp(1rem,7vw,5rem))}
.journal-feature__prose figure img{width:100%;max-height:680px;object-fit:cover;object-position:center 36%;border-radius:28px;filter:saturate(.78);box-shadow:0 28px 70px rgba(62,44,32,.13)}
.journal-feature__prose figure figcaption{display:flex;align-items:center;gap:.7rem;margin-top:1rem;font-size:.65rem;letter-spacing:.06em}.journal-feature__prose figure figcaption::before{content:"";width:34px;height:1px;background:var(--mocha)}
.journal-feature__prose .faq-list{margin-top:2rem;border-top:1px solid rgba(171,136,109,.24)}
.journal-feature__prose .faq-item{border-bottom-color:rgba(171,136,109,.24)}
.journal-feature__prose .faq-q{padding:1.6rem 0;font-family:var(--font-display);font-size:clamp(1.15rem,2vw,1.45rem);font-weight:500;text-align:left}
.journal-feature__prose .plus{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(171,136,109,.3);border-radius:50%;color:var(--mocha)}
.journal-feature__collection{position:relative;overflow:hidden;margin-top:0;padding:clamp(4rem,7vw,6.5rem);border-radius:32px;background:linear-gradient(135deg,var(--mocha),#8d6a51);color:var(--creme);text-align:center;box-shadow:0 30px 75px rgba(62,44,32,.16)}
.journal-feature__collection::before{content:"";position:absolute;inset:16px;border:1px solid rgba(248,244,225,.22);border-radius:22px;pointer-events:none}
.journal-feature__collection .eyebrow{color:rgba(248,244,225,.72)}.journal-feature__collection h2{position:relative;margin-top:.8rem}.journal-feature__collection p{position:relative;margin-top:.8rem;color:rgba(248,244,225,.78)}.journal-feature__collection .btn{position:relative;margin-top:1.6rem;background:var(--creme);color:var(--ink)}
@media(max-width:900px){.journal-feature__meta{grid-template-columns:1fr 1fr}.journal-feature__meta p{padding:1rem}.journal-feature__meta p:nth-child(3){border-left:0;border-top:1px solid rgba(171,136,109,.20)}.journal-feature__meta p:nth-child(4){border-top:1px solid rgba(171,136,109,.20)}.journal-feature__layout{grid-template-columns:1fr;gap:3rem}.journal-feature__toc{position:relative;top:auto;display:grid;grid-template-columns:130px 1fr;gap:1rem}.journal-feature__toc ol{display:grid;grid-template-columns:1fr 1fr}.journal-feature__hero::before{display:none}}
@media(max-width:600px){.journal-feature__header{padding-top:3.5rem}.journal-feature__header h1{font-size:clamp(3rem,15vw,4.3rem)}.journal-feature__meta{margin-top:2.2rem}.journal-feature__hero img{height:78vw;min-height:320px;border-radius:20px}.journal-feature__layout{padding-block:4rem}.journal-feature__toc{display:block}.journal-feature__toc ol{grid-template-columns:1fr}.journal-feature__prose>h2{margin-top:4.3rem}.journal-feature__prose blockquote{margin-inline:0;border-radius:20px}.journal-feature__prose figure{margin-inline:0}.journal-feature__collection{padding:3.7rem 1.5rem;border-radius:24px}}

.journal-checklist{margin:clamp(3.5rem,6vw,5.5rem) 0;padding:1.8rem 0;border-top:1px solid rgba(171,136,109,.24);border-bottom:1px solid rgba(171,136,109,.24)}
.journal-checklist__head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.journal-checklist__head h2{margin:0!important;padding:0!important;border:0!important;font-family:var(--font-body)!important;font-size:.63rem!important;font-weight:700!important;letter-spacing:.18em!important;text-transform:uppercase}.journal-checklist__head h2::after{display:none}.journal-checklist__head span{color:var(--mocha);font-family:var(--font-display);font-size:1rem}
.journal-checklist__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(171,136,109,.18);border:1px solid rgba(171,136,109,.18)}
.journal-checklist__item{position:relative;min-height:132px;padding:1.35rem;background:rgba(255,255,255,.72);transition:background .35s ease,transform .4s var(--silk)}.journal-checklist__item:hover{z-index:1;background:var(--creme);transform:translateY(-2px)}
.journal-checklist__item span{display:grid;place-items:center;width:28px;height:28px;margin-bottom:1.1rem;border:1px solid rgba(171,136,109,.36);border-radius:50%;color:var(--mocha);font-size:.7rem}.journal-checklist__item strong{display:block;font-family:var(--font-display);font-size:1.25rem;font-weight:500}.journal-checklist__item p{margin:.35rem 0 0!important;color:var(--ink-soft);font-size:.72rem!important;line-height:1.55!important}
@media(max-width:600px){.journal-checklist__grid{grid-template-columns:1fr}.journal-checklist__item{min-height:auto}.journal-checklist__head{align-items:start;flex-direction:column}}

/* Defer expensive below-the-fold rendering without affecting indexing. */
.campaign-editions,.little-rituals,.mission-vision,.wonder-tapestry,.journal-feature__collection{content-visibility:auto;contain-intrinsic-size:1px 760px}

/* Sleek reference-led region selector */
.region-modal__panel{
  width:min(430px,calc(100vw - 2rem));
  height:min(530px,calc(100dvh - 2rem));
  padding:3.15rem 3.1rem 2.35rem;
  border-radius:50% / 43%;
  background:linear-gradient(155deg,#fffdfa 0%,var(--creme) 100%);
  border:1px solid rgba(187,151,156,.46);
  box-shadow:0 38px 105px rgba(35,31,32,.28);
  isolation:isolate;
}
.region-modal__panel::before{inset:-10px;border:10px solid rgba(187,151,156,.34);border-radius:50% / 43%;background:transparent}
.region-modal__panel::after{display:none}
.region-modal__brand{margin-bottom:.3rem}.region-modal__brand img{width:70px}
.region-modal__intro{margin-bottom:.65rem}.region-modal__intro h2{max-width:10.5em;margin-inline:auto;color:var(--ink)!important;font-size:1.9rem;line-height:1.02}.region-modal__intro p{max-width:33ch;margin:.55rem auto 0;color:var(--ink-soft)!important;font-size:.75rem;line-height:1.4}
.region-modal__options{gap:.45rem}.region-modal__option{min-height:62px;padding:.45rem .72rem;background:rgba(255,255,255,.92);border-color:rgba(171,136,109,.20)}
.region-modal__monogram{width:34px;height:34px;font-size:.78rem}.region-modal__option-copy small{font-size:.5rem;letter-spacing:.1em}.region-modal__option-copy strong{font-size:.88rem}.region-modal__arrow{font-size:1rem}
.region-modal__footer{margin-top:.55rem;font-size:.58rem}.region-modal__close{top:-5px;right:-31px;width:36px;height:36px;background:rgba(35,31,32,.55)}
.region-modal__decor{position:absolute;z-index:4;display:grid;place-items:center;border-radius:50%;pointer-events:none;box-shadow:0 12px 30px rgba(35,31,32,.14)}
.region-modal__decor--baby{left:-34px;top:82px;width:84px;height:84px;border:7px solid var(--creme);background-color:var(--beige);background-image:url('/assets/img/pythal/pilot-babies.webp');background-repeat:no-repeat;background-size:360% auto;background-position:12% 27%}
.region-modal__decor--star{right:-28px;top:98px;width:62px;height:62px;color:#9a7257;background:var(--beige);font-size:1.45rem}
.region-modal__decor--heart{left:-14px;bottom:88px;width:48px;height:48px;color:#a97d84;background:#ead7d7;font-size:1.55rem}
.region-modal__decor--mark{right:-19px;bottom:66px;width:54px;height:54px;background-color:#d8e0d3;background-image:url('/assets/img/brand/pythal-icon.png');background-repeat:no-repeat;background-position:center;background-size:25px}
@media(max-width:520px){
  .region-modal__panel{width:min(365px,calc(100vw - 1.4rem));height:min(455px,calc(100dvh - 1.4rem));padding:2.55rem 2.35rem 1.75rem;border-radius:50% / 43%;overflow:visible}
  .region-modal__panel::before{inset:-6px;border-width:6px;border-radius:50% / 43%}
  .region-modal__brand img{width:54px}.region-modal__intro h2{font-size:1.48rem}.region-modal__intro p{font-size:.64rem}
  .region-modal__option{min-height:52px}.region-modal__monogram{width:30px;height:30px}.region-modal__option-copy strong{font-size:.76rem}.region-modal__footer{font-size:.5rem}
  .region-modal__close{top:2px;right:10px}.region-modal__decor--baby{left:-7px;top:52px;width:62px;height:62px;border-width:5px}.region-modal__decor--star{right:-5px;top:68px;width:46px;height:46px;font-size:1.05rem}.region-modal__decor--heart{left:5px;bottom:58px;width:38px;height:38px;font-size:1.1rem}.region-modal__decor--mark{right:2px;bottom:48px;width:40px;height:40px;background-size:19px}
}
/* Final proportion pass: distinct rituals, editorial journal, circular selector */
.little-rituals .ritual-grid{gap:clamp(.75rem,1.3vw,1.15rem);border:0;background:transparent}
.little-rituals .ritual-card{min-height:270px;padding:clamp(1.65rem,2.4vw,2.25rem);border:1px solid rgba(171,136,109,.14);border-radius:24px;box-shadow:0 18px 50px rgba(61,43,31,.045)}
.little-rituals .ritual-card:nth-child(1){background:linear-gradient(145deg,rgba(255,253,248,.98),rgba(230,211,189,.34))}
.little-rituals .ritual-card:nth-child(2){background:linear-gradient(145deg,rgba(248,244,225,.94),rgba(187,151,156,.18))}
.little-rituals .ritual-card:nth-child(3){background:linear-gradient(145deg,rgba(255,253,248,.98),rgba(149,172,186,.16))}
.little-rituals .ritual-card+.ritual-card{border-left:1px solid rgba(171,136,109,.14)}
.little-rituals .ritual-card:hover,.little-rituals .ritual-card:focus-visible{transform:translateY(-5px);box-shadow:0 24px 60px rgba(61,43,31,.075)}

.journal-feature__header{max-width:920px;padding-top:clamp(3.4rem,6vw,5.4rem)}
.journal-feature__header h1{max-width:15ch;font-size:clamp(3.15rem,5.4vw,5.35rem);line-height:.94;letter-spacing:-.038em}
.journal-feature__header .lede{max-width:46ch;margin-top:1.35rem;font-size:clamp(.98rem,1.35vw,1.16rem);line-height:1.55}
.journal-feature__meta{max-width:820px;margin-top:2.35rem;padding:1rem 0}
.journal-feature__hero{max-width:1320px;margin:clamp(2.5rem,4vw,4rem) auto 0}
.journal-feature__hero img{height:clamp(360px,42vw,560px);border-radius:24px}
.journal-feature__layout{grid-template-columns:minmax(180px,230px) minmax(0,660px);gap:clamp(3rem,6vw,6rem);padding-block:clamp(4rem,6vw,6.25rem)}
.journal-feature__opening{max-width:45ch!important;font-size:clamp(1.42rem,2.15vw,1.9rem)!important;line-height:1.42!important}
.journal-feature__opening::first-letter{font-size:3.55em}
.journal-feature__prose>h2{margin:clamp(3.5rem,5vw,4.8rem) 0 1.25rem;font-size:clamp(2.1rem,3.6vw,3.15rem);line-height:1}
.journal-feature__prose>p{max-width:64ch;margin-bottom:1.25rem;font-size:.94rem;line-height:1.78}
.journal-feature__prose blockquote{margin:clamp(2.5rem,4vw,3.7rem) 0;padding:clamp(2rem,3.5vw,3rem);font-size:clamp(1.45rem,2.5vw,2.05rem);line-height:1.25;border-radius:22px}
.journal-feature__prose figure{max-width:760px;margin:clamp(3rem,5vw,4.5rem) auto}
.journal-feature__prose figure img{max-height:460px;border-radius:22px}
.journal-checklist{margin:clamp(2.8rem,4vw,4rem) 0}

.region-modal__panel{width:min(440px,calc(100vw - 2rem));height:min(440px,calc(100dvh - 2rem));min-height:0;padding:2.55rem 3rem 2rem;border-radius:50%;overflow:visible}
.region-modal__panel::before{inset:-7px;border:7px solid rgba(187,151,156,.35);border-radius:50%}
.region-modal__brand img{width:56px}
.region-modal__intro{margin-bottom:.5rem}
.region-modal__intro h2{font-size:1.58rem;line-height:1.02}
.region-modal__intro p{max-width:31ch;margin-top:.35rem;font-size:.65rem;line-height:1.35}
.region-modal__options{gap:.35rem}
.region-modal__option{min-height:55px;padding:.4rem .65rem}
.region-modal__monogram{width:31px;height:31px;font-size:.72rem}
.region-modal__option-copy small{font-size:.46rem}
.region-modal__option-copy strong{font-size:.78rem}
.region-modal__footer{margin-top:.42rem;font-size:.52rem}
.region-modal__close{top:-2px;right:-34px}
.region-modal__decor--star,.region-modal__decor--heart,.region-modal__decor--mark{display:none}
.region-modal__decor--baby{left:-51px;top:96px;width:96px;height:176px;border:0;border-radius:16px 0 0 16px;background:transparent url('/assets/img/brand/baby-peeking-reference.webp') center/contain no-repeat;box-shadow:none}
@media(max-width:680px){
  .little-rituals .ritual-grid{gap:.75rem}.little-rituals .ritual-card+.ritual-card{border-left:1px solid rgba(171,136,109,.14);border-top:1px solid rgba(171,136,109,.14)}
  .journal-feature__header h1{font-size:clamp(2.75rem,12vw,3.75rem)}.journal-feature__hero img{height:68vw;min-height:290px}.journal-feature__opening{font-size:1.35rem!important}.journal-feature__prose>h2{font-size:2.15rem}
  .region-modal__panel{width:min(350px,calc(100vw - 2rem));height:min(350px,calc(100dvh - 2rem));padding:2.15rem 2.35rem 1.55rem;border-radius:50%}.region-modal__panel::before{inset:-5px;border-width:5px;border-radius:50%}
  .region-modal__brand img{width:46px}.region-modal__intro h2{font-size:1.25rem}.region-modal__intro p{font-size:.56rem}.region-modal__option{min-height:46px}.region-modal__monogram{width:27px;height:27px}.region-modal__option-copy strong{font-size:.68rem}.region-modal__footer{font-size:.45rem}.region-modal__close{top:-1px;right:7px}
  .region-modal__decor--baby{left:-24px;top:76px;width:68px;height:124px;border-radius:12px 0 0 12px}
}

/* Final release: compact selector plus mobile-fit navigation and content. */
.region-modal__panel{width:min(400px,calc(100vw - 2rem));height:min(400px,calc(100dvh - 2rem));padding:2.25rem 2.65rem 1.7rem}
.region-modal__panel::before{inset:-6px;border-width:6px}
.region-modal__brand img{width:50px}.region-modal__intro h2{font-size:1.42rem}.region-modal__intro p{font-size:.59rem}
.region-modal__option{min-height:49px}.region-modal__footer{font-size:.48rem}.region-modal__close{right:-31px}
.region-modal__decor--baby{left:-43px;top:84px;width:80px;height:146px}

@media(max-width:680px){
  :root{--header-h:64px;--sp-section:4.5rem}
  html,body{overflow-x:clip}main{min-width:0}
  .header-inner{gap:.35rem}.wordmark img{width:auto;max-width:128px;height:34px;object-fit:contain}
  .header-actions{gap:.2rem}.icon-btn,.menu-toggle{width:38px;height:38px}.region-pill{display:inline-flex;width:40px;height:40px;padding:0;justify-content:center;gap:0}.region-pill svg{margin:0}
  .section{padding-block:4.5rem}.index-grid{margin-top:1.25rem;gap:2.5rem}.index-card-media{aspect-ratio:4/5}
  .contact-grid{gap:2rem}.contact-info h3{margin-top:2rem;font-size:1.32rem}.contact-info p{font-size:.88rem;line-height:1.65;overflow-wrap:anywhere}
  .site-footer{padding-block:3rem 1.75rem}.footer-top{gap:2rem 1rem}.footer-brand{margin-bottom:0}.footer-brand .wordmark{font-size:1.7rem}.footer-brand p{max-width:31ch;font-size:.8rem;line-height:1.6}.footer-signature{margin-top:.8rem}
  .footer-col h4{margin-bottom:.7rem;font-size:.6rem}.footer-col ul{gap:.45rem}.footer-col a{font-size:.78rem}.footer-bottom{margin-top:2.25rem;padding-top:1rem;font-size:.64rem}
  .journal-feature__header{padding-top:3rem}.journal-feature__header h1{font-size:clamp(2.55rem,11vw,3.45rem)}.journal-feature__header .lede{font-size:.92rem}.journal-feature__hero img{height:66vw;min-height:260px}.journal-feature__layout{padding-block:3.5rem}.journal-feature__opening{font-size:1.24rem!important}.journal-feature__prose>h2{font-size:1.9rem}.journal-feature__prose>p{font-size:.9rem;line-height:1.72}
  .region-modal{padding:.75rem}.region-modal__panel{width:min(318px,calc(100vw - 1.5rem));height:min(318px,calc(100dvh - 1.5rem));padding:1.8rem 2.05rem 1.3rem}.region-modal__panel::before{inset:-4px;border-width:4px}
  .region-modal__brand{margin-bottom:.15rem}.region-modal__brand img{width:39px}.region-modal__intro{margin-bottom:.32rem}.region-modal__intro h2{font-size:1.08rem}.region-modal__intro p{max-width:29ch;margin-top:.25rem;font-size:.48rem;line-height:1.28}
  .region-modal__options{gap:.28rem}.region-modal__option{min-height:41px;padding:.3rem .5rem}.region-modal__monogram{width:24px;height:24px;font-size:.61rem}.region-modal__option-copy small{font-size:.39rem}.region-modal__option-copy strong{font-size:.59rem}.region-modal__arrow{font-size:.78rem}.region-modal__footer{margin-top:.3rem;font-size:.39rem}.region-modal__close{top:-1px;right:5px;width:31px;height:31px}
  .region-modal__decor--baby{left:-21px;top:65px;width:57px;height:104px;border-radius:10px 0 0 10px}
}

/* v14 — shorter homepage chapters with a deliberate tonal transition. */
.home-philosophy{
  padding-block:clamp(4rem,6vw,6.25rem) clamp(3rem,4.5vw,4.5rem);
  background:linear-gradient(145deg,#f8f4e1 0%,#f5eadb 52%,#fffdf8 100%);
}
.home-philosophy .manifesto-grid{align-items:start}
.home-philosophy .body-copy{max-width:54ch}
.home-philosophy .body-copy+.body-copy{margin-top:1rem}
.home-philosophy+.stitched-divider{margin-block:0;background-color:#fff}
.little-rituals{
  padding-block:clamp(3.75rem,5.5vw,5.75rem);
  background:
    radial-gradient(circle at 86% 8%,rgba(187,151,156,.11),transparent 30%),
    radial-gradient(circle at 8% 96%,rgba(149,172,186,.09),transparent 31%),
    linear-gradient(135deg,#fff 0%,#fbf6ee 46%,#f2e3d2 100%);
}
.little-rituals .ritual-intro{margin-bottom:1.25rem;padding-bottom:1.75rem}
.little-rituals .ritual-card{min-height:245px}

/* Transparent cutout: the baby grips the circular selector instead of sitting in a photo tile. */
.region-modal__decor--baby{
  left:-70px;top:68px;width:115px;height:250px;border:0;border-radius:0;
  background:transparent url('/assets/img/brand/baby-peeking-cutout-v2.png') right center/contain no-repeat;
  box-shadow:none;filter:drop-shadow(0 12px 18px rgba(35,31,32,.16));
}

@media(max-width:680px){
  .home-philosophy{padding-block:3.5rem 2.75rem}
  .home-philosophy+.stitched-divider{display:none}
  .little-rituals{padding-block:3.5rem}
  .little-rituals .ritual-intro{margin-bottom:1rem;padding-bottom:1.4rem}
  .little-rituals .ritual-card{min-height:0}
  .region-modal__decor--baby{left:-42px;top:54px;width:75px;height:165px;border-radius:0}
}

/* v15 — treat the selector and peeking baby as one continuous silhouette. */
.region-modal__panel{
  box-shadow:none;
  filter:drop-shadow(0 24px 38px rgba(35,31,32,.22));
}
.region-modal__decor--baby{
  left:-111px;top:75px;width:115px;height:250px;
  background-position:right center;background-size:auto 100%;
  filter:none;transform:rotate(-.35deg);transform-origin:right center;
}
@media(max-width:680px){
  .region-modal__panel{filter:drop-shadow(0 17px 26px rgba(35,31,32,.20))}
  .region-modal__decor--baby{left:-72px;top:77px;width:75px;height:165px;transform:rotate(-.25deg)}
}

/* v16 — the supplied baby-and-board artwork is one unified popup composition. */
.region-modal__backdrop{background:rgba(55,37,25,.78);backdrop-filter:blur(14px)}
.region-modal__panel{
  width:min(780px,calc(100vw - 2rem));height:auto;aspect-ratio:1451/1084;padding:0;
  border:0;border-radius:0;overflow:visible;box-shadow:none;filter:none;
  background:transparent url('/assets/img/brand/pythal-popup-unified.png') center/100% 100% no-repeat;
}
.region-modal__panel::before,.region-modal__panel::after{display:none}
.region-modal__decor--baby,.region-modal__decor--star,.region-modal__decor--heart,.region-modal__decor--mark{display:none}
.region-modal__brand,.region-modal__intro,.region-modal__options,.region-modal__footer{position:absolute;z-index:3}
.region-modal__brand{top:18%;left:38%;width:32%;margin:0;text-align:center}
.region-modal__brand img{width:92px}
.region-modal__intro{top:27%;left:28%;width:54%;margin:0;text-align:center}
.region-modal__intro h2{max-width:12em;margin:auto;font-size:clamp(1.7rem,3vw,2.55rem);line-height:.96;color:var(--ink)!important}
.region-modal__intro p{max-width:32ch;margin:.85rem auto 0;font-size:clamp(.72rem,1.25vw,1rem);line-height:1.42;color:var(--ink-soft)!important}
.region-modal__eyebrow{display:none}
.region-modal__options{top:52%;left:24.5%;width:55%;display:grid;grid-template-columns:1fr;gap:1rem}
.region-modal__option{min-height:76px;padding:.65rem 1.05rem;background:rgba(255,255,255,.94);box-shadow:0 8px 20px rgba(55,37,25,.12)}
.region-modal__monogram{width:48px;height:48px;font-size:1rem}
.region-modal__option-copy small{font-size:.65rem}.region-modal__option-copy strong{font-size:1.18rem}.region-modal__option-copy em{display:none}
.region-modal__arrow{font-size:1.5rem}
.region-modal__footer{top:82%;left:30%;width:49%;margin:0;text-align:center;font-size:.72rem;color:var(--ink-soft)}
.region-modal__close{top:5.5%;right:6%;z-index:5;width:48px;height:48px;background:rgba(34,24,18,.5);border-color:rgba(230,211,189,.65)}

@media(max-width:680px){
  .region-modal{padding:.5rem}
  .region-modal__panel{width:min(360px,calc(100vw - 1rem));height:auto;aspect-ratio:1/1;background-size:auto 100%;background-position:center}
  .region-modal__brand{top:17%;left:31%;width:52%}.region-modal__brand img{width:58px}
  .region-modal__intro{top:27%;left:19%;width:72%}.region-modal__intro h2{font-size:1.28rem}.region-modal__intro p{margin-top:.42rem;font-size:.58rem}
  .region-modal__options{top:51%;left:18%;width:73%;gap:.42rem}.region-modal__option{min-height:48px;padding:.35rem .55rem}.region-modal__monogram{width:28px;height:28px;font-size:.65rem}.region-modal__option-copy small{font-size:.42rem}.region-modal__option-copy strong{font-size:.7rem}.region-modal__arrow{font-size:.9rem}
  .region-modal__footer{top:79%;left:23%;width:65%;font-size:.45rem}.region-modal__close{top:3%;right:2%;width:34px;height:34px}
}

/* v18 — reference-matched proportions and a continuous baby/rim overlap. */
.region-modal__panel{width:min(340px,calc(100vw - 4rem));height:min(340px,calc(100dvh - 2rem))}
.region-modal__surface{padding:1.7rem 2.15rem 1.15rem;box-shadow:0 0 0 5px #a9876d,0 20px 52px rgba(35,31,32,.24)}
.region-modal__brand{margin-bottom:.14rem}.region-modal__brand img{width:45px}
.region-modal__intro{margin-bottom:.42rem}.region-modal__intro h2{font-size:1.28rem}.region-modal__intro p{font-size:.54rem}
.region-modal__options{gap:.3rem}.region-modal__option{min-height:45px;padding:.31rem .55rem}.region-modal__monogram{width:27px;height:27px}.region-modal__option-copy small{font-size:.39rem}.region-modal__option-copy strong{font-size:.69rem}
.region-modal__footer{margin-top:.33rem;font-size:.42rem}
.region-modal__close{top:7px;right:-44px;width:36px;height:36px}
.region-modal__decor--baby{top:36px;left:-92px;width:101px;height:274px;background-position:right center;background-size:auto 100%}
.region-modal__decor--baby-back{z-index:1}
.region-modal__decor--baby-hand{z-index:6;transform:translateX(10px);clip-path:polygon(38% 39%,100% 39%,100% 72%,38% 72%)}
@media(max-width:680px){
  .region-modal__panel{width:min(278px,calc(100vw - 3.5rem));height:min(278px,calc(100dvh - 1.25rem))}
  .region-modal__surface{padding:1.25rem 1.62rem .82rem;box-shadow:0 0 0 4px #a9876d,0 16px 38px rgba(35,31,32,.23)}
  .region-modal__brand img{width:33px}.region-modal__intro{margin-bottom:.24rem}.region-modal__intro h2{font-size:.9rem}.region-modal__intro p{font-size:.39rem}.region-modal__options{gap:.2rem}.region-modal__option{min-height:34px;padding:.2rem .38rem}.region-modal__monogram{width:21px;height:21px;font-size:.5rem}.region-modal__option-copy small{font-size:.3rem}.region-modal__option-copy strong{font-size:.51rem}.region-modal__footer{margin-top:.2rem;font-size:.31rem}
  .region-modal__close{top:2px;right:-31px;width:28px;height:28px}
  .region-modal__decor--baby{top:31px;left:-76px;width:83px;height:222px}.region-modal__decor--baby-hand{transform:translateX(8px)}
}

/* v17 release override — code-built compact circular selector */
.region-modal__backdrop{background:rgba(35,31,32,.62);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.region-modal__panel{position:relative;width:min(390px,calc(100vw - 3.5rem));height:min(390px,calc(100dvh - 2rem));aspect-ratio:1;padding:0;border:0;border-radius:50%;overflow:visible;background:none;box-shadow:none;filter:none;isolation:isolate}
.region-modal__panel::before,.region-modal__panel::after{display:none}
.region-modal__surface{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:2.05rem 2.55rem 1.45rem;border:1px solid rgba(171,136,109,.44);border-radius:50%;background:radial-gradient(circle at 48% 35%,rgba(255,255,255,.98),rgba(255,253,248,.96) 48%,rgba(248,244,225,.98) 100%);box-shadow:0 0 0 6px rgba(171,136,109,.52),0 24px 58px rgba(35,31,32,.25)}
.region-modal__brand,.region-modal__intro,.region-modal__options,.region-modal__footer{position:relative;inset:auto;z-index:3;width:auto}
.region-modal__brand{margin:0 0 .22rem;text-align:center}.region-modal__brand img{width:48px;height:auto}.region-modal__eyebrow{display:none}
.region-modal__intro{margin:0 0 .55rem;text-align:center}.region-modal__intro h2{max-width:10em;margin:0 auto;color:var(--ink)!important;font-size:1.38rem;line-height:1;letter-spacing:-.035em}.region-modal__intro p{max-width:31ch;margin:.38rem auto 0;color:var(--ink-soft)!important;font-size:.58rem;line-height:1.35}
.region-modal__options{display:grid;gap:.36rem}.region-modal__option{min-height:49px;padding:.36rem .62rem;border:1px solid rgba(171,136,109,.20);border-radius:999px;background:rgba(255,255,255,.93);box-shadow:0 7px 18px rgba(69,48,34,.08)}
.region-modal__monogram{width:29px;height:29px;font-size:.68rem}.region-modal__option-copy small{font-size:.43rem;letter-spacing:.11em}.region-modal__option-copy strong{font-size:.74rem;line-height:1.08}.region-modal__option-copy em{display:none}.region-modal__arrow{font-size:.95rem}
.region-modal__footer{margin:.42rem 0 0;color:var(--ink-soft)!important;font-size:.47rem;line-height:1.25;text-align:center}.region-modal__footer button{color:var(--ink)!important}
.region-modal__close{top:-8px;right:-34px;z-index:7;width:38px;height:38px;color:var(--creme);background:rgba(35,31,32,.54);border-color:rgba(248,244,225,.55)}
.region-modal__decor--star,.region-modal__decor--heart,.region-modal__decor--mark{display:none}
.region-modal__decor--baby{position:absolute;display:block;top:72px;left:-104px;width:108px;height:245px;margin:0;border:0;border-radius:0;background:transparent url('/assets/img/brand/baby-peeking-cutout-v2.png') right center/auto 100% no-repeat;box-shadow:none;filter:drop-shadow(-7px 12px 14px rgba(35,31,32,.15));transform:none;pointer-events:none}
.region-modal__decor--baby-back{z-index:1}.region-modal__decor--baby-hand{z-index:5;transform:translateX(7px);clip-path:polygon(52% 43%,100% 43%,100% 70%,52% 70%);filter:drop-shadow(2px 4px 5px rgba(35,31,32,.12))}
@media(max-width:680px){
  .region-modal{padding:.55rem}.region-modal__panel{width:min(304px,calc(100vw - 3rem));height:min(304px,calc(100dvh - 1.5rem));aspect-ratio:1;padding:0}.region-modal__surface{padding:1.42rem 1.85rem 1rem;box-shadow:0 0 0 4px rgba(171,136,109,.52),0 18px 42px rgba(35,31,32,.24)}
  .region-modal__brand{margin-bottom:.1rem}.region-modal__brand img{width:36px}.region-modal__intro{margin-bottom:.3rem}.region-modal__intro h2{font-size:1rem}.region-modal__intro p{margin-top:.22rem;font-size:.44rem}.region-modal__options{gap:.24rem}.region-modal__option{min-height:38px;padding:.24rem .44rem}.region-modal__monogram{width:23px;height:23px;font-size:.54rem}.region-modal__option-copy small{font-size:.34rem}.region-modal__option-copy strong{font-size:.56rem}.region-modal__arrow{font-size:.7rem}.region-modal__footer{margin-top:.24rem;font-size:.35rem}.region-modal__close{top:0;right:2px;width:30px;height:30px}.region-modal__decor--baby{top:57px;left:-75px;width:78px;height:190px}.region-modal__decor--baby-hand{transform:none}
}

/* v19 — the rear layer supplies the child; this precisely shaped front layer
   reveals only the fingers crossing the circular rim, without a box seam. */
.region-modal__decor--baby-hand{
  transform:none;
  clip-path:polygon(70% 49%,83% 48%,96% 52%,100% 57%,100% 68%,91% 69%,82% 66%,76% 62%,72% 56%);
  filter:drop-shadow(1px 3px 3px rgba(35,31,32,.10));
}

/* v18 — official stacked Pythal identity system */
.header-inner > .wordmark img,
.nav-drawer .wordmark img{
  width:auto;
  height:68px;
  max-width:82px;
  object-fit:contain;
  filter:none;
}
.site-header.on-hero:not(.is-scrolled) .header-inner > .wordmark img{
  content:url('/assets/img/brand/pythal-logo-creme.png');
  filter:none;
}
.footer-wordmark{
  display:inline-flex;
  align-items:center;
  line-height:1;
  text-decoration:none;
}
.footer-wordmark img{
  display:block;
  width:auto;
  height:104px;
  max-width:120px;
  object-fit:contain;
}
.region-modal__brand img{
  width:58px;
  height:auto;
  filter:none;
}
@media(max-width:720px){
  .header-inner > .wordmark img,
  .nav-drawer .wordmark img{height:54px;max-width:65px}
  .footer-wordmark img{height:86px;max-width:100px}
  .region-modal__brand img{width:42px}
}

/* v23 PHYSICAL-END FIX: use one intact rectangular reference composition. */
.region-modal__panel{position:relative!important;width:min(620px,calc(100vw - 24px))!important;height:auto!important;max-height:calc(100dvh - 20px)!important;aspect-ratio:1451/1084!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;filter:none!important;overflow:visible!important;isolation:isolate!important}
.region-modal__art{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;clip-path:none!important;-webkit-clip-path:none!important;opacity:1!important;z-index:1!important;pointer-events:none!important}
.region-modal__art--baby-front,.region-modal__decor--baby,.region-modal__decor--baby-hand{display:none!important}
.region-modal__surface{position:absolute!important;left:24.2%!important;top:8%!important;right:auto!important;bottom:auto!important;width:62.8%!important;height:84%!important;z-index:2!important;display:flex!important;flex-direction:column!important;justify-content:center!important;padding:7.5% 7.4% 6.2%!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important}
.region-modal__brand,.region-modal__intro,.region-modal__options,.region-modal__footer{position:relative!important;inset:auto!important;transform:none!important;width:auto!important;height:auto!important;z-index:3!important}
.region-modal__brand{margin:0 0 .3rem!important}.region-modal__brand img{width:58px!important;height:auto!important}
.region-modal__intro{margin:0 0 .68rem!important}.region-modal__intro h2{font-size:clamp(1.35rem,2.6vw,2.1rem)!important;line-height:.97!important}.region-modal__intro p{margin:.5rem auto 0!important;font-size:clamp(.62rem,1.08vw,.88rem)!important;line-height:1.35!important;max-width:29rem!important}
.region-modal__options{display:grid!important;grid-template-columns:1fr!important;gap:.52rem!important;margin:0!important}.region-modal__option{min-height:56px!important;padding:.52rem .85rem!important}.region-modal__monogram{width:36px!important;height:36px!important}.region-modal__option-copy small{font-size:.54rem!important}.region-modal__option-copy strong{font-size:clamp(.76rem,1.3vw,1.02rem)!important}.region-modal__footer{margin:.62rem 0 0!important;font-size:clamp(.46rem,.8vw,.63rem)!important}.region-modal__close{top:8.5%!important;right:3.5%!important;z-index:4!important}
@media(max-width:680px){.region-modal__panel{width:min(360px,calc(100vw - 12px))!important;max-height:calc(100dvh - 10px)!important}.region-modal__surface{left:24%!important;top:8%!important;width:63%!important;height:84%!important;padding:7% 7% 5.5%!important}.region-modal__brand{margin-bottom:.1rem!important}.region-modal__brand img{width:35px!important}.region-modal__intro{margin-bottom:.3rem!important}.region-modal__intro h2{font-size:.98rem!important}.region-modal__intro p{margin-top:.2rem!important;font-size:.43rem!important}.region-modal__options{gap:.23rem!important}.region-modal__option{min-height:36px!important;padding:.24rem .46rem!important}.region-modal__monogram{width:23px!important;height:23px!important;font-size:.53rem!important}.region-modal__option-copy small{font-size:.32rem!important}.region-modal__option-copy strong{font-size:.56rem!important}.region-modal__footer{margin-top:.24rem!important;font-size:.33rem!important}.region-modal__close{top:6%!important;right:1%!important;width:30px!important;height:30px!important}}

/* v24 — final isolated, code-built compact region selector. */
.region-modal .region-modal__backdrop{
  background:rgba(35,31,32,.58)!important;
  -webkit-backdrop-filter:blur(7px)!important;
  backdrop-filter:blur(7px)!important;
}
.region-modal .region-modal__panel{
  position:relative!important;
  width:min(326px,calc(100vw - 76px))!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:none!important;
  box-shadow:none!important;
  filter:none!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.region-modal .region-modal__art,
.region-modal .region-modal__decor--baby,
.region-modal .region-modal__decor--baby-back,
.region-modal .region-modal__decor--baby-hand,
.region-modal .region-modal__decor--star,
.region-modal .region-modal__decor--heart,
.region-modal .region-modal__decor--mark{
  display:none!important;
}
.region-modal .region-modal__panel::before,
.region-modal .region-modal__panel::after{display:none!important}
.region-modal .region-modal__baby{
  display:block!important;
  position:absolute!important;
  z-index:1!important;
  top:47px!important;
  left:-70px!important;
  width:80px!important;
  height:232px!important;
  background:transparent url('/assets/img/brand/baby-peeking-cutout-v2.png') right center/auto 100% no-repeat!important;
  filter:drop-shadow(-5px 10px 13px rgba(35,31,32,.16))!important;
  pointer-events:none!important;
}
.region-modal .region-modal__surface{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:31px 35px 24px!important;
  border:1px solid rgba(171,136,109,.64)!important;
  border-radius:50%!important;
  overflow:hidden!important;
  background:radial-gradient(circle at 46% 30%,rgba(255,255,255,.97),rgba(255,253,248,.95) 50%,rgba(248,244,225,.94) 100%)!important;
  box-shadow:0 0 0 4px rgba(171,136,109,.47),0 18px 45px rgba(35,31,32,.24)!important;
  -webkit-backdrop-filter:blur(3px)!important;
  backdrop-filter:blur(3px)!important;
}
.region-modal .region-modal__brand,
.region-modal .region-modal__intro,
.region-modal .region-modal__options,
.region-modal .region-modal__footer{
  position:relative!important;
  inset:auto!important;
  z-index:3!important;
  width:100%!important;
  height:auto!important;
  transform:none!important;
}
.region-modal .region-modal__brand{margin:0 0 2px!important;text-align:center!important}
.region-modal .region-modal__brand img{display:block!important;width:39px!important;height:auto!important;margin:0 auto!important}
.region-modal .region-modal__eyebrow{display:none!important}
.region-modal .region-modal__intro{margin:0 0 8px!important;text-align:center!important}
.region-modal .region-modal__intro h2{max-width:9em!important;margin:0 auto!important;color:#231f20!important;font-size:17px!important;line-height:.98!important;letter-spacing:-.035em!important}
.region-modal .region-modal__intro p{max-width:30ch!important;margin:5px auto 0!important;color:#625b57!important;font-size:7.5px!important;line-height:1.35!important}
.region-modal .region-modal__options{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;margin:0!important}
.region-modal .region-modal__option{display:flex!important;align-items:center!important;min-height:44px!important;padding:5px 9px!important;border:1px solid rgba(171,136,109,.20)!important;border-radius:999px!important;background:rgba(255,255,255,.91)!important;box-shadow:0 6px 15px rgba(55,37,25,.08)!important}
.region-modal .region-modal__monogram{flex:0 0 27px!important;width:27px!important;height:27px!important;font-size:9px!important}
.region-modal .region-modal__option-copy{min-width:0!important}
.region-modal .region-modal__option-copy small{font-size:5.5px!important;line-height:1.1!important;letter-spacing:.1em!important;white-space:normal!important}
.region-modal .region-modal__option-copy strong{font-size:9.5px!important;line-height:1.05!important;white-space:normal!important}
.region-modal .region-modal__option-copy em{display:none!important}
.region-modal .region-modal__arrow{margin-left:auto!important;font-size:12px!important}
.region-modal .region-modal__footer{display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;margin:7px 0 0!important;color:#625b57!important;font-size:6px!important;line-height:1.2!important;text-align:center!important;white-space:normal!important}
.region-modal .region-modal__footer button{color:#231f20!important;font-size:inherit!important;white-space:normal!important}
.region-modal .region-modal__close{top:1px!important;right:-43px!important;z-index:6!important;width:34px!important;height:34px!important;color:#f8f4e1!important;background:rgba(35,31,32,.38)!important;border:1px solid rgba(248,244,225,.58)!important}
@media(max-width:520px){
  .region-modal{padding:8px!important}
  .region-modal .region-modal__panel{width:min(274px,calc(100vw - 64px))!important}
  .region-modal .region-modal__baby{top:43px!important;left:-57px!important;width:66px!important;height:190px!important}
  .region-modal .region-modal__surface{padding:25px 29px 19px!important;box-shadow:0 0 0 3px rgba(171,136,109,.47),0 15px 35px rgba(35,31,32,.23)!important}
  .region-modal .region-modal__brand img{width:33px!important}
  .region-modal .region-modal__intro{margin-bottom:6px!important}
  .region-modal .region-modal__intro h2{font-size:14px!important}
  .region-modal .region-modal__intro p{margin-top:3px!important;font-size:6.2px!important}
  .region-modal .region-modal__options{gap:4px!important}
  .region-modal .region-modal__option{min-height:37px!important;padding:4px 7px!important}
  .region-modal .region-modal__monogram{flex-basis:23px!important;width:23px!important;height:23px!important;font-size:7.5px!important}
  .region-modal .region-modal__option-copy small{font-size:4.6px!important}
  .region-modal .region-modal__option-copy strong{font-size:8px!important}
  .region-modal .region-modal__arrow{font-size:10px!important}
  .region-modal .region-modal__footer{gap:3px!important;margin-top:5px!important;font-size:5px!important}
  .region-modal .region-modal__close{top:-2px!important;right:-36px!important;width:30px!important;height:30px!important}
}

/* v26 — final source-order lock for the approved Mushie-scale composition */
body .region-modal .region-modal__panel{width:min(500px,calc(100vw - 150px))!important;max-width:none!important;aspect-ratio:1!important;overflow:visible!important}
body .region-modal .region-modal__surface{z-index:2!important;width:100%!important;height:100%!important;padding:48px 54px 30px!important;border:5px solid rgba(171,136,109,.82)!important;border-radius:50%!important;overflow:hidden!important;background:radial-gradient(circle at 50% 38%,#fff 0%,#f8f4e1 68%,#e6d3bd 100%)!important;box-shadow:0 28px 70px rgba(35,31,32,.34),0 8px 20px rgba(35,31,32,.18),inset 0 0 0 1px rgba(255,255,255,.92)!important}
body .region-modal .region-modal__baby{display:block!important;position:absolute!important;z-index:1!important;top:65px!important;left:-78px!important;width:126px!important;height:378px!important;background-image:url('../img/brand/baby-peeking-cutout-v2.png')!important;background-repeat:no-repeat!important;background-position:right center!important;background-size:auto 100%!important;filter:drop-shadow(-10px 14px 18px rgba(35,31,32,.22))!important}
body .region-modal .region-modal__content{z-index:3!important;width:100%!important;height:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important}
body .region-modal .region-modal__brand{margin:0 0 11px!important}body .region-modal .region-modal__brand img{width:70px!important;max-height:44px!important}
body .region-modal .region-modal__intro{margin:0 0 18px!important}body .region-modal .region-modal__intro h2{max-width:370px!important;margin:0 auto!important;font-size:34px!important;line-height:.98!important}body .region-modal .region-modal__intro p{max-width:335px!important;margin:10px auto 0!important;font-size:14px!important;line-height:1.36!important}
body .region-modal .region-modal__options{width:100%!important;gap:11px!important}body .region-modal .region-modal__option{width:100%!important;min-height:68px!important;gap:14px!important;padding:9px 16px 9px 12px!important}body .region-modal .region-modal__monogram{flex:0 0 44px!important;width:44px!important;height:44px!important;font-size:15px!important}body .region-modal .region-modal__option-copy small{font-size:9.5px!important}body .region-modal .region-modal__option-copy strong{font-size:18px!important}body .region-modal .region-modal__arrow{font-size:22px!important}
body .region-modal .region-modal__footer{gap:6px!important;margin-top:13px!important;font-size:10.5px!important}body .region-modal .region-modal__close{top:5px!important;right:-54px!important;width:42px!important;height:42px!important}
@media(max-width:600px){body .region-modal .region-modal__panel{width:min(340px,calc(100vw - 64px))!important}body .region-modal .region-modal__surface{padding:32px 31px 21px!important;border-width:4px!important}body .region-modal .region-modal__baby{top:43px!important;left:-55px!important;width:88px!important;height:264px!important}body .region-modal .region-modal__brand{margin-bottom:7px!important}body .region-modal .region-modal__brand img{width:54px!important}body .region-modal .region-modal__intro{margin-bottom:11px!important}body .region-modal .region-modal__intro h2{font-size:23px!important}body .region-modal .region-modal__intro p{margin-top:7px!important;font-size:10px!important}body .region-modal .region-modal__options{gap:7px!important}body .region-modal .region-modal__option{min-height:50px!important;gap:9px!important;padding:6px 11px 6px 8px!important}body .region-modal .region-modal__monogram{flex-basis:32px!important;width:32px!important;height:32px!important;font-size:11px!important}body .region-modal .region-modal__option-copy small{font-size:7px!important}body .region-modal .region-modal__option-copy strong{font-size:13px!important}body .region-modal .region-modal__arrow{font-size:16px!important}body .region-modal .region-modal__footer{margin-top:8px!important;font-size:7.5px!important}body .region-modal .region-modal__close{top:0!important;right:-42px!important;width:34px!important;height:34px!important}}
@media(max-width:360px){body .region-modal .region-modal__panel{width:calc(100vw - 58px)!important}body .region-modal .region-modal__surface{padding:28px 27px 18px!important}body .region-modal .region-modal__baby{top:39px!important;left:-48px!important;width:78px!important;height:234px!important}body .region-modal .region-modal__intro h2{font-size:20px!important}body .region-modal .region-modal__intro p{font-size:9px!important}body .region-modal .region-modal__option{min-height:46px!important}body .region-modal .region-modal__close{right:-36px!important;width:31px!important;height:31px!important}}

/* v28 — authoritative final popup rules; keep this block last */
body .region-modal .region-modal__panel{width:min(420px,calc(100vw - 112px))!important;aspect-ratio:1/1!important;overflow:visible!important}
body .region-modal .region-modal__surface{position:relative!important;z-index:2!important;width:100%!important;height:100%!important;box-sizing:border-box!important;padding:38px 42px 26px!important;overflow:hidden!important;border:4px solid rgba(171,136,109,.9)!important;border-radius:50%!important;background:radial-gradient(circle at 48% 35%,rgba(255,255,255,.98),rgba(248,244,225,.96) 72%,rgba(230,211,189,.96) 100%)!important;box-shadow:0 22px 54px rgba(35,31,32,.24),inset 0 0 30px rgba(255,255,255,.7)!important}
body .region-modal .region-modal__baby{position:absolute!important;top:54px!important;left:-72px!important;display:block!important;width:112px!important;height:326px!important;margin:0!important;background:url('../img/brand/baby-peeking-cutout-v2.png') center/contain no-repeat!important;pointer-events:none!important}
body .region-modal .region-modal__baby--back{z-index:1!important;filter:drop-shadow(-8px 12px 18px rgba(35,31,32,.2))!important}
body .region-modal .region-modal__baby--front{z-index:4!important;clip-path:polygon(64% 43%,100% 43%,100% 69%,64% 69%)!important;filter:drop-shadow(2px 3px 3px rgba(35,31,32,.12))!important}
body .region-modal .region-modal__close{top:2px!important;right:-48px!important;z-index:5!important;width:38px!important;height:38px!important}
body .region-modal .region-modal__brand{margin:0 auto 7px!important}body .region-modal .region-modal__brand img{width:54px!important;max-height:34px!important}
body .region-modal .region-modal__intro{margin:0 auto 15px!important}body .region-modal .region-modal__intro h2{max-width:300px!important;margin:0 auto 7px!important;font-size:27px!important;line-height:.98!important;letter-spacing:-.045em!important}body .region-modal .region-modal__intro p{max-width:275px!important;margin:0 auto!important;font-size:11px!important;line-height:1.34!important}
body .region-modal .region-modal__options{gap:8px!important}body .region-modal .region-modal__option{min-height:54px!important;padding:7px 15px 7px 9px!important;border-radius:999px!important;box-shadow:0 6px 14px rgba(86,61,44,.1)!important}body .region-modal .region-modal__monogram{flex-basis:36px!important;width:36px!important;height:36px!important;font-size:13px!important}body .region-modal .region-modal__option-copy small{margin-bottom:2px!important;font-size:7px!important;letter-spacing:.14em!important}body .region-modal .region-modal__option-copy strong{font-size:14px!important;line-height:1.04!important}body .region-modal .region-modal__arrow{font-size:18px!important}
body .region-modal .region-modal__footer{margin-top:10px!important;font-size:8px!important;line-height:1.25!important}
@media(max-width:620px){body .region-modal .region-modal__panel{width:min(306px,calc(100vw - 58px))!important}body .region-modal .region-modal__surface{padding:29px 28px 20px!important;border-width:3px!important}body .region-modal .region-modal__baby{top:42px!important;left:-51px!important;width:82px!important;height:236px!important}body .region-modal .region-modal__close{top:-4px!important;right:-40px!important;width:34px!important;height:34px!important}body .region-modal .region-modal__brand{margin-bottom:5px!important}body .region-modal .region-modal__brand img{width:43px!important;max-height:27px!important}body .region-modal .region-modal__intro{margin-bottom:10px!important}body .region-modal .region-modal__intro h2{max-width:230px!important;margin-bottom:5px!important;font-size:20px!important}body .region-modal .region-modal__intro p{max-width:210px!important;font-size:8.5px!important}body .region-modal .region-modal__options{gap:6px!important}body .region-modal .region-modal__option{min-height:43px!important;padding:5px 11px 5px 7px!important}body .region-modal .region-modal__monogram{flex-basis:29px!important;width:29px!important;height:29px!important;font-size:10px!important}body .region-modal .region-modal__option-copy small{font-size:5.5px!important}body .region-modal .region-modal__option-copy strong{font-size:11px!important}body .region-modal .region-modal__arrow{font-size:15px!important}body .region-modal .region-modal__footer{margin-top:7px!important;font-size:6.5px!important}}

/* v29 — authoritative unified popup: artwork and rim are one seamless asset. */
body .region-modal .region-modal__panel{
  position:relative!important;
  width:min(600px,calc(100vw - 32px))!important;
  height:auto!important;
  max-width:none!important;
  max-height:calc(100dvh - 20px)!important;
  aspect-ratio:1451/1084!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  isolation:isolate!important;
}
body .region-modal .region-modal__art{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  opacity:1!important;
  clip-path:none!important;
  filter:drop-shadow(0 18px 28px rgba(35,31,32,.24))!important;
  pointer-events:none!important;
}
body .region-modal .region-modal__baby{display:none!important}
body .region-modal .region-modal__surface{
  position:absolute!important;
  left:23.5%!important;
  top:7.5%!important;
  right:auto!important;
  bottom:auto!important;
  z-index:2!important;
  width:63.5%!important;
  height:85%!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:7% 7.5% 5.5%!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
body .region-modal .region-modal__brand{margin:0 auto 5px!important}
body .region-modal .region-modal__brand img{width:50px!important;max-height:32px!important}
body .region-modal .region-modal__intro{margin:0 auto 12px!important}
body .region-modal .region-modal__intro h2{max-width:270px!important;margin:0 auto 6px!important;font-size:25px!important;line-height:.98!important}
body .region-modal .region-modal__intro p{max-width:250px!important;margin:0 auto!important;font-size:10px!important;line-height:1.35!important}
body .region-modal .region-modal__options{width:100%!important;gap:7px!important}
body .region-modal .region-modal__option{width:100%!important;min-height:50px!important;padding:6px 13px 6px 8px!important}
body .region-modal .region-modal__monogram{flex:0 0 33px!important;width:33px!important;height:33px!important;font-size:11px!important}
body .region-modal .region-modal__option-copy small{font-size:6.3px!important}
body .region-modal .region-modal__option-copy strong{font-size:13px!important}
body .region-modal .region-modal__footer{margin-top:8px!important;font-size:7px!important}
body .region-modal .region-modal__close{top:8%!important;right:1.5%!important;z-index:5!important;width:36px!important;height:36px!important}
@media(max-width:620px){
  body .region-modal .region-modal__panel{width:min(360px,calc(100vw - 8px))!important;max-height:calc(100dvh - 8px)!important}
  body .region-modal .region-modal__surface{left:23.5%!important;top:7.5%!important;width:63.5%!important;height:85%!important;padding:6.5% 7% 5%!important}
  body .region-modal .region-modal__brand{margin-bottom:3px!important}
  body .region-modal .region-modal__brand img{width:34px!important;max-height:22px!important}
  body .region-modal .region-modal__intro{margin-bottom:7px!important}
  body .region-modal .region-modal__intro h2{max-width:175px!important;margin-bottom:3px!important;font-size:16px!important}
  body .region-modal .region-modal__intro p{max-width:165px!important;font-size:6.5px!important}
  body .region-modal .region-modal__options{gap:4px!important}
  body .region-modal .region-modal__option{min-height:33px!important;padding:3px 8px 3px 5px!important}
  body .region-modal .region-modal__monogram{flex-basis:22px!important;width:22px!important;height:22px!important;font-size:7px!important}
  body .region-modal .region-modal__option-copy small{font-size:4px!important}
  body .region-modal .region-modal__option-copy strong{font-size:8px!important}
  body .region-modal .region-modal__arrow{font-size:11px!important}
  body .region-modal .region-modal__footer{margin-top:5px!important;font-size:4.5px!important}
  body .region-modal .region-modal__close{top:5%!important;right:0!important;width:29px!important;height:29px!important}
}

/* v30.2 — MUST REMAIN LAST: coded vector popup, with visible page behind. */
html body .region-modal .region-modal__backdrop{background:rgba(35,31,32,.25)!important;-webkit-backdrop-filter:blur(1px)!important;backdrop-filter:blur(1px)!important}
html body .region-modal .region-modal__panel{position:relative!important;width:min(410px,calc(100vw - 106px))!important;height:auto!important;max-width:none!important;max-height:none!important;aspect-ratio:1/1!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;isolation:isolate!important}
html body .region-modal .region-modal__art,html body .region-modal .region-modal__baby{display:none!important}
html body .region-modal .region-modal__surface{position:absolute!important;inset:0!important;z-index:2!important;width:100%!important;height:100%!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;justify-content:center!important;padding:36px 39px 25px!important;overflow:hidden!important;border:3px solid #9b755d!important;border-radius:50%!important;background:radial-gradient(circle at 45% 28%,#fff 0%,#fcfaf3 46%,#f8f4e1 78%,#efe2d1 100%)!important;box-shadow:0 18px 48px rgba(58,39,29,.25),inset 0 0 0 1px rgba(255,255,255,.95),inset 0 -18px 40px rgba(171,136,109,.08)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html body .region-modal .region-modal__coded-baby{display:block!important;position:absolute!important;z-index:1!important;top:58px!important;left:-74px!important;width:122px!important;height:276px!important;pointer-events:none!important;filter:drop-shadow(-7px 11px 13px rgba(67,43,30,.16))!important}
html body .region-modal .region-modal__coded-baby svg{display:block!important;width:100%!important;height:100%!important;overflow:visible!important}
html body .region-modal .region-baby__body{fill:#f4eadb!important;stroke:#8b624b!important;stroke-width:2.1!important}html body .region-modal .region-baby__ear,html body .region-modal .region-baby__face{fill:#efd0b5!important;stroke:#8b624b!important;stroke-width:2.1!important}html body .region-modal .region-baby__hair{fill:#76503b!important;stroke:#684432!important;stroke-width:2!important}html body .region-modal .region-baby__hair-line,html body .region-modal .region-baby__brow,html body .region-modal .region-baby__nose,html body .region-modal .region-baby__smile,html body .region-modal .region-baby__collar{fill:none!important;stroke:#76503b!important;stroke-width:2.1!important;stroke-linecap:round!important}html body .region-modal .region-baby__eye{fill:#453126!important}html body .region-modal .region-baby__glint{fill:#fff!important}
html body .region-modal .region-modal__coded-hand{display:block!important;position:absolute!important;z-index:4!important;top:194px!important;left:-18px!important;width:39px!important;height:60px!important;pointer-events:none!important;filter:drop-shadow(2px 3px 3px rgba(67,43,30,.14))!important}html body .region-modal .region-modal__coded-hand svg{display:block!important;width:100%!important;height:100%!important;overflow:visible!important}html body .region-modal .region-modal__coded-hand path{fill:#efd0b5!important;stroke:#8b624b!important;stroke-width:1.8!important}
html body .region-modal .region-modal__close{top:4px!important;right:-46px!important;z-index:6!important;width:37px!important;height:37px!important}
html body .region-modal .region-modal__brand{margin:0 auto 5px!important}html body .region-modal .region-modal__brand img{width:49px!important;max-height:31px!important}
html body .region-modal .region-modal__intro{margin:0 auto 13px!important}html body .region-modal .region-modal__intro h2{max-width:290px!important;margin:0 auto 6px!important;font-size:26px!important;line-height:.98!important}html body .region-modal .region-modal__intro p{max-width:260px!important;margin:0 auto!important;font-size:10.5px!important;line-height:1.36!important}
html body .region-modal .region-modal__options{width:100%!important;gap:8px!important}html body .region-modal .region-modal__option{width:100%!important;min-height:52px!important;padding:6px 14px 6px 8px!important}html body .region-modal .region-modal__monogram{flex:0 0 35px!important;width:35px!important;height:35px!important;font-size:12px!important}html body .region-modal .region-modal__option-copy small{font-size:6.6px!important}html body .region-modal .region-modal__option-copy strong{font-size:13.5px!important}html body .region-modal .region-modal__option-copy em{display:none!important}html body .region-modal .region-modal__footer{margin-top:9px!important;font-size:7.5px!important}
@media(max-width:620px){html body .region-modal .region-modal__panel{width:min(298px,calc(100vw - 60px))!important}html body .region-modal .region-modal__surface{padding:27px 27px 19px!important;border-width:2.5px!important}html body .region-modal .region-modal__coded-baby{top:44px!important;left:-52px!important;width:86px!important;height:201px!important}html body .region-modal .region-modal__coded-hand{top:141px!important;left:-13px!important;width:29px!important;height:45px!important}html body .region-modal .region-modal__close{top:-3px!important;right:-39px!important;width:32px!important;height:32px!important}html body .region-modal .region-modal__brand img{width:38px!important;max-height:24px!important}html body .region-modal .region-modal__intro{margin-bottom:9px!important}html body .region-modal .region-modal__intro h2{max-width:210px!important;font-size:19px!important}html body .region-modal .region-modal__intro p{max-width:195px!important;font-size:7.8px!important}html body .region-modal .region-modal__options{gap:5px!important}html body .region-modal .region-modal__option{min-height:40px!important;padding:4px 10px 4px 6px!important}html body .region-modal .region-modal__monogram{flex-basis:27px!important;width:27px!important;height:27px!important;font-size:9px!important}html body .region-modal .region-modal__option-copy small{font-size:5px!important}html body .region-modal .region-modal__option-copy strong{font-size:10px!important}html body .region-modal .region-modal__footer{margin-top:6px!important;font-size:5.8px!important}}
