/* Puddle & Pip: home */
.hero{padding:clamp(32px,5vw,72px) 0 0;position:relative;overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,80px);align-items:center}
.hero h1{font-size:clamp(2.9rem,7vw,6.1rem);margin-bottom:.32em;max-width:9ch}
.hero h1 .hl{display:inline;color:var(--corn);font-weight:700}
.hero .lead{max-width:36ch;margin-bottom:28px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero-status{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:24px 0 0;font-size:.9rem;color:var(--ink-2)}
.hero-art{position:relative;padding:0 0 9% 8%}
.hero-main{aspect-ratio:4/4.7;overflow:hidden;background:var(--peach);box-shadow:var(--shadow)}
.hero-main img{width:100%;height:100%;object-fit:cover}
.hero-inset{position:absolute;left:0;bottom:0;width:38%;aspect-ratio:4/5;border-radius:var(--r-l);overflow:hidden;border:6px solid var(--cream);box-shadow:var(--shadow);transform:rotate(-4deg)}
.hero-inset img{width:100%;height:100%;object-fit:cover}
.hero-tag{position:absolute;right:4%;bottom:14%;margin:0;background:var(--cream);border-radius:999px;padding:10px 16px;font-size:.88rem;box-shadow:var(--shadow);display:flex;gap:8px;align-items:baseline}
.hero-tag .mono{font-weight:700;color:var(--corn-d);text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}
.hero-doodle{position:absolute;right:-2%;top:-4%;width:120px;transform:rotate(-8deg)}
.proof{list-style:none;padding:0;margin:clamp(44px,6vw,80px) 0 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1.5px solid var(--line-2);border-bottom:1.5px solid var(--line-2)}
.proof li{padding:22px 20px;display:flex;gap:14px;align-items:baseline}
.proof li+li{border-left:1.5px solid var(--line-2)}
.proof b{font:700 2rem/1 var(--display);letter-spacing:-.02em;color:var(--ink)}
.proof span{font-size:.9rem;color:var(--ink-2);line-height:1.35}
@media (max-width:860px){.hero-in{grid-template-columns:1fr}.hero-art{max-width:560px;margin-inline:auto;width:100%}.proof{grid-template-columns:repeat(2,1fr)}.proof li:nth-child(3){border-left:0}.proof li:nth-child(n+3){border-top:1.5px solid var(--line-2)}}
@media (max-width:420px){.proof li{flex-direction:column;gap:6px;padding:18px 14px}.hero-tag{font-size:.8rem;padding:8px 12px}}

.door{display:flex;flex-direction:column;text-decoration:none;background:#fff;border-radius:var(--r-l);overflow:hidden;border:1px solid var(--line);transition:transform .3s var(--ease),box-shadow .3s}
.door:hover{transform:translateY(-4px);box-shadow:var(--shadow);color:var(--ink)}
.door .ph{border-radius:0;aspect-ratio:4/3}
.door .ph img{transition:transform .6s var(--ease)}
.door:hover .ph img{transform:scale(1.04)}
.door-b{padding:22px 24px 26px;display:flex;flex-direction:column;gap:6px;flex:1}
.door-b h3{font-size:1.7rem;margin:8px 0 2px}
.door-b p{color:var(--ink-2);margin:0 0 14px}
.door-b .tag{align-self:flex-start}
.door-b .link-arrow{margin-top:auto;align-self:flex-start}

.pricer-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.pricer .chips{margin-top:22px}
.pricer .chip{min-width:56px;justify-content:center;font-family:var(--mono);font-weight:600}
.size-eg{font-size:.85rem;color:var(--ink-2);margin-top:14px;min-height:1.4em}
.price-list{list-style:none;margin:0;padding:0}
.price-list li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.price-list li:first-child{padding-top:0}
.price-list b{font:700 1.3rem/1.2 var(--display);display:block}
.price-list small{color:var(--ink-2);font-size:.88rem}
.price-list .amt{font:700 1.7rem/1 var(--display);letter-spacing:-.02em;white-space:nowrap}
.price-list .amt small{font:500 .7rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;display:block;text-align:right;margin-bottom:4px}
.price-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}
@media (max-width:860px){.pricer-in{grid-template-columns:1fr}}

.week-strip{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:10px}
.week-strip li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 12px;display:flex;flex-direction:column;gap:6px;min-height:132px}
.week-strip .d{font:500 .72rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.week-strip .n{font:700 1.6rem/1 var(--display)}
.week-strip .bar{height:6px;border-radius:6px;background:var(--peach);overflow:hidden;margin-top:auto}
.week-strip .bar i{display:block;height:100%;background:var(--corn);border-radius:6px}
.week-strip .s{font-size:.82rem;color:var(--ink-2);line-height:1.25}
.week-strip li.full{background:var(--cream-2)}
.week-strip li.full .n{color:var(--ink-2)}
.week-strip .trial{font:500 .66rem/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--corn-d)}
.week-cta{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:28px 0 0}
@media (max-width:1024px){.week-strip{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:560px){.week-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.week-strip li{min-height:112px}}

.timeline{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative}
.timeline::before{content:"";position:absolute;left:0;right:0;top:15px;height:2px;background:repeating-linear-gradient(90deg,var(--corn-l) 0 8px,transparent 8px 16px)}
.timeline li{position:relative;padding:44px 18px 0 0}
.timeline li::before{content:"";position:absolute;left:0;top:7px;width:18px;height:18px;border-radius:50%;background:var(--ink);border:3px solid var(--corn-l)}
.timeline .mono{font-size:.85rem;color:var(--corn-l);font-weight:600}
.timeline h3{color:var(--cream);margin:8px 0 6px}
.timeline p{color:#D3D8EE;font-size:.95rem;margin:0}
@media (max-width:900px){.timeline{grid-template-columns:1fr;gap:26px}.timeline::before{left:8px;right:auto;top:0;bottom:0;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--corn-l) 0 8px,transparent 8px 16px)}.timeline li{padding:0 0 0 40px}.timeline li::before{top:2px}}

.pup-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:center}
.pup-stack{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.pup-card{margin:0;background:#fff;border-radius:var(--r-l);padding:10px 10px 16px;border:1px solid var(--line);box-shadow:var(--shadow)}
.pup-card:nth-child(1){transform:rotate(-2deg)}
.pup-card:nth-child(2){transform:rotate(2deg);margin-top:48px}
.pup-card picture{border-radius:20px;overflow:hidden;aspect-ratio:4/5}
.pup-card img{width:100%;height:100%;object-fit:cover}
.pup-card figcaption{padding:12px 6px 0;font-size:.92rem}
.pup-card .mono{color:var(--corn-d);font-weight:600;margin-right:6px}
@media (max-width:860px){.pup-in{grid-template-columns:1fr}}

.quote{margin:0;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.quote p{font:400 1.2rem/1.45 var(--display);margin:0}
.quote footer{display:flex;flex-direction:column;gap:2px;font-size:.88rem;color:var(--ink-2)}
.quote footer b{font:500 .72rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--corn-d)}

.visitband{position:relative;padding:clamp(80px,12vw,160px) 0}
.visit-ph{position:absolute;inset:0}
.visit-ph picture,.visit-ph img{width:100%;height:100%;object-fit:cover}
.visit-in{position:relative}
.visit-card{max-width:520px;box-shadow:var(--shadow)}
.visit-card h2{font-size:clamp(1.8rem,3vw,2.5rem)}
.licence{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--ink-2)}
