:root{--paper:#f3ead7;--paper2:#f8f0df;--ink:#30221b;--wine:#711d19;--muted:#806d5d;--page-bg:#e4d6bc;--font-heading:Georgia,'Times New Roman',serif;--font-body:Georgia,'Times New Roman',serif;--line:color-mix(in srgb,var(--ink) 25%,transparent);--shadow:0 14px 34px rgba(54,34,20,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--page-bg);font-family:var(--font-body)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1390px,90.5vw);margin:auto}.antique-panel{background-color:var(--paper);background-image:radial-gradient(circle at 12% 18%,rgba(112,73,32,.07),transparent 24%),radial-gradient(circle at 87% 15%,rgba(122,83,47,.05),transparent 22%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.085'/%3E%3C/svg%3E");position:relative}.border-top{border-top:1px solid rgba(104,72,50,.22)}
.site-header{position:relative;z-index:20;background:var(--paper);border:0}.site-header:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.25;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.1'/%3E%3C/svg%3E")}.header-inner{height:112px;display:flex;align-items:center;gap:36px;position:relative;z-index:1}.brand{width:260px;display:flex;flex-direction:column;line-height:.84;font-size:28px;font-weight:700;letter-spacing:.085em}.brand-small{font-size:10px;text-align:center;letter-spacing:.42em;margin-bottom:9px}.brand i{text-align:center;font-weight:400;font-size:20px;color:var(--wine);margin-top:7px}.main-nav{display:flex;align-items:center;gap:37px;margin-left:auto;font-size:14px;font-weight:700;white-space:nowrap}.main-nav a{position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--wine);transition:.2s}.main-nav a:hover:after{right:0}.outline-btn,.solid-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 29px;border:1px solid var(--wine);font-weight:700;letter-spacing:.025em;background:rgba(249,243,229,.55)}.solid-btn{background:var(--wine);color:#fff;box-shadow:0 5px 13px rgba(77,27,22,.18)}.outline-btn span,.solid-btn span{margin-left:18px;font-size:20px;font-weight:400}.header-cta{min-width:225px}.menu-toggle{display:none;background:none;border:1px solid var(--wine);font-size:24px}
.hero{height:565px;overflow:hidden}.hero-shell{height:100%;position:relative}.hero-copy{position:relative;z-index:4;width:34%;padding-top:65px}.eyebrow{font-size:14px;letter-spacing:.025em;margin-bottom:24px}.hero h1,h2,.archive h1,.single h1{font-family:Georgia,'Times New Roman',serif;color:var(--wine);letter-spacing:.012em}.hero h1{font-size:clamp(50px,4.1vw,64px);font-weight:700;line-height:1.17;margin:0;text-transform:uppercase}.flourish{height:28px;margin:12px 0 14px;display:flex;align-items:center;gap:8px;width:280px;color:var(--wine)}.flourish span{height:1px;background:var(--wine);flex:1}.flourish b{font-weight:400;font-size:18px}.hero-copy p{font-size:16px;line-height:1.5;text-align:center;max-width:360px;margin:8px 0 0 24px}.hero-actions{display:flex;gap:20px;margin-top:38px;flex-wrap:nowrap}.hero-actions .solid-btn{min-width:270px}.hero-actions .outline-btn{min-width:248px}.postcard-stage{position:absolute;z-index:2;left:31.5%;right:-5.5vw;top:5px;height:560px;overflow:hidden}.hero-composite{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.96) contrast(.98)}
.how{padding:25px 0 21px;min-height:350px}.how h2{font-size:39px;line-height:1;margin:0;text-align:center;color:var(--wine)}.mini-flourish{text-align:center;color:var(--wine);letter-spacing:.23em;font-size:14px;margin:10px 0 2px}.how-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 1.18fr;align-items:stretch;margin-top:0}.how-step{position:relative;text-align:center;padding:0 18px 8px}.how-step:not(:nth-child(4)):after{content:"→";position:absolute;right:-7px;top:46%;color:var(--wine);font-size:24px}.how-step img{height:145px;width:100%;object-fit:contain;margin:0 auto 0}.how-step h3{font-size:15px;color:var(--wine);margin:-1px 0 5px}.how-step p{font-size:12px;line-height:1.35;margin:0}.pack-card{border-left:1px solid var(--line);padding:9px 15px 0 27px;position:relative;text-align:center;min-height:250px}.pack-title{font-size:14px;margin-bottom:5px}.pack-card>img{height:168px;width:100%;object-fit:contain}.pack-seal{position:absolute;right:13px;top:42px;width:92px;height:92px;border:2px dashed var(--wine);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--wine);background:rgba(245,235,215,.65);transform:rotate(3deg)}.pack-seal strong{font-size:29px;line-height:1}.pack-seal span{font-size:10px;line-height:1.15;margin-top:3px}.pack-card a{display:inline-flex;gap:16px;align-items:center;font-size:12px;border-bottom:1px solid currentColor;padding-bottom:4px;margin-top:4px}.pack-card a span{font-size:18px}
.collection-section,.stamps,.route,.shops{padding:72px 0}.section-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:center}.section-grid h2,.stamps h2,.route h2,.shops h2{font-size:56px;text-align:left;margin:0;color:var(--wine)}.section-grid p,.route p{font-size:18px;line-height:1.7;max-width:620px}.text-link{display:inline-block;color:var(--wine);font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px}.card-fan{height:440px;position:relative}.mini-postcard{position:absolute;width:48%;background:#e8d8bb;border:9px solid #eadcc2;box-shadow:var(--shadow);transition:.25s}.mini-postcard img{height:270px;width:100%;object-fit:cover;filter:sepia(.22) saturate(.8)}.mini-postcard span{display:block;padding:12px;text-align:center;font-size:15px}.mini-postcard:nth-child(1){left:5%;top:55px;transform:rotate(-9deg)}.mini-postcard:nth-child(2){left:22%;top:25px;transform:rotate(-3deg)}.mini-postcard:nth-child(3){left:39%;top:50px;transform:rotate(5deg)}.mini-postcard:nth-child(4){left:52%;top:75px;transform:rotate(10deg)}.mini-postcard:hover{z-index:5;transform:rotate(0) translateY(-14px)}
.stamps .eyebrow{text-align:center}.stamps h2{text-align:center}.stamp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;margin-top:46px}.stamp-card{text-align:center}.stamp-card img,.fake-stamp{width:165px;height:165px;margin:auto;border-radius:50%;object-fit:contain}.fake-stamp{border:5px double var(--wine);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:15px;color:var(--wine);font-size:15px;font-weight:700;transform:rotate(-5deg);background:rgba(125,36,31,.03)}.fake-stamp small{font-size:9px;margin-top:8px}.stamp-card:nth-child(even) .fake-stamp{transform:rotate(6deg)}.stamp-card strong{display:block;margin-top:16px}.route-paper{padding:54px;border:1px solid var(--line);background:rgba(255,250,236,.38);display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;box-shadow:inset 0 0 0 8px rgba(123,85,51,.03)}.route h2{text-align:left}.route-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.route-list li{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.route-list span{color:var(--wine);font-size:20px}.route-list a{font-size:18px;font-weight:700}.route-list em{font-size:13px;color:var(--muted);font-style:normal}.shop-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.shop-list article{border:1px solid var(--line);padding:28px;background:rgba(255,250,236,.35)}.shop-list h3{color:var(--wine);font-size:24px;margin-top:0}.site-footer{background:#291b17;color:#eadcc2;padding:50px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-grid a{display:block;margin:8px 0}.footer-grid strong{font-size:25px}.archive,.single{padding:70px 0;min-height:65vh}.archive h1,.single h1{font-size:56px}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.archive-card{background:rgba(255,250,236,.45);border:1px solid var(--line);padding:14px}.archive-card img{height:270px;width:100%;object-fit:cover}.archive-card h2{font-size:24px;color:var(--wine)}.single-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px}.single-image{background:#e6d4b6;padding:12px;box-shadow:var(--shadow)}.single-image img{width:100%}.entry-content{font-size:18px;line-height:1.7}.details{display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--line);margin:30px 0}.details dt,.details dd{padding:12px 0;border-bottom:1px solid var(--line);margin:0}
@media(max-width:1180px){.main-nav{gap:20px;font-size:12px}.brand{width:220px}.header-cta{min-width:180px;padding:0 18px}.hero-copy{width:42%}.postcard-stage{left:39%}.hero h1{font-size:52px}.how-grid{grid-template-columns:repeat(2,1fr)}.pack-card{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);margin-top:16px}.how-step:nth-child(2):after,.how-step:nth-child(4):after{display:none}}
@media(max-width:900px){.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper2);padding:25px;flex-direction:column}.main-nav.is-open{display:flex}.menu-toggle{display:block;margin-left:auto}.header-cta{display:none}.hero{height:auto;padding:28px 0 35px}.hero-shell{display:flex;flex-direction:column}.hero-copy{width:100%;padding:15px 0 20px}.hero-copy p{text-align:left;margin-left:0}.postcard-stage{position:relative;left:auto;right:auto;top:auto;height:auto}.hero-composite{height:auto}.hero-actions{flex-wrap:wrap}.section-grid,.route-paper,.single-grid{grid-template-columns:1fr}.stamp-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.wrap{width:92vw}.header-inner{height:86px}.brand{width:auto;font-size:21px}.hero h1{font-size:43px}.hero-copy p{font-size:15px}.hero-actions .solid-btn,.hero-actions .outline-btn{width:100%;min-width:0}.how h2{font-size:31px}.how-grid{grid-template-columns:1fr}.how-step:after{display:none!important}.how-step img{height:150px}.pack-card{grid-column:auto}.section-grid h2,.stamps h2,.route h2,.shops h2,.archive h1,.single h1{font-size:40px}.card-fan{height:330px}.mini-postcard{width:60%}.mini-postcard img{height:190px}.mini-postcard:nth-child(4){display:none}.stamp-grid{grid-template-columns:repeat(2,1fr)}.fake-stamp{width:130px;height:130px}.route-paper{padding:28px}.route-list li{grid-template-columns:42px 1fr}.route-list em{display:none}.shop-list,.archive-grid,.footer-grid{grid-template-columns:1fr}.solid-btn,.outline-btn{width:100%}}

/* v0.3 — desktop hero tuning against the 1600x900 reference capture */
@media (min-width:1181px){
  .wrap{width:min(1390px,calc(100vw - 110px))}
  .header-inner{height:104px;gap:30px}
  .brand{width:245px;font-size:27px}
  .main-nav{gap:31px;font-size:13px}
  .header-cta{min-width:218px;min-height:50px;padding:0 24px}

  .hero{height:570px;overflow:hidden}
  .hero-shell{height:100%;position:relative}
  .hero-copy{width:535px;padding-top:50px;z-index:5}
  .hero-copy .eyebrow{margin-bottom:23px}
  .hero h1{font-size:56px;line-height:1.12;white-space:nowrap;letter-spacing:.006em}
  .hero-copy .flourish{margin-top:16px;margin-bottom:14px;width:250px}
  .hero-copy p{max-width:395px;margin:6px 0 0 23px;font-size:15.5px;line-height:1.52}
  .hero-actions{gap:18px;margin-top:27px;position:relative;z-index:7}
  .hero-actions .solid-btn{min-width:255px;padding:0 22px;min-height:52px;font-size:14px}
  .hero-actions .outline-btn{min-width:230px;padding:0 20px;min-height:52px;font-size:14px}

  .postcard-stage{left:425px;right:-32px;top:7px;height:556px;z-index:2;overflow:hidden}
  .hero-composite{width:100%;height:100%;object-fit:cover;object-position:center top}

  .how{padding-top:26px;min-height:355px}
  .how h2{font-size:39px}
  .how-grid{grid-template-columns:repeat(4,minmax(0,1fr)) 1.12fr}
  .how-step{padding-left:14px;padding-right:14px}
  .how-step img{height:142px}
  .pack-card{padding-left:22px;padding-right:12px}
}

@media (min-width:1181px) and (max-width:1450px){
  .wrap{width:calc(100vw - 70px)}
  .header-inner{gap:20px}
  .brand{width:215px;font-size:25px}
  .main-nav{gap:22px;font-size:12px}
  .header-cta{min-width:190px;padding:0 16px;font-size:12px}
  .hero-copy{width:500px;padding-top:48px}
  .hero h1{font-size:52px}
  .postcard-stage{left:390px;right:-24px}
  .hero-copy p{max-width:365px}
  .hero-actions .solid-btn{min-width:238px;padding:0 16px;font-size:13px}
  .hero-actions .outline-btn{min-width:218px;padding:0 15px;font-size:13px}
}

/* v0.4 — clean hero image + isolated desktop composition */
@media (min-width:1181px){
  .hero{height:590px;overflow:hidden}
  .hero-shell{height:100%;position:relative;display:block}
  .hero-copy{
    position:relative;
    z-index:5;
    width:37%;
    max-width:500px;
    padding-top:48px;
  }
  .hero-copy .eyebrow{font-size:14px;margin-bottom:22px;white-space:nowrap}
  .hero h1{
    font-size:54px;
    line-height:1.08;
    letter-spacing:.005em;
    white-space:normal;
    width:500px;
    max-width:100%;
  }
  .hero h1 br{display:block}
  .hero-copy .flourish{width:255px;margin:20px 0 14px}
  .hero-copy p{max-width:395px;margin:4px 0 0 20px;font-size:15px;line-height:1.48}
  .hero-actions{display:flex;gap:16px;margin-top:27px;position:relative;z-index:7;white-space:nowrap}
  .hero-actions .solid-btn{min-width:258px;min-height:52px;padding:0 20px;font-size:13px}
  .hero-actions .outline-btn{min-width:220px;min-height:52px;padding:0 18px;font-size:13px}

  .postcard-stage{
    position:absolute;
    z-index:2;
    left:37.5%;
    right:-1.5%;
    top:8px;
    height:565px;
    overflow:hidden;
  }
  .hero-composite{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:left top;
    filter:saturate(.96) contrast(.98);
  }

  .how{padding:30px 0 30px;min-height:375px}
  .how h2{font-size:40px}
  .mini-flourish{margin:10px 0 8px}
  .how-grid{grid-template-columns:repeat(4,minmax(0,1fr)) 1.18fr;align-items:start}
  .how-step{padding:0 16px 12px}
  .how-step img{height:156px}
  .how-step h3{font-size:15.5px;margin:2px 0 6px}
  .how-step p{font-size:12.5px;line-height:1.38}
  .pack-card{min-height:276px;padding-top:8px}
  .pack-card>img{height:180px}
  .pack-seal{top:45px}
}

@media (min-width:1181px) and (max-width:1450px){
  .hero{height:570px}
  .hero-copy{width:36.5%;max-width:465px;padding-top:44px}
  .hero h1{font-size:49px;width:465px}
  .hero-copy p{max-width:360px;margin-left:12px;font-size:14.5px}
  .hero-actions{gap:12px;margin-top:24px}
  .hero-actions .solid-btn{min-width:235px;padding:0 14px;font-size:12px}
  .hero-actions .outline-btn{min-width:202px;padding:0 13px;font-size:12px}
  .postcard-stage{left:36%;right:-1.5%;height:548px;top:8px}
  .how-step img{height:145px}
}

/* v0.6 — precise, symmetrical "How it works" timeline */
@media (min-width:1181px){
  .how{padding:26px 0 30px;min-height:0}
  .how-wrap{max-width:1450px}
  .how-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) minmax(220px,1.12fr);
    column-gap:0;
    align-items:start;
    margin-top:8px;
  }
  .how-step{
    display:grid;
    grid-template-rows:30px 142px 28px 58px;
    align-items:start;
    min-width:0;
    padding:0 8px;
    text-align:center;
  }
  .how-step:after{display:none!important}
  .step-number{
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--wine);
    font-family:Georgia,'Times New Roman',serif;
    font-size:21px;
    line-height:1;
    letter-spacing:.02em;
  }
  .step-media{
    height:142px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }
  .step-media img{
    width:100%;
    height:142px;
    object-fit:contain;
    object-position:center center;
    margin:0;
    transform:translateY(-10px) scale(1.06);
  }
  .how-step h3{
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0 2px;
    color:var(--wine);
    font-size:15px;
    line-height:1.05;
    white-space:nowrap;
  }
  .how-step p{
    height:58px;
    margin:0;
    padding:2px 5px 0;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    text-align:center;
    font-size:12px;
    line-height:1.28;
  }
  .step-arrow{
    height:172px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--wine);
    font-family:Georgia,'Times New Roman',serif;
    font-size:22px;
    line-height:1;
    transform:translateY(15px);
  }
  .pack-card{
    box-sizing:border-box;
    display:grid;
    grid-template-rows:30px 142px 28px 58px;
    align-items:start;
    min-height:258px;
    margin-left:14px;
    padding:0 12px 0 28px;
    border-left:1px solid var(--line);
    text-align:center;
  }
  .pack-title{
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    font-size:13px;
    line-height:1;
  }
  .pack-card>img{
    width:100%;
    height:142px;
    object-fit:contain;
    margin:0;
  }
  .pack-seal{top:45px;right:10px;width:82px;height:82px}
  .pack-seal strong{font-size:26px}
  .pack-card a{
    align-self:center;
    justify-self:center;
    height:28px;
    box-sizing:border-box;
    margin:0;
    padding:2px 0 3px;
    gap:14px;
    font-size:11px;
  }
}

/* v0.6.1 — slightly larger typography in the How it works section */
@media (min-width:1181px){
  .how h2{font-size:44px}
  .mini-flourish{font-size:15px}
  .step-number{font-size:24px}
  .how-step h3{font-size:16.5px}
  .how-step p{font-size:13.5px;line-height:1.32}
  .pack-title{font-size:14.5px}
  .pack-card a{font-size:12.5px}
  .pack-card a span{font-size:19px}
  .pack-seal strong{font-size:28px}
  .pack-seal span{font-size:10.5px}
}
@media (max-width:1180px){
  .how h2{font-size:42px}
  .how-step h3{font-size:17px}
  .how-step p{font-size:13.5px}
  .pack-title{font-size:15px}
}
@media (max-width:680px){
  .how h2{font-size:34px}
  .how-step h3{font-size:16.5px}
  .how-step p{font-size:13.5px}
}


/* Hero slider — v0.6.2 */
.postcard-stage.hero-slider{position:absolute}
.hero-slider .hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;opacity:0;visibility:hidden;transition:opacity .8s ease;filter:saturate(.96) contrast(.98)}
.hero-slider .hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-slider .hero-dots{position:absolute;left:50%;bottom:13px;transform:translateX(-50%);z-index:5;display:flex;gap:9px;padding:5px 8px}
.hero-slider .hero-dot{appearance:none;width:10px;height:10px;border-radius:50%;border:1px solid rgba(94,23,23,.3);background:#f6f0df;box-shadow:0 1px 3px rgba(0,0,0,.12);padding:0;cursor:pointer}
.hero-slider .hero-dot.is-active{background:var(--wine);border-color:var(--wine)}
@media(max-width:900px){.postcard-stage.hero-slider{position:relative;aspect-ratio:1.62;height:auto}.hero-slider .hero-slide{position:absolute}.hero-slider .hero-dots{bottom:9px}}
@media(prefers-reduced-motion:reduce){.hero-slider .hero-slide{transition:none}}

/* v0.6.4 — mobile & tablet responsive layout */
html,body{max-width:100%;overflow-x:hidden}
body.menu-open{overflow:hidden}

@media (max-width:1180px){
  .wrap{width:min(94vw,1080px)}
  .header-inner{height:94px;gap:20px}
  .brand{width:auto;min-width:180px;font-size:23px}
  .brand-small{font-size:9px;margin-bottom:7px}
  .menu-toggle{width:46px;height:46px;display:flex;align-items:center;justify-content:center;padding:0;color:var(--wine);background:rgba(255,250,236,.4);cursor:pointer;position:relative;z-index:31}
  .main-nav{z-index:30;box-shadow:0 12px 28px rgba(47,31,23,.15);border-top:1px solid var(--line)}
  .main-nav a{font-size:15px;padding:8px 0}

  .hero{height:auto;min-height:0;padding:34px 0 40px;overflow:visible}
  .hero-shell{height:auto;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:28px;align-items:center}
  .hero-copy{width:auto;max-width:none;padding:0;position:relative;z-index:3}
  .hero-copy .eyebrow{font-size:13px;margin-bottom:18px;white-space:normal}
  .hero h1{font-size:clamp(44px,5vw,58px);width:auto;max-width:100%;line-height:1.06}
  .hero-copy .flourish{width:min(250px,72%);margin:18px 0 14px}
  .hero-copy p{max-width:430px;margin:0;font-size:15px;text-align:left}
  .hero-actions{margin-top:25px;gap:12px;display:grid;grid-template-columns:1fr;max-width:380px}
  .hero-actions .solid-btn,.hero-actions .outline-btn{width:100%;min-width:0;min-height:50px;padding:0 18px;font-size:13px}
  .postcard-stage.hero-slider{position:relative;left:auto;right:auto;top:auto;height:auto;aspect-ratio:1.57;min-width:0;overflow:hidden}
  .hero-slider .hero-slide{object-position:center center}

  .how{padding:38px 0 42px}
  .how h2{font-size:40px}
  .how-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;margin-top:18px}
  .how-step{display:grid;grid-template-rows:auto 165px auto auto;padding:0 8px;text-align:center}
  .step-number{display:flex;align-items:center;justify-content:center;height:auto;margin-bottom:5px;color:var(--wine);font-size:23px}
  .step-media{height:165px;display:flex;align-items:center;justify-content:center}
  .step-media img,.how-step img{width:100%;height:165px;object-fit:contain;margin:0;transform:none}
  .how-step h3{height:auto;min-height:30px;display:flex;align-items:center;justify-content:center;margin:3px 0 6px;white-space:normal;font-size:17px;line-height:1.1}
  .how-step p{height:auto;min-height:46px;margin:0;padding:0 6px;display:block;font-size:14px;line-height:1.42}
  .step-arrow{display:none!important}
  .pack-card{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);margin:3px auto 0;padding:26px 20px 0;width:min(440px,100%);min-height:0;display:block;text-align:center}
  .pack-title{font-size:16px;margin:0 0 8px;height:auto;display:block}
  .pack-card>img{height:210px;width:100%;object-fit:contain}
  .pack-seal{top:74px;right:40px}
  .pack-card a{font-size:14px;margin-top:8px}

  .collection-section,.stamps,.route,.shops{padding:58px 0}
  .section-grid{grid-template-columns:1fr;gap:36px}
  .section-grid h2,.stamps h2,.route h2,.shops h2{font-size:48px}
  .section-grid p,.route p{font-size:17px;line-height:1.62}
  .card-fan{height:400px;max-width:800px;width:100%;margin:0 auto}
  .mini-postcard{width:46%}
  .mini-postcard img{height:235px}
  .stamp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px}
  .route-paper{grid-template-columns:1fr;gap:38px;padding:42px}
  .shop-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:32px}
}

@media (max-width:900px){
  .site-header{position:sticky;top:0;z-index:100}
  .admin-bar .site-header{top:32px}
  .header-inner{height:82px}
  .brand{font-size:21px;line-height:.86}
  .brand i{font-size:15px;margin-top:5px}
  .main-nav{position:fixed;display:flex;visibility:hidden;opacity:0;pointer-events:none;top:82px;left:0;right:0;bottom:0;padding:34px 7vw;align-items:flex-start;justify-content:flex-start;background:var(--paper2);transform:translateY(-10px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;overflow-y:auto}
  .admin-bar .main-nav{top:114px}
  .main-nav.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:none}
  .main-nav a{width:100%;font-size:18px;border-bottom:1px solid var(--line);padding:14px 0}
  .menu-toggle[aria-expanded="true"]{background:var(--wine);color:#fff}

  .hero-shell{grid-template-columns:1fr;gap:30px}
  .hero-copy{order:1}
  .postcard-stage.hero-slider{order:2;width:100%;aspect-ratio:1.58}
  .hero-copy p{max-width:600px}
  .hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:540px}

  .section-grid h2,.stamps h2,.route h2,.shops h2{font-size:44px}
  .card-fan{height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .mini-postcard,.mini-postcard:nth-child(n){position:relative;inset:auto;width:100%;transform:none!important;border-width:7px}
  .mini-postcard:hover{transform:translateY(-5px)!important}
  .mini-postcard img{height:auto;aspect-ratio:1.5;object-fit:cover}
  .stamp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .route-list li{grid-template-columns:48px 1fr;gap:12px}
  .route-list em{grid-column:2;font-size:12px;margin-top:-8px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:25px}
  .footer-grid>div:first-child{grid-column:1/-1}
  .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .single-grid{grid-template-columns:1fr;gap:36px}
}

@media (max-width:782px){
  .admin-bar .site-header{top:46px}
  .admin-bar .main-nav{top:128px}
}

@media (max-width:680px){
  .wrap{width:calc(100vw - 30px)}
  .header-inner{height:76px}
  .brand{font-size:19px;min-width:0}
  .brand-small{font-size:7.5px;letter-spacing:.32em;margin-bottom:5px}
  .brand i{display:none}
  .menu-toggle{width:42px;height:42px;font-size:21px}
  .main-nav{top:76px;padding:24px 20px}
  .admin-bar .main-nav{top:122px}

  .hero{padding:24px 0 30px}
  .hero-shell{gap:24px}
  .hero-copy .eyebrow{font-size:12px;margin-bottom:14px}
  .hero h1{font-size:clamp(37px,11.2vw,48px);line-height:1.03}
  .hero-copy .flourish{margin:16px 0 12px}
  .hero-copy p{font-size:15px;line-height:1.5}
  .hero-actions{grid-template-columns:1fr;gap:10px;margin-top:22px;max-width:none}
  .hero-actions .solid-btn,.hero-actions .outline-btn{font-size:13px;min-height:50px}
  .postcard-stage.hero-slider{aspect-ratio:1.42;border:1px solid rgba(104,72,50,.12)}
  .hero-slider .hero-slide{object-fit:cover}
  .hero-slider .hero-dots{bottom:7px;gap:7px}
  .hero-slider .hero-dot{width:9px;height:9px}

  .how{padding:32px 0 36px}
  .how h2{font-size:34px;line-height:1.06}
  .mini-flourish{margin:9px 0 20px}
  .how-grid{grid-template-columns:1fr;gap:30px}
  .how-step{grid-template-rows:auto 170px auto auto;padding:0 5px;max-width:420px;width:100%;margin:0 auto}
  .step-number{font-size:25px;margin-bottom:4px}
  .step-media{height:170px}
  .step-media img,.how-step img{height:170px}
  .how-step h3{font-size:18px;min-height:0;margin:4px 0 7px}
  .how-step p{font-size:14px;min-height:0;padding:0 12px}
  .pack-card{padding:24px 0 0;width:100%}
  .pack-title{font-size:17px}
  .pack-card>img{height:205px}
  .pack-seal{right:8%;top:70px;width:80px;height:80px}

  .collection-section,.stamps,.route,.shops{padding:46px 0}
  .section-grid{gap:26px}
  .section-grid h2,.stamps h2,.route h2,.shops h2,.archive h1,.single h1{font-size:37px;line-height:1.05}
  .section-grid p,.route p,.entry-content{font-size:16px;line-height:1.58}
  .card-fan{grid-template-columns:1fr;gap:16px}
  .mini-postcard:nth-child(4){display:block}
  .mini-postcard{max-width:520px;margin:0 auto}
  .mini-postcard span{font-size:14px;padding:10px}
  .stamp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 12px}
  .stamp-card img,.fake-stamp{width:126px;height:126px}
  .fake-stamp{font-size:13px;padding:11px}
  .stamp-card strong{font-size:14px;margin-top:10px}
  .route-paper{padding:25px 20px;gap:28px}
  .route-list li{grid-template-columns:38px 1fr;padding:14px 0;gap:10px}
  .route-list span{font-size:18px}
  .route-list a{font-size:16px;line-height:1.25}
  .route-list em{font-size:11px}
  .shop-list{grid-template-columns:1fr}
  .shop-list article{padding:22px}
  .shop-list h3{font-size:22px}
  .footer-grid{grid-template-columns:1fr;gap:18px}
  .footer-grid>div:first-child{grid-column:auto}
  .site-footer{padding:36px 0}
  .archive,.single{padding:45px 0}
  .archive-grid{grid-template-columns:1fr}
  .archive-card img{height:auto;aspect-ratio:1.45}
  .details{grid-template-columns:1fr}
  .details dt{font-weight:700;padding-bottom:2px}
  .details dd{padding-top:2px}
}

@media (max-width:420px){
  .wrap{width:calc(100vw - 24px)}
  .hero h1{font-size:36px}
  .hero-copy .eyebrow{font-size:11px}
  .postcard-stage.hero-slider{aspect-ratio:1.3}
  .how h2{font-size:31px}
  .section-grid h2,.stamps h2,.route h2,.shops h2,.archive h1,.single h1{font-size:34px}
  .stamp-grid{gap:22px 8px}
  .stamp-card img,.fake-stamp{width:112px;height:112px}
  .pack-seal{right:3%}
}


/* === 0.7.0: complete visual schemes === */
.site-header,.hero,.how,.collection-section,.stamps,.route,.shops,footer,.site-footer{color:var(--ink)}
.antique-panel,.hero,.how,.collection-section,.stamps,.route,.shops{background-color:var(--paper)}
.border-top,.pack-card,.route-card,.shop-card,.main-nav,.main-nav a,.postcard-back{border-color:var(--line)!important}
.eyebrow,.hero p,.step-card p,.collection-section p,.route p,.shops p,.site-footer p{color:var(--muted)}
.hero h1,.how h2,.section-grid h2,.stamps h2,.route h2,.shops h2,.step-card h3,.step-number,.pack-count,.text-link,.flourish,.mini-flourish{color:var(--wine)}
.solid-btn:hover{filter:brightness(.92)}
.outline-btn:hover,.text-link:hover{color:var(--wine)}
.mini-postcard,.stamp-card,.route-card,.shop-card,.pack-card{background-color:var(--card-bg)}
.hero-slider,.hero-postcard,.postcard-back{box-shadow:0 8px 28px var(--scheme-shadow)}
.hero-slider img,.mini-postcard img,.stamp-card img,.pack-card img,.step-art img{filter:var(--scheme-image-filter);transition:filter .25s ease}
.hero-dot{border-color:var(--paper2);background:var(--muted)}
.hero-dot.is-active{background:var(--wine);border-color:var(--wine)}
@media(max-width:900px){
  .main-nav{background:var(--paper2)}
  .menu-toggle{background:var(--paper2);color:var(--wine);border-color:var(--line)}
  .menu-toggle[aria-expanded="true"]{background:var(--wine);color:var(--button-text)}
}


/* === Partners section 0.7.1 === */
.partners{padding:72px 0 82px;background:var(--paper)}
.partners-head{text-align:center;max-width:760px;margin:0 auto 42px}
.partners-head .eyebrow{text-align:center}
.partners h2{margin:6px 0 14px;font-size:44px;line-height:1;color:var(--wine);font-family:var(--font-heading)}
.partners-head p{margin:0;color:var(--muted);font-size:16px;line-height:1.6}
.partner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.partner-card{min-height:190px;padding:24px 18px;background:var(--card-bg);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
a.partner-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px var(--scheme-shadow);border-color:var(--wine)}
.partner-logo{display:block;width:100%;height:84px;object-fit:contain;filter:none!important;margin-bottom:15px}
.partner-logo-placeholder{width:84px;height:84px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:34px;color:var(--wine);font-family:var(--font-heading);background:var(--paper2)}
.partner-name{font-size:17px;font-weight:700;color:var(--ink);font-family:var(--font-heading)}
.partner-note{margin-top:6px;font-size:13px;line-height:1.4;color:var(--muted)}
.partner-demo{opacity:.58}
@media(max-width:1000px){.partner-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.partners{padding:52px 0}.partners h2{font-size:34px}.partner-grid{grid-template-columns:repeat(2,1fr);gap:12px}.partner-card{min-height:150px;padding:18px 12px}.partner-logo{height:62px}}
@media(max-width:420px){.partner-grid{grid-template-columns:1fr 1fr}.partner-name{font-size:15px}}


/* === 0.7.2: Мультяшный Нижний === */
body.on-scheme-cartoon{
  background:
    radial-gradient(circle at 10% 10%, rgba(255,255,255,.55) 0 3px, transparent 4px),
    radial-gradient(circle at 90% 18%, rgba(255,255,255,.35) 0 4px, transparent 5px),
    var(--page-bg);
  background-size:72px 72px,96px 96px,auto;
}
.on-scheme-cartoon .site-header{
  border-bottom:3px solid var(--wine);
  box-shadow:0 5px 0 rgba(41,51,58,.06);
}
.on-scheme-cartoon .brand{
  transform:rotate(-1deg);
}
.on-scheme-cartoon .brand span:not(.brand-small){
  letter-spacing:.01em;
}
.on-scheme-cartoon .main-nav a{
  font-weight:800;
  letter-spacing:.02em;
}
.on-scheme-cartoon .hero,
.on-scheme-cartoon .how,
.on-scheme-cartoon .collection-section,
.on-scheme-cartoon .stamps,
.on-scheme-cartoon .route,
.on-scheme-cartoon .shops,
.on-scheme-cartoon .partners{
  position:relative;
  overflow:hidden;
}
.on-scheme-cartoon .hero:before,
.on-scheme-cartoon .how:before,
.on-scheme-cartoon .partners:before{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  border-radius:42% 58% 63% 37% / 48% 35% 65% 52%;
  background:#ffd56f;
  opacity:.25;
  top:-95px;
  right:-65px;
  transform:rotate(17deg);
  pointer-events:none;
}
.on-scheme-cartoon .hero:after,
.on-scheme-cartoon .collection-section:after,
.on-scheme-cartoon .shops:after{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  border-radius:52% 48% 38% 62% / 50% 62% 38% 50%;
  background:#76c8b4;
  opacity:.20;
  bottom:-75px;
  left:-45px;
  transform:rotate(-18deg);
  pointer-events:none;
}
.on-scheme-cartoon .hero h1,
.on-scheme-cartoon .how h2,
.on-scheme-cartoon .section-grid h2,
.on-scheme-cartoon .stamps h2,
.on-scheme-cartoon .route h2,
.on-scheme-cartoon .shops h2,
.on-scheme-cartoon .partners h2{
  text-shadow:2px 2px 0 rgba(255,255,255,.65);
  letter-spacing:-.025em;
}
.on-scheme-cartoon .eyebrow{
  font-weight:800;
  letter-spacing:.08em;
}
.on-scheme-cartoon .solid-btn,
.on-scheme-cartoon .outline-btn{
  border-radius:999px;
  border-width:2px;
  font-weight:800;
  box-shadow:0 5px 0 rgba(41,51,58,.15);
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.on-scheme-cartoon .solid-btn:hover,
.on-scheme-cartoon .outline-btn:hover{
  transform:translateY(-2px) rotate(-.4deg);
  box-shadow:0 7px 0 rgba(41,51,58,.12);
}
.on-scheme-cartoon .hero-slider,
.on-scheme-cartoon .paper-card,
.on-scheme-cartoon .mini-postcard,
.on-scheme-cartoon .stamp-card,
.on-scheme-cartoon .route-card,
.on-scheme-cartoon .shop-card,
.on-scheme-cartoon .partner-card,
.on-scheme-cartoon .pack-card{
  border-radius:22px;
  border:2px solid var(--line);
  box-shadow:0 8px 0 rgba(41,51,58,.11), 0 16px 28px var(--scheme-shadow);
}
.on-scheme-cartoon .mini-postcard:nth-child(odd),
.on-scheme-cartoon .partner-card:nth-child(odd),
.on-scheme-cartoon .stamp-card:nth-child(odd){
  transform:rotate(-1deg);
}
.on-scheme-cartoon .mini-postcard:nth-child(even),
.on-scheme-cartoon .partner-card:nth-child(even),
.on-scheme-cartoon .stamp-card:nth-child(even){
  transform:rotate(1deg);
}
.on-scheme-cartoon .mini-postcard:hover,
.on-scheme-cartoon .partner-card:hover,
.on-scheme-cartoon .stamp-card:hover{
  transform:translateY(-5px) rotate(0);
}
.on-scheme-cartoon .step-number{
  width:44px;
  height:44px;
  margin-inline:auto;
  border-radius:50%;
  background:var(--wine);
  color:var(--button-text);
  border:3px solid var(--paper2);
  box-shadow:0 4px 0 rgba(41,51,58,.14);
}
.on-scheme-cartoon .step-art{
  border-radius:24px;
}
.on-scheme-cartoon .step-card h3{
  font-weight:900;
}
.on-scheme-cartoon .partner-logo-placeholder{
  border-radius:28px;
  border-width:2px;
}
.on-scheme-cartoon .hero-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  border:2px solid var(--paper2);
}
.on-scheme-cartoon .hero-dot.is-active{
  transform:scale(1.22);
}
.on-scheme-cartoon .flourish,
.on-scheme-cartoon .mini-flourish{
  letter-spacing:.35em;
}
.on-scheme-cartoon .text-link{
  display:inline-flex;
  align-items:center;
  gap:.35em;
  font-weight:900;
  border-bottom:2px dashed currentColor;
}
@media(max-width:900px){
  .on-scheme-cartoon .main-nav{
    border-radius:0 0 24px 24px;
    border-bottom:3px solid var(--wine);
  }
  .on-scheme-cartoon .menu-toggle{
    border-radius:14px;
    border:2px solid var(--wine);
  }
}


/* === 0.7.4: transparent stamp collection cards === */
.stamp-grid .stamp-card,
.stamps .stamp-card,
.on-scheme-cartoon .stamp-grid .stamp-card,
.on-scheme-cartoon .stamps .stamp-card{
    background:transparent !important;
    background-color:transparent !important;
    border-color:transparent !important;
    box-shadow:none !important;
}
.stamp-grid .stamp-card:hover,
.stamps .stamp-card:hover,
.on-scheme-cartoon .stamp-grid .stamp-card:hover,
.on-scheme-cartoon .stamps .stamp-card:hover{
    background:transparent !important;
    box-shadow:none !important;
}
.stamp-grid .stamp-card img,
.stamps .stamp-card img{
    background:transparent !important;
}


/* === 0.7.7: transparent artwork backgrounds in "Как это работает" === */
.how .step-art,
.how .step-art img,
.how .pack-card,
.how .pack-card img,
.on-scheme-cartoon .how .step-art,
.on-scheme-cartoon .how .pack-card{
    background:transparent !important;
    background-color:transparent !important;
    box-shadow:none !important;
}

.how .step-art,
.how .pack-card{
    border-color:transparent !important;
}

.how .step-card{
    background:transparent !important;
    background-color:transparent !important;
}

/* Preserve spacing and alignment, but remove the visible panel behind the pack. */
.how .pack-card{
    border-left-color:var(--line) !important;
}
@media(max-width:900px){
    .how .pack-card{
        border-left:0 !important;
        border-top:1px solid var(--line) !important;
    }
}

/* === 0.7.8: remove light rectangles from How it works artwork === */
.how .how-step,
.how .step-media,
.how .step-media img,
.how .pack-card,
.how .pack-card > img,
.on-scheme-cartoon .how .how-step,
.on-scheme-cartoon .how .step-media,
.on-scheme-cartoon .how .pack-card {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
.how .step-media,
.how .pack-card {
  border-color: transparent !important;
}
.how .pack-card {
  border-left: 1px solid var(--line) !important;
}
@media (max-width: 900px) {
  .how .pack-card {
    border-left: 0 !important;
    border-top: 1px solid var(--line) !important;
  }
}


/* === 0.7.9: no light rectangles in "Как это работает" === */
#how .step-card,
#how .step-art,
#how .step-art img,
#how .pack-card,
#how .pack-card img,
#how .cards-art,
#how .map-art,
#how .stamp-art,
#how .collection-art {
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
}
#how .step-art,
#how .pack-card {
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: transparent;
}
#how .step-art img,
#how .pack-card img {
    mix-blend-mode: normal;
}


/* === 0.7.10: remove ALL light panels in "Как это работает" === */
#how,
#how .wrap,
#how .how-grid,
#how .step-card,
#how .step-card::before,
#how .step-card::after,
#how .step-art,
#how .step-art::before,
#how .step-art::after,
#how .step-art img,
#how .pack-card,
#how .pack-card::before,
#how .pack-card::after,
#how .pack-card img,
#how .cards-art,
#how .map-art,
#how .stamp-art,
#how .collection-art {
    background-image: none !important;
    box-shadow: none !important;
}

#how .how-grid,
#how .step-card,
#how .step-art,
#how .pack-card,
#how .cards-art,
#how .map-art,
#how .stamp-art,
#how .collection-art {
    background-color: transparent !important;
}

#how .step-art img,
#how .pack-card img {
    background-color: transparent !important;
    border: 0 !important;
    outline: 0 !important;
}

/* The pack keeps only its vertical separator on desktop. */
#how .pack-card {
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 1px solid var(--line) !important;
}

/* Remove any inherited card background from visual schemes. */
.on-scheme-postcard #how .pack-card,
.on-scheme-imperial #how .pack-card,
.on-scheme-inkblue #how .pack-card,
.on-scheme-volga #how .pack-card,
.on-scheme-forest #how .pack-card,
.on-scheme-night #how .pack-card,
.on-scheme-engraving #how .pack-card,
.on-scheme-cartoon #how .pack-card,
.on-scheme-custom #how .pack-card,
.on-scheme-postcard #how .step-art,
.on-scheme-imperial #how .step-art,
.on-scheme-inkblue #how .step-art,
.on-scheme-volga #how .step-art,
.on-scheme-forest #how .step-art,
.on-scheme-night #how .step-art,
.on-scheme-engraving #how .step-art,
.on-scheme-cartoon #how .step-art,
.on-scheme-custom #how .step-art {
    background: transparent !important;
    box-shadow: none !important;
}

@media (max-width:900px){
    #how .pack-card{
        border-left:0 !important;
        border-top:1px solid var(--line) !important;
    }
}


/* === 0.7.11: real wrappers + cache-busted transparent images === */
#how .how-step,
#how .step-media,
#how .step-media::before,
#how .step-media::after,
#how .step-media img,
#how .pack-card,
#how .pack-card::before,
#how .pack-card::after,
#how .pack-card img {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

#how .step-media {
    border: 0 !important;
    outline: 0 !important;
}

#how .step-media img,
#how .pack-card img {
    border: 0 !important;
    outline: 0 !important;
}

/* Keep only the intended divider before the pack. */
#how .pack-card {
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 1px solid var(--line) !important;
}

@media (max-width:900px){
    #how .pack-card{
        border-left:0 !important;
        border-top:1px solid var(--line) !important;
    }
}


/* === 0.7.12: pack artwork without the lower "12 открыток" overlay === */
#how .pack-card .pack-seal{
    display:none !important;
}


/* === 0.7.13: pack image without baked-in "12 открыток" seal === */
#how .pack-card .pack-seal{display:none!important}
#how .pack-card img{background:transparent!important}


/* === 0.7.14: single clean "12 открыток в наборе" seal === */
#how .pack-card{
    position:relative;
    overflow:visible;
}

#how .pack-card .pack-seal,
#how .pack-card .pack-seal-single{
    display:flex !important;
    position:absolute;
    top:38px;
    right:8px;
    width:86px;
    height:86px;
    margin:0;
    padding:8px 6px;
    border:2px dashed var(--wine);
    border-radius:50%;
    background:rgba(248,240,223,.88) !important;
    color:var(--wine);
    align-items:center;
    justify-content:center;
    flex-direction:column;
    text-align:center;
    line-height:1.05;
    box-shadow:none !important;
    z-index:5;
    transform:rotate(4deg);
    pointer-events:none;
}

#how .pack-card .pack-seal strong{
    display:block;
    margin:0 0 2px;
    font-family:var(--font-heading);
    font-size:25px;
    line-height:1;
    color:var(--wine);
}

#how .pack-card .pack-seal span{
    display:block;
    font-family:var(--font-heading);
    font-size:9px;
    line-height:1.08;
    text-transform:uppercase;
    color:var(--wine);
}

@media(max-width:900px){
    #how .pack-card .pack-seal,
    #how .pack-card .pack-seal-single{
        top:48px;
        right:calc(50% - 125px);
    }
}


/* === 0.7.15: fine positioning of the pack seal === */
#how .pack-card .pack-seal,
#how .pack-card .pack-seal-single{
    top:26px !important;
    right:-7px !important;
}

@media(max-width:900px){
    #how .pack-card .pack-seal,
    #how .pack-card .pack-seal-single{
        top:34px !important;
        right:calc(50% - 138px) !important;
    }
}

/* === 0.7.16: filled postcard under the seal; keep seal position === */
#how .pack-card .pack-seal,
#how .pack-card .pack-seal-single{
    top:38px !important;
    right:8px !important;
}
@media(max-width:900px){
    #how .pack-card .pack-seal,
    #how .pack-card .pack-seal-single{
        top:48px !important;
        right:calc(50% - 125px) !important;
    }
}


/* === 0.7.18: refined hero postcard presentation === */
.hero{
    height:auto;
    min-height:590px;
    padding:28px 0 34px;
    overflow:hidden;
}

.hero-shell{
    min-height:528px;
    display:grid;
    grid-template-columns:minmax(360px, 0.78fr) minmax(620px, 1.32fr);
    gap:34px;
    align-items:center;
}

.hero-copy{
    width:auto;
    padding-top:0;
    position:relative;
    z-index:5;
}

.postcard-stage{
    position:relative;
    left:auto;
    top:auto;
    right:auto;
    bottom:auto;
    width:100%;
    height:auto;
    min-height:505px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:26px 34px 34px 20px;
    perspective:1200px;
}

.hero-slider{
    position:relative;
    width:min(100%, 900px);
    aspect-ratio:1.61 / 1;
    height:auto;
    overflow:hidden;
    transform:rotate(-0.65deg);
    transform-origin:center center;
    border:1px solid rgba(91,57,38,.18);
    border-radius:2px;
    box-shadow:
        0 2px 0 rgba(255,255,255,.45) inset,
        0 16px 28px rgba(73,45,28,.16),
        0 34px 54px rgba(73,45,28,.11);
    background:var(--paper2);
}

.hero-slider::before{
    content:"";
    position:absolute;
    inset:-7px 8px 8px -7px;
    border:1px solid rgba(113,29,25,.12);
    background:rgba(248,240,223,.35);
    z-index:-1;
    transform:rotate(1.15deg);
    box-shadow:0 8px 18px rgba(73,45,28,.08);
}

.hero-slider::after{
    content:"";
    position:absolute;
    left:10%;
    right:10%;
    bottom:-17px;
    height:22px;
    background:radial-gradient(ellipse at center, rgba(55,36,25,.17), rgba(55,36,25,0) 70%);
    filter:blur(5px);
    pointer-events:none;
    z-index:-2;
}

.hero-slide{
    position:absolute;
    inset:0;
}

.hero-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.hero-dots{
    bottom:15px;
}

.hero-copy .eyebrow{
    margin-bottom:24px;
}

.hero-copy h1{
    margin-top:0;
}

.hero-actions{
    margin-top:30px;
}

@media(max-width:1180px){
    .hero-shell{
        grid-template-columns:minmax(330px,.88fr) minmax(520px,1.12fr);
        gap:22px;
    }
    .postcard-stage{
        padding-right:10px;
    }
}

@media(max-width:900px){
    .hero{
        min-height:0;
        padding:24px 0 42px;
    }
    .hero-shell{
        display:flex;
        flex-direction:column;
        min-height:0;
        gap:28px;
    }
    .hero-copy{
        width:100%;
        order:1;
    }
    .postcard-stage{
        width:100%;
        min-height:0;
        padding:4px 8px 18px;
        order:2;
    }
    .hero-slider{
        width:min(100%,680px);
        transform:rotate(-0.35deg);
        aspect-ratio:1.61 / 1;
    }
}

@media(max-width:560px){
    .hero-slider{
        width:96%;
        transform:rotate(-0.25deg);
        box-shadow:
            0 10px 22px rgba(73,45,28,.15),
            0 24px 36px rgba(73,45,28,.08);
    }
    .hero-slider::before{
        inset:-4px 5px 5px -4px;
    }
}


/* === 0.7.19: stable hero layout, aesthetic postcard without overlap === */
.hero{
    height:565px !important;
    min-height:565px !important;
    padding:0 !important;
    overflow:hidden !important;
}

.hero-shell{
    height:100% !important;
    min-height:0 !important;
    display:block !important;
    position:relative !important;
}

.hero-copy{
    position:relative !important;
    z-index:6 !important;
    width:34% !important;
    padding-top:65px !important;
}

.postcard-stage,
.postcard-stage.hero-slider{
    position:absolute !important;
    left:39% !important;
    top:28px !important;
    width:59% !important;
    height:510px !important;
    min-height:0 !important;
    padding:0 !important;
    display:block !important;
    perspective:none !important;
}

.hero-slider{
    aspect-ratio:auto !important;
    overflow:hidden !important;
    transform:rotate(-0.45deg) !important;
    transform-origin:center center !important;
    border:1px solid rgba(91,57,38,.22) !important;
    border-radius:2px !important;
    background:var(--paper2) !important;
    box-shadow:
        0 12px 26px rgba(73,45,28,.16),
        0 26px 46px rgba(73,45,28,.10) !important;
}

.hero-slider::before{
    content:"" !important;
    position:absolute !important;
    inset:7px -9px -9px 8px !important;
    background:var(--paper2) !important;
    border:1px solid rgba(113,29,25,.10) !important;
    transform:rotate(1.1deg) !important;
    z-index:-1 !important;
    pointer-events:none !important;
}

.hero-slider::after{
    content:none !important;
}

.hero-slide,
.hero-composite{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
}

.hero-copy .eyebrow{
    margin-bottom:24px !important;
}

.hero-copy h1{
    margin-top:0 !important;
}

.hero-actions{
    margin-top:30px !important;
}

/* Tablet */
@media(max-width:1180px){
    .hero-copy{
        width:38% !important;
    }
    .postcard-stage,
    .postcard-stage.hero-slider{
        left:37% !important;
        width:61% !important;
    }
}

/* Mobile: stack text first, postcard below */
@media(max-width:900px){
    .hero{
        height:auto !important;
        min-height:0 !important;
        padding:28px 0 40px !important;
        overflow:visible !important;
    }

    .hero-shell{
        height:auto !important;
        display:flex !important;
        flex-direction:column !important;
        gap:28px !important;
    }

    .hero-copy{
        width:100% !important;
        padding-top:0 !important;
        order:1 !important;
    }

    .postcard-stage,
    .postcard-stage.hero-slider{
        position:relative !important;
        left:auto !important;
        top:auto !important;
        width:100% !important;
        height:auto !important;
        aspect-ratio:1.61 / 1 !important;
        order:2 !important;
        transform:rotate(-0.25deg) !important;
    }
}
