/* Home-page composition. Shared secondary-page styles remain in styles.css. */
.home-page{--headline:#09264c;--ink:#242b32;--green:#108147;--paper:#fffaf0;--wrap:1390px;background:#fbf3de;font-family:"Segoe UI",Arial,sans-serif;line-height:1.4}
.home-page h1,.home-page h2,.home-page h3{font-family:"Roboto Slab",Georgia,serif;font-weight:700;letter-spacing:-.015em}
.home-page .wrap{width:min(1390px,92%)}
.home-page .site-header{position:absolute;width:100%;background:linear-gradient(100deg,#fffdf1ec,#d9edfacf);border:0;backdrop-filter:none}
.home-page .header-inner{width:86%;max-width:1360px;min-height:76px;gap:25px}
.home-page .brand img{width:225px}
.home-page .site-nav{flex:1;justify-content:space-between;gap:20px}
.home-page .nav-links{gap:24px;margin:auto}
.home-page .nav-links a{font-size:14px;font-weight:400;white-space:nowrap}
.home-page .nav-links a.is-current{box-shadow:none}
.home-page .nav-cta .btn{font-size:13px;min-height:40px;padding:10px 24px;white-space:nowrap}
.home-page .btn{font-size:16px;font-weight:600;padding:15px 29px;min-height:50px;box-shadow:0 3px 8px #4b47221c}
.home-page .btn--primary{background:linear-gradient(135deg,#24954f,#087744);border:1px solid #0d854a}
.home-page .btn--primary:hover{background:#096236}
.home-page main .btn--primary::after{content:' →';padding-left:7px}
.home-page .btn--quiet,.home-page .btn--ghost{background:#fffcf4;color:#17212c;border-color:#cbc8b7}
.home-page .hero{position:relative;display:flex;align-items:flex-start;min-height:630px;padding:125px max(7.2vw,calc((100vw - 1320px)/2)) 105px;margin:0;isolation:isolate;overflow:hidden}
.home-page .hero>div:first-child{width:620px;max-width:52%;position:relative;z-index:2}

.home-page .hero>.art{position:absolute;inset:0;z-index:-2;border:0;border-radius:0;aspect-ratio:auto;background:#bad7e9}
.home-page .hero>.art img{object-position:75% 49%;object-fit:cover}
.home-page h1{font-size:clamp(38px,3.85vw,61px);line-height:1.02;text-wrap:initial;margin:0 0 15px;letter-spacing:-.045em}
.home-page .hero .lede{max-width:470px;font-size:18px;line-height:1.45;margin-bottom:18px}
.home-page .hero-actions{gap:15px;margin-bottom:26px}
.home-page .promises{max-width:510px;gap:17px;grid-template-columns:repeat(3,1fr)}
.home-page .promises li{font-weight:400;font-size:14px;align-items:center;gap:10px}
.home-page .promises li+li{border-left:1px solid #cfc5a9;padding-left:15px}
.home-page .promises svg{width:34px;height:34px}
.home-page .section{padding:23px 0}
.home-page h2{font-size:clamp(29px,3vw,45px);line-height:1.04;margin-bottom:8px}
.home-page .section-head{max-width:none;margin-bottom:21px}
.home-page .section-head p{font-size:18px;color:var(--ink)}
.home-page .how-section{position:relative;margin:-62px auto 0;width:96%;border:0;border-radius:50% 50% 0 0 / 30px 30px 0 0;background:linear-gradient(110deg,#fff9eb,#fffaf0);padding:30px 0 21px;z-index:3}
.home-page .steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.home-page .step{display:grid;grid-template-columns:50px 1fr;grid-template-rows:48px 135px auto;column-gap:12px;align-content:start;padding:12px 23px 17px;border:1px solid #f9efdb;border-radius:20px;background:#fffaf0;box-shadow:0 5px 20px #c9aa6320;text-align:center}
.home-page .step-num{grid-column:1;grid-row:1;width:46px;height:46px;background:linear-gradient(135deg,#89c853,#329333);font:32px Georgia,serif;border:1px solid #fff;box-shadow:0 1px 2px #897b58;margin:0}
.home-page .step:nth-child(2) .step-num{background:linear-gradient(135deg,#54c5ee,#008bda)}
.home-page .step:nth-child(3) .step-num{background:linear-gradient(135deg,#ffc84a,#f49409)}
.home-page .step:nth-child(4) .step-num{background:linear-gradient(135deg,#c7a2f3,#8250c5)}
.home-page .step h3{grid-column:2;grid-row:1;text-align:left;margin:9px 0 0;font-size:26px}

.step-art--0{background-position:0% 50%}.step-art--1{background-position:33.333% 50%}.step-art--2{background-position:66.667% 50%}.step-art--3{background-position:100% 50%}
.home-page .step p{grid-column:1 / -1;color:var(--ink);font-size:17px;line-height:1.3}
.home-page .step:not(:last-child)::after{content:'→';display:block;border:0;transform:none;right:-27px;top:42%;font:38px Georgia;color:#098343;width:28px;height:auto}
.home-page .how-section>.wrap>p.section-head{font-size:13px;margin-top:16px!important;color:#605c50}
.home-page .category-section{background:linear-gradient(#e0eff2,#eff0e4);padding:18px 0 23px}
.home-page .categories{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.home-page .category{padding:5px 8px 13px;border:0;border-radius:15px;background:#fffaf0}
.home-page .category .art{width:116px;height:105px;aspect-ratio:auto;margin:auto;background:none;border:0;border-radius:0}
.home-page .category .art img{padding:0;object-fit:contain}
.home-page .category h3{font:700 18px "Roboto Slab",Georgia,serif;margin:0;letter-spacing:-.02em}
.illustration{width:116px;aspect-ratio:3/4;background-image:url('assets/artwork/home-illustrations.webp');background-size:400% 200%;background-repeat:no-repeat;mix-blend-mode:multiply;margin:auto}
.illustration--0{background-position:0 0}.illustration--1{background-position:33.333% 0}.illustration--2{background-position:66.667% 0}.illustration--3{background-position:100% 0}.illustration--4{background-position:0 100%}.illustration--5{background-position:33.333% 100%}.illustration--6{background-position:66.667% 100%}.illustration--7{background-position:100% 100%}
.home-page .category .illustration{width:79px;height:105px}
.home-page .town-section{border:0;background:radial-gradient(ellipse at 20% 40%,#fffdf3,transparent 70%),#fbf2dc;padding:15px 0}
.home-page .town-grid{grid-template-columns:.8fr 1.35fr;gap:38px}
.home-page .town-grid>div{padding-left:40px}
.home-page .town-grid h2{font-size:clamp(30px,3vw,43px)}
.home-page .town-grid h2 span{color:#0c7d45}
.home-page .town-grid .lede{font-size:17px;line-height:1.45}
.home-page .shot{position:relative}
.home-page .shot-frame{padding:0;border:1px solid #d3bc87;border-radius:15px;overflow:hidden;box-shadow:0 8px 25px #80602b1f}
.home-page .shot .art{border:0;border-radius:0;aspect-ratio:1.95}
.home-page .shot figcaption{position:absolute;bottom:10px;right:12px;padding:5px 10px;border-radius:5px;background:#fffaeddc;text-transform:none;font-size:11px;letter-spacing:0;font-weight:400;color:#24312c}
.home-page .feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:15px}
.home-page .feature{display:grid;grid-template-columns:85px 1fr;column-gap:10px;align-content:center;padding:10px 12px;border:1px solid #eee0c5;border-radius:15px;background:#fffaf0;min-height:125px}
.home-page .feature .illustration{grid-row:1 / 3;width:80px}
.home-page .feature h3{font-size:21px;align-self:end;margin-bottom:6px}
.home-page .feature p{font-size:14px;line-height:1.4;color:var(--ink)}
.home-page .practical-details{font-size:13px;padding:6px 0 15px;color:#525b4b}
.practical-details summary{cursor:pointer;text-align:center;padding:8px}.practical-details .benefits{padding:15px;gap:25px}
.home-page .closing{position:relative;padding:28px 0;isolation:isolate;overflow:hidden;min-height:290px;background:#fce9cb}
.home-page .closing-grid{display:flex;justify-content:flex-end;min-height:245px}
.home-page .closing .art{position:absolute;inset:0;z-index:-2;aspect-ratio:auto;border:0;border-radius:0;background:transparent}
.home-page .closing .art img{width:65%;object-position:50% 62%;object-fit:cover}
.home-page .closing::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 30%,#fff3da50 44%,#fff3daf5 58%,#fff3daed)}
.home-page .closing-grid>div:last-child{width:43%;padding-right:25px}
.home-page .closing h2{font-size:32px;line-height:1.1}
.home-page .closing .lede{font-size:16px;line-height:1.45;margin-bottom:15px!important}
.home-page .site-footer{padding:16px 0;background:#fffaf0;border:0}
.home-page .footer-grid{display:flex;align-items:center;justify-content:space-between;gap:22px}
.home-page .footer-brand img{width:190px}
.home-page .footer-brand p,.home-page .site-footer h2,.home-page .site-footer nav[aria-label="Account"]{display:none}
.home-page .site-footer ul{display:flex;flex-wrap:wrap;gap:12px}
.home-page .site-footer a{font-size:12px;font-weight:400}
.home-page .footer-base{border:0;padding:0;margin-top:8px;font-size:11px;text-align:right}
@media(min-width:1101px){.home-page .nav-toggle{display:none}.home-page .site-nav{display:flex;position:static;flex-direction:row;padding:0;background:none;border:0;box-shadow:none}.home-page .nav-links{flex-direction:row}.home-page .nav-cta{flex-direction:row;padding:0}.home-page .nav-cta .btn{width:auto}}
@media(max-width:1300px) and (min-width:1101px){.home-page .header-inner{width:94%;gap:15px}.home-page .brand img{width:190px}.home-page .nav-links{gap:16px}.home-page .nav-cta .btn{padding-inline:16px}.home-page .hero-actions .btn{font-size:14px;padding-inline:20px}}
@media(max-width:1100px){.home-page .site-nav{background:#fffaf0}.home-page .header-inner{width:92%}.home-page .hero{min-height:570px;padding:120px 5% 95px}.home-page .hero>div:first-child{max-width:58%}.home-page .hero-actions{gap:8px}.home-page .hero-actions .btn{font-size:13px;padding:13px 17px}.home-page .promises li{font-size:12px}.home-page .steps{gap:18px}.home-page .step{padding:12px;grid-template-columns:40px 1fr}.home-page .step-num{width:38px;height:38px;font-size:26px}.home-page .step h3{font-size:23px}.home-page .step p{font-size:15px}.home-page .step:not(:last-child)::after{right:-22px;font-size:30px}.home-page .category h3{font-size:15px}.home-page .town-grid>div{padding-left:10px}.home-page .town-grid{gap:25px}.home-page .town-grid .lede{font-size:15px}.home-page .feature{grid-template-columns:60px 1fr;padding:8px}.home-page .feature .illustration{width:60px}.home-page .feature h3{font-size:18px}.home-page .feature p{font-size:12px}}
@media(max-width:900px){.home-page .brand img{width:185px}.home-page .hero{min-height:720px;padding:110px 6% 280px}.home-page .hero>div:first-child{width:100%;max-width:none}.home-page h1{font-size:clamp(34px,7vw,48px);max-width:590px}.home-page .hero .lede{font-size:16px;max-width:450px}.home-page .hero>.art img{object-position:65% bottom}.home-page .hero-actions .btn{width:auto;font-size:14px}.home-page .promises{max-width:460px}.home-page .how-section{margin-top:-35px;width:96%;padding-top:27px}.home-page .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.home-page .step{grid-template-rows:40px 130px auto;padding:14px}.home-page .step:not(:last-child)::after{display:none}.home-page .section-head p{font-size:16px}.home-page .categories{grid-template-columns:repeat(3,minmax(0,1fr))}.home-page .category h3{font-size:15px}.home-page .town-grid{grid-template-columns:1fr;gap:20px}.home-page .town-grid>div{padding:16px 6px 0}.home-page .town-grid h2{font-size:36px}.home-page .town-grid .lede{font-size:16px}.home-page .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .feature{grid-template-columns:60px 1fr;min-height:120px}.home-page .feature p{font-size:13px}.home-page .practical-details .benefits{grid-template-columns:1fr}.home-page .closing{padding:260px 0 28px}.home-page .closing .art img{width:100%;height:340px;object-position:40% 68%}.home-page .closing::after{background:linear-gradient(transparent 180px,#fff3da 340px)}.home-page .closing-grid{min-height:0}.home-page .closing-grid>div:last-child{width:100%;padding:0 10px}.home-page .closing h2{font-size:30px}.home-page .footer-grid{flex-direction:column;gap:18px}.home-page .site-footer ul{justify-content:center}.home-page .footer-base{text-align:center;margin-top:18px}}
@media(max-width:380px){.home-page .hero-actions .btn{padding:12px 13px;font-size:12px}.home-page .promises{gap:8px}.home-page .promises li{gap:5px;font-size:11px}.home-page .promises li+li{padding-left:7px}.home-page .promises svg{width:26px}.home-page .step{padding:10px}.home-page .step p{font-size:14px}.home-page .feature{grid-template-columns:1fr;text-align:center}.home-page .feature .illustration{grid-row:auto}.home-page .category h3{font-size:13px}}
@media(min-width:1101px){.home-page .hero>div:first-child{width:670px;max-width:58%}.home-page h1{font-size:clamp(38px,3.55vw,57px)}}

.home-page .illustration{mask-image:radial-gradient(ellipse,black 53%,transparent 74%)}
@media(max-width:900px){.home-page .hero-actions{margin-bottom:20px}.home-page .promises{background:#fff7e3e8;border-radius:12px;padding:10px 7px}.home-page .promises li{font-size:12px}.home-page .promises li+li{padding-left:8px}.home-page .promises svg{width:25px;height:25px}}


/* A soft, localized pool of light follows the copy, rather than fading the whole image. */
.home-page .hero>div:first-child::before {
  content: "";
  position: absolute;
  inset: -25px -45px -25px -40px;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse at 46% 47%, #fff6e2 0%, #fff6e2fc 48%, #fff3dfe8 61%, #fff3df66 72%, #fff3df00 81%);
  filter: blur(5px);
}
.home-page .step-art {
  grid-column: 1 / -1;
  grid-row: 2;
  width: auto;
  height: 135px;
  aspect-ratio: 3 / 4;
  max-width: 100%;
  justify-self: center;
  align-self: center;
  background-image: url('assets/artwork/home-steps.webp');
  background-size: 400% 100%;
  background-repeat: no-repeat;
  mix-blend-mode: multiply;
  mask-image: radial-gradient(ellipse, black 55%, transparent 76%);
}
.home-page .promise-art {
  display: block;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  background: url('assets/artwork/home-values.webp') no-repeat;
  background-size: 300% 100%;
}
.promise-art--family { background-position: 0% 50% !important; }
.promise-art--leaf { background-position: 50% 50% !important; }
.promise-art--heart { background-position: 100% 50% !important; }
.home-page main { position: relative; }
/* The transparent garden artwork connects the sections along the page edges. */

@media (max-width: 900px) {
  .home-page .hero>div:first-child::before {
    inset: -22px -30px -25px;
    background: radial-gradient(ellipse at 47% 44%, #fff6e2 0%, #fff6e2fc 50%, #fff3dfe8 64%, #fff3df66 75%, transparent 85%);
    filter: blur(5px);
  }
  .home-page .promises { background: transparent; padding: 10px 0; }
  .home-page .promise-art { flex-basis: 30px; width: 30px; height: 30px; }
  .home-page .step-art { height: 130px; width: auto; }
  
}
.home-page main { overflow: clip; }

/* One middle-section garden: large asymmetric clusters behind the content.
   Artwork is never tiled or stretched to the page height. */
.home-page .middle-garden {
  position: relative;
  isolation: isolate;
}
.home-page .middle-garden::before,
.home-page .middle-garden::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 1;
  background-repeat: no-repeat;
  background-size: 100% auto;
  mask-image: linear-gradient(to bottom, transparent, black 80px, black calc(100% - 90px), transparent);
}
.home-page .middle-garden::before {
  left: -85px;
  top: -100px;
  width: clamp(230px, 21vw, 320px);
  aspect-ratio: 1 / 3;
  background-image: url('assets/artwork/home-edge-left.webp');
  background-position: left top;
}
.home-page .middle-garden::after {
  right: -105px;
  top: -60px;
  width: clamp(250px, 23vw, 350px);
  aspect-ratio: 1 / 3;
  background-image: url('assets/artwork/home-edge-right.webp');
  background-position: right top;
}
.home-page .middle-garden .wrap {
  position: relative;
  z-index: 3;
}
.home-page .town-section { position: relative; }
.home-page .town-section::before {
  content: "";
  position: absolute;
  left: -18px;
  top: 55px;
  width: clamp(105px, 10vw, 150px);
  aspect-ratio: 738 / 2131;
  background: url('assets/artwork/home-edge-lamp.webp') center / contain no-repeat;
  pointer-events: none;
  z-index: 2;
}
.home-page .town-grid>div {
  background: radial-gradient(ellipse at 55% 50%, #fff9eaf5 45%, #fff9eac9 68%, transparent 85%);
}
@media (max-width: 900px) {
  .home-page .middle-garden::before {
    width: 220px;
    left: -105px;
    top: -60px;
  }
  .home-page .middle-garden::after {
    width: 230px;
    right: -120px;
    top: 160px;
  }
  .home-page .town-section::before { width: 100px; left: -45px; top: 50px; }
  .home-page .town-grid>div {
    background: radial-gradient(ellipse, #fff9eafa 55%, #fff9eae6 72%, transparent 95%);
  }
}

/* Give the value statements the same readable cream glow as the hero copy. */
.home-page .promises {
  position: relative;
  isolation: isolate;
}
.home-page .promises::before {
  content: "";
  position: absolute;
  inset: -14px -22px;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse, #fff6e2 0%, #fff6e2fc 57%, #fff3dfe8 70%, #fff3df66 83%, transparent 100%);
  filter: blur(5px);
}
@media (max-width: 900px) {
  .home-page .promises::before { inset: -8px -14px; }
}

/* Bold, compact serif letterforms matching the reference headline. */
.home-page h1, .home-page h2, .home-page h3 { letter-spacing: -0.015em; }

/* Balanced type scale: display headings, card titles, and quieter supporting copy. */
.home-page h1 { font-size: clamp(36px, 3.35vw, 52px); line-height: 1.08; }
.home-page h2 { font-size: clamp(28px, 2.65vw, 40px); line-height: 1.12; }
.home-page .hero .lede { font-size: 16px; line-height: 1.55; max-width: 450px; }
.home-page .section-head p { font-size: 16px; line-height: 1.5; }
.home-page .step h3 { font-size: 23px; }
.home-page .step p { font-size: 15px; line-height: 1.5; }
.home-page .category h3 { font-size: 16px; line-height: 1.3; }
.home-page .town-grid h2 { font-size: clamp(29px, 2.7vw, 39px); line-height: 1.13; }
.home-page .town-grid .lede { font-size: 15px; line-height: 1.55; }
.home-page .feature h3 { font-size: 18px; line-height: 1.3; }
.home-page .feature p { font-size: 13px; line-height: 1.5; }
.home-page .closing h2 { font-size: 29px; line-height: 1.15; }
.home-page .closing .lede { font-size: 15px; line-height: 1.55; }
@media (max-width: 900px) {
  .home-page h1 { font-size: clamp(32px, 7.4vw, 45px); }
  .home-page h2 { font-size: clamp(27px, 5.5vw, 35px); }
  .home-page .hero .lede, .home-page .section-head p { font-size: 15px; }
  .home-page .step h3 { font-size: 21px; }
  .home-page .step p { font-size: 14px; }
  .home-page .category h3 { font-size: 14px; }
  .home-page .town-grid h2 { font-size: clamp(29px, 6.8vw, 36px); }
  .home-page .feature h3 { font-size: 17px; }
  .home-page .closing h2 { font-size: 27px; }
}

/* Compact sky-blue navigation and optically centered process numerals. */
.home-page .site-header {
  background: linear-gradient(105deg, #e5f2f9f2, #cde5f5e8 60%, #dcecf7eb);
}
.home-page .header-inner { min-height: 64px; }
.home-page .brand img { width: 195px; max-height: 58px; object-fit: contain; }
.home-page .nav-links a { font-weight: 600; }
.home-page .step-num {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  font-variant-numeric: lining-nums tabular-nums;
  padding: 0;
}
@media (max-width: 1300px) and (min-width: 1101px) {
  .home-page .brand img { width: 175px; }
}
@media (max-width: 1100px) {
  .home-page .step-num { font-size: 24px; }
}
@media (max-width: 900px) {
  .home-page .header-inner { min-height: 60px; }
  .home-page .brand img { width: 165px; max-height: 52px; }
}

/* Homepage elevator pitch. Scoped separately from secondary pages. */
.pitch-page .pitch-kicker{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#176b46;margin-bottom:12px}
.pitch-page .hero{min-height:610px;padding-top:105px;padding-bottom:85px}
.pitch-page .hero h1{font-size:clamp(34px,3.1vw,49px);max-width:660px}
.pitch-page .hero .lede{max-width:520px;margin-bottom:10px}
.pitch-page .hero-categories{font-size:13px;font-weight:600;line-height:1.7;max-width:520px;margin-bottom:9px}
.pitch-page .hero-shipping{font-size:13px;line-height:1.5;margin-bottom:17px;max-width:480px}
.pitch-page .hero-actions{margin-bottom:20px}
.pitch-page .promises li{font-size:12px}
.pitch-page .how-section{padding-top:25px}
.pitch-page .steps{gap:22px}
.pitch-page .step{grid-template-columns:36px 1fr;grid-template-rows:38px 85px auto;padding:14px 17px;gap:5px 9px}
.pitch-page .step-num{width:34px;height:34px;font-size:21px}
.pitch-page .step h3{font-size:19px;margin:5px 0 0;line-height:1.2}
.pitch-page .step .step-art{height:85px}
.pitch-page .step p{font-size:14px;line-height:1.45}
.pitch-page .how-section .section-head{margin-bottom:15px}
.pitch-page .town-section{padding:35px 0 24px}
.pitch-page .town-grid .lede{max-width:490px}
.pitch-page .town-grid .shot .art{aspect-ratio:1.75}
.pitch-page .feature{min-height:110px}
.pitch-page .shipping-story{background:#fff9eb;padding:32px 0}
.pitch-page .bundle-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:45px;max-width:1100px}
.pitch-page .bundle-layout p:not(.pitch-kicker){font-size:16px;line-height:1.6;max-width:490px;margin-bottom:15px}
.pitch-page .bundle-layout a{font-size:14px;font-weight:600}
.pitch-page .bundle-visual{display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse,#f2e7c7,transparent 72%);padding:10px}
.pitch-page .bundle-items{display:flex;align-items:center;gap:14px}
.pitch-page .bundle-items .step-art,.pitch-page .bundle-items .illustration{height:95px;width:71px;margin:0}
.pitch-page .bundle-items>span{font-size:23px;color:#70835b}
.pitch-page .bundle-arrow{font-size:29px;color:#13804a;line-height:1}
.pitch-page .bundle-visual>.step-art{height:105px;width:79px}
.pitch-page .bundle-visual strong{font-size:12px;color:#38694d}
.pitch-page .category-section{padding:25px 0;background:linear-gradient(#e0eff2,#eff0e4)}
.pitch-page .category .step-art{height:105px;width:79px;margin:auto}
.pitch-page .category .tool-art{display:block;width:85px;height:105px;margin:auto}
.pitch-page .category p{font-size:12px;margin-top:4px}
.pitch-page .category-note{text-align:center;font-size:13px;line-height:1.5;margin:16px 0 0}
@media(max-width:1100px){.pitch-page .step h3{font-size:17px}.pitch-page .hero>div:first-child{max-width:64%}}
@media(max-width:900px){.pitch-page .hero{padding:90px 6% 170px;min-height:640px}.pitch-page .hero>div:first-child{max-width:none}.pitch-page .hero h1{font-size:clamp(31px,6.4vw,43px);max-width:580px}.pitch-page .promises{max-width:470px}.pitch-page .step{grid-template-rows:38px 75px auto}.pitch-page .step .step-art{height:75px}.pitch-page .town-section{padding-top:18px}.pitch-page .town-grid>div{padding-top:0}.pitch-page .town-grid h2{font-size:30px}.pitch-page .bundle-layout{gap:20px}.pitch-page .bundle-layout h2{font-size:29px}.pitch-page .bundle-layout p:not(.pitch-kicker){font-size:14px}.pitch-page .bundle-items{gap:7px}}
@media(max-width:600px){.pitch-page .hero{min-height:680px;padding-bottom:160px}.pitch-page .hero .lede{font-size:15px}.pitch-page .hero-categories,.pitch-page .hero-shipping{font-size:12px}.pitch-page .promises li{font-size:11px}.pitch-page .steps{gap:10px}.pitch-page .step{padding:12px 10px;grid-template-columns:28px 1fr;column-gap:5px}.pitch-page .step-num{width:27px;height:27px;font-size:18px}.pitch-page .step h3{font-size:16px;margin-top:3px}.pitch-page .step p{font-size:13px}.pitch-page .bundle-layout{grid-template-columns:1fr;gap:10px}.pitch-page .bundle-layout>div:first-child{text-align:center}.pitch-page .bundle-layout p:not(.pitch-kicker){margin-inline:auto}.pitch-page .bundle-items .step-art,.pitch-page .bundle-items .illustration{height:75px;width:56px}.pitch-page .bundle-visual>.step-art{height:85px;width:64px}.pitch-page .feature h3{font-size:15px}.pitch-page .feature p{font-size:12px}.pitch-page .category h3{font-size:13px}.pitch-page .category .illustration,.pitch-page .category .step-art{height:85px;width:64px}.pitch-page .category .tool-art{height:85px;width:70px}}

@media(max-width:600px){.pitch-page .feature{grid-template-columns:1fr;text-align:center;padding:12px}.pitch-page .feature .illustration{grid-row:auto;width:45px;height:60px}.pitch-page .feature h3{margin:4px 0}.pitch-page .feature p{line-height:1.45}}

/* Town-first hero: the illustration has its own space, free of copy overlays. */
.pitch-page .town-first-hero{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.3fr);gap:32px;align-items:center;min-height:0;padding:92px 3% 85px;background:linear-gradient(120deg,#fff8e7,#e5eff0);overflow:hidden}
.pitch-page .town-first-hero>.hero-copy{width:auto;max-width:none;padding-left:4%;z-index:auto}
.pitch-page .town-first-hero>.hero-copy::before{display:none}
.pitch-page .town-first-hero h1{font-size:clamp(34px,3.4vw,52px);line-height:1.08;max-width:490px;text-wrap:balance}
.pitch-page .town-first-hero .lede{font-size:17px;line-height:1.5;margin:20px 0 12px}
.pitch-page .hero-world{font-size:14px;line-height:1.6;max-width:440px;margin-bottom:22px}
.pitch-page .town-first-hero .hero-actions{gap:10px;margin-bottom:22px}
.pitch-page .town-first-hero .btn{font-size:14px;padding:13px 19px}
.pitch-page .town-first-hero .hero-categories{font-size:12px;color:#485c52;max-width:450px}
.pitch-page .town-first-hero .hero-shipping{font-size:12px;color:#485c52;margin:0;max-width:420px}
.hero-town-scene{position:relative;margin:0;min-width:0;border:6px solid #fffaf0;border-radius:25px;box-shadow:0 12px 35px #46503226;background:#fffaf0;isolation:isolate}
.hero-town-scene>img{display:block;width:100%;height:auto;aspect-ratio:1.35;object-fit:cover;object-position:center;border-radius:19px}
.hero-town-scene figcaption{position:absolute;bottom:12px;left:12px;right:12px;text-align:center;font-size:11px;color:#203d32;background:#fff9e9ec;border-radius:8px;padding:8px}
.town-marker{position:absolute;display:inline-flex;gap:8px;align-items:center;padding:8px 11px;border:1px solid #fff5d1;border-radius:12px;background:#fffaf0f2;color:#143e2c;box-shadow:0 3px 12px #122f2b40;text-decoration:none;font-size:12px;font-weight:600;white-space:nowrap}
.town-marker::after{content:"";position:absolute;width:7px;height:7px;background:#fffaf0;border-radius:50%;bottom:-13px;left:50%;box-shadow:0 0 0 3px #fffaf060}
.town-marker:hover,.town-marker:focus-visible{background:#fff;color:#087744;outline:2px solid #16814b;outline-offset:3px}
.marker-shop{top:24%;right:8%}.marker-post{top:62%;right:5%}.marker-story{top:49%;left:7%}
@media(max-width:1100px) and (min-width:701px){.pitch-page .town-first-hero{grid-template-columns:.9fr 1.1fr;gap:20px}.pitch-page .town-first-hero h1{font-size:36px}.pitch-page .town-first-hero .btn{font-size:12px;padding:12px 15px}.hero-town-scene>img{aspect-ratio:.9}.town-marker{font-size:11px;padding:7px}.hero-town-scene figcaption{font-size:10px}}
@media(max-width:700px){.pitch-page .town-first-hero{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding:82px 5% 65px}.pitch-page .town-first-hero>.hero-copy{display:contents}.hero-heading{order:0;text-align:center}.pitch-page .town-first-hero h1{font-size:clamp(30px,7.7vw,40px);max-width:520px;margin:0 auto}.pitch-page .town-first-hero .pitch-kicker{font-size:10px;margin-bottom:9px}.hero-town-scene{order:1;border-width:4px;border-radius:18px}.hero-town-scene>img{aspect-ratio:1.5;border-radius:14px}.hero-town-scene figcaption{display:none}.town-marker{font-size:10px;padding:6px 8px;gap:4px}.hero-explanation{order:2;text-align:center}.pitch-page .town-first-hero .lede{font-size:15px;margin:0 auto 8px;max-width:340px}.pitch-page .hero-world{font-size:12px;line-height:1.5;margin:0 auto 14px;max-width:390px}.pitch-page .town-first-hero .hero-actions{justify-content:center;margin-bottom:12px}.pitch-page .town-first-hero .btn{font-size:13px;padding:11px 17px;min-height:44px}.pitch-page .town-first-hero .hero-categories{font-size:11px;margin:0 auto 6px}.pitch-page .town-first-hero .hero-shipping{font-size:11px;margin:auto;max-width:350px}.marker-story{left:3%}.marker-shop{right:4%;top:22%}}

.pitch-page .town-first-hero>div.hero-copy:first-child{width:auto;max-width:none}

/* Integrated town landscape and independently positioned foreground foliage. */
.pitch-page .town-first-hero{display:block;position:relative;isolation:isolate;min-height:max(660px,51vw);padding:120px 6.4% 115px;background:#fff6e2;overflow:hidden}
.pitch-page .town-first-hero>div.hero-copy:first-child{position:relative;display:block;width:34%;max-width:500px;padding:0;z-index:3}
.pitch-page .town-first-hero>.hero-copy::before{display:block;content:"";position:absolute;inset:-50px -70px -40px -65px;background:radial-gradient(ellipse,#fff6e2 52%,#fff6e2e8 65%,transparent 77%);filter:blur(12px);z-index:-1;pointer-events:none}
.pitch-page .town-first-hero h1{font-size:clamp(36px,3.5vw,58px);text-wrap:balance}
.pitch-page .hero-town-scene{position:absolute;right:0;top:64px;width:76%;margin:0;border:0;border-radius:0;box-shadow:none;background:none;z-index:1;isolation:auto}
.pitch-page .hero-town-scene>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:0;mask-image:linear-gradient(to right,transparent,#000 24%),linear-gradient(to bottom,#000 81%,transparent 100%);mask-composite:intersect}
.pitch-page .hero-town-scene figcaption{bottom:12%;left:35%;right:10%;padding:0;background:none;color:#fff;text-shadow:0 1px 4px #20362c;font-size:11px}
.pitch-page .town-first-hero::after{content:"";position:absolute;inset:0 -4% -100px -5%;background:url('assets/artwork/hero-foreground.webp') center/100% 100% no-repeat;pointer-events:none;z-index:2;opacity:.95}
.pitch-page .town-marker{z-index:4;min-height:40px;border-radius:24px;padding:9px 14px}
.pitch-page .marker-shop{top:30%;right:9%}.pitch-page .marker-post{top:69%;right:7%}.pitch-page .marker-story{top:58%;left:29%}
@media(max-width:1100px){.pitch-page .town-first-hero{padding-top:105px;min-height:680px}.pitch-page .town-first-hero>div.hero-copy:first-child{width:37%}.pitch-page .town-first-hero h1{font-size:37px}.pitch-page .hero-town-scene{width:84%;top:100px;right:-8%}.pitch-page .town-first-hero .hero-actions{flex-wrap:wrap}.pitch-page .town-first-hero::after{inset:0 -12% -100px -12%}}
/* Portrait composition: full town first, then copy on the same warm surface. */
@media(max-width:800px),(orientation:portrait){
.pitch-page .town-first-hero{display:flex;flex-direction:column;gap:0;min-height:0;padding:60px 0 90px}
.pitch-page .hero-town-scene{position:relative;top:auto;right:auto;width:100%;order:0;z-index:1}
.pitch-page .hero-town-scene>img{aspect-ratio:3/2;object-fit:contain;mask-image:linear-gradient(to bottom,#000 82%,transparent 100%)}
.pitch-page .hero-town-scene figcaption{display:none}
.pitch-page .town-first-hero>div.hero-copy:first-child{display:block;order:1;width:auto;max-width:620px;margin:-5px auto 0;padding:0 7%;z-index:3}
.pitch-page .town-first-hero>.hero-copy::before{display:none}
.pitch-page .hero-heading,.pitch-page .hero-explanation{text-align:left}
.pitch-page .town-first-hero h1{font-size:clamp(32px,6.3vw,48px);max-width:none;margin:0;line-height:1.1}
.pitch-page .town-first-hero .pitch-kicker{font-size:11px;margin-bottom:12px}
.pitch-page .town-first-hero .lede{font-size:16px;margin:16px 0 12px;max-width:none}
.pitch-page .hero-world{font-size:14px;margin:0 0 20px;max-width:none}
.pitch-page .town-first-hero .hero-actions{justify-content:flex-start;margin-bottom:18px;gap:10px}
.pitch-page .town-first-hero .hero-categories,.pitch-page .town-first-hero .hero-shipping{margin:0 0 8px;max-width:none;font-size:12px}
.pitch-page .town-first-hero::after{inset:50px -27% -70px -27%;background-size:100% 100%;opacity:.7}
.pitch-page .town-marker{font-size:11px;padding:7px 10px;min-height:36px}
.pitch-page .marker-shop{top:26%;right:5%}.pitch-page .marker-post{top:69%;right:6%}.pitch-page .marker-story{top:55%;left:7%}
}
@media(max-width:380px){.pitch-page .town-marker{font-size:10px;padding:6px 8px;min-height:32px}.pitch-page .town-first-hero .btn{font-size:12px;padding-inline:14px}}

/* Keep interactive labels above foreground decoration. */
.pitch-page .hero-town-scene{z-index:auto}
.pitch-page .hero-town-scene>img{position:relative;z-index:1}
.pitch-page .hero-town-scene figcaption{z-index:4}
.pitch-page .town-first-hero::after{inset:-60px -13% -190px -13%}
@media(max-width:800px),(orientation:portrait){.pitch-page .town-first-hero::after{inset:40px -38% -150px -38%}.pitch-page .hero-town-scene{z-index:auto}}

@media(max-width:800px),(orientation:portrait){
.pitch-page .town-first-hero::after{inset:0 -12% -25px;background-size:100% auto;background-position:center bottom;mask-image:linear-gradient(to top,#000,transparent 150px);opacity:.85}
.pitch-page .hero-town-scene>img{mask-image:linear-gradient(to bottom,#000 84%,transparent)}
}
/* Hero scene states share the same stage and foreground. */
.pitch-page .hero-town-scene{aspect-ratio:3/2}
.pitch-page .hero-town-scene>.hero-state-image{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .55s ease,transform .65s ease;transform:scale(1.012);pointer-events:none}
.pitch-page .hero-town-scene>.hero-state-image.is-active{opacity:1;transform:scale(1)}
.pitch-page .hero-town-scene>.hero-interior{object-fit:contain}
.pitch-page .town-marker{font-family:inherit;cursor:pointer}
.pitch-page .town-marker[hidden],.hero-back[hidden]{display:none}
.hero-back{position:absolute;top:8%;right:8%;z-index:5;font:600 13px "Segoe UI",sans-serif;color:#17472f;background:#fffaf0ed;border:1px solid #e8dabc;border-radius:22px;padding:11px 17px;cursor:pointer;box-shadow:0 3px 12px #21382a24}
.hero-back:focus-visible{outline:3px solid #13804a;outline-offset:3px}
.pitch-page .town-first-hero>.hero-copy{min-height:485px}
@media(max-width:800px),(orientation:portrait){.pitch-page .town-first-hero>.hero-copy{min-height:455px}.hero-back{top:9%;right:5%;font-size:12px}.pitch-page .hero-town-scene>.hero-interior{object-fit:contain}}
@media(prefers-reduced-motion:reduce){.pitch-page .hero-town-scene>.hero-state-image{transition:none;transform:none}}

/* Quiet wayfinding controls, with the warmth of the Town's cream and green palette. */
.pitch-page .town-marker,.pitch-page .hero-back{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  color:#234e3b;background:linear-gradient(160deg,#fffef6,#f7efd9);
  border:1px solid #d4c8a7;border-radius:14px;
  box-shadow:0 2px 0 #b9aa8470,0 5px 16px #263b2926,inset 0 1px 0 #fff;
  font-weight:600;line-height:1.2;min-height:44px;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.pitch-page .town-marker{padding:10px 14px;font-size:12px}
.pitch-page .town-marker.marker-shop{color:#12613d;border-color:#77a587;box-shadow:0 2px 0 #69937880,0 5px 18px #234f352b,inset 0 1px 0 #fff;background:linear-gradient(150deg,#fffef5,#eaf1e2)}
.place-icon{width:19px;height:19px;flex:none;color:#23724d}
.pitch-page .town-marker>span[aria-hidden]{font-size:14px;margin-left:2px;color:#56826b}
.pitch-page .hero-back{padding:8px 13px;min-height:40px;font-size:12px;border-radius:12px;color:#173f2b}
.back-direction{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e5ecd9;color:#226244;font-size:16px}
@media(hover:hover){
.pitch-page .town-marker:hover,.pitch-page .hero-back:hover{transform:translateY(-3px);border-color:#659b78;box-shadow:0 2px 0 #70927b66,0 9px 22px #22463030,0 0 0 3px #fff9e580}
}
.pitch-page .town-marker:focus-visible,.pitch-page .hero-back:focus-visible{outline:3px solid #247a4c;outline-offset:4px;transform:translateY(-2px);box-shadow:0 6px 20px #214b3533,0 0 0 7px #fff9e5dc}
.pitch-page .town-marker:active,.pitch-page .hero-back:active{transform:translateY(0);box-shadow:0 1px 0 #b9aa8470,0 2px 8px #263b2920}
.pitch-page .town-marker[hidden],.pitch-page .hero-back[hidden]{display:none}
@media(max-width:800px),(orientation:portrait){
.pitch-page .town-marker{font-size:10px;padding:7px 9px;gap:5px;min-height:40px;border-radius:12px}
.place-icon{width:16px;height:16px}
.pitch-page .hero-back{font-size:11px;min-height:40px;padding:7px 10px}
.pitch-page .marker-story{left:4%}
}
@media(prefers-reduced-motion:reduce){.pitch-page .town-marker,.pitch-page .hero-back{transition:none}.pitch-page .town-marker:hover,.pitch-page .town-marker:focus-visible,.pitch-page .hero-back:hover,.pitch-page .hero-back:focus-visible{transform:none}}

/* Doorway coordinates are percentages of the uncropped 3:2 town artwork.
   Individual translate anchors keep edge labels on canvas without moving the pins. */
.pitch-page .town-marker{left:var(--door-x);top:var(--door-y);right:auto;bottom:auto;translate:calc(-1 * var(--pin-align)) calc(-100% - 18px)}
.pitch-page .marker-shop{--door-x:91%;--door-y:44%;--pin-align:90%}
.pitch-page .marker-post{--door-x:89%;--door-y:72%;--pin-align:90%}
.pitch-page .marker-story{--door-x:48.7%;--door-y:42%;--pin-align:50%;translate:-50% 18px}
.pitch-page .town-marker::before{content:"";position:absolute;left:var(--pin-align);top:100%;width:1px;height:18px;background:#fffaf0;pointer-events:none}
.pitch-page .town-marker::after{left:var(--pin-align);top:calc(100% + 15px);bottom:auto;translate:-50% 0;pointer-events:none}
.pitch-page .marker-story::before{top:-18px}
.pitch-page .marker-story::after{top:-21px}
/* Interior art is letterboxed in the shared stage: inset from its visible top edge. */
.pitch-page .hero-back{top:calc(7.8% + 20px);right:24px}
@media(max-width:800px),(orientation:portrait){.pitch-page .hero-back{top:calc(7.8% + 14px);right:16px}}

/* Matching green scene controls with a soft white shimmer every five seconds. */
.pitch-page .town-marker,.pitch-page .town-marker.marker-shop,.pitch-page .hero-back{
  color:#fff;border-color:#0d7844;
  background-color:#087744;
  background-image:linear-gradient(110deg,transparent 30%,#ffffff00 40%,#ffffff55 50%,#ffffff30 57%,transparent 70%),linear-gradient(135deg,#218c4b,#087744);
  background-size:300% 100%,100% 100%;background-position:100% 0,0 0;background-repeat:no-repeat;
  box-shadow:0 2px 0 #055d3670,0 5px 16px #17472b30,inset 0 1px 0 #ffffff24;
  animation:town-control-shimmer 5s ease-in-out infinite;
}
.pitch-page .town-marker .place-icon,.pitch-page .town-marker>span[aria-hidden]{color:#fff}
.pitch-page .hero-back .back-direction{color:#fff;background:#ffffff20}
.pitch-page .marker-story{animation-delay:.3s}
.pitch-page .marker-post{animation-delay:.6s}
.pitch-page .hero-back{animation-delay:.4s}
@media(hover:hover){
.pitch-page .town-marker:hover,.pitch-page .town-marker.marker-shop:hover,.pitch-page .hero-back:hover{
  color:#fff;border-color:#075b35;background-color:#087744;
  box-shadow:0 2px 0 #055d3670,0 9px 22px #17472b40,0 0 0 3px #fff9e580;
}
}
.pitch-page .town-marker:focus-visible,.pitch-page .hero-back:focus-visible{color:#fff;outline:3px solid #fff7df;outline-offset:3px;box-shadow:0 0 0 6px #176b43}
@keyframes town-control-shimmer{
  0%,76%{background-position:100% 0,0 0}
  96%,100%{background-position:0% 0,0 0}
}
@media(prefers-reduced-motion:reduce){.pitch-page .town-marker,.pitch-page .town-marker.marker-shop,.pitch-page .hero-back{animation:none;background-position:100% 0,0 0}}

/* Warm brushed-gold finish for scene navigation. */
.pitch-page .town-marker,.pitch-page .town-marker.marker-shop,.pitch-page .hero-back{
  color:#49320c;border-color:#b8872f;background-color:#dfb65b;
  background-image:linear-gradient(110deg,transparent 30%,#ffffff00 40%,#ffffff70 50%,#ffffff30 57%,transparent 70%),linear-gradient(155deg,#fff0b9 0%,#eac777 25%,#d6a641 53%,#f0d18a 78%,#c99335 100%);
  box-shadow:0 2px 0 #95691b99,0 5px 16px #69481530,inset 0 1px 0 #fff7d9;
}
.pitch-page .town-marker .place-icon,.pitch-page .town-marker>span[aria-hidden]{color:#63420b}
.pitch-page .hero-back .back-direction{color:#49320c;background:#fff6d14d}
@media(hover:hover){
.pitch-page .town-marker:hover,.pitch-page .town-marker.marker-shop:hover,.pitch-page .hero-back:hover{
  color:#49320c;border-color:#916216;background-color:#dfb65b;
  box-shadow:0 2px 0 #95691b99,0 9px 22px #69481540,0 0 0 3px #fff0bd80;
}
}
.pitch-page .town-marker:focus-visible,.pitch-page .hero-back:focus-visible{color:#49320c;outline:3px solid #fff7df;outline-offset:3px;box-shadow:0 0 0 6px #916216}

/* Slightly smaller scene controls, preserving their artwork anchors. */
.pitch-page .town-marker{padding:8px 11px;gap:6px;min-height:35px;font-size:11px;border-radius:11px}
.pitch-page .town-marker .place-icon{width:16px;height:16px}
.pitch-page .hero-back{padding:6px 10px;gap:6px;min-height:32px;font-size:11px;border-radius:10px}
.pitch-page .hero-back .back-direction{width:18px;height:18px;font-size:14px}
@media(max-width:800px),(orientation:portrait){
.pitch-page .town-marker{padding:6px 7px;gap:4px;min-height:32px;font-size:10px}
.pitch-page .town-marker .place-icon{width:14px;height:14px}
.pitch-page .hero-back{padding:6px 8px;min-height:32px;font-size:10px}
}
