/* Approved header: Open Panorama, first visual in header-ideas/round-2. */
[data-theme=landscape] .site-header {
  background:#19382e;
  color:#f7f5e9;
  border:0;
}
[data-theme=landscape] .nav-shell {
  width:calc(100% - 128px);
  max-width:1664px;
  height:108px;
}
[data-theme=landscape] .site-header .brand { font-size:40px; gap:10px; }
[data-theme=landscape] .site-header .brand-heart { width:36px; height:36px; }
[data-theme=landscape] .site-header nav { gap:40px; font-size:18px; }
[data-theme=landscape] .nav-stores { margin-left:166px; gap:14px; }
[data-theme=landscape] .site-header .store-button,
[data-theme=landscape] .panorama-hero .store-button {
  background:#f7f5e9;
  border-color:#f7f5e9;
  color:#19382e;
  font-weight:600;
  white-space:nowrap;
}
[data-theme=landscape] .nav-stores .store-button {
  min-width:158px;
  min-height:55px;
  font-size:18px;
  padding:13px 24px;
  gap:16px;
}
[data-theme=landscape] .site-header .store-button:hover,
[data-theme=landscape] .panorama-hero .store-button:hover {
  background:#d9e2c5;
  border-color:#d9e2c5;
}
[data-theme=landscape] :is(.site-header,.panorama-hero) :focus-visible {
  outline-color:#adc08b;
}
.panorama-hero { background:#19382e; color:#f7f5e9; padding-bottom:38px; }
.panorama-grid {
  display:grid;
  grid-template-columns:minmax(0,2.18fr) minmax(0,1fr);
  gap:72px;
  width:calc(100% - 128px);
  max-width:1664px;
  margin:auto;
  padding:15px 0 26px;
}
.panorama-identity { min-width:0; }
.panorama-hero .identity {
  font-size:clamp(84px,10.3vw,170px);
  line-height:1.35;
  font-weight:700;
  letter-spacing:-.045em;
  gap:24px;
  min-height:0;
  margin:0;
  align-items:center;
}
.panorama-hero .identity-brand {
  font:inherit;
  letter-spacing:inherit;
  color:#f7f5e9;
  flex-shrink:0;
}
.panorama-hero .identity-person {
  font:inherit;
  letter-spacing:inherit;
  min-width:0;
  max-width:none;
  gap:10px;
  /* Reserve room for every script, including the empty typing frame. */
  height:1.35em;
  flex-shrink:0;
  overflow:visible;
}
.panorama-hero .identity [data-typed-name] { color:#adc08b; line-height:1.35; flex-shrink:0; }
.panorama-hero .identity .cursor { width:3px; height:.84em; margin:0; background:#adc08b; }
.panorama-hero .hero-actions { margin:15px 0 0; }
.panorama-hero .store-button { min-width:198px; min-height:61px; padding:14px 28px; font-size:20px; }
.panorama-hero .store-buttons { gap:24px; }
.panorama-promise { margin-top:12px; font-size:19px; line-height:1.5; }
.panorama-promise__emphasis { text-decoration-line:underline; text-decoration-color:#c5d5a0; text-decoration-thickness:2px; text-underline-offset:4px; }
.panorama-story { padding-top:25px; }
.panorama-story .hero-title {
  color:#f7f5e9;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(40px,4.1vw,66px);
  font-weight:400;
  line-height:1.04;
  letter-spacing:-.035em;
  margin:0 0 10px;
}
.panorama-story p { font-size:19px; line-height:1.5; }
.panorama-story .panorama-promise { margin:14px 0 0; font-size:17px; font-weight:600; line-height:1.5; }
.panorama-story .panorama-clarification { color:#c9d5b4; margin:12px 0 0; font-size:12px; line-height:1.45; }
[data-theme=landscape][data-motion=paused] .identity .cursor { opacity:1; animation:none; }
.panorama-scene { width:calc(100% - 76px); max-width:1720px; margin:auto; }
.panorama-scene img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:2149 / 732;
  object-fit:contain;
  border-radius:20px;
}
[data-theme=landscape] .steps .step-meta { min-height:88px; align-items:center; margin-bottom:25px; }
[data-theme=landscape] .steps .step-art {
  width:92px;
  height:92px;
  object-fit:contain;
  margin-left:auto;
  /* 30% smaller than the approved 0.91 scale; keep the text layout unchanged. */
  transform:scale(.637);
}
@media(max-width:1300px) {
  [data-theme=landscape] .nav-shell,.panorama-grid { width:calc(100% - 80px); }
  [data-theme=landscape] .site-header .brand { font-size:33px; }
  [data-theme=landscape] .site-header nav { gap:26px; font-size:15px; }
  [data-theme=landscape] .nav-stores { margin-left:20px; gap:10px; }
  [data-theme=landscape] .nav-stores .store-button { min-width:128px; min-height:46px; padding:11px 18px; font-size:15px; }
  .panorama-grid { gap:48px; }
  .panorama-hero .identity { font-size:9.1vw; gap:18px; }
  .panorama-hero .store-button { min-width:170px; font-size:18px; min-height:56px; padding:13px 22px; }
  .panorama-story p { font-size:17px; }
  .panorama-promise { font-size:17px; }
}
@media(max-width:1000px) {
  [data-theme=landscape] .nav-shell { height:88px; width:calc(100% - 48px); }
  [data-theme=landscape] .site-header .brand { font-size:29px; }
  [data-theme=landscape] .site-header .brand-heart { width:29px; height:29px; }
  [data-theme=landscape] .site-header nav { gap:18px; font-size:13px; }
  [data-theme=landscape] .nav-stores { margin-left:0; gap:8px; }
  [data-theme=landscape] .nav-stores .store-button { min-width:102px; min-height:44px; padding:10px 12px; font-size:13px; gap:8px; }
  .panorama-grid { width:calc(100% - 64px); gap:36px; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); padding-top:24px; }
  .panorama-hero .identity { font-size:8.4vw; gap:14px; }
  .panorama-story .hero-title { font-size:38px; }
  .panorama-story p { font-size:16px; }
  .panorama-hero .store-buttons { gap:12px; }
  .panorama-hero .store-button { min-width:148px; font-size:16px; padding:12px 18px; }
  .panorama-scene { width:calc(100% - 48px); }
  [data-theme=landscape] .steps .step-art { width:80px; height:80px; }
}
@media(max-width:760px) {
  [data-theme=landscape] .nav-shell { width:calc(100% - 40px); height:72px; }
  [data-theme=landscape] .menu-button { color:#f7f5e9; font-size:14px; }
  [data-theme=landscape] .site-header nav { top:72px; background:#19382e; color:#f7f5e9; border-color:#52705b; padding:20px; font-size:16px; }
  [data-theme=landscape] .nav-stores { margin-top:6px; }
  [data-theme=landscape] .nav-stores .store-button { min-height:48px; font-size:14px; }
  .panorama-hero { padding-bottom:20px; }
  .panorama-grid { width:calc(100% - 40px); grid-template-columns:1fr; gap:26px; padding:28px 0; }
  .panorama-identity { display:contents; }
  .panorama-hero .identity { grid-row:1; flex-direction:column; align-items:flex-start; gap:0; font-size:clamp(70px,17vw,112px); line-height:1.02; }
  .panorama-hero .identity-person { min-height:1.35em; line-height:1.35; gap:7px; }
  .panorama-hero .identity .cursor { width:2px; }
  .panorama-story { grid-row:2; padding-top:0; }
  .panorama-story .hero-title { font-size:clamp(29px,7.8vw,40px); line-height:1.15; margin-bottom:20px; }
  .panorama-story .hero-title br { display:none; }
  .panorama-story .hero-title br::after { content:' '; }
  .panorama-story p { font-size:16px; line-height:1.55; }
  .panorama-story .panorama-promise { font-size:15px; }
  .panorama-hero .hero-actions { grid-row:3; margin:0; display:block; }
  .panorama-hero .store-buttons { gap:10px; }
  .panorama-hero .store-button { min-width:0; flex:1; min-height:54px; font-size:16px; padding:13px 17px; gap:12px; }

  .panorama-scene { display:none; }
  .panorama-scene img { border-radius:14px; }
  [data-theme=landscape] .steps .step-meta { min-height:78px; margin-bottom:18px; }
  [data-theme=landscape] .steps .step-art { width:82px; height:82px; }
}
@media(max-width:370px) {
  .panorama-hero .identity { font-size:62px; }
  .panorama-story .hero-title { font-size:27px; }
  .panorama-hero .store-button { font-size:14px; gap:8px; padding:12px; }
}

/* Desktop frame is 600px high; mobile keeps a shorter responsive image frame. */
[data-theme=landscape] .meet-art>img { height:600px; aspect-ratio:auto; }
@media(max-width:760px) {
  [data-theme=landscape] .meet-art>img { height:auto; aspect-ratio:1.571429; }
  [data-theme=landscape] .meet-art { order:0; }
}
