/* Campaign pages: one clear action colour, readable product copy, complete images. */
.screen-product{--ink:#1c3554;--muted:#57616d;--accent:#1c3554;--wash:#f8f5f1;--line:#e5e3df;background:#fff;color:var(--ink);overflow:auto;height:auto}
.screen-product .app-main{height:auto;overflow:visible;min-width:0;padding:0}.screen-product img{max-width:100%}.screen-product .product-page{width:min(1180px,100%);margin:auto;padding:0 32px 64px}.screen-product figure{margin:0}.screen-product h1,.screen-product h2,.screen-product h3{font-family:inherit;letter-spacing:normal;color:var(--ink);text-wrap:pretty}.screen-product p{line-height:1.75}
.campaign-nav{width:min(1280px,100%);min-height:82px;margin:auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:#fff}.campaign-nav img{width:105px;height:auto}.campaign-nav nav{display:flex;gap:28px;font-size:15px}.campaign-nav nav a:hover,.product-text-link:hover{text-decoration:underline}.campaign-nav__cta,.product-button,.product-mobile-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--accent);color:#fff!important;border:1px solid var(--accent);border-radius:10px;font-weight:800;text-align:center;line-height:1.5;text-decoration:none}.campaign-nav__cta{padding:11px 18px;font-size:14px;min-height:46px}.product-button{min-height:54px;padding:14px 25px;font-size:17px}.campaign-nav__cta:hover,.product-button:hover,.product-mobile-cta:hover{background:#294d76;border-color:#294d76}.product-text-link{font-size:15px;text-decoration:underline;text-underline-offset:4px;font-weight:700}
.product-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:42px;padding:56px 0 48px}.product-hero__copy{min-width:0}.product-kicker{margin:0 0 15px;font-size:14px;font-weight:700;color:var(--muted)}.product-hero h1{font-size:clamp(32px,3.35vw,46px);font-weight:800;line-height:1.24;margin:0 0 22px}.product-lead{font-size:19px;color:var(--muted);margin:0;max-width:48ch}.product-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:26px}.product-action-note{font-size:13px;color:var(--muted);margin:13px 0 0}.product-hero__art{min-width:0;background:var(--wash);border-radius:14px;padding:18px}.product-hero__art img{display:block;width:100%;height:350px;object-fit:contain}.product-hero__art figcaption{text-align:center;font-size:13px;color:var(--muted);padding:12px 0 0}
.product-showcase,.product-features,.product-how,.product-sizes,.product-faq{padding:52px 0;border-top:1px solid var(--line)}.product-section-heading{max-width:780px;margin:0 0 28px}.product-section-heading h2,.product-closing h2{font-size:clamp(26px,2.5vw,34px);font-weight:800;line-height:1.3;margin:0 0 12px}.product-section-heading p{font-size:17px;color:var(--muted);margin:0}.product-showcase__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-showcase__item{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.product-showcase__item>div{height:275px;padding:12px;background:var(--wash)}.product-showcase__item img{display:block;width:100%;height:100%;object-fit:contain}.product-showcase__item figcaption{font-weight:700;font-size:15px;padding:16px;text-align:center}.gallery-hint{display:none}.product-section-action{margin-top:28px;text-align:center}
.product-features__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.product-features article{padding:0 0 0 20px}.product-features h3{font-size:20px;margin:0 0 10px;line-height:1.4}.product-features p{margin:0;font-size:16px;color:var(--muted)}.product-how ol{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0;padding:0}.product-how li{padding:20px;background:var(--wash);border-radius:12px}.product-how li>span{display:grid;place-items:center;width:30px;height:30px;background:#fff;border:1px solid var(--line);border-radius:50%;font-size:14px;font-weight:700}.product-how h3{font-size:18px;margin:16px 0 8px;line-height:1.5}.product-how li p{font-size:15px;color:var(--muted);margin:0}.gift-how ol{grid-template-columns:repeat(3,minmax(0,1fr))}.gift-explainer{padding:18px 24px;border-inline-start:3px solid #c69279;background:var(--wash);border-radius:6px;margin-bottom:28px}.gift-explainer p{margin:0;color:var(--muted);font-size:16px}.gift-explainer strong{color:var(--ink)}
.product-price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:22px}.product-price{min-width:0;border:1px solid var(--line);border-radius:12px;padding:26px;background:#fff;display:flex;flex-direction:column;scroll-margin-top:24px}.product-price h3{font-size:23px;margin:0 0 6px}.product-price>p{color:var(--muted);font-size:15px;margin:2px 0}.product-price__amount{display:block;font-size:36px;line-height:1.4;margin:18px 0 0}.product-price ul{list-style:none;padding:18px 0;margin:20px 0;border-block:1px solid var(--line)}.product-price li{font-size:15px;padding:6px 0;line-height:1.6}.product-price .product-button{width:100%;margin-top:auto;font-size:16px}.product-price-note{font-size:14px;color:var(--muted);margin:20px 0 0}.product-price-note a,.product-gift-link a{text-decoration:underline;text-underline-offset:4px}
.product-faq__list{max-width:850px}.product-faq details{padding:19px 0;border-bottom:1px solid var(--line)}.product-faq summary{display:flex;justify-content:space-between;gap:18px;font-size:17px;font-weight:700;cursor:pointer;list-style:none}.product-faq summary::-webkit-details-marker{display:none}.product-faq summary span{font-size:22px;line-height:1}.product-faq details[open] summary span{transform:rotate(45deg)}.product-faq details p{font-size:16px;color:var(--muted);margin:12px 0 0}.product-closing{padding:38px;background:var(--wash);border-radius:12px;text-align:center}.product-closing>p{max-width:60ch;margin:0 auto 24px;font-size:17px;color:var(--muted)}.product-closing .product-gift-link{font-size:14px;margin:22px auto 0}.campaign-footer{border-top:1px solid var(--line);padding:28px 32px 36px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;max-width:1280px;margin:auto;background:#fff;color:var(--muted)}.campaign-footer img{width:96px;height:auto}.campaign-footer nav{display:flex;flex-wrap:wrap;gap:16px;font-size:13px}.campaign-footer button{font:inherit;color:inherit;background:transparent;border:0;padding:0;cursor:pointer}.campaign-footer small{font-size:12px}.product-mobile-cta{display:none}.screen-product a:focus-visible,.screen-product button:focus-visible,.screen-product summary:focus-visible,.product-showcase__grid:focus-visible{outline:3px solid #bc6537;outline-offset:4px}.screen-product section[id]{scroll-margin-top:24px}
/* The price list has its own vertical document flow, independent of story-page grids. */
.pricing-intro{padding:48px 0 28px;max-width:780px}.pricing-intro h1{font-size:clamp(32px,3.5vw,44px);line-height:1.25;margin:0 0 18px}.pricing-intro p{font-size:18px;color:var(--muted);margin:0}.pricing-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 30px}.pricing-tabs a{border:1px solid var(--line);border-radius:8px;padding:11px 22px;font-weight:700;font-size:16px}.pricing-tabs a[aria-current=page]{color:var(--ink);border-color:var(--ink);background:var(--wash)}.pricing-catalogue{padding:0 0 40px}.pricing-catalogue>h2{font-size:25px;margin:0 0 20px}.pricing-help{margin-top:28px;color:var(--muted);font-size:15px}.pricing-help a{text-decoration:underline}
@media(max-width:1000px){.product-hero{gap:25px}.product-hero__art img{height:300px}.product-how ol{grid-template-columns:repeat(2,minmax(0,1fr))}.gift-how ol{grid-template-columns:repeat(3,minmax(0,1fr))}.product-showcase__item>div{height:235px}.campaign-nav nav{gap:16px}}
@media(max-width:760px){.screen-product .product-page{padding:0 20px 38px}.campaign-nav{min-height:70px;padding:12px 20px;gap:10px}.campaign-nav img{width:84px}.campaign-nav nav{display:none}.campaign-nav__cta{font-size:12px;min-height:42px;padding:10px 12px}.product-hero{grid-template-columns:1fr;padding:30px 0;gap:25px}.product-hero h1{font-size:32px;line-height:1.3;margin-bottom:16px}.product-lead{font-size:17px}.product-actions{margin-top:22px;gap:16px}.product-actions .product-button{width:100%}.product-hero__art{padding:12px}.product-hero__art img{height:260px}.product-hero__art figcaption{font-size:12px}.product-showcase,.product-features,.product-how,.product-sizes,.product-faq{padding:36px 0}.product-section-heading{margin-bottom:22px}.product-section-heading h2,.product-closing h2{font-size:26px}.product-section-heading p{font-size:16px}.gallery-hint{display:block;font-size:13px;color:var(--muted);margin:0 0 12px}.product-showcase__grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:1px;padding:3px 1px 14px;overscroll-behavior-x:contain;scrollbar-width:thin}.product-showcase__item{flex:0 0 86%;scroll-snap-align:start}.product-showcase__item>div{height:260px}.product-showcase__item figcaption{font-size:14px}.product-features__grid{grid-template-columns:1fr;gap:24px}.product-features article{padding:0}.product-how ol,.gift-how ol{grid-template-columns:1fr;gap:12px}.product-how li{padding:20px;display:grid;grid-template-columns:30px 1fr;column-gap:14px}.product-how h3{margin:0 0 5px}.product-how li p{grid-column:2}.product-price-grid{grid-template-columns:1fr}.product-price{padding:23px}.product-closing{padding:28px 20px}.product-closing>p{font-size:16px}.product-section-action .product-button,.product-closing .product-button{width:100%}.campaign-footer{padding:25px 20px 108px;gap:20px}.campaign-footer nav{gap:14px}.product-mobile-cta{display:flex;position:fixed;z-index:60;bottom:max(12px,env(safe-area-inset-bottom));left:70px;right:14px;min-height:52px;padding:12px 14px;font-size:15px;box-shadow:0 4px 16px #1c355426}.pricing-intro{padding:30px 0 24px}.pricing-intro p{font-size:16px}.pricing-tabs a{flex:1;text-align:center;padding:11px;font-size:15px}.gift-explainer{padding:16px;margin-bottom:20px}.gift-explainer p{font-size:15px}}
@media(max-width:360px){.product-hero h1{font-size:28px}.product-button{font-size:15px;padding-inline:15px}.product-mobile-cta{font-size:13px}.product-showcase__item>div{height:220px}}
