/* Benimar WOW – minimal premium style */
:root{
  --bg:#0b0f14;
  --bg2:#0f1620;
  --card:#121b26;
  --text:#e7eef7;
  --muted:#a9b6c6;
  --accent:#d9c38a; /* sand-gold */
  --accent2:#8ad9c6;
  --border:rgba(255,255,255,.10);
  --shadow: 0 20px 60px rgba(0,0,0,.45);
  --radius: 22px;
  --radius2: 28px;
  --max: 1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  background: radial-gradient(1200px 900px at 15% -10%, rgba(217,195,138,.18), transparent 60%),
              radial-gradient(900px 700px at 90% 10%, rgba(138,217,198,.12), transparent 55%),
              linear-gradient(180deg, var(--bg), #070a0d 70%);
  color:var(--text);
  line-height:1.55;
}
a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}
.container{width:min(var(--max), calc(100% - 40px)); margin:0 auto}
.skip-link{position:absolute; left:-999px; top:8px; padding:10px 14px; border-radius:12px; background:#fff; color:#000;}
.skip-link:focus{left:12px; z-index:9999}
header{position:sticky; top:0; z-index:50; backdrop-filter: blur(14px); background: rgba(11,15,20,.55); border-bottom:1px solid var(--border);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:14px 0; gap:12px;}
.brand{display:flex; align-items:center; gap:12px;}
.logo{width:38px; height:38px; border-radius:14px; background: linear-gradient(135deg, rgba(217,195,138,.95), rgba(138,217,198,.75)); box-shadow: 0 14px 40px rgba(217,195,138,.18);}
.brand b{letter-spacing:.5px}
.brand small{display:block; color:var(--muted); margin-top:2px; font-size:.78rem}
.navlinks{display:flex; align-items:center; gap:18px}
.navlinks a{color:var(--muted); padding:10px 10px; border-radius:14px; transition: all .2s ease;}
.navlinks a:hover, .navlinks a[aria-current="page"]{color:var(--text); background: rgba(255,255,255,.06);}
.menu-btn{display:none; border:1px solid var(--border); background: rgba(255,255,255,.04); color:var(--text); border-radius:16px; padding:10px 12px; gap:10px; align-items:center;}
.menu-btn span{width:18px; height:2px; background:var(--text); display:block; border-radius:2px}
.menu-btn .dots{display:flex; flex-direction:column; gap:4px}
.mobile-drawer{display:none; position:fixed; inset:0; z-index:80; background: rgba(0,0,0,.55);}
.drawer{position:absolute; right:0; top:0; height:100%; width:min(360px, 86vw); background: rgba(15,22,32,.96); border-left:1px solid var(--border); padding:18px; box-shadow: var(--shadow);}
.drawer .top{display:flex; align-items:center; justify-content:space-between; margin-bottom:10px}
.drawer a{display:block; padding:14px 12px; border-radius:16px; color:var(--text); border:1px solid transparent;}
.drawer a:hover{background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.06)}
.drawer small{color:var(--muted)}
.social-links{display:flex; align-items:center; gap:10px; margin-left:4px;}
.social-icon{width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:16px; border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05); color:var(--muted); transition: transform .15s ease, background .2s ease, border-color .2s ease, color .2s ease;}
.social-icon:hover{transform: translateY(-1px); background: rgba(255,255,255,.09); border-color: rgba(217,195,138,.28); color:var(--text);}
.social-icon svg{width:18px; height:18px; display:block;}
.drawer{display:flex; flex-direction:column;}
.drawer-nav{display:grid; gap:8px; margin-top:8px;}
.drawer-social-wrap{margin-top:auto; padding-top:18px; border-top:1px solid rgba(255,255,255,.08);}
.drawer-social-label{display:block; margin-bottom:12px; letter-spacing:.04em;}
.drawer-social{display:flex; gap:10px;}
.drawer-social .social-icon{width:48px; height:48px; color:var(--text); background: rgba(255,255,255,.06);}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:12px 16px; border-radius:18px; border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); color:var(--text); transition: transform .15s ease, background .2s ease, border-color .2s ease; user-select:none;}
.btn:hover{transform: translateY(-1px); background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.18)}
.btn.primary{background: linear-gradient(135deg, rgba(217,195,138,.95), rgba(217,195,138,.72)); color:#0b0f14; border-color: transparent;}
.btn.primary:hover{background: linear-gradient(135deg, rgba(217,195,138,1), rgba(217,195,138,.78))}
.btn.ghost{background: transparent;}
.btn.small{padding:10px 12px; border-radius:16px; font-size:.95rem}
.pill{display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; border:1px solid rgba(217,195,138,.25); background: rgba(217,195,138,.08); color: var(--text); font-size:.9rem;}
.hero{padding:46px 0 14px; position:relative;}
.hero-grid{display:grid; grid-template-columns: 1.2fr .8fr; gap:28px; align-items:stretch;}
.h-card{background: rgba(18,27,38,.72); border:1px solid var(--border); border-radius: var(--radius2); box-shadow: var(--shadow); overflow:hidden; position:relative;}
.h-media{min-height: 420px; background: radial-gradient(700px 420px at 10% 20%, rgba(217,195,138,.22), transparent 60%), radial-gradient(600px 360px at 90% 10%, rgba(138,217,198,.14), transparent 55%), linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.03)); display:flex; align-items:flex-end; padding:22px;}
.h-media .caption{max-width: 520px; border:1px solid rgba(255,255,255,.12); background: rgba(11,15,20,.55); border-radius: 18px; padding:14px 14px;}
.h-media .caption b{display:block}
.h-copy{padding:26px 22px 22px;}
.kicker{color: var(--muted); letter-spacing:.18em; text-transform:uppercase; font-size:.75rem;}
h1{font-size: clamp(2.05rem, 4vw, 3.15rem); line-height:1.05; margin:10px 0 12px;}
.lead{color: var(--muted); font-size: 1.05rem; margin:0 0 18px;}
.actions{display:flex; flex-wrap:wrap; gap:10px; margin:16px 0 10px}
.badges{display:flex; flex-wrap:wrap; gap:10px; margin-top:14px}
.side{padding:22px; display:flex; flex-direction:column; gap:14px;}
.side .mini{border:1px solid var(--border); border-radius: var(--radius); background: rgba(255,255,255,.04); padding:16px;}
.side .mini h3{margin:0 0 6px; font-size:1.05rem}
.side .mini p{margin:0; color:var(--muted)}
.side .mini .row{display:flex; gap:10px; margin-top:12px; flex-wrap:wrap}
.side .mini .row .pill{border-color:rgba(255,255,255,.14); background:rgba(255,255,255,.06)}
.section{padding:44px 0}
.section h2{font-size: clamp(1.55rem, 2.8vw, 2.1rem); margin:0 0 12px;}
.section p{color:var(--muted); margin:0 0 18px}
.grid-3{display:grid; grid-template-columns: repeat(3, 1fr); gap:14px}
.grid-2{display:grid; grid-template-columns: repeat(2, 1fr); gap:14px}
.card{border:1px solid var(--border); background: rgba(18,27,38,.56); border-radius: var(--radius); padding:18px; box-shadow: 0 12px 45px rgba(0,0,0,.18);}
.card b{display:block; margin-bottom:6px}
.card small{color:var(--muted)}
.stats{display:grid; grid-template-columns: repeat(3, 1fr); gap:14px}
.stat{padding:16px; border-radius: var(--radius); border:1px solid var(--border); background: rgba(255,255,255,.03);}
.stat .k{color:var(--muted); font-size:.9rem}
.stat .v{font-size:1.2rem; margin-top:6px}
.gallery{display:grid; grid-template-columns: repeat(12, 1fr); gap:10px;}
.ph{border:1px dashed rgba(255,255,255,.18); border-radius: 18px; background: rgba(255,255,255,.03); min-height: 140px; display:flex; align-items:center; justify-content:center; color: rgba(231,238,247,.68); position:relative; overflow:hidden;}
.ph:before{content:""; position:absolute; inset:-40%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.10), transparent); transform: rotate(18deg); animation: shimmer 2.8s linear infinite;}
@keyframes shimmer{0%{transform: translateX(-35%) rotate(18deg)}100%{transform: translateX(35%) rotate(18deg)}}
.ph span{position:relative; z-index:1; font-size:.95rem}
.g1{grid-column: span 7}
.g2{grid-column: span 5}
.g3{grid-column: span 4}
.g4{grid-column: span 8}
.list{display:grid; gap:10px;}
.li{display:flex; gap:12px; border:1px solid var(--border); background: rgba(255,255,255,.03); border-radius: 18px; padding:14px 14px; align-items:flex-start;}
.bullet{width:10px; height:10px; border-radius:50%; background: var(--accent); margin-top:7px; box-shadow: 0 0 0 6px rgba(217,195,138,.12);}
.steps{display:grid; grid-template-columns: repeat(4, 1fr); gap:12px}
.step{border:1px solid var(--border); background: rgba(18,27,38,.44); border-radius: var(--radius); padding:16px;}
.step .n{width:36px; height:36px; border-radius: 14px; display:flex; align-items:center; justify-content:center; background: rgba(217,195,138,.14); border:1px solid rgba(217,195,138,.28); color: var(--text); font-weight:700;}
.step b{display:block; margin-top:10px}
.step small{color:var(--muted)}
.faq details{border:1px solid var(--border); border-radius: 18px; background: rgba(255,255,255,.03); padding: 12px 14px;}
.faq details + details{margin-top:10px}
.faq summary{cursor:pointer; font-weight:650; list-style:none;}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"＋"; float:right; color: var(--accent);}
.faq details[open] summary:after{content:"–"}
.faq p{margin:10px 0 0}
.cta{border-radius: var(--radius2); border:1px solid rgba(217,195,138,.22); background: radial-gradient(900px 420px at 20% 20%, rgba(217,195,138,.18), transparent 55%), radial-gradient(800px 420px at 80% 0%, rgba(138,217,198,.10), transparent 55%), rgba(18,27,38,.58); padding:22px; display:flex; align-items:center; justify-content:space-between; gap:14px; box-shadow: var(--shadow);}
.cta h3{margin:0 0 6px}
.cta p{margin:0; color:var(--muted)}
.cta .actions{margin:0}
.form{display:grid; gap:12px;}
.field{display:grid; gap:8px;}
label{font-size:.92rem; color:var(--muted)}
input, textarea, select{width:100%; padding:12px 12px; border-radius: 16px; border:1px solid rgba(255,255,255,.14); background: rgba(11,15,20,.55); color:var(--text); outline:none;}
textarea{min-height:120px; resize:vertical}
footer{border-top:1px solid var(--border); padding:26px 0 70px; color:var(--muted);}
.footer-grid{display:grid; grid-template-columns: 1.2fr .8fr; gap:16px}
.footer-grid a{color:var(--muted)}
.footer-grid a:hover{color:var(--text)}
.sticky-cta{position:fixed; left:12px; right:12px; bottom:12px; z-index:60; display:none; gap:10px; padding:10px; border-radius: 22px; border:1px solid rgba(255,255,255,.12); background: rgba(15,22,32,.75); backdrop-filter: blur(14px); box-shadow: 0 22px 70px rgba(0,0,0,.6);}
.sticky-cta a{flex:1}
.reveal{opacity:0; transform: translateY(12px); transition: opacity .8s ease, transform .8s ease}
.reveal.in{opacity:1; transform:none}
.blog-grid{display:grid; grid-template-columns: 1fr; gap:12px}
.post-card{display:grid; grid-template-columns: 240px 1fr; gap:14px; border:1px solid var(--border); background: rgba(18,27,38,.52); border-radius: var(--radius2); overflow:hidden;}
.post-thumb{min-height: 160px; background: radial-gradient(600px 240px at 40% 20%, rgba(217,195,138,.18), transparent 55%), linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.03));}
.post-body{padding:16px}
.post-meta{display:flex; gap:10px; flex-wrap:wrap; color:var(--muted); font-size:.9rem}
.post-body h3{margin:8px 0 6px}
.post-body p{margin:0; color:var(--muted)}
.article{border:1px solid var(--border); background: rgba(18,27,38,.52); border-radius: var(--radius2); padding:22px;}
.article h1{font-size: clamp(1.7rem, 3.6vw, 2.6rem); margin-top:0}
.toc{border:1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.03); border-radius: 18px; padding:14px;}
.toc b{display:block; margin-bottom:8px}
.toc a{display:block; padding:6px 0; color:var(--muted)}
.toc a:hover{color:var(--text)}
@media (max-width: 940px){
  .hero-grid{grid-template-columns: 1fr}
  .h-media{min-height: 360px}
  .grid-3{grid-template-columns: 1fr}
  .grid-2{grid-template-columns: 1fr}
  .stats{grid-template-columns: 1fr}
  .steps{grid-template-columns: 1fr 1fr}
  .footer-grid{grid-template-columns: 1fr}
  .post-card{grid-template-columns: 1fr}
}
@media (max-width: 740px){
  .navlinks{display:none}
  .social-links{display:none}
  .menu-btn{display:inline-flex}
  .sticky-cta{display:flex}
  .steps{grid-template-columns: 1fr}
  footer{padding-bottom: 92px}
}



/* --- V3: Full-width HERO with video + full-width logo --- */
.hero-full{
  position: relative;
  width: 100%;
  min-height: min(92vh, 860px);
  display: grid;
  align-items: end;
  overflow: hidden;
  border-bottom: 1px solid var(--border);
}
.hero-full .bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
}
.hero-full video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit: cover;
  transform: scale(1.02);
  filter: saturate(1.05) contrast(1.05);
}
.hero-full .bg::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.62) 60%, rgba(0,0,0,.82));
}
.hero-full .inner{
  position: relative;
  padding: 96px 0 34px;
}
.wordmark{
  width: 100%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom: 18px;
}
.wordmark .wm{
  width: min(var(--max), calc(100% - 40px));
  margin: 0 auto;
  padding: 14px 16px;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(11,15,20,.38);
  backdrop-filter: blur(12px);
  box-shadow: 0 22px 70px rgba(0,0,0,.55);
}
.wordmark .wm .top{
  display:flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.wordmark .wm .brandline{
  font-weight: 850;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-size: clamp(1.15rem, 2.3vw, 1.9rem);
}
.wordmark .wm .tag{
  color: var(--muted);
  font-size: .95rem;
  letter-spacing:.06em;
}
.hero-full h1{
  margin: 10px 0 12px;
  font-size: clamp(2.1rem, 4.6vw, 3.35rem);
  line-height: 1.02;
}
.hero-full .lead{
  max-width: 840px;
  color: rgba(231,238,247,.82);
  font-size: 1.08rem;
}
.hero-full .hero-card{
  width: min(var(--max), calc(100% - 40px));
  margin: 0 auto;
  border-radius: var(--radius2);
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(11,15,20,.42);
  backdrop-filter: blur(12px);
  box-shadow: 0 22px 70px rgba(0,0,0,.55);
  padding: 22px 18px;
}
.hero-full .hero-row{
  display:flex;
  align-items:flex-end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.hero-full .badges{margin-top: 12px}
.hero-full .pill{
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
}
.hero-full .btn.ghost{border-color: rgba(255,255,255,.18)}
.hero-full .note{
  color: rgba(231,238,247,.72);
  font-size: .95rem;
}
@media (max-width: 740px){
  .hero-full .inner{padding: 82px 0 28px}
  .wordmark .wm{border-radius: 22px}
  .hero-full .hero-card{padding: 18px 14px}
}


/* --- Cinematic hero extras --- */
.hero-cinematic .bg::after{
  background:
    radial-gradient(1200px 720px at 20% 20%, rgba(217,195,138,.20), transparent 60%),
    radial-gradient(900px 600px at 80% 10%, rgba(138,217,198,.12), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.20), rgba(0,0,0,.62) 60%, rgba(0,0,0,.84));
}
.hero-cinematic video{
  animation: heroZoom 18s ease-in-out infinite alternate;
}
@keyframes heroZoom{
  0%{transform: scale(1.02)}
  100%{transform: scale(1.10)}
}
.hero-title .line{display:block; opacity:0; transform: translateY(8px);}
.hero-card.in .hero-title .line{animation: titleIn .9s ease forwards;}
.hero-card.in .hero-title .line:nth-child(2){animation-delay:.12s}
.hero-card.in .hero-title .line:nth-child(3){animation-delay:.24s}
@keyframes titleIn{
  to{opacity:1; transform:none}
}
.hero-title .accent{color: var(--accent); text-shadow: 0 0 24px rgba(217,195,138,.25);}
.hero-specs{
  margin-top:14px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:10px;
}
.hero-specs .spec{
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  border-radius: 18px;
  padding: 10px 12px;
}
.hero-specs .k{color: rgba(231,238,247,.72); font-size:.85rem}
.hero-specs .v{font-weight:750; margin-top:4px}
.scroll-indicator{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:fit-content;
  margin:14px auto 0;
  color: rgba(231,238,247,.74);
  font-size:.85rem;
}
.scroll-indicator .mouse{
  width: 18px; height: 28px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  position: relative;
}
.scroll-indicator .mouse::after{
  content:"";
  position:absolute; left:50%; top:6px;
  width:4px; height:4px;
  border-radius:50%;
  background: rgba(217,195,138,.85);
  transform: translateX(-50%);
  animation: wheel 1.4s ease-in-out infinite;
}
@keyframes wheel{
  0%, 100%{opacity:.35; transform: translate(-50%, 0)}
  50%{opacity:1; transform: translate(-50%, 10px)}
}

/* Theme toggle button tweaks (inherits .btn) */
#theme-toggle, #theme-toggle-drawer{
  width: 44px;
  justify-content:center;
}

/* Map */
.map{
  width: 100%;
  height: 360px;
  border-radius: 18px;
  border: 1px solid var(--border);
  overflow:hidden;
}
@media (max-width: 740px){
  .map{height: 320px}
}


/* --- Gallery v2 (premium grid) --- */
.gallery2{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
}
/* DOMYŚLNY WYGLĄD KAŻDEGO ZDJĘCIA */
.gallery2 .gitem{
  grid-column:span 4;
  min-height:220px;
}

/* WIĘKSZE ELEMENTY */
.gallery2 .gitem:nth-child(1){
  grid-column:span 8;
  min-height:420px;
}

.gallery2 .gitem:nth-child(2){
  grid-column:span 4;
  min-height:420px;
}
.gallery2 .gitem{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  min-height: 150px;
  box-shadow: 0 14px 45px rgba(0,0,0,.20);
  transform: translateZ(0);
}
.gallery2 .gitem img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
  transform: scale(1.02);
  transition: transform .35s ease, filter .35s ease;
}
.gallery2 .gitem::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.35));
  opacity: .75;
  pointer-events:none;
}
.gallery2 .gitem:hover img{
  transform: scale(1.06);
  filter: saturate(1.1) contrast(1.05);
}
.gallery2 .gitem:nth-child(1){grid-column: span 7; min-height: 320px}
.gallery2 .gitem:nth-child(2){grid-column: span 5; min-height: 320px}
.gallery2 .gitem:nth-child(3){grid-column: span 4; min-height: 190px}
.gallery2 .gitem:nth-child(4){grid-column: span 4; min-height: 190px}
.gallery2 .gitem:nth-child(5){grid-column: span 4; min-height: 190px}
.gallery2 .gitem:nth-child(6){grid-column: span 5; min-height: 230px}
@media (max-width: 940px){
  .gallery2{grid-template-columns: repeat(6, 1fr);}
  .gallery2 .gitem:nth-child(1){grid-column: span 6}
  .gallery2 .gitem:nth-child(2){grid-column: span 6}
  .gallery2 .gitem:nth-child(n+3){grid-column: span 3}
}
@media (max-width: 740px){
  .gallery2{grid-template-columns: repeat(2, 1fr); gap:10px}
  .gallery2 .gitem{grid-column: span 1 !important; min-height: 170px !important}
}

/* --- Lightbox (fullscreen) --- */
.lb{position:fixed; inset:0; display:none; z-index:9999}
.lb.open{display:block}
.lb .backdrop{position:absolute; inset:0; background:rgba(0,0,0,.82); backdrop-filter: blur(8px);}
.lb .panel{position:relative; height:100%; display:flex; align-items:center; justify-content:center; padding:22px 16px 18px;}
.lb figure{margin:0; max-width:min(1200px, 96vw); width:100%;}
.lb img{width:100%; max-height:78vh; object-fit:contain; border-radius:18px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.02); box-shadow:0 24px 90px rgba(0,0,0,.55);}
.lb .caption{color:rgba(231,238,247,.78); text-align:center; margin-top:12px; font-size:.95rem;}
.lb .topbar{position:absolute; top:12px; left:12px; right:12px; display:flex; align-items:center; justify-content:space-between; gap:10px; pointer-events:none;}
.lb .topbar .left, .lb .topbar .right{display:flex; gap:10px; pointer-events:auto;}
.lb .iconbtn{width:44px; height:44px; border-radius:16px; border:1px solid rgba(255,255,255,.14); background:rgba(15,22,32,.55); color:var(--text); display:flex; align-items:center; justify-content:center; cursor:pointer;}
.lb .iconbtn:hover{background:rgba(15,22,32,.72); border-color:rgba(255,255,255,.22)}
.lb .navbtn{position:absolute; top:50%; transform:translateY(-50%);}
.lb .prev{left:10px}
.lb .next{right:10px}
@media (max-width: 740px){
  .lb img{max-height:72vh}
  .lb .prev, .lb .next{display:none}
}


/* BIG CINEMATIC LOGO */
.hero-logo{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-bottom:40px;
}

.hero-logo img{
  width:420px;
  max-width:80%;
  opacity:.95;
    margin-bottom:10px;
  margin-top:-80px;
  filter:
    drop-shadow(0 25px 80px rgba(0,0,0,.7))
    drop-shadow(0 0 40px rgba(217,195,138,.35));
  animation: logoFade 1.8s ease;
}
.hero-full video{
  filter: brightness(1.2) saturate(1.05) contrast(1.05);
}

.hero-cinematic .bg::after{
  background:
    radial-gradient(1200px 720px at 20% 20%, rgba(217,195,138,.15), transparent 60%),
    radial-gradient(900px 600px at 80% 10%, rgba(138,217,198,.08), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.45) 60%, rgba(0,0,0,.65));
}

@keyframes logoFade{
  from{
    opacity:0;
    transform:translateY(-20px) scale(.96);
  }
  to{
    opacity:.95;
    transform:none;
  }
}


/* --- Camper layout section --- */
.camper-layout-section{
  padding-top: 58px;
}
.section-head{
  display:grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap:24px;
  align-items:end;
  margin-bottom:24px;
}
.section-head > div{max-width:620px}
.section-head p{max-width:560px; margin:0}
.card-frame{
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(900px 420px at 15% 12%, rgba(217,195,138,.18), transparent 55%),
    radial-gradient(720px 360px at 90% 10%, rgba(138,217,198,.10), transparent 55%),
    linear-gradient(180deg, rgba(18,27,38,.82), rgba(10,14,20,.92));
  border-radius: 30px;
  overflow:hidden;
  box-shadow: var(--shadow);
}
.layout-hero{
  padding:24px;
}
.layout-hero-top{
  display:grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, .7fr);
  align-items:start;
  gap:22px;
  margin-bottom:22px;
}
.layout-intro-copy{
  min-width:0;
}
.layout-eyebrow{
  display:inline-block;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.78rem;
  margin-bottom:10px;
}
.layout-hero-top h3{
  margin:0;
  font-size:clamp(1.3rem, 2vw, 1.95rem);
  max-width:none;
}
.layout-subcopy{
  margin:16px 0 0;
  max-width:none;
  width:100%;
  padding:16px 20px 0 0;
  border-top:1px solid rgba(255,255,255,.10);
  color:rgba(231,238,247,.78);
  font-size:.98rem;
  line-height:1.82;
  text-wrap:pretty;
}
.layout-mini-note{
  max-width:none;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.6;
}
.premium-note-card{
  align-self:stretch;
  padding:18px 18px;
  border-radius:22px;
  border:1px solid rgba(217,195,138,.16);
  background:
    radial-gradient(180px 120px at 0% 0%, rgba(217,195,138,.12), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow: 0 16px 40px rgba(0,0,0,.14);
}
.premium-note-card .note-label{
  display:inline-block;
  margin-bottom:12px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(217,195,138,.20);
  background:rgba(217,195,138,.08);
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.68rem;
}
.premium-note-card strong{
  display:block;
  font-size:1.08rem;
  line-height:1.35;
  color:var(--text);
}
.premium-note-card small{
  display:block;
  margin-top:8px;
  color:rgba(231,238,247,.70);
  line-height:1.7;
  font-size:.88rem;
}
.layout-plan-wide{
  position:relative;
  width:100%;
  min-height: 420px;
  border-radius:26px;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)),
    rgba(8,11,16,.72);
  border:1px solid rgba(255,255,255,.08);
  padding:28px 28px 108px;
}
.layout-plan-wide img{
  width:100%;
  aspect-ratio: 16 / 8.3;
  object-fit:contain;
  border-radius:22px;

  background:#000;
  padding:22px;
}
.layout-dimensions{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:12px;
}
.dim-card{
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(11,15,20,.68);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 28px rgba(0,0,0,.22);
}
.dim-card span{
  display:block;
  color:rgba(231,238,247,.68);
  font-size:.83rem;
  margin-bottom:6px;
}
.dim-card strong{
  display:block;
  font-size:1.06rem;
  line-height:1.25;
}
.spec-bar{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}
.spec-pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color:var(--text);
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}
.spec-icon{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background: rgba(217,195,138,.14);
  font-size:.9rem;
}
.layout-details{
  margin-top:18px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:16px;
}
.detail-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(18,27,38,.62);
  border-radius:26px;
  padding:22px;
  box-shadow: 0 14px 40px rgba(0,0,0,.18);
}
.detail-card::before{
  content:"";
  position:absolute;
  inset:auto auto 0 0;
  width:140px;
  height:140px;
  border-radius:50%;
  filter: blur(8px);
  opacity:.18;
}
.feature-living::before{background: rgba(217,195,138,.8)}
.feature-drive::before{background: rgba(138,217,198,.8)}
.detail-kicker{
  display:block;
  color:var(--accent);
  font-size:.8rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.detail-card h3{
  margin:0 0 10px;
  font-size:1.18rem;
}
.detail-card p{
  margin:0;
  color:var(--muted);
}
@media (max-width: 1080px){
  .layout-dimensions{grid-template-columns: repeat(2, minmax(0,1fr));}
}
@media (max-width: 940px){
  .section-head,
  .layout-details,
  .layout-hero-top{
    grid-template-columns: 1fr;
  }
  .layout-hero-top{
    gap:14px;
    align-items:start;
  }
  .editorial-copy{
    padding-right:0;
  }
  .editorial-copy::after{
    display:none;
  }
  .layout-subcopy{
    padding-right:0;
  }
}
@media (max-width: 740px){
  .layout-hero{padding:16px}
  .layout-kicker-line{
    letter-spacing:.18em;
  }
  .layout-hero-top h3{
    font-size:clamp(1.7rem, 10vw, 2.5rem);
  }
  .layout-subcopy{
    margin-top:18px;
    padding-top:18px;
    font-size:.97rem;
    line-height:1.8;
  }
  .layout-plan-wide{
    min-height:auto;
    padding:16px 16px 16px;
  }
  .layout-plan-wide img{
    aspect-ratio: 16 / 10;
    padding:14px;
  }
  .layout-dimensions{
    position:static;
    margin-top:14px;
    grid-template-columns: 1fr;
    left:auto;
    right:auto;
    bottom:auto;
  }
  .spec-bar{
    justify-content:flex-start;
  }
}


/* --- Premium layout section refinements --- */
.premium-layout{
  position:relative;
}
.premium-layout::before{
  content:"";
  position:absolute;
  inset:40px 0 auto;
  height:420px;
  pointer-events:none;
  background:
    radial-gradient(760px 280px at 20% 30%, rgba(217,195,138,.12), transparent 60%),
    radial-gradient(860px 320px at 80% 10%, rgba(138,217,198,.08), transparent 58%);
}
.premium-section-head h2{
  max-width:720px;
}
.premium-pill{
  border-color: rgba(217,195,138,.26);
  background: rgba(217,195,138,.08);
  box-shadow: 0 10px 28px rgba(0,0,0,.12);
}
.premium-frame{
  position:relative;
  overflow:hidden;
}
.premium-frame::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:32px;
  border:1px solid rgba(255,255,255,.04);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.premium-topbar{
  margin-bottom:28px;
}
.editorial-copy{
  position:relative;
  padding:8px 42px 0 0;
}
.editorial-copy::after{
  content:"";
  position:absolute;
  right:8px;
  top:6px;
  width:1px;
  height:calc(100% - 12px);
  background:linear-gradient(180deg, rgba(217,195,138,.32), rgba(217,195,138,0));
}
.layout-kicker-line{
  margin:0 0 12px;
  color:rgba(231,238,247,.62);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.7rem;
}
.layout-hero-top h3{
  font-size:clamp(2rem, 4.2vw, 3.45rem);
  line-height:.96;
  letter-spacing:-.03em;
  max-width:680px;
}
.layout-hero-top h3 span{
  display:block;
  color:var(--accent);
  text-shadow:0 0 30px rgba(217,195,138,.16);
}
.layout-subcopy{
  margin:22px 0 0;
  max-width:760px;
  width:100%;
  padding:22px 22px 0 0;
  border-top:1px solid rgba(255,255,255,.10);
  color:rgba(231,238,247,.80);
  font-size:1.02rem;
  line-height:1.9;
  text-wrap:pretty;
}
.premium-note-card-strong{
  position:relative;
  padding:22px 22px 20px;
  border:1px solid rgba(217,195,138,.20);
  background:
    radial-gradient(220px 160px at 0% 0%, rgba(217,195,138,.14), transparent 72%),
    radial-gradient(180px 140px at 100% 0%, rgba(255,255,255,.06), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
  box-shadow: 0 22px 46px rgba(0,0,0,.18);
}
.premium-note-card-strong::before{
  content:"";
  position:absolute;
  inset:12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.05);
  pointer-events:none;
}
.note-metrics{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.note-metrics span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(231,238,247,.82);
  font-size:.82rem;
}
.layout-premium-ribbon{
  margin-top:22px;
}
.ribbon-item{
  padding:20px 20px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
}
.ribbon-item strong{
  font-size:1.02rem;
}
.premium-plan-stage{
  background:
    radial-gradient(700px 260px at 50% 10%, rgba(255,255,255,.08), transparent 65%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)),
    rgba(8,11,16,.82);
  padding:30px 30px 124px;
  min-height:460px;
}
.plan-stage-glow{
  position:absolute;
  inset:auto 10% 56px 10%;
  height:90px;
  border-radius:999px;
  background: radial-gradient(circle, rgba(217,195,138,.22), rgba(217,195,138,0) 72%);
  filter: blur(22px);
  pointer-events:none;
}
.premium-plan-stage img{
  position:relative;
  z-index:1;
  aspect-ratio: 16 / 7.1;
  padding:24px 28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,249,252,.96)),
    repeating-linear-gradient(90deg, rgba(15,23,42,.02) 0 1px, transparent 1px 64px);
  box-shadow:
    0 24px 70px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.8);
}
.premium-dimensions .dim-card{
  border-radius:20px;
  background: linear-gradient(180deg, rgba(14,18,24,.86), rgba(11,15,20,.72));
}
.premium-dimensions .dim-card.highlight{
  border-color: rgba(217,195,138,.34);
  box-shadow: 0 12px 34px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.03);
}
.premium-dimensions .dim-card.highlight-soft{
  border-color: rgba(138,217,198,.24);
}
.layout-premium-ribbon{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.ribbon-item{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:18px 18px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow: 0 12px 34px rgba(0,0,0,.12);
}
.ribbon-no{
  flex:0 0 auto;
  width:40px;
  height:40px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(217,195,138,.22);
  background: rgba(217,195,138,.08);
  color:var(--accent);
  font-weight:800;
  letter-spacing:.08em;
}
.ribbon-item strong{
  display:block;
  margin-bottom:4px;
}
.ribbon-item small{
  display:block;
  color:var(--muted);
  line-height:1.55;
}
.premium-spec-bar{
  margin-top:22px;
  gap:14px;
}
.premium-spec-bar .spec-pill{
  padding:13px 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  backdrop-filter: blur(10px);
}
.layout-signature{
  margin-top:20px;
  display:flex;
  align-items:center;
  gap:18px;
}
.layout-signature p{
  margin:0;
  color:rgba(231,238,247,.78);
  font-size:1rem;
  white-space:nowrap;
}
.signature-line{
  height:1px;
  flex:1;
  background: linear-gradient(90deg, transparent, rgba(217,195,138,.35), transparent);
}
.premium-detail-grid{
  margin-top:22px;
}
.premium-detail-card{
  min-height:100%;
  background:
    linear-gradient(180deg, rgba(20,29,40,.74), rgba(16,21,31,.70)),
    rgba(18,27,38,.62);
}
.premium-detail-card h3{
  font-size:1.22rem;
}
.premium-detail-card p{
  line-height:1.72;
}
@media (max-width: 1080px){
  .layout-premium-ribbon{
    grid-template-columns:1fr;
  }
  .layout-signature{
    gap:12px;
  }
  .layout-signature p{
    white-space:normal;
    text-align:center;
  }
}
@media (max-width: 740px){
  .premium-plan-stage{
    padding:16px 16px 16px;
    min-height:auto;
  }
  .premium-plan-stage img{
    aspect-ratio: 16 / 9;
    padding:16px;
  }
  .layout-signature{
    flex-direction:column;
  }
  .signature-line{
    width:100%;
  }
}


.included-premium{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:18px;
  margin-top: 30px;
}

.inc-card{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  height:230px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
  transform: translateY(20px);
  opacity:0;
  transition: all .6s ease;
}

.included-premium.in .inc-card{
  transform: translateY(0);
  opacity:1;
}

.inc-card:nth-child(1){ transition-delay:.1s }
.inc-card:nth-child(2){ transition-delay:.2s }
.inc-card:nth-child(3){ transition-delay:.3s }
.inc-card:nth-child(4){ transition-delay:.4s }

.inc-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition: transform .6s ease;
}

.inc-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:18px;
  background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.75));
}

.inc-card:hover{
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 30px 80px rgba(0,0,0,.6);
}

.inc-card:hover img{
  transform: scale(1.1);
}

@media (max-width: 940px){
  .included-premium{
    grid-template-columns: repeat(2, 1fr);
  }
}


/* --- Premium copy block --- */
.why-head{
  max-width: 980px;
  margin-bottom: 18px;
}
.why-head h2{
  margin: 8px 0 0;
}
.section-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(217,195,138,.26);
  background: rgba(217,195,138,.08);
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .74rem;
}
.about-split{
  display:grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .85fr);
  gap:20px;
  align-items:stretch;
  margin-bottom: 22px;
}
.about-premium{
  position: relative;
  max-width: none;
  margin: 0;
  padding: 30px 34px;
  border-radius: 28px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(700px 220px at 0% 0%, rgba(217,195,138,.10), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)),
    rgba(18,27,38,.52);
  box-shadow: 0 20px 60px rgba(0,0,0,.22);
  display:grid;
  gap:16px;
  overflow:hidden;
}
.about-premium::before{
  content:"";
  position:absolute;
  inset:22px auto 22px 18px;
  width:2px;
  border-radius:999px;
  background: linear-gradient(180deg, rgba(217,195,138,.85), rgba(217,195,138,0));
  opacity:.85;
}
.about-copy p{
  margin:0;
  padding-left:22px;
  color: rgba(231,238,247,.82);
  font-size: 1.03rem;
  line-height: 1.82;
}
.about-copy strong{
  color: var(--text);
  font-weight: 700;
}
.about-signature{
  margin-top: 4px;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,.08);
  color: var(--text);
}
.about-side{
  display:flex;
}
.about-side-card{
  width:100%;
  padding:28px 26px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(420px 220px at 100% 0%, rgba(138,217,198,.12), transparent 58%),
    linear-gradient(180deg, rgba(18,27,38,.7), rgba(12,17,24,.92));
  box-shadow: 0 20px 60px rgba(0,0,0,.22);
}
.about-side-kicker{
  display:block;
  margin-bottom:18px;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.74rem;
}
.about-points{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:16px;
}
.about-points li{
  display:grid;
  gap:6px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.about-points li:last-child{
  border-bottom:none;
  padding-bottom:0;
}
.about-points strong{
  color:var(--text);
  font-size:1rem;
}
.about-points span{
  color:var(--muted);
  line-height:1.65;
}
@media (max-width: 940px){
  .about-split{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 740px){
  .about-premium{
    padding: 20px 18px;
    border-radius: 22px;
  }
  .about-premium::before{
    inset:16px auto 16px 14px;
  }
  .about-copy p{
    padding-left:18px;
    font-size: .99rem;
    line-height: 1.74;
  }
  .about-side-card{
    padding:22px 18px;
    border-radius:22px;
  }
}
/* --- Documents download section --- */
.docs-box{
  border:1px solid rgba(217,195,138,.18);
  background:
    radial-gradient(900px 340px at 10% 10%, rgba(217,195,138,.12), transparent 55%),
    radial-gradient(720px 280px at 90% 0%, rgba(138,217,198,.08), transparent 55%),
    rgba(18,27,38,.58);
  border-radius: var(--radius2);
  padding: 22px;
  box-shadow: var(--shadow);
}
.docs-kicker{
  display:inline-block;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.78rem;
  margin-bottom:10px;
}
.docs-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.doc-card{
  display:flex;
  gap:14px;
  align-items:flex-start;
  border:1px solid var(--border);
  background: rgba(255,255,255,.04);
  border-radius: 22px;
  padding: 18px;
  transition: transform .15s ease, border-color .2s ease, background .2s ease;
}
.doc-card:hover{
  transform: translateY(-2px);
  border-color: rgba(217,195,138,.28);
  background: rgba(255,255,255,.06);
}
.doc-icon{
  width:44px;
  height:44px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(217,195,138,.12);
  border:1px solid rgba(217,195,138,.2);
  font-size:1.15rem;
  flex:0 0 44px;
}
.doc-card b{
  display:block;
  margin-bottom:6px;
}
.doc-card small{
  color:var(--muted);
  display:block;
}
@media (max-width: 740px){
  .docs-grid{grid-template-columns: 1fr;}
}


.docs-download-section{
  padding-top: 18px;
}
.docs-box-large{
  padding: 28px;
}
.docs-head{
  display:grid;
  grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr);
  gap:18px;
  align-items:end;
}
.docs-head p{
  margin:0;
  color:var(--muted);
}
.docs-grid-large{
  gap:18px;
  margin-top:24px;
}
.doc-card-large{
  align-items:center;
  min-height: 220px;
  padding: 26px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.04));
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
}
.doc-card-large:hover{
  transform: translateY(-4px);
  border-color: rgba(217,195,138,.36);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.05));
}
.doc-icon-large{
  width:64px;
  height:64px;
  border-radius:20px;
  font-size:1.5rem;
  flex:0 0 64px;
}
.doc-copy{
  display:grid;
  gap:8px;
}
.doc-label{
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.74rem;
}
.doc-card-large b{
  font-size:1.35rem;
  margin-bottom:0;
}
.doc-card-large small{
  font-size:1rem;
  line-height:1.65;
}
.doc-action{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:6px;
  font-weight:700;
  color:var(--text);
}
.doc-action::after{
  content:"↓";
  font-size:1rem;
}
@media (max-width: 940px){
  .docs-head{grid-template-columns: 1fr;}
}
@media (max-width: 740px){
  .docs-box-large{padding:20px;}
  .doc-card-large{min-height:auto; padding:22px;}
  .doc-card-large b{font-size:1.2rem;}
}


/* --- Package equipment section --- */
.equipment-section{
  position:relative;
  padding-top:34px;
}
.equipment-section::before{
  content:"";
  position:absolute;
  inset:30px 0 auto;
  height:320px;
  pointer-events:none;
  background:
    radial-gradient(700px 240px at 12% 20%, rgba(217,195,138,.10), transparent 60%),
    radial-gradient(720px 260px at 88% 10%, rgba(138,217,198,.08), transparent 58%);
}
.equipment-head{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
  gap:24px;
  align-items:end;
  margin-bottom:24px;
}
.equipment-head h2{
  margin:0;
}
.equipment-head p{
  margin:0;
  max-width:680px;
}
.package-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.package-card{
  position:relative;
  overflow:hidden;
  min-height:100%;
  padding:24px 22px 22px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(20,29,40,.82), rgba(10,15,22,.92)),
    rgba(18,27,38,.62);
  box-shadow:0 20px 60px rgba(0,0,0,.22);
}
.package-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  opacity:.7;
}
.package-card::after{
  content:"";
  position:absolute;
  inset:auto -50px -80px auto;
  width:180px;
  height:180px;
  border-radius:50%;
  filter:blur(6px);
  opacity:.16;
}
.package-card-plus::after{ background:rgba(217,195,138,.95); }
.package-card-winter::after{ background:rgba(138,217,198,.85); }
.package-card-north::after{ background:rgba(164,184,255,.85); }
.package-top{
  position:relative;
  z-index:1;
  padding-bottom:18px;
  margin-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.package-badge{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(217,195,138,.22);
  background:rgba(217,195,138,.08);
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.68rem;
}
.package-top h3{
  margin:14px 0 10px;
  font-size:1.45rem;
}
.package-top p{
  margin:0;
  color:rgba(231,238,247,.78);
  line-height:1.72;
}
.package-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:12px;
}
.package-list li{
  position:relative;
  padding-left:30px;
  color:var(--text);
  line-height:1.6;
}
.package-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(217,195,138,.24);
  background:rgba(217,195,138,.10);
  color:var(--accent);
  font-size:.78rem;
  font-weight:800;
}
@media (max-width: 1080px){
  .package-grid{grid-template-columns:1fr;}
}
@media (max-width: 940px){
  .equipment-head{grid-template-columns:1fr;}
}
@media (max-width: 740px){
  .package-card{padding:20px 18px; border-radius:24px;}
  .package-top h3{font-size:1.3rem;}
}


/* --- Pricing quick facts: seasonal minimum stay --- */
.quickfacts-card .li:first-child{align-items:flex-start}
.season-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.season-pill{position:relative;overflow:hidden;padding:14px 14px 13px;border-radius:20px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));box-shadow:0 14px 38px rgba(0,0,0,.16)}
.season-pill::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent)}
.season-pill span{display:block;color:var(--muted);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.season-pill strong{display:block;font-size:1.15rem;line-height:1.2}
.season-pill-low{background:radial-gradient(180px 120px at 0% 0%, rgba(255,255,255,.05), transparent 72%),linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02))}
.season-pill-mid{border-color:rgba(138,217,198,.20);background:radial-gradient(180px 120px at 0% 0%, rgba(138,217,198,.12), transparent 72%),linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02))}
.season-pill-high{border-color:rgba(217,195,138,.24);background:radial-gradient(180px 120px at 0% 0%, rgba(217,195,138,.16), transparent 72%),linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.024))}

/* --- Availability calendar: premium booking visibility --- */
.availability-section{padding-top:12px}
.availability-shell{border:1px solid rgba(255,255,255,.12);border-radius:30px;padding:24px;background:radial-gradient(900px 380px at 15% 0%, rgba(217,195,138,.14), transparent 60%),radial-gradient(760px 320px at 100% 0%, rgba(138,217,198,.08), transparent 55%),linear-gradient(180deg, rgba(18,27,38,.70), rgba(10,14,20,.92));box-shadow:var(--shadow)}
.availability-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:22px;align-items:end;margin-bottom:18px}
.availability-head p{margin:0;max-width:560px}
.availability-topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.availability-legend{display:flex;flex-wrap:wrap;gap:10px}
.legend-chip{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);color:var(--text);font-size:.92rem}
.legend-dot{width:10px;height:10px;border-radius:999px;display:inline-block}
.legend-dot-pre{background:#8ad9c6;box-shadow:0 0 0 6px rgba(138,217,198,.16)}
.legend-dot-booked{background:#d9c38a;box-shadow:0 0 0 6px rgba(217,195,138,.16)}
.legend-dot-free{background:rgba(255,255,255,.7);box-shadow:0 0 0 6px rgba(255,255,255,.08)}
.availability-note{color:var(--muted);font-size:.92rem}
.availability-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);gap:18px;align-items:start}
.availability-calendar-wrap{border:1px solid rgba(255,255,255,.10);border-radius:24px;background:rgba(255,255,255,.03);padding:18px;overflow:hidden}
.availability-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}
.availability-toolbar-copy small{display:block;color:var(--muted);margin-top:4px}
.calendar-nav-btn{width:46px;height:46px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:var(--text);font-size:1.2rem;cursor:pointer;transition:.2s ease}
.calendar-nav-btn:hover:not(:disabled){background:rgba(255,255,255,.1);transform:translateY(-1px)}
.calendar-nav-btn:disabled{opacity:.35;cursor:not-allowed}
.availability-calendar-window{overflow:hidden}
.availability-calendar-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:0;transition:transform .45s ease}
.calendar-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}
.calendar-month{border:1px solid rgba(255,255,255,.10);border-radius:22px;padding:14px;background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));min-width:0}
.calendar-month-title{font-weight:700;margin-bottom:12px}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7, minmax(0,1fr));gap:8px}
.calendar-weekdays{margin-bottom:8px}
.calendar-weekdays span{color:var(--muted);font-size:.74rem;text-align:center;text-transform:uppercase;letter-spacing:.08em}
.calendar-day{height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:.92rem;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025)}
.calendar-day.is-empty{border:none;background:transparent}
.calendar-day.is-past{opacity:.34}
.calendar-day.is-tentative{border-color:rgba(138,217,198,.30);background:rgba(138,217,198,.18);box-shadow:inset 0 0 0 1px rgba(138,217,198,.08)}
.calendar-day.is-booked{border-color:rgba(217,195,138,.34);background:rgba(217,195,138,.18);box-shadow:inset 0 0 0 1px rgba(217,195,138,.08)}
.calendar-day.is-today{outline:1px solid rgba(255,255,255,.34);outline-offset:2px}
.availability-sidecard{border:1px solid rgba(255,255,255,.10);border-radius:24px;padding:20px;background:radial-gradient(240px 180px at 0% 0%, rgba(217,195,138,.12), transparent 70%),linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02))}
.availability-side-kicker{display:inline-block;margin-bottom:10px;color:var(--accent);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase}
.availability-sidecard h3{margin:0 0 14px;font-size:1.28rem}
.availability-points{display:grid;gap:10px}
.availability-point{border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px;background:rgba(255,255,255,.03)}
.availability-point b{display:block;margin-bottom:5px}
.availability-point small{color:var(--muted);line-height:1.65}
@media (max-width:1100px){.availability-layout,.availability-head{grid-template-columns:1fr}}
@media (max-width:940px){.season-highlights{grid-template-columns:1fr}.calendar-page{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day{height:34px;border-radius:10px;font-size:.88rem}}
@media (max-width:740px){.availability-shell,.availability-calendar-wrap,.availability-sidecard{padding:18px;border-radius:24px}.availability-toolbar{align-items:flex-start}.calendar-page{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.calendar-weekdays,.calendar-grid{gap:6px}}


/* SEO content */
.seo-content .container{max-width:1120px}
.seo-content h3{margin:0 0 10px; font-size:1.15rem}
.seo-grid{margin:20px 0 10px}
.seo-list{margin:0; padding-left:20px; color:var(--muted); display:grid; gap:8px}
.seo-content a{color:var(--accent); text-decoration:underline; text-underline-offset:3px}
.seo-content strong{color:var(--text)}


/* === Mobile: leave whole site mobile, but keep HERO closer to desktop === */
@media (max-width: 740px){
  .hero-full{
    min-height:min(92vh, 860px);
  }

  .hero-full .inner{
    padding:96px 0 34px;
  }

  .hero-logo{
    margin-bottom:28px;
  }

  .hero-logo img{
    width:320px;
    max-width:78%;
    margin-top:-36px;
    margin-bottom:8px;
  }

  .hero-full .hero-card{
    width:min(var(--max), calc(100% - 24px));
    padding:22px 18px;
    transform:scale(.92);
    transform-origin:top center;
  }

  .hero-full .hero-row{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
  }

  .hero-full h1{
    font-size:clamp(1.95rem, 6.2vw, 3.35rem);
    line-height:1.02;
  }

  .hero-full .lead{
    font-size:1rem;
    max-width:40ch;
  }

  .hero-full .actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
  }

  .hero-full .badges{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
  }

  .hero-specs{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }

  .scroll-indicator{
    margin-top:12px;
  }

  .sticky-cta{display:flex;}
}

@media (max-width: 560px){
  .hero-full .inner{
    padding:88px 0 28px;
  }

  .hero-logo img{
    width:280px;
    max-width:78%;
    margin-top:-24px;
  }

  .hero-full .hero-card{
    width:calc(100% - 18px);
    padding:20px 16px;
    transform:scale(.88);
  }

  .hero-full h1{
    font-size:clamp(1.75rem, 7vw, 2.55rem);
  }

  .hero-full .lead{
    font-size:.96rem;
  }

  .hero-specs{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

/* --- Mobile refinement: equipment packages in elegant 2-column grid --- */
@media (max-width: 740px){
  .package-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
  }

  .package-card{
    padding: 16px 14px 15px;
    border-radius: 20px;
    box-shadow: 0 14px 36px rgba(0,0,0,.20);
  }

  .package-top{
    padding-bottom: 12px;
    margin-bottom: 12px;
  }

  .package-badge{
    min-height: 28px;
    padding: 6px 10px;
    font-size: .58rem;
    letter-spacing: .1em;
  }

  .package-top h3{
    margin: 10px 0 8px;
    font-size: 1.02rem;
    line-height: 1.18;
  }

  .package-top p{
    font-size: .82rem;
    line-height: 1.45;
  }

  .package-list{
    gap: 8px;
  }

  .package-list li{
    padding-left: 24px;
    font-size: .8rem;
    line-height: 1.4;
  }

  .package-list li::before{
    width: 15px;
    height: 15px;
    top: 2px;
    font-size: .66rem;
  }

  .package-card:last-child{
    grid-column: 1 / -1;
  }
}

@media (max-width: 420px){
  .package-grid{
    gap: 10px;
  }

  .package-card{
    padding: 15px 12px 14px;
  }

  .package-top h3{
    font-size: .98rem;
  }

  .package-top p,
  .package-list li{
    font-size: .78rem;
  }
}

/* --- Mobile HERO: logo on top, full-width video directly underneath --- */
@media (max-width: 740px){
  .hero-full{
    --mobile-hero-top-pad: 18px;
    --mobile-logo-h: 116px;
    --mobile-logo-gap: 10px;
    --mobile-video-h: clamp(220px, 56vw, 330px);
    min-height: calc(var(--mobile-hero-top-pad) + var(--mobile-logo-h) + var(--mobile-logo-gap) + var(--mobile-video-h) + 360px);
    display:block;
    overflow:hidden;
    background:#070a0d;
  }

  .hero-full .bg{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    top: calc(var(--mobile-hero-top-pad) + var(--mobile-logo-h) + var(--mobile-logo-gap));
    width:100vw;
    height:var(--mobile-video-h);
    inset:auto auto auto 50%;
    border-radius:0;
  }

  .hero-full .inner{
    position:relative;
    z-index:2;
    padding: var(--mobile-hero-top-pad) 0 28px;
  }

  .hero-logo{
    position:relative;
    z-index:3;
    height:var(--mobile-logo-h);
    margin:0 0 calc(var(--mobile-logo-gap) + var(--mobile-video-h) - 18px);
    display:flex;
    align-items:flex-start;
    justify-content:center;
  }

  .hero-logo img{
    width:min(300px, 78vw);
    max-width:78vw;
    margin:0;
  }

  .hero-full video{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:none;
    filter: brightness(1.18) saturate(1.05) contrast(1.04);
  }

  .hero-cinematic video{
    animation:none;
  }

  .hero-full .bg::after{
    background:
      linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.28) 62%, rgba(0,0,0,.58));
  }

  .hero-full .hero-card{
    position:relative;
    z-index:4;
    width:min(var(--max), calc(100% - 20px));
    margin-top:-28px;
    padding:18px 14px;
    transform:none;
    border-radius:24px;
    background: rgba(11,15,20,.72);
    backdrop-filter: blur(12px);
  }
}

@media (max-width: 560px){
  .hero-full{
    --mobile-hero-top-pad: 14px;
    --mobile-logo-h: 102px;
    --mobile-logo-gap: 8px;
    --mobile-video-h: clamp(210px, 58vw, 290px);
    min-height: calc(var(--mobile-hero-top-pad) + var(--mobile-logo-h) + var(--mobile-logo-gap) + var(--mobile-video-h) + 330px);
  }

  .hero-logo{
    margin-bottom: calc(var(--mobile-logo-gap) + var(--mobile-video-h) - 14px);
  }

  .hero-logo img{
    width:min(270px, 80vw);
    max-width:80vw;
  }

  .hero-full .hero-card{
    width:calc(100% - 16px);
    margin-top:-22px;
    padding:16px 13px;
  }
}
@media (max-width: 740px){
  .hero-full{
    min-height: auto;
  }

  .hero-full .bg{
    height: 75vh;
  }

  .hero-full .hero-card{
    margin-top: -80px;
  }
}

/* =========================================================
   INCLUDED PREMIUM – MOBILE COMPACT FIX (FINAL)
   ========================================================= */

.included-premium{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:18px;
  margin-top:28px;
}

.inc-card{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  height:220px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  box-shadow: 0 18px 50px rgba(0,0,0,.4);
  transition: transform .35s ease, box-shadow .35s ease;
}

.inc-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform: scale(1.02);
  transition: transform .5s ease;
}

/* overlay premium */
.inc-card::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.35));
  opacity:.7;
  pointer-events:none;
}

/* hover */
.inc-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 28px 70px rgba(0,0,0,.6);
}

.inc-card:hover img{
  transform: scale(1.06);
}

/* =========================
   TABLET
   ========================= */
@media (max-width: 940px){
  .included-premium{
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap:10px;
    margin-top:18px;
  }

  .inc-card{
    height:150px;
    border-radius:16px;
  }
}

/* =========================
   MOBILE – KLUCZOWE
   ========================= */
@media (max-width: 520px){
  .included-premium{
    grid-template-columns: repeat(2, minmax(0,1fr)); /* blokada 1 kolumny */
    gap:8px;
  }

  .inc-card{
    height:120px;
    border-radius:14px;
  }
}

/* === Availability calendar mobile fix === */
@media (max-width: 740px){
  .availability-calendar-window{
    overflow:hidden;
  }

  .calendar-page{
    grid-template-columns: minmax(0, 1fr) !important;
    gap:10px;
  }

  .calendar-month{
    width:100%;
  }

  .calendar-weekdays,
  .calendar-grid{
    gap:6px;
  }

  .calendar-day{
    height:36px;
    font-size:.9rem;
  }
}


/* === Contact page premium contact box === */
    .contact-intro-note{
      margin: 0 0 22px;
      display:grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap:12px;
    }
    .contact-note-item{
      padding:14px 16px;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.10);
      background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
      box-shadow: 0 12px 34px rgba(0,0,0,.12);
    }
    .contact-note-item b{display:block; margin-bottom:4px;}
    .contact-note-item small{color:var(--muted); line-height:1.5;}

    .contact-premium-card{
      display:grid;
      gap:18px;
      padding:22px;
      border-radius:28px;
      border:1px solid rgba(217,195,138,.16);
      background:
        radial-gradient(220px 160px at 0% 0%, rgba(217,195,138,.14), transparent 72%),
        radial-gradient(180px 140px at 100% 0%, rgba(255,255,255,.05), transparent 70%),
        linear-gradient(180deg, rgba(20,29,40,.82), rgba(10,15,22,.92));
      box-shadow: 0 20px 60px rgba(0,0,0,.22);
    }
    .contact-premium-head{
      display:grid;
      gap:8px;
      padding-bottom:16px;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .contact-premium-head span{
      color:var(--accent);
      text-transform:uppercase;
      letter-spacing:.16em;
      font-size:.72rem;
    }
    .contact-premium-head b{
      display:block;
      margin:0;
      font-size:1.28rem;
    }
    .contact-premium-head p,
    .contact-response-note p,
    .pickup-card p{margin:0; color:var(--muted);}

    .contact-primary-actions{
      display:grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap:10px;
    }
    .contact-primary-actions .btn{width:100%; min-height:48px;}

    .contact-response-note,
    .pickup-card{
      padding:16px 18px;
      border-radius:22px;
      border:1px solid rgba(255,255,255,.10);
      background: rgba(255,255,255,.04);
    }
    .contact-response-note b,
    .pickup-card b{
      display:block;
      margin-bottom:6px;
    }
    .contact-mini-list{
      display:grid;
      gap:10px;
    }
    .contact-mini-item{
      display:flex;
      align-items:flex-start;
      gap:12px;
      padding:14px 16px;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.08);
      background: rgba(255,255,255,.03);
    }
    .contact-mini-item strong{display:block; margin-bottom:2px;}
    .contact-mini-item small{display:block; color:var(--muted);}
    .contact-mini-icon{
      width:38px;
      height:38px;
      flex:0 0 38px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:14px;
      background: rgba(217,195,138,.10);
      border:1px solid rgba(217,195,138,.22);
      color:var(--accent);
      font-size:1rem;
      font-weight:700;
    }
    .pickup-card .map{margin-top:14px;}
    .pickup-link{display:inline-flex; margin-top:10px; color:var(--text); font-weight:600;}

    @media (max-width: 940px){
      .contact-intro-note{grid-template-columns:1fr;}
    }
    @media (max-width: 740px){
      .contact-primary-actions{grid-template-columns:1fr;}
      .contact-premium-card{padding:18px;}
    }

.availability-layout--single{
  grid-template-columns:minmax(0,1fr);
}


/* --- Contact form date picker uplift --- */
.date-grid{
  align-items:start;
}
.date-input-wrap{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 10px 10px 14px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.14);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.date-input-wrap:focus-within{
  border-color: rgba(217,195,138,.55);
  box-shadow: 0 0 0 4px rgba(217,195,138,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.04));
}
.date-input-icon{
  flex:0 0 auto;
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background: rgba(217,195,138,.12);
  font-size:1rem;
}
.date-input{
  border:none;
  background:transparent;
  padding:8px 4px;
  min-height:44px;
  flex:1 1 auto;
  box-shadow:none;
  color:var(--text);
  font-weight:600;
}
.date-input:focus{
  outline:none;
}
.date-input::-webkit-calendar-picker-indicator{
  opacity:0;
  width:0;
  margin:0;
}
.date-picker-btn{
  flex:0 0 auto;
  min-height:44px;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color:var(--text);
  font-weight:700;
  cursor:pointer;
  transition:transform .15s ease, background .2s ease, border-color .2s ease;
}
.date-picker-btn:hover{
  transform:translateY(-1px);
  background: rgba(255,255,255,.09);
  border-color: rgba(255,255,255,.22);
}
.field-hint{
  color:var(--muted);
  font-size:.84rem;
  line-height:1.45;
}
@media (max-width: 740px){
  .date-input-wrap{
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
  }
  .date-input{
    flex:1 1 calc(100% - 52px);
    min-width:0;
  }
  .date-picker-btn{
    width:100%;
    justify-content:center;
  }
}
.contact-stack{
  grid-template-columns: 1fr;
}

.contact-stack .card{
  max-width: 720px;
  margin: 0 auto;
}

/* --- Back to top --- */
.to-top{
  --to-top-size: 54px;
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: var(--to-top-size);
  height: var(--to-top-size);
  padding: 0;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  background: rgba(15,22,32,.52);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 16px 40px rgba(0,0,0,.34);
  color: var(--text);
  cursor: pointer;
  opacity: 0;
  transform: translateY(10px) scale(.96);
  pointer-events: none;
  transition: opacity .24s ease, transform .24s ease, background .24s ease, border-color .24s ease, box-shadow .24s ease;
  z-index: 58;
}
.to-top.show{
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
.to-top:hover{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.24);
  box-shadow: 0 18px 46px rgba(0,0,0,.4);
}
.to-top:focus-visible{
  outline: none;
  border-color: rgba(217,195,138,.58);
  box-shadow: 0 0 0 4px rgba(217,195,138,.14), 0 18px 46px rgba(0,0,0,.4);
}
.to-top__progress,
.to-top__icon{
  position: absolute;
  inset: 0;
}
.to-top__progress{
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.to-top__track,
.to-top__bar{
  fill: none;
  stroke-width: 2;
}
.to-top__track{
  stroke: rgba(255,255,255,.12);
}
.to-top__bar{
  stroke: var(--accent);
  stroke-linecap: round;
  transition: stroke-dashoffset .12s linear;
}
.to-top__icon{
  display: grid;
  place-items: center;
}
.to-top__icon svg{
  width: 20px;
  height: 20px;
  filter: drop-shadow(0 2px 10px rgba(0,0,0,.22));
}
@media (max-width: 740px){
  .to-top{
    right: 14px;
    bottom: 88px;
    --to-top-size: 50px;
    border-radius: 16px;
  }
}
