/* =========================================================
   caravanoflore.com — arkusz stylow
   System wizualny wg DESIGN.md (kremowy papier + marker)
   ========================================================= */

/* ---------- 1. Tokeny ---------- */
:root{
  /* kolory */
  --color-cream-paper:#fdfbf9;
  --color-charcoal:#171717;
  --color-cocoa-ink:#2b1a07;
  --color-true-black:#000000;
  --color-dew-drop:#f7efe9;
  --color-marker-orange:#ff6f1e;
  --color-burnt-sienna:#ce500a;
  --color-sky-sticker:#3b82f6;
  --color-bubblegum-sticker:#ff66cf;
  --color-sprout-sticker:#22c55e;
  --color-shadow-mist:#bebcbb;

  /* typografia */
  --font-gelica:"Fraunces","Recoleta","DM Serif Display",Georgia,serif;
  --font-geist:"Inter","Söhne","General Sans",system-ui,-apple-system,"Segoe UI",sans-serif;

  --text-caption:1rem;          /* 16 */
  --text-body-sm:1.125rem;      /* 18 */
  --text-body:1.25rem;          /* 20 */
  --text-subheading:1.5rem;     /* 24 */
  --text-heading-sm:1.75rem;    /* 28 */
  --text-heading:2.25rem;       /* 36 */
  --text-heading-lg:2.875rem;   /* 46 */
  --text-display:6.5rem;        /* 104 */

  /* odstepy */
  --spacing-4:4px;   --spacing-8:8px;   --spacing-12:12px; --spacing-16:16px;
  --spacing-20:20px; --spacing-24:24px; --spacing-28:28px; --spacing-32:32px;
  --spacing-40:40px; --spacing-48:48px; --spacing-64:64px; --spacing-116:116px;

  /* ksztalty */
  --radius-card:12px;
  --radius-pill:20px;
  --radius-input:8px;
  --radius-tag:20px;
  --radius-footer:56px;

  /* cienie */
  --shadow-lg:rgba(0,0,0,.06) 0 2px 20px 0;
  --shadow-subtle:rgba(0,0,0,.25) 0 1px 2px 0;

  /* uklad */
  --page-max:1200px;
  --gutter:clamp(20px,5vw,40px);
  --section-y:clamp(64px,9vw,116px);
  --border-ink:1.5px solid var(--color-charcoal);
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--color-cream-paper);
  color:var(--color-charcoal);
  font-family:var(--font-geist);
  font-size:var(--text-body-sm);
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;display:block;}
img{height:auto;}
h1,h2,h3,h4,p,figure,ul,ol,dl{margin:0;}
ul,ol{padding:0;list-style:none;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;color:inherit;}
button{cursor:pointer;background:none;border:none;padding:0;}
table{border-collapse:collapse;width:100%;}
address{font-style:normal;}

:focus-visible{outline:3px solid var(--color-sprout-sticker);outline-offset:3px;border-radius:4px;}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--color-cream-paper);border:var(--border-ink);
  padding:10px 20px;border-radius:var(--radius-pill);font-family:var(--font-gelica);
}
.skip-link:focus{left:16px;top:16px;}

/* ---------- 3. Typografia ---------- */
.display,.h-lg,.h,.h-sm,h1,h2,h3,h4{
  font-family:var(--font-gelica);
  font-weight:600;
  color:var(--color-cocoa-ink);
  text-transform:lowercase;
  letter-spacing:normal;
  font-variation-settings:"SOFT" 60,"WONK" 0;
}
.display{
  font-size:clamp(2.35rem,5.9vw,5.25rem);
  line-height:1.08;
  margin-bottom:var(--spacing-24);
}
.h-lg{font-size:clamp(1.9rem,4.6vw,var(--text-heading-lg));line-height:1.15;}
.h{font-size:clamp(1.6rem,3.4vw,var(--text-heading));line-height:1.2;}
.h-sm{font-size:clamp(1.3rem,2.6vw,var(--text-heading-sm));line-height:1.35;}

.lead{
  font-family:var(--font-gelica);font-weight:400;
  font-size:clamp(1.05rem,2.1vw,var(--text-body));
  line-height:1.5;color:var(--color-cocoa-ink);max-width:52ch;
}
.section__lead{
  font-size:clamp(1rem,1.8vw,var(--text-body-sm));
  line-height:1.6;color:#4a3a2b;max-width:60ch;
}
.fineprint{
  font-family:var(--font-gelica);font-weight:400;
  font-size:var(--text-caption);color:var(--color-cocoa-ink);opacity:.8;
  margin-top:var(--spacing-8);
}
.fineprint--center{text-align:center;margin-top:var(--spacing-32);}
.fineprint--light{color:var(--color-cream-paper);opacity:.85;}

.marker{
  color:var(--color-marker-orange);
  position:relative;white-space:nowrap;
}
.marker::after{
  content:"";position:absolute;left:-2px;right:-2px;bottom:-.08em;height:.14em;
  background:var(--color-marker-orange);
  border-radius:60% 40% 55% 45%/100% 100% 100% 100%;
  transform:rotate(-.6deg);
}
.caption{
  font-family:var(--font-gelica);font-weight:400;
  font-size:clamp(1rem,1.7vw,var(--text-subheading));
  color:var(--color-marker-orange);line-height:1.3;
}
.tag{
  display:inline-block;
  font-family:var(--font-geist);font-weight:500;
  font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--color-burnt-sienna);
  border:1.5px solid var(--color-sprout-sticker);
  border-radius:var(--radius-tag);
  padding:6px 16px;margin-bottom:var(--spacing-20);
}
.tag--onorange{color:var(--color-charcoal);border-color:var(--color-charcoal);background:rgba(253,251,249,.35);}

/* ---------- 4. Uklad ---------- */
.container{
  width:100%;max-width:var(--page-max);
  margin-inline:auto;padding-inline:var(--gutter);
}
.section{padding-block:var(--section-y);position:relative;}
.section--tint{background:var(--color-dew-drop);}
.section__head{margin-bottom:clamp(32px,5vw,var(--spacing-64));}
.section__head .h-lg{margin-bottom:var(--spacing-20);}
.section__head--row{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:var(--spacing-40);align-items:end;
}
.grid{display:grid;gap:clamp(16px,2.4vw,var(--spacing-28));}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));}

/* ---------- 5. Przyciski ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-gelica);font-weight:500;font-size:var(--text-caption);
  text-transform:lowercase;white-space:nowrap;
  padding:11px 28px;border-radius:var(--radius-pill);
  border:var(--border-ink);background:var(--color-cream-paper);
  color:var(--color-charcoal);box-shadow:var(--shadow-subtle);
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:rgba(0,0,0,.25) 0 3px 6px 0;}
.btn:active{transform:translateY(0);}
.btn--strong{border-width:2px;}
.btn--strong:hover{background:var(--color-dew-drop);}
.btn--ghost{background:transparent;box-shadow:none;border-color:rgba(23,23,23,.35);}
.btn--ghost:hover{border-color:var(--color-charcoal);box-shadow:var(--shadow-subtle);}
.btn--ghost-light{border-color:rgba(23,23,23,.5);}

/* ---------- 6. Pasek kontaktowy ---------- */
.topbar{
  background:var(--color-cocoa-ink);color:var(--color-cream-paper);
  font-size:.85rem;
}
.topbar__inner{
  display:flex;flex-wrap:wrap;gap:8px var(--spacing-28);
  align-items:center;justify-content:center;
  padding-block:9px;
}
.topbar__item{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}
.topbar__item svg{width:15px;height:15px;fill:none;stroke:var(--color-marker-orange);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.topbar__item--muted{opacity:.8;}
.topbar a:hover{color:var(--color-marker-orange);}

/* ---------- 7. Naglowek ---------- */
.header{
  position:sticky;top:0;z-index:100;
  background:rgba(253,251,249,.92);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-bottom:1.5px solid rgba(23,23,23,.12);
  transition:box-shadow .2s ease,border-color .2s ease;
}
.header.is-stuck{box-shadow:var(--shadow-lg);border-color:rgba(23,23,23,.2);}
.header__inner{
  display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-16);
  padding-block:var(--spacing-12);
}
.brand{display:inline-flex;align-items:center;gap:10px;}
.brand__mark{width:34px;height:34px;flex:none;}
.brand__mark svg{width:100%;height:100%;fill:none;stroke:var(--color-charcoal);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;}
.brand__mark .fill-orange{fill:var(--color-marker-orange);}
.brand__mark .fill-cream{fill:var(--color-dew-drop);}
.brand__mark .wave{stroke:var(--color-sky-sticker);}
.brand__mark--footer svg{stroke:var(--color-charcoal);}
.brand__mark--footer .fill-cream{fill:var(--color-cream-paper);}
.brand__mark--footer .wave-dark{stroke:var(--color-charcoal);}
.brand__text{
  font-family:var(--font-gelica);font-weight:600;
  font-size:1.3rem;color:var(--color-cocoa-ink);letter-spacing:-.01em;
}
.brand__dot{color:var(--color-marker-orange);}
.brand__dot--footer{color:var(--color-cream-paper);}

.nav{display:flex;align-items:center;gap:var(--spacing-24);}
.nav a{
  font-size:.98rem;font-weight:500;color:var(--color-charcoal);
  position:relative;padding-block:4px;
}
.nav a:not(.btn)::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:var(--color-marker-orange);transition:right .22s ease;
}
.nav a:not(.btn):hover::after,.nav a:not(.btn).is-active::after{right:0;}
.nav a:not(.btn).is-active{color:var(--color-burnt-sienna);}

.burger{display:none;width:44px;height:44px;border:var(--border-ink);border-radius:var(--radius-pill);position:relative;background:var(--color-cream-paper);box-shadow:var(--shadow-subtle);}
.burger span{
  position:absolute;left:12px;right:12px;height:2px;background:var(--color-charcoal);
  border-radius:2px;transition:transform .25s ease,opacity .2s ease;
}
.burger span:nth-child(1){top:15px;}
.burger span:nth-child(2){top:21px;}
.burger span:nth-child(3){top:27px;}
.burger.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.burger.is-open span:nth-child(2){opacity:0;}
.burger.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* ---------- 8. Hero ---------- */
.hero{padding-top:clamp(40px,6vw,var(--spacing-64));overflow:hidden;}
.hero__inner{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(32px,5vw,var(--spacing-64));align-items:center;
}
.hero__copy{max-width:640px;}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--spacing-12);margin-top:var(--spacing-28);}
.hero__stats{
  display:flex;flex-wrap:wrap;gap:var(--spacing-32);
  margin-top:clamp(32px,4vw,var(--spacing-48));
  padding-top:var(--spacing-24);border-top:1.5px dashed rgba(23,23,23,.25);
}
.hero__stats li{display:flex;flex-direction:column;gap:2px;}
.hero__stats strong{
  font-family:var(--font-gelica);font-weight:600;
  font-size:clamp(1.7rem,3.4vw,var(--text-heading));
  color:var(--color-burnt-sienna);line-height:1.1;
}
.hero__stats span{font-size:.92rem;color:#4a3a2b;max-width:16ch;}

.hero__art{position:relative;}
.hero__art img{width:100%;border-radius:var(--radius-card);}
.caption--hero{
  position:absolute;left:2%;bottom:-26px;transform:rotate(-3deg);
  background:var(--color-cream-paper);padding:4px 10px;border-radius:var(--radius-input);
}
.arrow{position:absolute;fill:none;stroke:var(--color-charcoal);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.arrow--hero{width:110px;height:82px;left:32%;bottom:-4px;transform:rotate(8deg);opacity:.75;}
.sticker{position:absolute;filter:drop-shadow(rgba(0,0,0,.06) 0 2px 6px);}
.sticker svg{width:100%;height:100%;fill:none;stroke:var(--color-charcoal);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;}
.sticker .fill-orange{fill:var(--color-marker-orange);}
.sticker .fill-pink{fill:var(--color-bubblegum-sticker);}
.sticker .dot{fill:var(--color-charcoal);stroke:none;}
.sticker--sun{width:64px;height:64px;top:-22px;left:-18px;transform:rotate(-12deg);}
.sticker--heart{width:60px;height:60px;bottom:8%;right:-16px;transform:rotate(11deg);}
@media (prefers-reduced-motion:no-preference){
  .sticker--sun{animation:float 6s ease-in-out infinite;}
  .sticker--heart{animation:float 7.5s ease-in-out infinite .8s;}
}
@keyframes float{
  0%,100%{transform:translateY(0) rotate(-12deg);}
  50%{transform:translateY(-10px) rotate(-6deg);}
}

/* pasek przewijany */
.marquee{
  margin-top:clamp(48px,7vw,var(--spacing-116));
  border-top:1.5px solid var(--color-charcoal);
  border-bottom:1.5px solid var(--color-charcoal);
  background:var(--color-dew-drop);
  overflow:hidden;padding-block:14px;
}
.marquee__track{
  display:flex;align-items:center;gap:var(--spacing-24);width:max-content;
  animation:scroll-x 38s linear infinite;
}
.marquee__track span{
  font-family:var(--font-gelica);font-weight:500;
  font-size:clamp(1rem,2vw,var(--text-subheading));
  color:var(--color-cocoa-ink);text-transform:lowercase;
}
.marquee__track i{color:var(--color-marker-orange);font-style:normal;font-size:1rem;}
@keyframes scroll-x{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.marquee__track{animation:none;}}

/* ---------- 9. Karty ogolne ---------- */
.card{
  background:var(--color-cream-paper);
  border:var(--border-ink);border-radius:var(--radius-card);
  padding:var(--spacing-32);box-shadow:var(--shadow-lg);
  transition:transform .22s ease,box-shadow .22s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:rgba(0,0,0,.1) 0 8px 26px 0;}

/* ---------- 10. O nas ---------- */
.about{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  gap:clamp(24px,3.5vw,var(--spacing-40));align-items:start;
}
.about__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-20);}
.card--why{position:relative;padding-top:var(--spacing-40);}
.card__num{
  font-family:var(--font-gelica);font-weight:600;font-size:var(--text-caption);
  color:var(--color-marker-orange);
  position:absolute;top:var(--spacing-16);left:var(--spacing-32);
}
.card--why h3{font-size:var(--text-subheading);margin-bottom:10px;line-height:1.3;}
.card--why p{font-size:1rem;color:#4a3a2b;line-height:1.6;}

.about__panel{
  background:var(--color-dew-drop);
  border:var(--border-ink);border-radius:var(--radius-card);
  padding:var(--spacing-28);box-shadow:var(--shadow-lg);position:relative;
}
.section--tint .about__panel{background:var(--color-cream-paper);}
.about__panel .h-sm{margin-bottom:var(--spacing-20);}
.compare{font-size:.94rem;}
.compare th,.compare td{padding:11px 8px;text-align:left;border-bottom:1px solid rgba(23,23,23,.15);vertical-align:top;}
.compare thead th{
  font-family:var(--font-geist);font-weight:500;font-size:.76rem;
  text-transform:uppercase;letter-spacing:.06em;color:#6b5a4a;border-bottom:1.5px solid var(--color-charcoal);
}
.compare tbody th{font-family:var(--font-geist);font-weight:500;color:var(--color-charcoal);text-transform:none;font-size:.94rem;}
.compare td:last-child{color:var(--color-burnt-sienna);font-weight:500;}
.compare tbody tr:last-child th,.compare tbody tr:last-child td{border-bottom:none;}
.caption--panel{display:block;margin-top:var(--spacing-16);transform:rotate(-1.2deg);font-size:1.05rem;}

/* ---------- 11. Uslugi ---------- */
.service{
  background:var(--color-cream-paper);
  border:var(--border-ink);border-radius:var(--radius-card);
  padding:var(--spacing-28);box-shadow:var(--shadow-lg);
  display:flex;flex-direction:column;gap:12px;
  transition:transform .22s ease,box-shadow .22s ease;
}
.service:hover{transform:translateY(-4px);box-shadow:rgba(0,0,0,.1) 0 8px 26px 0;}
.service__icon{
  width:56px;height:56px;flex:none;
  border:var(--border-ink);border-radius:var(--radius-pill);
  display:grid;place-items:center;background:var(--color-dew-drop);
}
.service__icon svg{width:30px;height:30px;fill:none;stroke:var(--color-burnt-sienna);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.service h3{font-size:var(--text-subheading);line-height:1.3;}
.service p{font-size:1rem;color:#4a3a2b;line-height:1.6;}
.ticks{display:grid;gap:8px;margin-top:auto;padding-top:var(--spacing-8);}
.ticks li{position:relative;padding-left:26px;font-size:.94rem;color:var(--color-charcoal);}
.ticks li::before{
  content:"";position:absolute;left:0;top:.45em;width:13px;height:8px;
  border-left:2.2px solid var(--color-sprout-sticker);
  border-bottom:2.2px solid var(--color-sprout-sticker);
  transform:rotate(-45deg);
}

.benefits{
  margin-top:clamp(32px,4vw,var(--spacing-48));
  border:var(--border-ink);border-radius:var(--radius-card);
  background:var(--color-cream-paper);padding:var(--spacing-32);box-shadow:var(--shadow-lg);
}
.benefits .h-sm{margin-bottom:var(--spacing-24);}
.benefits__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:var(--spacing-24);}
.benefits__list li{
  display:flex;flex-direction:column;gap:6px;
  padding-left:var(--spacing-16);border-left:3px solid var(--color-marker-orange);
}
.benefits__list strong{font-family:var(--font-gelica);font-weight:600;font-size:1.18rem;color:var(--color-cocoa-ink);text-transform:lowercase;}
.benefits__list span{font-size:.94rem;color:#4a3a2b;line-height:1.55;}

/* ---------- 12. Kierunki: slider ---------- */
.slider{position:relative;}
.slider__viewport{overflow:hidden;margin-inline:-4px;padding:4px;}
.slider__track{
  display:flex;gap:var(--spacing-24);
  transition:transform .55s cubic-bezier(.4,.05,.2,1);
  will-change:transform;
}
.tourcard{
  flex:0 0 calc((100% - var(--spacing-24) * 2) / 3);
  background:var(--color-cream-paper);
  border:var(--border-ink);border-radius:var(--radius-card);
  overflow:hidden;box-shadow:var(--shadow-lg);
  display:flex;flex-direction:column;
  transition:transform .25s ease,box-shadow .25s ease;
}
.tourcard:hover{transform:translateY(-6px);box-shadow:rgba(0,0,0,.12) 0 10px 30px 0;}
.tourcard__media{overflow:hidden;border-bottom:var(--border-ink);background:var(--color-dew-drop);}
.tourcard__media img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s cubic-bezier(.2,.6,.3,1);}
.tourcard:hover .tourcard__media img{transform:scale(1.06) rotate(-.6deg);}
.tourcard__body{padding:var(--spacing-24);display:flex;flex-direction:column;gap:10px;flex:1;}
.badge{
  align-self:flex-start;
  font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;font-weight:500;
  color:var(--color-burnt-sienna);border:1.5px solid var(--color-burnt-sienna);
  border-radius:var(--radius-tag);padding:4px 12px;
}
.tourcard h3{font-size:var(--text-subheading);line-height:1.25;}
.tourcard p{font-size:.98rem;color:#4a3a2b;line-height:1.6;}
.tourcard__meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;
  margin-top:auto;padding-top:var(--spacing-16);border-top:1px dashed rgba(23,23,23,.25);
  font-size:.9rem;color:#6b5a4a;
}
.tourcard__meta .price{
  margin-left:auto;font-family:var(--font-gelica);font-weight:600;
  font-size:1.12rem;color:var(--color-marker-orange);text-transform:lowercase;
}
.slider__controls{
  display:flex;align-items:center;justify-content:center;gap:var(--spacing-20);
  margin-top:var(--spacing-32);
}
.slider__btn{
  width:52px;height:52px;border:var(--border-ink);border-radius:var(--radius-pill);
  background:var(--color-cream-paper);box-shadow:var(--shadow-subtle);
  display:grid;place-items:center;transition:transform .18s ease,background-color .18s ease;
}
.slider__btn svg{width:22px;height:22px;fill:none;stroke:var(--color-charcoal);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.slider__btn:hover{background:var(--color-dew-drop);transform:translateY(-2px);}
.slider__btn[disabled]{opacity:.35;cursor:not-allowed;transform:none;}
.slider__dots{display:flex;gap:10px;align-items:center;}
.slider__dot{
  width:11px;height:11px;border-radius:50%;
  border:1.5px solid var(--color-charcoal);background:transparent;
  transition:background-color .2s ease,transform .2s ease;
}
.slider__dot.is-active{background:var(--color-marker-orange);transform:scale(1.25);}

/* ---------- 13. Etapy ---------- */
.steps{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:var(--spacing-24);counter-reset:step;
}
.step{
  position:relative;background:var(--color-cream-paper);
  border:var(--border-ink);border-radius:var(--radius-card);
  padding:var(--spacing-28) var(--spacing-24) var(--spacing-24);
  box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--spacing-16);
}
.step::after{
  content:"";position:absolute;top:50%;right:-18px;width:18px;height:2px;
  background:repeating-linear-gradient(90deg,var(--color-marker-orange) 0 6px,transparent 6px 11px);
}
.step:last-child::after{display:none;}
.step__num{
  width:46px;height:46px;flex:none;border-radius:50%;
  border:2px solid var(--color-charcoal);background:var(--color-marker-orange);
  color:var(--color-cream-paper);display:grid;place-items:center;
  font-family:var(--font-gelica);font-weight:600;font-size:1.25rem;
  box-shadow:var(--shadow-subtle);
}
.step h3{font-size:var(--text-subheading);margin-bottom:8px;line-height:1.3;}
.step p{font-size:.98rem;color:#4a3a2b;line-height:1.6;}
.step__time{
  display:inline-block;margin-top:var(--spacing-12);
  font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;font-weight:500;
  color:var(--color-burnt-sienna);border:1.5px solid var(--color-sprout-sticker);
  border-radius:var(--radius-tag);padding:4px 12px;
}

/* ---------- 14. Uslugi dodatkowe ---------- */
.extra{
  background:var(--color-cream-paper);border:var(--border-ink);
  border-radius:var(--radius-card);padding:var(--spacing-28);
  box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:10px;
  transition:transform .22s ease,box-shadow .22s ease;
}
.extra:hover{transform:translateY(-4px);box-shadow:rgba(0,0,0,.1) 0 8px 26px 0;}
.extra h3{font-size:var(--text-subheading);line-height:1.3;}
.extra p{font-size:1rem;color:#4a3a2b;line-height:1.6;}
.extra__price{
  margin-top:auto;padding-top:var(--spacing-16);
  font-family:var(--font-gelica);font-weight:600;font-size:1.1rem;
  color:var(--color-marker-orange);text-transform:lowercase;
  border-top:1px dashed rgba(23,23,23,.25);
}

/* ---------- 15. Znizki ---------- */
.discount{
  position:relative;background:var(--color-cream-paper);
  border:var(--border-ink);border-radius:var(--radius-card);
  padding:var(--spacing-32) var(--spacing-28) var(--spacing-28);
  box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:10px;
  transition:transform .22s ease,box-shadow .22s ease;
}
.discount:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:rgba(0,0,0,.1) 0 8px 26px 0;}
.discount__value{
  align-self:flex-start;
  font-family:var(--font-gelica);font-weight:600;
  font-size:clamp(1.7rem,3vw,var(--text-heading));line-height:1;
  color:var(--color-cream-paper);background:var(--color-marker-orange);
  border:2px solid var(--color-charcoal);border-radius:var(--radius-pill);
  padding:8px 20px;box-shadow:var(--shadow-subtle);
  transform:rotate(-2deg);margin-bottom:6px;
}
.discount h3{font-size:var(--text-subheading);line-height:1.3;}
.discount p{font-size:.98rem;color:#4a3a2b;line-height:1.6;}
.discount--kids .discount__value{background:var(--color-sprout-sticker);}

/* ---------- 16. Rekrutacja ---------- */
.join{
  background:var(--color-marker-orange);
  border:2px solid var(--color-charcoal);
  border-radius:var(--radius-footer) var(--radius-card) var(--radius-footer) var(--radius-card);
  padding:clamp(28px,4.5vw,var(--spacing-64));
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  gap:clamp(28px,4vw,var(--spacing-48));align-items:center;
  box-shadow:var(--shadow-lg);
}
.join__copy .h-lg,.join__copy h2{color:var(--color-charcoal);margin-bottom:var(--spacing-20);}
.join__copy > p{font-family:var(--font-gelica);font-size:clamp(1rem,1.9vw,var(--text-body));line-height:1.5;color:var(--color-charcoal);max-width:56ch;}
.join__roles{display:grid;gap:10px;margin-top:var(--spacing-28);}
.join__roles li{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;
  background:rgba(253,251,249,.55);border:1.5px solid var(--color-charcoal);
  border-radius:var(--radius-pill);padding:10px 20px;
}
.join__roles strong{font-family:var(--font-gelica);font-weight:600;text-transform:lowercase;font-size:1.1rem;color:var(--color-cocoa-ink);}
.join__roles span{font-size:.9rem;color:#3b2a17;}
.join__actions{display:flex;flex-wrap:wrap;gap:var(--spacing-12);margin-top:var(--spacing-28);}
.join__actions .fineprint{width:100%;}
.join__perks{display:grid;gap:var(--spacing-12);}
.join__perks li{
  background:var(--color-cream-paper);border:1.5px solid var(--color-charcoal);
  border-radius:var(--radius-card);padding:var(--spacing-20) var(--spacing-24);
  display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow-subtle);
  transform:rotate(-.6deg);
}
.join__perks li:nth-child(even){transform:rotate(.7deg);}
.join__perks strong{font-family:var(--font-gelica);font-weight:600;font-size:1.1rem;color:var(--color-cocoa-ink);text-transform:lowercase;}
.join__perks span{font-size:.92rem;color:#4a3a2b;}
.join .fineprint--light{color:var(--color-charcoal);opacity:.75;}

/* ---------- 17. Kontakt i formularz ---------- */
.contact{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  gap:clamp(24px,3.5vw,var(--spacing-40));align-items:start;
}
.form{
  background:var(--color-cream-paper);border:var(--border-ink);
  border-radius:var(--radius-card);padding:clamp(20px,3vw,var(--spacing-40));
  box-shadow:var(--shadow-lg);display:grid;gap:var(--spacing-20);
}
.form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-20);}
.field{display:flex;flex-direction:column;gap:7px;min-width:0;}
.field label{
  font-family:var(--font-gelica);font-weight:500;font-size:var(--text-caption);
  color:var(--color-cocoa-ink);text-transform:lowercase;
}
.field input,.field select,.field textarea{
  width:100%;background:var(--color-cream-paper);
  border:1.5px solid rgba(23,23,23,.45);border-radius:var(--radius-input);
  padding:12px 14px;font-size:1rem;font-family:var(--font-geist);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.field textarea{resize:vertical;min-height:120px;}
.field select{appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23171717' stroke-width='2' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:40px;}
.field input::placeholder,.field textarea::placeholder{color:#a3958a;}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--color-charcoal);
  box-shadow:0 0 0 3px rgba(255,111,30,.18);
}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-color:var(--color-burnt-sienna);}
.field__error{font-size:.85rem;color:var(--color-burnt-sienna);min-height:0;}
.field__error:empty{display:none;}
.check{display:flex;align-items:flex-start;gap:12px;font-size:.94rem;color:#4a3a2b;cursor:pointer;}
.check input{
  appearance:none;width:22px;height:22px;flex:none;margin-top:1px;
  border:1.5px solid var(--color-charcoal);border-radius:6px;background:var(--color-cream-paper);
  display:grid;place-items:center;transition:background-color .15s ease;
}
.check input::after{
  content:"";width:11px;height:6px;border-left:2.4px solid var(--color-cream-paper);
  border-bottom:2.4px solid var(--color-cream-paper);transform:rotate(-45deg) scale(0);
  transition:transform .15s ease;
}
.check input:checked{background:var(--color-marker-orange);}
.check input:checked::after{transform:rotate(-45deg) scale(1);}
.form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-16) var(--spacing-24);}
.form__foot .fineprint{margin-top:0;max-width:34ch;}
.form__status{
  font-family:var(--font-gelica);font-size:1rem;padding:14px 18px;
  border-radius:var(--radius-input);border:1.5px dashed var(--color-sprout-sticker);
  color:var(--color-cocoa-ink);background:rgba(34,197,94,.08);display:none;
}
.form__status.is-visible{display:block;}
.form__status.is-error{border-color:var(--color-burnt-sienna);background:rgba(206,80,10,.08);color:var(--color-burnt-sienna);}

.contact__side{
  background:var(--color-cream-paper);border:var(--border-ink);
  border-radius:var(--radius-card);padding:var(--spacing-28);box-shadow:var(--shadow-lg);
}
.contact__side .h-sm{margin-bottom:var(--spacing-20);}
.contact__list{display:grid;gap:var(--spacing-20);}
.contact__list li{display:flex;flex-direction:column;gap:3px;}
.contact__label{font-size:.76rem;letter-spacing:.07em;text-transform:uppercase;color:#6b5a4a;}
.contact__list a,.contact__plain{
  font-family:var(--font-gelica);font-size:1.06rem;color:var(--color-cocoa-ink);
  line-height:1.45;word-break:break-word;
}
.contact__list a{border-bottom:1.5px solid rgba(255,111,30,.5);align-self:flex-start;transition:border-color .18s ease,color .18s ease;}
.contact__list a:hover{color:var(--color-burnt-sienna);border-color:var(--color-burnt-sienna);}

/* ---------- 18. Stopka ---------- */
.footer{
  background:var(--color-marker-orange);color:var(--color-charcoal);
  border-radius:var(--radius-footer) var(--radius-card) 0 0;
  margin-top:clamp(48px,7vw,var(--spacing-116));
  border-top:2px solid var(--color-charcoal);
}
.footer__inner{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.62fr) minmax(0,1.02fr) minmax(0,1.16fr) minmax(0,.9fr);
  gap:clamp(24px,3.5vw,var(--spacing-48));
  padding-block:clamp(40px,5vw,var(--spacing-64));
}
.footer__brand p{font-size:.98rem;line-height:1.6;margin-top:var(--spacing-16);max-width:34ch;color:#3b2a17;}
.brand--footer .brand__text{color:var(--color-cocoa-ink);font-size:1.35rem;}
.footer h4{
  font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;
  font-family:var(--font-geist);font-weight:500;color:#3b2a17;
  margin-bottom:var(--spacing-16);
}
.footer__nav,.footer__contact,.footer__owner{display:flex;flex-direction:column;gap:9px;}
.footer__nav a{font-size:.98rem;}
.footer__nav a,.footer__contact a{
  font-family:var(--font-gelica);font-size:1.02rem;color:var(--color-charcoal);
  text-transform:lowercase;align-self:flex-start;
  border-bottom:1.5px solid transparent;transition:border-color .18s ease;
  overflow-wrap:anywhere;max-width:100%;
}
.footer__contact a{font-size:.9rem;}
.footer__nav a:hover,.footer__contact a:hover{border-color:var(--color-charcoal);}
.footer__contact p,.footer__owner address,.footer__owner p{font-size:.95rem;line-height:1.6;color:#3b2a17;}
.footer__owner-name{
  font-family:var(--font-gelica)!important;font-weight:600;font-size:1.15rem;
  color:var(--color-cocoa-ink)!important;
}
.footer__domain{font-family:var(--font-gelica);font-weight:500;color:var(--color-cocoa-ink)!important;}
.footer__bottom{border-top:1.5px solid rgba(23,23,23,.3);}
.footer__bottom-inner{
  display:flex;flex-wrap:wrap;gap:8px var(--spacing-24);
  justify-content:space-between;padding-block:var(--spacing-20);
  font-size:.88rem;color:#3b2a17;
}

/* ---------- 19. Do gory ---------- */
.totop{
  position:fixed;right:clamp(16px,3vw,28px);bottom:clamp(16px,3vw,28px);z-index:90;
  width:50px;height:50px;border:var(--border-ink);border-radius:var(--radius-pill);
  background:var(--color-cream-paper);box-shadow:var(--shadow-subtle);
  display:grid;place-items:center;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s;
}
.totop.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.totop svg{width:22px;height:22px;fill:none;stroke:var(--color-charcoal);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.totop:hover{background:var(--color-dew-drop);}

/* ---------- 20. Animacje wejscia ---------- */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.6,.3,1);}
[data-reveal].is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  [data-reveal]{opacity:1;transform:none;transition:none;}
  .tourcard__media img,.card,.service,.extra,.discount{transition:none;}
}

/* ---------- 21. Responsywnosc ---------- */
@media (max-width:1080px){
  .tourcard{flex:0 0 calc((100% - var(--spacing-24)) / 2);}
  .about{grid-template-columns:1fr;}
  .contact{grid-template-columns:1fr;}
  .footer__inner{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:900px){
  .hero__inner{grid-template-columns:1fr;}
  .hero__copy{max-width:none;}
  .hero__art{order:-1;max-width:560px;margin-inline:auto;}
  .section__head--row{grid-template-columns:1fr;align-items:start;}
  .join{grid-template-columns:1fr;}
  .step::after{display:none;}
}
@media (max-width:860px){
  /* backdrop-filter tworzy blok zawierajacy dla position:fixed — wylaczamy na mobile,
     zeby szuflada menu odnosila sie do okna, a nie do naglowka */
  .header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--color-cream-paper);}
  .nav{
    position:fixed;inset:0 0 0 auto;width:min(340px,86vw);
    background:var(--color-cream-paper);border-left:var(--border-ink);
    flex-direction:column;align-items:flex-start;justify-content:flex-start;
    gap:var(--spacing-8);padding:calc(var(--spacing-64) + 24px) var(--spacing-32) var(--spacing-32);
    transform:translateX(100%);transition:transform .3s cubic-bezier(.4,.05,.2,1);
    box-shadow:rgba(0,0,0,.12) -8px 0 30px 0;overflow-y:auto;
  }
  .nav.is-open{transform:translateX(0);}
  .nav a{font-family:var(--font-gelica);font-size:var(--text-subheading);padding-block:10px;}
  .nav__cta{margin-top:var(--spacing-16);font-size:var(--text-caption);}
  .burger{display:block;z-index:110;}
  body.nav-open{overflow:hidden;}
}
@media (max-width:760px){
  .tourcard{flex:0 0 100%;}
  .topbar__item--muted{display:none;}
  .form__foot{flex-direction:column;align-items:flex-start;}
  .hero__stats{gap:var(--spacing-24);}
  .hero__stats li{flex:1 1 40%;}
}
@media (max-width:600px){
  .footer__inner{grid-template-columns:1fr;}
  .footer{border-radius:36px var(--radius-card) 0 0;}
  .join{border-radius:36px var(--radius-card) 36px var(--radius-card);}
  .caption--hero{position:static;display:inline-block;margin-top:var(--spacing-16);transform:rotate(-2deg);}
  .arrow--hero{display:none;}
  .card,.service,.extra,.discount,.step,.benefits,.about__panel,.contact__side{padding:var(--spacing-24) var(--spacing-20);}
  .card--why .card__num{left:var(--spacing-20);}
  .compare{font-size:.86rem;}
  .compare th,.compare td{padding:9px 5px;}
}
@media (max-width:400px){
  .topbar__inner{flex-direction:column;gap:4px;}
  .brand__text{font-size:1.15rem;}
  .btn{padding:10px 20px;}
  .slider__controls{gap:var(--spacing-12);}
}

/* ---------- 22. Druk ---------- */
@media print{
  .topbar,.header,.slider__controls,.totop,.marquee{display:none;}
  body{background:#fff;}
  [data-reveal]{opacity:1;transform:none;}
}

/* ---------- 23. Kotwice pod przyklejonym naglowkiem ---------- */
section[id],main[id]{scroll-margin-top:96px;}
@media (max-width:860px){section[id]{scroll-margin-top:80px;}}

/* ---------- 24. Podstrony: naglowek strony ---------- */
.page-hero{padding-block:clamp(36px,5.5vw,var(--spacing-64)) clamp(24px,3vw,var(--spacing-40));}
.crumbs{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  font-size:.85rem;color:#6b5a4a;margin-bottom:var(--spacing-20);
}
.crumbs a{border-bottom:1.5px solid rgba(255,111,30,.5);}
.crumbs a:hover{color:var(--color-burnt-sienna);border-color:var(--color-burnt-sienna);}
.crumbs span[aria-hidden]{color:var(--color-marker-orange);}
.page-hero__title{margin-bottom:var(--spacing-20);max-width:20ch;}
.page-hero__meta{
  font-family:var(--font-gelica);font-size:var(--text-caption);
  color:var(--color-burnt-sienna);margin-top:var(--spacing-16);
  border-top:1.5px dashed rgba(23,23,23,.25);padding-top:var(--spacing-16);
  display:inline-block;
}

/* ---------- 25. Podstrony: tresc prawna ---------- */
.section--legal{padding-top:0;}
.legal{
  display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);
  gap:clamp(24px,4vw,var(--spacing-64));align-items:start;
}
.legal__toc{
  position:sticky;top:110px;min-width:0;
  background:var(--color-dew-drop);border:var(--border-ink);
  border-radius:var(--radius-card);padding:var(--spacing-24);
  box-shadow:var(--shadow-lg);
}
.legal__toc-title{
  font-size:var(--text-caption);letter-spacing:.07em;text-transform:uppercase;
  font-family:var(--font-geist);font-weight:500;color:#6b5a4a;
  margin-bottom:var(--spacing-16);
}
.legal__toc-list{counter-reset:toc;display:grid;gap:9px;}
.legal__toc-list li{counter-increment:toc;display:flex;gap:9px;font-size:.92rem;line-height:1.45;}
.legal__toc-list li::before{
  content:counter(toc) ".";color:var(--color-marker-orange);
  font-family:var(--font-gelica);font-weight:600;flex:none;
}
.legal__toc-list a{border-bottom:1.5px solid transparent;transition:border-color .18s ease,color .18s ease;}
.legal__toc-list a:hover,.legal__toc-list a.is-active{color:var(--color-burnt-sienna);border-color:var(--color-burnt-sienna);}

.legal__body{max-width:78ch;min-width:0;}
.legal__art{
  padding-bottom:var(--spacing-32);margin-bottom:var(--spacing-32);
  border-bottom:1.5px dashed rgba(23,23,23,.2);
}
.legal__art:last-child{border-bottom:none;margin-bottom:0;}
.legal__art h2{
  display:flex;gap:14px;align-items:baseline;
  font-size:clamp(1.35rem,2.6vw,var(--text-heading-sm));line-height:1.3;
  margin-bottom:var(--spacing-16);scroll-margin-top:110px;
}
.legal__num{
  font-size:var(--text-caption);color:var(--color-marker-orange);
  font-weight:600;flex:none;
}
.legal__art h3{
  font-size:var(--text-subheading);line-height:1.35;
  margin:var(--spacing-24) 0 var(--spacing-12);
}
.legal__art p{margin-bottom:var(--spacing-16);color:#3f3126;line-height:1.68;}
.legal__art p:last-child{margin-bottom:0;}
.legal__art a:not(.btn){color:var(--color-burnt-sienna);border-bottom:1.5px solid rgba(206,80,10,.45);}
.legal__art a:not(.btn):hover{border-color:var(--color-burnt-sienna);}
.legal__art strong{font-weight:500;color:var(--color-charcoal);}
.legal__list{display:grid;gap:10px;margin-bottom:var(--spacing-16);}
.legal__list li{position:relative;padding-left:26px;color:#3f3126;line-height:1.65;}
.legal__list li::before{
  content:"";position:absolute;left:2px;top:.62em;width:9px;height:9px;
  border-radius:50%;border:2px solid var(--color-marker-orange);
}
.legal__list--num{counter-reset:ln;}
.legal__list--num li{padding-left:32px;}
.legal__list--num li::before{
  counter-increment:ln;content:counter(ln);border:none;border-radius:0;
  width:auto;height:auto;top:0;left:0;
  font-family:var(--font-gelica);font-weight:600;color:var(--color-marker-orange);
}
.legal__note{
  background:var(--color-dew-drop);border:1.5px solid var(--color-sprout-sticker);
  border-radius:var(--radius-card);padding:var(--spacing-20) var(--spacing-24);
  margin-bottom:var(--spacing-16);
}
.legal__note p:last-child{margin-bottom:0;}
.legal__note strong{color:var(--color-cocoa-ink);}
.legal__table-wrap{overflow-x:auto;max-width:100%;margin-bottom:var(--spacing-16);border-radius:var(--radius-card);
  border:1.5px solid rgba(23,23,23,.2);}
.legal__table{min-width:520px;font-size:.94rem;background:var(--color-cream-paper);}
.legal__table th,.legal__table td{
  padding:12px 14px;text-align:left;vertical-align:top;
  border-bottom:1px solid rgba(23,23,23,.15);line-height:1.55;
}
.legal__table thead th{
  font-family:var(--font-geist);font-weight:500;font-size:.76rem;
  text-transform:uppercase;letter-spacing:.06em;color:#6b5a4a;
  border-bottom:1.5px solid var(--color-charcoal);white-space:nowrap;
}
.legal__table tbody tr:last-child th,.legal__table tbody tr:last-child td{border-bottom:none;}
.legal__table tbody th{font-family:var(--font-geist);font-weight:500;color:var(--color-charcoal);}
.legal__contactbox{
  background:var(--color-cream-paper);border:var(--border-ink);
  border-radius:var(--radius-card);padding:var(--spacing-24);
  box-shadow:var(--shadow-lg);margin-bottom:var(--spacing-16);
}
.legal__contactbox p{margin-bottom:6px;}
.docs-nav{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:var(--spacing-16);margin-top:clamp(32px,4vw,var(--spacing-48));
}
.docs-nav a{
  background:var(--color-cream-paper);border:var(--border-ink);
  border-radius:var(--radius-card);padding:var(--spacing-20) var(--spacing-24);
  box-shadow:var(--shadow-subtle);display:flex;flex-direction:column;gap:4px;
  transition:transform .2s ease,box-shadow .2s ease;
}
.docs-nav a:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.docs-nav strong{
  font-family:var(--font-gelica);font-weight:600;font-size:1.1rem;
  color:var(--color-cocoa-ink);text-transform:lowercase;
}
.docs-nav span{font-size:.9rem;color:#4a3a2b;}

/* ---------- 26. Kontakt: strona ---------- */
.contact-page__grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:var(--spacing-20);margin-bottom:clamp(32px,4vw,var(--spacing-48));
}
.contact-tile{
  background:var(--color-cream-paper);border:var(--border-ink);
  border-radius:var(--radius-card);padding:var(--spacing-24);
  box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:8px;
}
.contact-tile h3{font-size:var(--text-subheading);line-height:1.3;}
.contact-tile p{font-size:.96rem;color:#4a3a2b;line-height:1.6;}
.contact-tile a{
  font-family:var(--font-gelica);font-size:.95rem;color:var(--color-cocoa-ink);
  border-bottom:1.5px solid rgba(255,111,30,.5);align-self:flex-start;
  overflow-wrap:anywhere;max-width:100%;
}
.contact-tile a:hover{color:var(--color-burnt-sienna);border-color:var(--color-burnt-sienna);}
.faq{display:grid;gap:var(--spacing-12);}
.faq__item{
  background:var(--color-cream-paper);border:var(--border-ink);
  border-radius:var(--radius-card);padding:var(--spacing-20) var(--spacing-24);
  box-shadow:var(--shadow-subtle);
}
.faq__item summary{
  font-family:var(--font-gelica);font-weight:600;font-size:1.12rem;
  color:var(--color-cocoa-ink);cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-16);
  text-transform:lowercase;
}
.faq__item summary::-webkit-details-marker{display:none;}
.faq__item summary::after{
  content:"+";color:var(--color-marker-orange);font-size:1.5rem;line-height:1;flex:none;
  transition:transform .2s ease;
}
.faq__item[open] summary::after{transform:rotate(45deg);}
.faq__item p{margin-top:var(--spacing-12);color:#3f3126;line-height:1.65;font-size:.98rem;}

@media (max-width:1080px){
  .legal{grid-template-columns:1fr;}
  .legal__toc{position:static;}
}
