@font-face{font-family:"Anons Display";src:url("../assets/fonts/display-condensed-bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Anons Text";src:url("../assets/fonts/body-regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Anons Text";src:url("../assets/fonts/body-semibold.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}

:root{
  --p-crimson:oklch(0.543 0.235 20.4);
  --p-charcoal:oklch(0.338 0.003 286);
  --p-white:oklch(1 0 0);
  --p-black:oklch(0 0 0);
  --p-gray-700:oklch(0.43 0.003 286);
  --p-gray-200:oklch(0.89 0.002 286);
  --surface:var(--p-white);
  --surface-dark:var(--p-charcoal);
  --text:var(--p-charcoal);
  --text-muted:var(--p-gray-700);
  --text-inverse:var(--p-white);
  --accent:var(--p-crimson);
  --divider:var(--p-gray-200);
  --button-bg:var(--p-crimson);
  --button-text:var(--p-white);
  --font-display:"Anons Display","Arial Narrow",sans-serif;
  --font-body:"Anons Text",Arial,sans-serif;
  --radius:3px;
  --space-section:clamp(4.5rem,9vw,9rem);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{min-height:100dvh;background:var(--surface);color:var(--text);font:400 16px/1.65 var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
p{max-width:68ch}
ul{list-style:none}
h1,h2,h3{font-family:var(--font-display);font-weight:700;text-wrap:balance}
::selection{background:var(--accent);color:var(--text-inverse)}
:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.container{width:min(calc(100% - 64px),1400px);margin-inline:auto;min-width:0}
.skip-link{position:fixed;z-index:10;top:12px;left:12px;padding:12px 18px;background:var(--surface);color:var(--text);transform:translateY(-160%);transition:transform .2s ease}
.skip-link:focus{transform:translateY(0)}
.campaign-banner{background:var(--surface-dark)}
.campaign-banner img{width:100%;height:auto}

.offer{padding-block:var(--space-section) clamp(4rem,8vw,7rem)}
.campaign-meta{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:24px;padding-bottom:28px;border-bottom:1px solid var(--divider)}
.brand{font-family:var(--font-display);font-size:1.7rem;line-height:1;letter-spacing:.06em}
.campaign-label{text-transform:uppercase;font-size:.76rem;font-weight:600;letter-spacing:.14em}
.campaign-dates{display:flex;align-items:baseline;gap:10px;text-transform:uppercase;font-size:.78rem;letter-spacing:.12em;white-space:nowrap}
.campaign-dates span{font-family:var(--font-display);font-size:1.65rem;letter-spacing:.02em}
.offer-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;padding-block:clamp(3rem,6vw,6rem)}
.offer-grid h1{grid-column:1/9;font-size:clamp(4.3rem,7.8vw,8rem);line-height:.9;letter-spacing:-.025em;text-transform:uppercase}
.offer-grid h1 span{display:block;color:var(--accent)}
.offer-lead{grid-column:9/13;align-self:end;display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.offer-lead p{font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.65}
.offer-lead strong{font-weight:600;white-space:nowrap}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;padding:12px 18px;background:var(--button-bg);color:var(--button-text);border-radius:var(--radius);font-size:.88rem;font-weight:600;transition:background-color .2s ease,transform .2s ease}
.text-link svg,.back-to-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.text-link:hover{background:var(--p-charcoal);transform:translateY(-2px)}
.text-link:hover svg{transform:translateX(4px)}
.text-link:active{transform:translateY(0)}
.discount-showcase{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:end;gap:32px;padding:clamp(2rem,4.5vw,4.5rem);background:var(--accent);color:var(--text-inverse);border-radius:var(--radius);overflow:hidden}
.discount-value{font-family:var(--font-display);font-size:clamp(8rem,19vw,19rem);font-weight:700;line-height:.72;letter-spacing:-.045em;white-space:nowrap}
.discount-value span{display:block;margin-bottom:1.4rem;font-family:var(--font-body);font-size:.85rem;font-weight:600;line-height:1;letter-spacing:.18em;text-transform:uppercase}
.discount-description{justify-self:end;padding-bottom:4px;font-family:var(--font-display);font-size:clamp(2.5rem,4.5vw,4.8rem);line-height:.96;text-transform:uppercase;text-align:right}

.story{padding-block:clamp(3rem,6vw,6rem) var(--space-section)}
.story-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px}
.story h2{grid-column:1/8;font-size:clamp(3.2rem,6vw,6.4rem);line-height:.94;letter-spacing:-.02em;text-transform:uppercase}
.story h2 span{color:var(--accent)}
.story-copy{grid-column:9/13;align-self:end;display:grid;gap:24px;color:var(--text-muted);font-size:1.06rem}
.advantages{padding-bottom:var(--space-section)}
.advantages-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--divider);border-bottom:1px solid var(--divider)}
.advantages-list li{display:grid;grid-template-columns:48px minmax(0,1fr);align-content:start;gap:24px;padding:40px 32px 44px 0}
.advantages-list li+li{padding-left:32px;border-left:1px solid var(--divider)}
.advantage-icon{width:44px;height:44px;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.advantages h3{margin-bottom:12px;font-family:var(--font-body);font-size:1.08rem;font-weight:600;line-height:1.4}
.advantages p{color:var(--text-muted);font-size:.95rem;line-height:1.65}

.visit{padding-block:var(--space-section);background:var(--surface-dark);color:var(--text-inverse)}
.visit-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px}
.visit-kicker{grid-column:1/4;align-self:start;padding-top:12px;text-transform:uppercase;font-size:.78rem;font-weight:600;letter-spacing:.18em}
.visit h2{grid-column:1/9;font-size:clamp(4rem,8.4vw,8.8rem);line-height:.88;letter-spacing:-.02em;text-transform:uppercase}
.visit h2 span{color:var(--accent)}
.visit-copy{grid-column:9/13;align-self:end;display:grid;gap:24px;font-size:1.08rem}
.managers-note{padding-top:24px;border-top:1px solid oklch(1 0 0 / .35);font-weight:600}
.footer{background:var(--surface-dark);color:var(--text-inverse);border-top:1px solid oklch(1 0 0 / .18)}
.footer-inner{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:24px;padding-block:30px;font-size:.85rem}
.back-to-top{display:inline-flex;align-items:center;gap:10px;min-height:48px;font-weight:600}
.back-to-top:hover svg{transform:translateY(-4px)}

.motion-ready [data-reveal]{opacity:0;transform:translateY(42px);transition:opacity .65s ease,transform .8s cubic-bezier(.2,.75,.25,1)}
.motion-ready [data-reveal].is-visible{opacity:1;transform:translateY(0)}

@media (max-width:1050px){
  .offer-grid h1{grid-column:1/8}
  .offer-lead{grid-column:8/13}
  .story h2{grid-column:1/8}
  .story-copy{grid-column:8/13}
  .visit h2{grid-column:1/8}
  .visit-copy{grid-column:8/13}
  .discount-showcase{grid-template-columns:1fr}
  .discount-description{justify-self:start;text-align:left}
}

@media (max-width:760px){
  .container{width:min(calc(100% - 36px),1400px)}
  .campaign-meta{grid-template-columns:1fr auto;gap:16px}
  .campaign-label{grid-column:1/-1;grid-row:2}
  .offer-grid,.story-grid,.visit-grid{grid-template-columns:1fr;gap:32px}
  .offer-grid h1,.offer-lead,.story h2,.story-copy,.visit-kicker,.visit h2,.visit-copy{grid-column:1}
  .offer-grid h1{font-size:clamp(3.8rem,12vw,6.4rem)}
  .offer-lead{max-width:58ch}
  .story-copy{padding-top:4px}
  .advantages-list{grid-template-columns:1fr}
  .advantages-list li{padding:32px 0}
  .advantages-list li+li{padding-left:0;border-left:0;border-top:1px solid var(--divider)}
  .visit-kicker{padding-top:0}
  .footer-inner{grid-template-columns:1fr auto}
  .footer-inner>p:nth-child(2){grid-column:1/-1;grid-row:2}
}

@media (max-width:480px){
  :root{--space-section:4.5rem}
  .offer{padding-top:3.5rem}
  .campaign-meta{padding-bottom:22px}
  .brand{font-size:1.45rem}
  .campaign-dates{font-size:.68rem;gap:7px}
  .campaign-dates span{font-size:1.35rem}
  .campaign-label{font-size:.67rem}
  .offer-grid{padding-block:2.8rem}
  .offer-grid h1{font-size:clamp(3.25rem,15vw,4.5rem);line-height:.91}
  .offer-lead p{font-size:1rem}
  .discount-showcase{gap:36px;padding:32px 24px 38px}
  .discount-value{font-size:clamp(7.5rem,39vw,11rem)}
  .discount-description{font-size:clamp(2.6rem,12vw,3.7rem)}
  .story h2{font-size:clamp(3.1rem,13.5vw,4.3rem)}
  
  .visit h2 {
    font-size: clamp(2.6rem, 11vw, 4.2rem); 
    line-height: 1.05;
    overflow-wrap: break-word;
    word-wrap: break-word;
    max-width: 100%;
  }
  
  .visit-copy {
    padding-bottom: 80px; 
    font-size: 1.1rem; 
    line-height: 1.6;
  }
  
  .advantages-list li{grid-template-columns:40px minmax(0,1fr);gap:18px}
  .advantage-icon{width:38px;height:38px}
  .footer-inner{font-size:.78rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .motion-ready [data-reveal]{opacity:1;transform:none}
}