/* ============ Variables ============ */
:root{
  --blue:#25AAE1;
  --blue-dark:#1789B8;
  --blue-light:#EAF6FC;
  --orange:#F7941D;
  --orange-dark:#DD800E;
  --cream:#FDF3E6;
  --ink:#0E1113;
  --charcoal:#33383B;
  --gray-700:#565D61;
  --gray-500:#7C8388;
  --gray-200:#E7E7E4;
  --gray-100:#F4F3F0;
  --off-white:#FBFAF7;
  --white:#ffffff;
  --font-head:'Poppins', 'Segoe UI', sans-serif;
  --font-body:'Inter', 'Segoe UI', sans-serif;
  --radius:18px;
  --radius-sm:12px;
  --shadow:0 10px 30px rgba(14,17,19,0.07);
  --shadow-lg:0 24px 60px rgba(14,17,19,0.14);
  --header-h:80px;
}

/* ============ Reset ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--charcoal);
  background:var(--off-white);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font:inherit;cursor:pointer;border:none;background:none;}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;line-height:1.2;color:var(--ink);}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px;position:relative;z-index:1;}
section[id]{scroll-margin-top:var(--header-h);}
:focus-visible{outline:2.5px solid var(--blue);outline-offset:3px;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
}

/* ============ Buttons ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 30px;border-radius:999px;font-weight:600;font-size:.96rem;
  transition:all .25s ease;white-space:nowrap;
}
.btn-accent{background:var(--orange);color:var(--white);box-shadow:0 10px 24px rgba(247,148,29,.28);}
.btn-accent:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 14px 28px rgba(247,148,29,.35);}
.btn-outline-light{border:1.5px solid rgba(14,17,19,.16);color:var(--ink);background:rgba(255,255,255,.6);}
.btn-outline-light:hover{background:var(--white);border-color:rgba(14,17,19,.3);}
.btn-outline{border:1.5px solid var(--gray-200);color:var(--ink);background:transparent;}
.btn-outline:hover{border-color:var(--blue);color:var(--blue-dark);}
.btn-sm{padding:11px 20px;font-size:.85rem;}
.btn-block{width:100%;}

/* ============ Header ============ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(251,250,247,.9);backdrop-filter:blur(10px);
  height:var(--header-h);
  transition:box-shadow .3s ease, background .3s ease;
}
.site-header.scrolled{box-shadow:0 1px 0 rgba(14,17,19,.07), var(--shadow);background:rgba(251,250,247,.97);}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.logo{display:flex;align-items:center;}
.logo img{height:44px;width:auto;}
.main-nav ul{display:flex;gap:30px;}
.nav-link{font-weight:600;font-size:.95rem;color:var(--charcoal);position:relative;padding:6px 0;}
.nav-link::after{
  content:'';position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--orange);
  transition:width .25s ease;
}
.nav-link:hover::after,.nav-link.active::after{width:100%;}
.nav-link:hover{color:var(--ink);}
.header-actions{display:flex;align-items:center;gap:18px;}

.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;}
.nav-toggle span{display:block;height:2px;width:24px;background:var(--ink);border-radius:2px;transition:all .3s ease;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ============ Hero ============ */
.hero{position:relative;padding-top:56px;padding-bottom:70px;overflow:hidden;}
.hero-bg-shape{
  position:absolute;top:-180px;right:-220px;width:640px;height:640px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%, var(--blue-light) 0%, rgba(234,246,252,0) 70%);
  z-index:0;pointer-events:none;
}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;font-weight:700;
  color:var(--orange-dark);margin-bottom:20px;padding:8px 16px;border-radius:999px;background:var(--cream);
}
.hero h1{font-size:clamp(2.15rem, 4vw, 3.1rem);margin-bottom:22px;letter-spacing:-.01em;}
.hero-text{font-size:1.08rem;color:var(--gray-700);max-width:540px;margin-bottom:32px;}
.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:22px;}
.hero-note{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--gray-500);font-weight:500;}
.hero-note svg{color:var(--blue);flex-shrink:0;}

.hero-visual{position:relative;}
.hero-visual-card{
  position:relative;aspect-ratio:16/9;border-radius:28px;overflow:hidden;
  background:linear-gradient(160deg, var(--blue-light) 0%, var(--cream) 100%);
  box-shadow:var(--shadow-lg);
}
.hero-video{width:100%;height:100%;object-fit:cover;display:block;}
.placeholder-tag{
  position:absolute;left:18px;right:18px;bottom:18px;display:inline-flex;align-items:center;gap:7px;
  background:rgba(14,17,19,.72);color:var(--white);font-size:.76rem;font-weight:600;line-height:1.4;
  padding:8px 14px;border-radius:14px;backdrop-filter:blur(4px);width:fit-content;max-width:calc(100% - 36px);
}
.placeholder-tag svg{width:14px;height:14px;flex-shrink:0;}
.hero-visual-badge{
  position:absolute;top:-18px;left:-18px;z-index:2;background:var(--white);border-radius:16px;box-shadow:var(--shadow);
  padding:14px 18px;display:flex;align-items:center;gap:10px;font-weight:700;font-size:.88rem;color:var(--ink);
}
.hero-visual-badge svg{color:var(--orange);flex-shrink:0;}

/* ============ Announcement bar ============ */
.announce-bar{
  margin-top:var(--header-h);
  background:linear-gradient(90deg, var(--blue-light) 0%, var(--cream) 100%);
  border-bottom:1px solid rgba(14,17,19,.06);
  padding:13px 0;
}
.announce-bar-inner{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;text-align:center;}
.announce-badge{
  display:inline-flex;align-items:center;gap:5px;background:var(--orange);color:var(--white);
  font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  padding:5px 11px;border-radius:999px;flex-shrink:0;
}
.announce-text{font-size:.92rem;font-weight:600;color:var(--ink);}
.announce-text strong{color:var(--orange-dark);}

/* ============ Sections (generic) ============ */
.section{padding:96px 0;position:relative;}
.section-alt{background:var(--white);}
.section-tint-blue{background:var(--blue-light);}
.section-head{max-width:660px;margin:0 auto 52px;text-align:center;}
.section-head h2{font-size:clamp(1.7rem,3.1vw,2.35rem);margin:14px 0 16px;}
.section-sub{color:var(--gray-700);font-size:1.02rem;}
.section-head .eyebrow{background:var(--blue-light);color:var(--blue-dark);}

/* ============ Intro / proposition ============ */
.intro{text-align:center;position:relative;overflow:hidden;}
.intro-motif{
  position:absolute;top:-120px;left:50%;transform:translateX(-50%);width:900px;height:900px;
  background:radial-gradient(circle, var(--cream) 0%, rgba(253,243,230,0) 68%);
  z-index:0;pointer-events:none;
}
.intro-inner{position:relative;z-index:1;max-width:780px;margin:0 auto;}
.intro h2{font-size:clamp(1.9rem,3.6vw,2.6rem);margin:14px 0 22px;}
.intro p{font-size:1.12rem;color:var(--gray-700);margin-bottom:14px;}
.intro p:last-child{margin-bottom:0;}

/* ============ How it works ============ */
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative;}
.step-card{
  background:var(--white);border-radius:var(--radius);padding:30px 24px;box-shadow:var(--shadow);
  transition:transform .3s ease, box-shadow .3s ease;position:relative;
}
.step-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.step-num{
  position:absolute;top:22px;right:24px;font-family:var(--font-head);font-weight:800;font-size:1.6rem;
  color:var(--gray-200);
}
.step-icon{
  width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;
}
.step-card:nth-child(odd) .step-icon{background:var(--cream);color:var(--orange-dark);}
.step-card:nth-child(even) .step-icon{background:var(--blue-light);color:var(--blue-dark);}
.step-card h3{font-size:1.08rem;margin-bottom:9px;}
.step-card p{color:var(--gray-700);font-size:.93rem;}
.step-card p.step-spec{color:var(--gray-500);font-size:.8rem;font-weight:600;margin-top:10px;}
.section-cta{display:flex;justify-content:center;margin-top:44px;}

/* ============ What can be stored ============ */
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.category-card{
  background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);
  padding:28px 26px;transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent;}
.category-icon{
  width:50px;height:50px;border-radius:50%;background:var(--gray-100);color:var(--charcoal);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;
}
.category-card:nth-child(1) .category-icon{background:var(--blue-light);color:var(--blue-dark);}
.category-card:nth-child(2) .category-icon{background:var(--cream);color:var(--orange-dark);}
.category-card:nth-child(3) .category-icon{background:var(--blue-light);color:var(--blue-dark);}
.category-card:nth-child(4) .category-icon{background:var(--cream);color:var(--orange-dark);}
.category-card:nth-child(5) .category-icon{background:var(--blue-light);color:var(--blue-dark);}
.category-card:nth-child(6) .category-icon{background:var(--gray-100);color:var(--charcoal);}
.category-card h3{font-size:1.05rem;margin-bottom:8px;}
.category-card p{color:var(--gray-700);font-size:.92rem;}
.category-note{
  max-width:760px;margin:40px auto 0;text-align:center;font-size:.9rem;color:var(--gray-500);
  background:var(--gray-100);border-radius:var(--radius-sm);padding:18px 24px;
}

/* ============ Emotional / lifestyle ============ */
.lifestyle-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;}
.lifestyle-visual{position:relative;}
.lifestyle-card{
  position:relative;aspect-ratio:1/1;border-radius:28px;overflow:hidden;
  background:linear-gradient(155deg, var(--cream) 0%, var(--blue-light) 100%);
  box-shadow:var(--shadow-lg);
}
.lifestyle-card img{width:100%;height:100%;object-fit:cover;display:block;}
.lifestyle-text h2{font-size:clamp(1.8rem,3.4vw,2.5rem);margin:14px 0 20px;}
.lifestyle-text p{color:var(--gray-700);font-size:1.03rem;margin-bottom:16px;}
.lifestyle-text p.brand-statement{
  margin-top:26px;padding:22px 28px;border-radius:var(--radius-sm);
  background:var(--cream);color:var(--ink);font-family:var(--font-head);font-weight:600;
  font-size:1.18rem;line-height:1.5;position:relative;border-left:4px solid var(--orange);
}

/* ============ Why Van Sezone ============ */
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.benefit-card{padding:30px 24px;border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);transition:transform .3s ease;}
.benefit-card:hover{transform:translateY(-5px);}
.benefit-icon{
  width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;
  background:var(--blue-light);color:var(--blue-dark);
}
.benefit-card:nth-child(2n) .benefit-icon{background:var(--cream);color:var(--orange-dark);}
.benefit-card h3{font-size:1.05rem;margin-bottom:9px;}
.benefit-card p{color:var(--gray-700);font-size:.92rem;}

/* ============ Seasonal rotation ============ */
.seasonal{
  color:var(--white);text-align:center;overflow:hidden;position:relative;
  background-image:linear-gradient(rgba(14,17,19,.90), rgba(14,17,19,.95)), url('../images/seasonal-bg.jpg');
  background-size:cover;background-position:center;
}
.seasonal .section-head h2{color:var(--white);}
.seasonal .section-head p{color:rgba(255,255,255,.62);}
.seasonal .eyebrow{background:rgba(255,255,255,.08);color:var(--white);}
.seasonal-flow{display:flex;align-items:center;justify-content:center;gap:0;margin:56px auto 0;max-width:840px;}
.season-node{display:flex;flex-direction:column;align-items:center;gap:14px;width:180px;}
.season-circle{
  width:112px;height:112px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 8px rgba(255,255,255,.04);
}
.season-node--leto .season-circle{background:radial-gradient(circle at 35% 30%, #ffb457, var(--orange) 70%);}
.season-node--zima .season-circle{background:radial-gradient(circle at 35% 30%, #6cc9ec, var(--blue) 70%);}
.season-node--mid .season-circle{
  width:132px;height:132px;background:var(--white);padding:14px;overflow:hidden;
}
.season-node--mid .season-circle img{width:100%;height:100%;object-fit:contain;}
.season-label{font-family:var(--font-head);font-weight:700;letter-spacing:.04em;font-size:.95rem;}
.season-node--mid .season-label{color:var(--orange);}
.season-arrow{color:rgba(255,255,255,.35);flex-shrink:0;width:64px;}
.season-arrow svg{width:100%;height:auto;}
.seasonal-loop{margin:34px auto 0;display:flex;align-items:center;justify-content:center;gap:10px;color:rgba(255,255,255,.5);font-size:.88rem;}
.seasonal-loop svg{width:18px;height:18px;flex-shrink:0;color:var(--blue);}
.seasonal p.seasonal-copy{max-width:620px;margin:26px auto 0;color:rgba(255,255,255,.72);font-size:1.02rem;}

/* ============ FAQ ============ */
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:14px;}
.faq-item{background:var(--white);border-radius:var(--radius-sm);border:1px solid var(--gray-200);overflow:hidden;}
.faq-item summary{
  list-style:none;cursor:pointer;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;
  gap:20px;font-family:var(--font-head);font-weight:600;font-size:1.02rem;color:var(--ink);
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-icon{
  width:30px;height:30px;border-radius:50%;background:var(--gray-100);color:var(--charcoal);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;position:relative;transition:background .25s ease, color .25s ease;
}
.faq-icon svg{transition:transform .3s ease;}
.faq-item[open] .faq-icon{background:var(--orange);color:var(--white);}
.faq-item[open] .faq-icon svg{transform:rotate(45deg);}
.faq-answer{padding:0 26px 24px;color:var(--gray-700);font-size:.96rem;max-width:680px;}

/* ============ Contact ============ */
.contact-section{
  position:relative;
  background-image:linear-gradient(180deg, rgba(251,250,247,.55) 0%, rgba(251,250,247,.88) 45%, rgba(251,250,247,.97) 100%), url('../images/contact-bg.jpg');
  background-size:cover;background-position:center top;
}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;position:relative;z-index:1;}
.contact-info{display:flex;flex-direction:column;gap:22px;}
.contact-card{
  background:var(--white);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);
}
.info-row{display:flex;gap:16px;align-items:flex-start;margin-bottom:20px;}
.info-row:last-child{margin-bottom:0;}
.info-icon{
  width:44px;height:44px;border-radius:12px;background:var(--blue-light);color:var(--blue-dark);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.info-row h4{font-size:.98rem;margin-bottom:4px;}
.info-row p{color:var(--gray-700);font-size:.93rem;}
.info-row a:hover{color:var(--blue-dark);}
.contact-area-card{
  background:var(--cream);border-radius:var(--radius);padding:26px 28px;display:flex;gap:16px;align-items:flex-start;
}
.contact-area-card svg{color:var(--orange-dark);flex-shrink:0;margin-top:2px;}
.contact-area-card p{font-size:.92rem;color:var(--charcoal);}
.contact-area-card strong{display:block;font-family:var(--font-head);font-size:1rem;margin-bottom:4px;color:var(--ink);}

.contact-form{background:var(--white);padding:36px;border-radius:var(--radius);box-shadow:var(--shadow-lg);}
.form-row{margin-bottom:18px;}
.form-row--split{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.contact-form label{display:block;font-size:.85rem;font-weight:600;margin-bottom:7px;color:var(--ink);}
.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;padding:13px 14px;border:1.5px solid var(--gray-200);border-radius:10px;
  font:inherit;font-size:.93rem;background:var(--gray-100);transition:border-color .2s ease, background .2s ease;
  color:var(--ink);
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{
  outline:none;border-color:var(--blue);background:var(--white);
}
.contact-form textarea{resize:vertical;}
.form-note{margin-top:14px;font-size:.85rem;text-align:center;color:var(--gray-700);min-height:1.2em;}
.form-note.success{color:#1a7f37;font-weight:600;}
.form-note.error{color:#c0392b;font-weight:600;}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* ============ Footer ============ */
.site-footer{background:var(--cream);color:var(--charcoal);padding-top:64px;}
.footer-inner{
  display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;padding-bottom:44px;
  border-bottom:1px solid rgba(14,17,19,.08);
}
.footer-logo{height:38px;margin-bottom:16px;}
.footer-brand p{font-size:.88rem;line-height:1.7;max-width:280px;color:var(--gray-700);}
.footer-col h5{color:var(--ink);font-family:var(--font-head);font-size:.95rem;margin-bottom:18px;}
.footer-col ul{display:flex;flex-direction:column;gap:11px;font-size:.88rem;}
.footer-col a{color:var(--charcoal);}
.footer-col a:hover{color:var(--blue-dark);}
.footer-bottom{padding:20px 0;}
.footer-bottom-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 20px;}
.footer-bottom p,
.footer-legal{font-size:.82rem;color:var(--gray-500);}
.footer-legal{position:relative;padding-left:22px;}
.footer-legal:hover{color:var(--blue-dark);}
.footer-legal::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:var(--gray-500);}

/* ============ Back to top ============ */
#back-to-top{
  position:fixed;bottom:28px;right:28px;width:48px;height:48px;border-radius:50%;
  background:var(--ink);color:var(--white);display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(10px);
  transition:all .3s ease;z-index:900;
}
#back-to-top.show{opacity:1;visibility:visible;transform:translateY(0);}
#back-to-top:hover{background:var(--orange);}

/* ============ Legal pages ============ */
.legal{padding-top:calc(var(--header-h) + 56px);}
.legal-inner{max-width:760px;margin:0 auto;}
.legal-inner h1{font-size:clamp(1.8rem,3.5vw,2.5rem);margin:14px 0 10px;}
.legal-updated{color:var(--gray-500);font-size:.9rem;margin-bottom:40px;}
.legal-inner h2{font-size:1.2rem;margin:36px 0 12px;}
.legal-inner h2:first-of-type{margin-top:0;}
.legal-inner p{color:var(--gray-700);margin-bottom:16px;}
.legal-inner ul{color:var(--gray-700);margin:0 0 16px 20px;line-height:1.8;list-style:disc;}
.legal-inner a{color:var(--blue-dark);text-decoration:underline;}

/* ============ Reveal animation ============ */
html.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease;}
html.js .reveal.in{opacity:1;transform:translateY(0);}

/* ============ Responsive ============ */
@media (max-width:1024px){
  .hero-inner{grid-template-columns:1fr;}
  .hero-visual{max-width:420px;margin:0 auto;order:-1;}
  .steps-grid{grid-template-columns:repeat(2,1fr);}
  .category-grid{grid-template-columns:repeat(2,1fr);}
  .benefit-grid{grid-template-columns:repeat(2,1fr);}
  .lifestyle-inner{grid-template-columns:1fr;}
  .lifestyle-visual{max-width:380px;margin:0 auto;}
  .contact-grid{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr 1fr;}
}

@media (max-width:840px){
  .main-nav{
    position:fixed;top:var(--header-h);left:0;right:0;background:var(--white);
    box-shadow:var(--shadow-lg);padding:16px 24px 24px;
    transform:translateY(-140%);opacity:0;transition:all .3s ease;
  }
  .main-nav.open{transform:translateY(0);opacity:1;}
  .main-nav ul{flex-direction:column;gap:4px;}
  .main-nav .nav-link{display:block;padding:12px 4px;border-bottom:1px solid var(--gray-100);}
  .nav-toggle{display:flex;}
  .header-actions .btn-sm{display:none;}
}

@media (max-width:640px){
  .section{padding:68px 0;}
  .hero{padding-top:32px;padding-bottom:44px;}
  .steps-grid{grid-template-columns:1fr;}
  .category-grid{grid-template-columns:1fr;}
  .benefit-grid{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr;gap:32px;}
  .form-row--split{grid-template-columns:1fr;}
  .contact-form{padding:24px;}
  .hero-visual-badge{position:static;margin-bottom:16px;display:inline-flex;}
  .seasonal-flow{flex-direction:column;gap:18px;}
  .season-arrow{transform:rotate(90deg);width:44px;}
}
