@font-face{font-family:'Titan One';src:url('assets/titan-one-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
/* Approved light packaging-led preview. Shared brand theme remains unchanged. */
[data-brand='candyceuticals']{--accent-fill:var(--accent);--accent-fill-hover:var(--accent);--glass-fill-3:transparent;--glass-border:transparent;--glass-blur:0px;--glass-sat:1;--glass-shadow:none;--glass-glow:none;--glass-inset:none;--surface-body:var(--surface);--header-height:80px;--text-3:var(--text-2)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{margin:0;background:var(--bg);color:var(--text-1);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}button{font:inherit;color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3,.story-line,.background-word{font-family:var(--font-display);font-weight:400;letter-spacing:-.025em;line-height:1.02}::selection{background:var(--highlight);color:var(--text-1)}:focus-visible{outline:3px solid var(--focus);outline-offset:5px}section[id],article[id]{scroll-margin-top:var(--header-height)}[hidden]{display:none!important}.btn{justify-content:center;text-decoration:none;min-height:48px;padding-inline:var(--s-5);box-shadow:none}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(1px)}.btn span{font-size:1.25em}.btn-secondary{border-color:var(--text-1)}.skip-link{position:fixed;z-index:100;top:var(--s-2);left:var(--s-2);padding:var(--s-3) var(--s-5);background:var(--highlight);transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{height:var(--header-height);padding:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--hairline)}.brand img{width:228px;height:auto}.site-header nav{display:flex;gap:var(--s-6);align-items:center}.site-header nav>a:not(.btn){font-weight:650;text-decoration:none;display:flex;align-items:center;min-height:44px}.site-header nav>a:not(.btn):hover{text-decoration:underline}.story{height:440svh;position:relative}.story-stage{position:sticky;top:var(--header-height);height:calc(100svh - var(--header-height));min-height:0;overflow:hidden;background:var(--bg)}#story-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center}.story-veil{position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 88%,transparent) 20%,transparent 56%)}.story-copy{position:absolute;left:5.5vw;top:50%;transform:translateY(-55%);width:47%;max-width:720px}.beat h1{font-size:clamp(35px,4.4vw,76px);line-height:1.04}.beat h1 span,.story-line span{color:var(--accent)}.support{font-size:clamp(17px,1.5vw,22px);font-weight:550;margin-top:var(--s-5);max-width:28ch}.beat .btn{margin-top:var(--s-6)}.story-line{font-size:clamp(34px,4.05vw,66px);max-width:13ch;line-height:1.07}.beat.is-active{animation:beat-in var(--dur-3) var(--ease-entrance)}@keyframes beat-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.story-controls{position:absolute;bottom:var(--s-5);left:4vw;right:4vw;display:flex;align-items:center;justify-content:space-between;gap:var(--s-4)}.skip-story,.motion-toggle{min-height:44px;display:inline-flex;align-items:center;gap:var(--s-3);font-weight:650;font-size:14px;background:var(--bg);border:1px solid var(--hairline);border-radius:var(--r-pill);padding:var(--s-2) var(--s-4);text-decoration:none}.skip-story:hover,.motion-toggle:hover{background:var(--highlight)}.motion-toggle{cursor:pointer}.motion-toggle:active{transform:scale(.97)}.story-dots{display:flex;gap:var(--s-2);background:var(--bg);padding:var(--s-3);border-radius:var(--r-pill)}.story-dots i{width:7px;height:7px;border-radius:50%;border:1px solid var(--text-1)}.story-dots i.active{background:var(--text-1)}.products{padding:var(--s-10) 5vw;background:var(--highlight)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-5);margin:0 auto var(--s-9);max-width:1400px}.section-heading h2{font-size:clamp(40px,6vw,90px)}.section-heading h2 span{color:var(--text-1)}.arrival{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--s-2) var(--s-4);border:1.5px solid var(--text-1);border-radius:var(--r-pill);white-space:nowrap;font-weight:650}.product{display:grid;grid-template-columns:1.15fr 1fr;max-width:1400px;margin:auto;align-items:center;background:var(--bg);border-radius:var(--r-lg);overflow:hidden}.product+.product{margin-top:var(--s-6)}.product-art{position:relative;min-height:580px;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden}.kreetz-art{background:var(--accent-2)}.popz-art{background:var(--accent-hover)}.tube{position:relative;width:100%;height:580px;object-fit:contain;z-index:2;filter:drop-shadow(0 16px 16px color-mix(in srgb,var(--text-1) 18%,transparent));transform:rotate(-9deg)}.popz-tube{transform:rotate(8deg)}.background-word{position:absolute;top:var(--s-6);left:var(--s-5);font-size:clamp(60px,8vw,120px);color:var(--text-1);opacity:.18;letter-spacing:-.06em;z-index:0}.loose-candy{position:absolute;width:95%;height:95%;object-fit:contain;inset:2.5%;opacity:.7;z-index:1}.product-info{padding:clamp(24px,5vw,80px)}.product-info h3{font-size:clamp(50px,6vw,86px)}.product-type{font-size:20px;margin-top:var(--s-2);font-weight:600}.flavor-name{font-family:var(--font-display);font-size:clamp(25px,3vw,36px);margin:var(--s-6) 0;color:var(--accent)}.product-info>.btn{display:inline-flex}.text-link{display:inline-flex;align-items:center;min-height:44px;font-weight:650}.product-info>.text-link{display:flex;width:max-content;margin-top:var(--s-4)}.flavors{padding:0;border:0;display:flex;flex-wrap:wrap;gap:var(--s-2);margin:0 0 var(--s-6)}.flavors legend{font-size:14px;font-weight:650;margin-bottom:var(--s-3)}.flavors label{position:relative;cursor:pointer}.flavors input{position:absolute;width:1px;height:1px;opacity:0}.flavors span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:var(--s-2) var(--s-3);border:1px solid var(--text-2);border-radius:var(--r-pill);font-size:14px;font-weight:650}.flavors input:checked+span{background:var(--text-1);color:var(--bg);border-color:var(--text-1)}.flavors input:checked+span::before{content:'✓';margin-right:var(--s-2)}.flavors input:focus-visible+span{outline:3px solid var(--focus);outline-offset:4px}.flavors label:hover span{box-shadow:inset 0 0 0 1px var(--text-1)}.site-footer{padding:var(--s-7) 4vw;display:flex;justify-content:space-between;align-items:center;gap:var(--s-5)}.site-footer>span{font-weight:650}.motion-paused .beat{animation:none}
@media(min-width:1700px){.story-copy{left:7vw}}
@media(max-width:1000px){.site-header nav{gap:var(--s-5)}.brand img{width:200px}.product-art,.tube{height:500px;min-height:500px}.product-info{padding:var(--s-6)}.flavors span{font-size:13px;padding-inline:var(--s-3)}}
@media(max-width:700px){[data-brand='candyceuticals']{--header-height:68px}.site-header{padding:0 var(--s-4);gap:var(--s-3)}.brand img{width:174px}.site-header nav>a:not(.btn){display:none}.site-header .btn{font-size:13px;padding:0 var(--s-3);min-height:44px}.story{height:380svh}.story-stage{min-height:0}.story-copy{top:var(--s-6);left:var(--s-5);width:calc(100% - 48px);max-width:none;transform:none}.beat h1{font-size:clamp(31px,8.2vw,55px)}.story-line{font-size:clamp(30px,8vw,48px);max-width:15ch}.support{font-size:16px;max-width:none;margin-top:var(--s-3)}.beat .btn{margin-top:var(--s-4);min-height:44px;height:44px;font-size:14px}#story-video{top:29%;height:71%;object-position:100% center}.story-veil{background:linear-gradient(180deg,var(--bg) 0%,var(--bg) 26%,color-mix(in srgb,var(--bg) 35%,transparent) 39%,transparent 50%)}.story-controls{left:var(--s-3);right:var(--s-3);bottom:var(--s-3);gap:var(--s-2)}.story-dots{display:none}.skip-story,.motion-toggle{font-size:12px;padding-inline:var(--s-3)}.products{padding:var(--s-9) var(--s-4)}.section-heading{display:block;margin-bottom:var(--s-6)}.section-heading h2{font-size:clamp(36px,10vw,62px)}.arrival{margin-top:var(--s-5)}.product{grid-template-columns:1fr}.product-art,.tube{min-height:0;height:440px}.product-info{padding:var(--s-6)}.product-info h3{font-size:56px}.product-type{font-size:18px}.flavor-name{margin:var(--s-5) 0;font-size:30px}.flavors{gap:var(--s-2)}.flavors span{font-size:13px}.background-word{font-size:80px;top:var(--s-5)}.site-footer{padding:var(--s-7) var(--s-5);align-items:flex-start;flex-direction:column;gap:var(--s-4)}}
@media(max-height:650px) and (min-width:701px){.story-stage{min-height:0}.story-copy{transform:translateY(-58%)}.story-line{font-size:40px}.beat h1{font-size:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

@media(max-height:650px) and (max-width:700px){.story-copy{top:var(--s-4)}.beat h1{font-size:clamp(26px,7.5vw,40px)}.story-line{font-size:clamp(26px,7vw,36px);max-width:18ch}.support{font-size:14px;margin-top:var(--s-2)}.beat .btn{margin-top:var(--s-3)}#story-video{top:33%;height:67%}}

/* Candy City: the full map and its selected destination share one bounded surface. */
.world {
  padding: var(--s-9) 5vw;
  background: var(--accent-2);
}
.city-heading {
  max-width: 1400px;
  margin: 0 auto var(--s-6);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-5);
}
.city-heading h2 { font-size: clamp(40px, 6vw, 86px); }
.city-explore {
  display: inline-flex;
  align-items: center;
  gap: var(--s-3);
  font-size: 16px;
  font-weight: 700;
}
.city-explore > span { font-size: 28px; }
.city-explorer {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(280px, 3fr);
  max-width: 1400px;
  margin: auto;
  background: var(--bg);
  border: 1px solid var(--text-1);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.city-map {
  position: relative;
  align-self: center;
  aspect-ratio: 3 / 2;
  min-width: 0;
  isolation: isolate;
}
.city-map > img { width: 100%; height: 100%; object-fit: contain; }
.city-pin {
  position: absolute;
  top: 48%;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  transform: translate(-50%, -50%);
  border: 2px solid var(--text-1);
  border-radius: var(--r-pill);
  background: var(--bg);
  color: var(--text-1);
  box-shadow: 0 0 0 3px var(--bg);
  font-weight: 800;
  font-size: 15px;
  cursor: pointer;
  transition: transform var(--dur-1) var(--ease-standard);
}
.city-pin-kreetz { left: 69%; }
.city-pin-popz { left: 85%; }
.city-pin[aria-pressed='true'] { background: var(--highlight); }
.city-pin[aria-pressed='true']::after {
  content: '✓';
  position: absolute;
  right: -5px;
  top: -7px;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: var(--r-pill);
  background: var(--text-1);
  color: var(--bg);
  font-size: 12px;
}
.city-pin:hover { transform: translate(-50%, -50%) scale(1.08); }
.city-pin:active { transform: translate(-50%, -50%) scale(.96); }
.city-pin:focus-visible { outline: 3px solid var(--text-1); outline-offset: 6px; z-index: 2; }
.city-dock {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  padding: var(--s-5);
  gap: var(--s-5);
  border-left: 1px solid var(--hairline);
}
.city-destinations {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-2);
}
.city-destination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-2);
  min-height: 48px;
  padding: var(--s-2);
  border: 1px solid var(--text-2);
  border-radius: var(--r-btn);
  background: transparent;
  color: var(--text-1);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: transform var(--dur-1) var(--ease-standard);
}
.city-destination > span { font-size: 12px; }
.city-destination[aria-pressed='true'] {
  background: var(--highlight);
  border-color: var(--text-1);
  box-shadow: inset 0 -3px 0 var(--text-1);
}
.city-destination:hover { background: var(--highlight); }
.city-destination:active { transform: scale(.97); }
.city-product { min-width: 0; }
.city-pack {
  width: 100%;
  height: clamp(180px, 18vw, 270px);
  object-fit: contain;
}
.city-product-info { display: grid; gap: var(--s-1); }
.city-product-info h3 { font-size: clamp(32px, 3.3vw, 48px); }
.city-product-type { font-size: 16px; font-weight: 600; }
.city-flavor { font-size: 14px; color: var(--text-2); }
.city-cta { width: 100%; flex: none; }
.city-cta #city-cta-label { font-size: 1rem; }
@media (max-width: 960px) {
  .city-explorer { grid-template-columns: minmax(0, 1fr); }
  .city-dock { border-left: 0; border-top: 1px solid var(--hairline); }
  .city-product { display: grid; grid-template-columns: 180px minmax(0, 1fr); align-items: center; }
  .city-pack { height: 180px; }
  .city-product-info h3 { font-size: 40px; }
  .city-cta { align-self: flex-end; width: auto; min-width: 200px; }
}
@media (max-width: 700px) {
  .world { padding: var(--s-9) var(--s-4); }
  .city-heading { gap: var(--s-3); margin-bottom: var(--s-5); }
  .city-heading h2 { font-size: clamp(29px, 8.2vw, 52px); }
  .city-explore { font-size: 13px; gap: var(--s-1); }
  .city-explore > span { font-size: 22px; }
  .city-pin { width: 44px; height: 44px; font-size: 14px; }
  .city-dock { padding: var(--s-4); gap: var(--s-4); }
  .city-product { grid-template-columns: 120px minmax(0, 1fr); gap: var(--s-3); }
  .city-pack { height: 150px; }
  .city-product-info h3 { font-size: 34px; }
  .city-product-type { font-size: 14px; }
  .city-flavor { font-size: 13px; }
  .city-cta { width: 100%; min-width: 0; }
}

/* Product artwork fills the card even when copy determines its height. */
@media (min-width:701px) {
  .product-art { align-self: stretch; height: auto; }
}
.faq { padding: var(--s-10) 5vw; background: var(--bg); border-top: 1px solid var(--hairline); }
.faq-inner { display: grid; grid-template-columns: 1fr 1.4fr; gap: var(--s-9); max-width: 1400px; margin: auto; }
.faq h2 { font-size: clamp(36px, 4.6vw, 68px); }
.faq-list { min-width: 0; border-top: 1px solid var(--text-1); }
.faq details { border-bottom: 1px solid var(--hairline); }
.faq summary { position: relative; list-style: none; cursor: pointer; min-height: 68px; padding: var(--s-5) var(--s-7) var(--s-5) 0; font-size: 18px; font-weight: 650; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; position: absolute; right: 0; top: var(--s-5); font-size: 24px; line-height: 1; }
.faq details[open] summary::after { content: '−'; }
.faq-answer { padding: 0 var(--s-7) var(--s-5) 0; color: var(--text-2); }
.faq-labels { margin: 0; padding: 0; list-style: none; }
.faq-labels a { display: inline-flex; align-items: center; gap: var(--s-2); min-height: 44px; }
@media (max-width:700px) {
  .faq { padding: var(--s-9) var(--s-5); }
  .faq-inner { grid-template-columns: 1fr; gap: var(--s-6); }
  .faq summary { font-size: 16px; }
}

.story-controls { justify-content: center; pointer-events: none; }

/* Production route discovery retains the approved footer's visual language. */
.site-footer { flex-wrap: wrap; }
.footer-links { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); }
