@font-face { font-family: Outfit; src: url('public/fonts/Outfit-Variable.ttf') format('truetype'); font-weight: 100 900; font-display: swap; }
:root { color-scheme: light; --ink:#1a171c; --wine:#49112f; --accent:#c71d55; --line:#e9e5e7; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#f1f2f4; color:var(--ink); font-family:Outfit,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
a,button { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.site { width:min(100% - 48px,1200px); min-height:100dvh; margin:38px auto; padding:0 62px; border:1px solid #e9e9eb; border-radius:22px; background:#fff; box-shadow:0 24px 66px #20212c0b; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:24px; height:94px; border-bottom:1px solid var(--line); }
.logo { display:block; flex:none; width:176px; }
.logo img { display:block; width:100%; height:auto; }
.site-nav { display:flex; align-items:center; gap:32px; margin-left:auto; color:#55535a; font-size:13px; }
.site-nav a:hover,.footer a:hover { color:var(--accent); }
.header-location { color:#55535a; font-size:11px; font-weight:700; letter-spacing:.12em; white-space:nowrap; }
.hero { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(290px,.6fr); align-items:center; gap:42px; padding:64px 0 72px; }
.hero__main { min-width:0; }
.eyebrow,.section-head__label { color:var(--accent); font-size:11px; font-weight:700; letter-spacing:.12em; }
.hero .eyebrow { margin:0 0 20px; }
.hero h1 { max-width:650px; margin:0 0 20px; font-size:clamp(55px,6vw,82px); font-weight:650; letter-spacing:-.068em; line-height:.99; }
.hero__period { color:var(--accent); }
.hero__description { max-width:420px; margin:0 0 26px; color:#555158; font-size:17px; line-height:1.42; }
.hero__actions { display:flex; flex-wrap:wrap; gap:10px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:25px; min-height:47px; padding:0 18px; border:1px solid #d8d8db; border-radius:9px; background:#fff; font-size:13px; font-weight:650; white-space:nowrap; transition:background .2s ease,transform .2s ease; }
.button:hover { transform:translateY(-2px); }
.button span { font-size:18px; font-weight:400; }
.button--primary { border-color:var(--wine); background:var(--wine); color:#fff; }
.button--primary:hover { background:#340b22; }
.button--secondary:hover { background:#f7f5f6; }
.offer { display:grid; align-content:center; gap:19px; padding:26px; border-radius:16px; background:var(--accent); color:#fff; }
.offer__heading { display:grid; gap:5px; }
.offer__heading > span { font-size:11px; font-weight:700; letter-spacing:.1em; }
.offer__heading strong { font-size:clamp(39px,4vw,56px); font-weight:700; letter-spacing:-.07em; line-height:1; white-space:nowrap; }
.coupon { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:42px; padding:5px 5px 5px 12px; border:0; border-radius:7px; background:#fff; color:var(--wine); cursor:pointer; font-size:11px; font-weight:700; }
.coupon__action { padding:8px; border-radius:4px; background:#f3e6eb; font-size:10px; }
.coupon:hover .coupon__action { background:#e9cbd5; }
.categories { padding:0 0 72px; scroll-margin-top:30px; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:22px; margin-bottom:25px; }
.section-head__label { display:block; margin-bottom:10px; }
.section-head h2 { margin:0; font-size:clamp(29px,3.5vw,43px); font-weight:650; letter-spacing:-.05em; line-height:1.08; }
.section-head > a { display:inline-flex; gap:9px; align-items:center; margin-bottom:3px; color:#39363c; font-size:12px; font-weight:600; white-space:nowrap; }
.section-head > a:hover { color:var(--accent); }
.category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.category-card { display:block; min-width:0; overflow:hidden; border:1px solid #eae6e8; border-radius:13px; background:#fff; transition:border-color .2s ease,transform .2s ease; }
.category-card:hover { transform:translateY(-3px); border-color:#d5b8c5; }
.category-card__image { display:block; aspect-ratio:1.38; overflow:hidden; background:#f4edef; }
.category-card__image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.category-card:hover img { transform:scale(1.05); }
.category-card__title { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:63px; padding:12px 15px; }
.category-card__title strong { font-size:17px; font-weight:650; letter-spacing:-.025em; line-height:1.12; }
.category-card__title > span { flex:none; color:var(--wine); font-size:20px; font-weight:400; }
.information { padding:0 0 55px; scroll-margin-top:30px; }
.information__panel { padding:42px 42px 24px; border-radius:16px; background:var(--wine); color:#fff; }
.section-head--information { margin-bottom:29px; }
.section-head--information .section-head__label { color:#f3b2c9; }
.section-head--information h2 { font-size:clamp(30px,3.2vw,40px); }
.service-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.service-item { padding:22px 25px 16px; border-top:1px solid #ffffff5c; }
.service-item:first-child { padding-left:0; }
.service-item:last-child { padding-right:0; }
.service-item + .service-item { border-left:1px solid #ffffff5c; }
.service-item__label { display:block; margin-bottom:15px; color:#f3b2c9; font-size:10px; font-weight:700; letter-spacing:.11em; }
.service-item strong { display:block; font-size:20px; font-weight:600; letter-spacing:-.025em; line-height:1.15; }
.service-item p { max-width:250px; margin:8px 0 0; color:#f3e5ec; font-size:13px; line-height:1.36; }
.service-item a { display:inline-block; margin-top:11px; border-bottom:1px solid #f3b2c9; color:#fff; font-size:12px; font-weight:600; }
.service-item a:hover { color:#f3b2c9; }
.footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px 0 34px; border-top:1px solid var(--line); color:#66646c; font-size:11px; }
.footer > div { display:flex; gap:22px; }
@media (max-width:980px) {
  .site { width:min(100% - 28px,1200px); padding:0 35px; }
  .hero { grid-template-columns:minmax(0,1fr) 270px; gap:27px; }
  .hero h1 { font-size:clamp(50px,6vw,70px); }
  .offer { padding:21px; }
  .offer__heading strong { font-size:43px; }
  .category-grid { gap:12px; }
  .information__panel { padding:34px 28px 20px; }
  .service-item { padding-right:15px; padding-left:15px; }
}
@media (max-width:720px) {
  body { background:#fff; }
  .site { width:100%; margin:0; padding:0 20px; border:0; border-radius:0; box-shadow:none; }
  .site-header { height:76px; }
  .logo { width:150px; }
  .site-nav { display:none; }
  .header-location { font-size:10px; }
  .hero { display:block; padding:38px 0 45px; }
  .hero .eyebrow { margin-bottom:14px; }
  .hero h1 { margin-bottom:16px; font-size:clamp(43px,10.6vw,66px); }
  .hero__description { max-width:420px; margin-bottom:21px; font-size:15px; }
  .hero__actions { display:grid; grid-template-columns:1fr 1fr; max-width:430px; }
  .button { gap:4px; min-height:46px; padding:0 13px; font-size:12px; }
  .offer { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:0; margin-top:23px; padding:17px 18px; border-radius:12px; }
  .offer__heading { gap:4px; }
  .offer__heading > span { font-size:9px; }
  .offer__heading strong { font-size:clamp(32px,6vw,45px); }
  .coupon { flex:none; min-height:37px; font-size:10px; }
  .coupon__action { font-size:9px; }
  .categories { padding-bottom:45px; }
  .section-head { align-items:start; margin-bottom:18px; }
  .section-head h2 { font-size:31px; }
  .section-head > a { display:none; }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .category-card { border-radius:10px; }
  .category-card__image { aspect-ratio:1.12; }
  .category-card__title { min-height:58px; padding:9px 11px; }
  .category-card__title strong { font-size:15px; }
  .category-card__title > span { font-size:18px; }
  .information { padding-bottom:36px; }
  .information__panel { margin:0 -20px; padding:32px 20px 19px; border-radius:0; }
  .section-head--information { margin-bottom:20px; }
  .section-head--information h2 { font-size:31px; }
  .service-list { display:block; }
  .service-item,.service-item:first-child,.service-item:last-child { display:grid; grid-template-columns:104px minmax(0,1fr); gap:10px; padding:15px 0; border-top:1px solid #ffffff4d; border-left:0; }
  .service-item + .service-item { border-left:0; }
  .service-item__label { margin:4px 0 0; font-size:9px; }
  .service-item strong { font-size:18px; }
  .service-item p { margin-top:4px; font-size:12px; }
  .service-item a { margin-top:8px; }
  .footer { flex-direction:column; align-items:flex-start; gap:12px; }
}
@media (max-width:480px) {
  .offer { display:grid; grid-template-columns:1fr; gap:12px; }
  .offer__heading strong { font-size:34px; }
  .coupon { min-height:36px; }
}
@media (max-width:360px) {
  .site { padding:0 16px; }
  .logo { width:130px; }
  .header-location { font-size:9px; }
  .hero h1 { font-size:42px; }
  .offer__heading strong { font-size:30px; }
  .information__panel { margin:0 -16px; padding-right:16px; padding-left:16px; }
  .service-item,.service-item:first-child,.service-item:last-child { grid-template-columns:92px minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms !important; animation-duration:.01ms !important; } }
