/* ════════════════════════════════════════════════════════════
   AURORA ROUGE — nowoczesny salon autorski
   UKŁAD: stały sidebar (lewa) + asymetryczna treść (prawa)
   Kość słoniowa + grafit + cynobrowy akcent. Bricolage Grotesque + Inter
   ════════════════════════════════════════════════════════════ */

:root{
  --bone:    #F2EEE6;
  --bone-2:  #E7E1D4;
  --paper:   #FBF9F4;
  --ink:     #17150F;
  --ink-2:   #2B2723;
  --ink-soft:#5A544B;
  --accent:  #C8472E;
  --accent-deep:#A6371F;
  --accent-soft:#E7A48F;
  --line:    rgba(23,21,15,.14);
  --line-2:  rgba(23,21,15,.08);

  --ff-display:'Bricolage Grotesque', system-ui, sans-serif;
  --ff-body:'Inter', system-ui, sans-serif;
  --sb:clamp(228px,21vw,308px);
  --cpad:clamp(22px,4vw,72px);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body{ font-family:var(--ff-body); background:var(--bone); color:var(--ink); font-size:17px; line-height:1.6; overflow-x:hidden; position:relative; font-weight:400; }
body.no-scroll{ overflow:hidden; }
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
::selection{ background:var(--accent); color:#fff; }
em{ font-style:normal; color:var(--accent); }

.grain{ position:fixed; inset:0; z-index:9; pointer-events:none; opacity:.32; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E"); }
.cursor-glow{ position:fixed; top:0; left:0; z-index:1; width:440px; height:440px; margin:-220px 0 0 -220px; border-radius:50%; pointer-events:none; mix-blend-mode:multiply; opacity:0; transition:opacity .4s;
  background:radial-gradient(circle, rgba(200,71,46,.16), transparent 64%); transform:translate3d(-1000px,-1000px,0); }
.progress{ position:fixed; top:0; left:0; width:100%; height:3px; z-index:120; }
.progress > i{ display:block; height:100%; width:0; background:var(--accent); }

/* ───────── BUTTONS ───────── */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:var(--ff-body); font-weight:600; font-size:13px; letter-spacing:.04em; padding:13px 22px; border-radius:2px; transition:.3s var(--ease); white-space:nowrap; }
.btn--lg{ padding:16px 28px; font-size:14px; }
.btn--block{ width:100%; }
.btn--accent{ background:var(--accent); color:#fff; }
.btn--accent:hover{ background:var(--accent-deep); transform:translateY(-2px); }
.btn--line{ border:1px solid var(--line); color:var(--ink); }
.btn--line:hover{ border-color:var(--ink); transform:translateY(-2px); }

/* ───────── LAYOUT ───────── */
.layout{ display:flex; align-items:flex-start; }
.sidebar{ position:sticky; top:0; height:100vh; width:var(--sb); flex-shrink:0; border-right:1px solid var(--line);
  padding:38px 30px 30px; display:flex; flex-direction:column; background:var(--bone); z-index:40; }
.sidebar__top{ }
.brand{ display:flex; align-items:center; gap:11px; }
.brand__mark{ width:18px; height:18px; border-radius:50%; background:var(--accent); flex-shrink:0; }
.brand__name{ font-family:var(--ff-display); font-weight:700; font-size:22px; letter-spacing:-.02em; }
.brand__sub{ display:block; margin-top:12px; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); }
.sidebar__nav{ margin-top:56px; display:flex; flex-direction:column; gap:3px; }
.sidebar__nav a{ display:flex; align-items:baseline; gap:12px; font-family:var(--ff-display); font-size:23px; font-weight:500; letter-spacing:-.01em; padding:7px 0; color:var(--ink); position:relative; transition:.25s var(--ease); }
.sidebar__nav a .i{ font-family:var(--ff-body); font-size:11px; font-weight:600; color:var(--ink-soft); letter-spacing:.06em; transition:.25s; }
.sidebar__nav a:hover,.sidebar__nav a.is-active{ color:var(--accent); padding-left:10px; }
.sidebar__nav a.is-active .i{ color:var(--accent); }
.sidebar__foot{ margin-top:auto; display:flex; flex-direction:column; gap:14px; }
.sidebar__tel{ font-family:var(--ff-display); font-size:18px; font-weight:600; }
.sidebar__social{ display:flex; gap:16px; font-size:12.5px; color:var(--ink-soft); }
.sidebar__social a:hover{ color:var(--accent); }

.topbar__burger{ display:none; position:fixed; top:16px; right:16px; z-index:60; width:46px; height:46px; border:1px solid var(--line); border-radius:3px; background:var(--bone); flex-direction:column; align-items:center; justify-content:center; gap:6px; }
.topbar__burger span{ width:20px; height:2px; background:var(--ink); transition:.3s; }

.content{ flex:1; min-width:0; }
section{ position:relative; }

/* ───────── helpers ───────── */
.tag{ font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); }
.tag--idx{ color:var(--accent); }
.sec-bar{ display:flex; align-items:baseline; gap:20px; flex-wrap:wrap; padding:0 var(--cpad); margin-bottom:40px; border-top:1px solid var(--line); padding-top:24px; }
.sec-bar__title{ font-family:var(--ff-display); font-weight:700; font-size:clamp(30px,4vw,52px); letter-spacing:-.02em; }
.sec-bar__note{ margin-left:auto; font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); }

/* ═════════ HERO ═════════ */
.hero{ padding:clamp(40px,7vw,90px) var(--cpad) 0; }
.hero__head{ display:flex; justify-content:space-between; gap:16px; margin-bottom:clamp(30px,6vw,70px); }
.hero__title{ font-family:var(--ff-display); font-weight:700; font-size:clamp(44px,8vw,118px); line-height:.96; letter-spacing:-.03em; }
.hero__row{ display:grid; grid-template-columns:1fr .8fr; gap:40px; align-items:end; margin-top:clamp(30px,5vw,60px); }
.hero__lead p{ font-size:clamp(17px,1.6vw,20px); color:var(--ink-soft); max-width:42ch; margin-bottom:30px; }
.hero__actions{ display:flex; gap:12px; flex-wrap:wrap; }
.hero__visual{ position:relative; aspect-ratio:4/5; border-radius:4px; overflow:hidden;
  background:linear-gradient(150deg,var(--accent-soft) 0%,var(--accent) 48%,var(--ink-2) 130%); box-shadow:inset 0 0 80px rgba(0,0,0,.25); }
.hero__visual-tag{ position:absolute; top:18px; left:18px; font-size:11px; letter-spacing:.2em; color:rgba(255,255,255,.85); }
.hero__visual-year{ position:absolute; right:14px; bottom:0; font-family:var(--ff-display); font-weight:700; font-size:34vh; line-height:.7; color:rgba(255,255,255,.18); }
.ticker{ margin-top:clamp(40px,6vw,80px); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:16px 0; overflow:hidden; }
.ticker__track{ display:flex; gap:24px; width:max-content; animation:ticker 36s linear infinite; }
.ticker__track span{ font-family:var(--ff-display); font-weight:600; font-size:18px; white-space:nowrap; }
.ticker__track i{ color:var(--accent); font-style:normal; }
@keyframes ticker{ to{ transform:translateX(-50%); } }

/* ═════════ STUDIO ═════════ */
.about{ display:grid; grid-template-columns:200px 1fr; gap:30px; padding:clamp(70px,10vw,130px) var(--cpad); }
.about__label .tag--idx{ position:sticky; top:40px; }
.about__title{ font-family:var(--ff-display); font-weight:600; font-size:clamp(28px,3.6vw,46px); line-height:1.12; letter-spacing:-.02em; margin-bottom:26px; }
.about__text{ font-size:clamp(16px,1.5vw,19px); color:var(--ink-soft); max-width:60ch; }
.about__stats{ display:flex; gap:48px; margin-top:42px; flex-wrap:wrap; }
.figure b{ display:block; font-family:var(--ff-display); font-weight:700; font-size:46px; line-height:1; letter-spacing:-.02em; }
.figure span{ font-size:12.5px; color:var(--ink-soft); letter-spacing:.03em; }

/* ═════════ USŁUGI ═════════ */
.services{ padding-bottom:clamp(40px,7vw,80px); }
.svc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:0 var(--cpad); }
.svc-card{ background:var(--bone); text-align:left; padding:30px 28px 26px; display:flex; flex-direction:column; gap:10px; position:relative; transition:.35s var(--ease); min-height:230px; }
.svc-card:hover{ background:var(--paper); }
.svc-card__num{ font-family:var(--ff-display); font-weight:700; font-size:15px; color:var(--accent); letter-spacing:.04em; }
.svc-card__name{ font-family:var(--ff-display); font-weight:600; font-size:clamp(21px,2vw,27px); letter-spacing:-.01em; }
.svc-card__desc{ font-size:14px; color:var(--ink-soft); line-height:1.5; flex:1; }
.svc-card__foot{ display:flex; align-items:center; gap:16px; margin-top:8px; }
.svc-card__price{ font-family:var(--ff-display); font-weight:700; font-size:19px; }
.svc-card__dur{ font-size:12.5px; color:var(--ink-soft); }
.svc-card__go{ margin-left:auto; font-size:13px; font-weight:600; color:var(--accent); opacity:0; transform:translateX(-6px); transition:.3s var(--ease); }
.svc-card:hover .svc-card__go{ opacity:1; transform:none; }

/* ═════════ ZESPÓŁ (scroll poziomy) ═════════ */
.team{ padding-bottom:clamp(60px,9vw,120px); }
.team__scroller{ display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; padding:0 var(--cpad) 18px; scrollbar-width:thin; }
.tcard{ flex:0 0 clamp(248px,30vw,310px); scroll-snap-align:start; }
.tcard__photo{ position:relative; aspect-ratio:4/5; border-radius:4px; overflow:hidden; display:flex; align-items:center; justify-content:center; margin-bottom:16px;
  background:linear-gradient(160deg, color-mix(in srgb,var(--member) 74%,#fff) 0%, var(--member) 64%, color-mix(in srgb,var(--member) 60%,#000) 128%); box-shadow:inset 0 0 60px rgba(0,0,0,.22); }
.tcard__init{ font-family:var(--ff-display); font-weight:700; font-size:64px; color:rgba(255,255,255,.92); }
.tcard__idx{ position:absolute; top:14px; left:16px; font-size:11px; letter-spacing:.18em; color:rgba(255,255,255,.75); }
.tcard__name{ font-family:var(--ff-display); font-weight:600; font-size:22px; }
.tcard__role{ font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-soft); margin:3px 0 12px; }
.tcard__book{ font-size:13px; font-weight:600; color:var(--accent); }
.tcard__book:hover{ text-decoration:underline; }

/* ═════════ GALERIA (masonry) ═════════ */
.gallery{ padding-bottom:clamp(60px,9vw,120px); }
.gallery__grid{ columns:3; column-gap:16px; padding:0 var(--cpad); }
.gphoto{ break-inside:avoid; margin-bottom:16px; position:relative; border-radius:4px; overflow:hidden; cursor:pointer; display:flex; align-items:flex-end; padding:16px; background:var(--bone-2); }
.gphoto:nth-child(4n+1){ height:300px; } .gphoto:nth-child(4n+2){ height:220px; } .gphoto:nth-child(4n+3){ height:360px; } .gphoto:nth-child(4n){ height:260px; }
.gphoto img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; transition:transform .7s var(--ease); }
.gphoto:hover img{ transform:scale(1.06); }
.gphoto::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(15,12,8,.5)); z-index:1; }
.gphoto--placeholder{ background:linear-gradient(160deg,var(--accent-soft),var(--accent) 60%,var(--ink-2) 130%); }
.gphoto--placeholder:nth-child(4n+1){ background:linear-gradient(150deg,var(--accent) 0%,var(--ink-2) 120%); }
.gphoto--placeholder:nth-child(4n+2){ background:linear-gradient(180deg,var(--bone-2) 0%,var(--accent) 130%); }
.gphoto--placeholder:nth-child(4n+3){ background:linear-gradient(135deg,var(--ink-2) 0%,var(--accent-deep) 120%); }
.gphoto--placeholder:nth-child(4n){ background:linear-gradient(200deg,var(--accent-soft) 0%,var(--ink-2) 125%); }
.gphoto__num,.gphoto__cap,.gphoto__year,.gphoto__dot{ position:relative; z-index:2; }
.gphoto__num{ position:absolute; top:14px; left:16px; font-size:11px; letter-spacing:.18em; color:rgba(255,255,255,.85); }
.gphoto__cap{ font-size:13px; color:#fff; font-weight:500; max-width:85%; }
.gphoto__year{ position:absolute; top:14px; right:16px; font-size:11px; letter-spacing:.14em; color:rgba(255,255,255,.7); }
.gphoto__dot{ position:absolute; top:50%; left:50%; width:7px; height:7px; margin:-3.5px; border-radius:50%; background:rgba(255,255,255,.8); }

/* ═════════ OPINIE (duże cytaty, ciemny pas) ═════════ */
.voices{ background:var(--ink); color:var(--bone); padding:clamp(60px,8vw,110px) 0; }
.sec-bar--inv{ border-color:rgba(242,238,230,.18); }
.sec-bar--inv .sec-bar__title{ color:var(--bone); }
.voices__list{ padding:0 var(--cpad); }
.quote{ display:grid; grid-template-columns:64px 1fr; gap:22px; padding:34px 0; border-top:1px solid rgba(242,238,230,.14); }
.quote:first-child{ border-top:none; }
.quote__n{ font-family:var(--ff-display); font-weight:700; font-size:15px; color:var(--accent-soft); padding-top:10px; }
.quote blockquote{ font-family:var(--ff-display); font-weight:500; font-size:clamp(20px,2.6vw,34px); line-height:1.25; letter-spacing:-.01em; }
.quote figcaption{ grid-column:2; margin-top:16px; font-size:13px; letter-spacing:.04em; color:rgba(242,238,230,.6); }
.quote__stars{ color:var(--accent-soft); margin-right:8px; letter-spacing:.1em; }

/* ═════════ KONTAKT ═════════ */
.contact{ padding:clamp(70px,10vw,130px) var(--cpad) clamp(50px,7vw,90px); }
.contact .sec-bar{ border:none; padding:0; margin-bottom:14px; }
.contact__title{ font-family:var(--ff-display); font-weight:700; font-size:clamp(42px,8vw,108px); line-height:.95; letter-spacing:-.03em; margin-bottom:50px; }
.contact__grid{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:30px; border-top:1px solid var(--line); padding-top:36px; }
.contact__col h4{ font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:10px; }
.contact__col h4:not(:first-child){ margin-top:24px; }
.contact__col p{ font-size:15.5px; color:var(--ink-soft); }
.contact__col a:hover{ color:var(--accent); }
.hours{ list-style:none; }
.hours__row{ display:flex; justify-content:space-between; gap:14px; padding:7px 0; font-size:14.5px; color:var(--ink-soft); border-bottom:1px solid var(--line-2); }
.hours__row.is-today{ color:var(--ink); font-weight:600; }
.hours__row.is-off span:last-child{ color:var(--accent); }
.contact__big{ font-family:var(--ff-display); font-weight:600; font-size:clamp(20px,2vw,26px); line-height:1.2; color:var(--ink); margin-bottom:24px; }
.contact__col--cta{ display:flex; flex-direction:column; align-items:flex-start; }

.foot{ display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; padding:26px var(--cpad); border-top:1px solid var(--line); font-size:12.5px; color:var(--ink-soft); }
.foot__links a:hover{ color:var(--accent); }

/* ═════════ LIGHTBOX ═════════ */
.lightbox{ position:fixed; inset:0; z-index:200; background:rgba(15,12,8,.94); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; gap:18px; padding:40px; opacity:0; visibility:hidden; transition:.4s; }
.lightbox.is-open{ opacity:1; visibility:visible; }
.lightbox__fig{ max-width:80vw; max-height:84vh; }
.lightbox__fig img{ max-width:100%; max-height:78vh; object-fit:contain; border-radius:3px; }
.lightbox__fig figcaption{ color:var(--bone); text-align:center; margin-top:14px; font-size:13px; letter-spacing:.04em; }
.lightbox__close{ position:absolute; top:24px; right:28px; font-size:22px; color:var(--bone); width:46px; height:46px; border:1px solid rgba(242,238,230,.3); border-radius:3px; transition:.3s; }
.lightbox__close:hover{ background:rgba(242,238,230,.1); }
.lightbox__nav{ font-size:34px; color:var(--bone); width:52px; height:52px; border:1px solid rgba(242,238,230,.25); border-radius:3px; display:grid; place-items:center; transition:.3s; flex-shrink:0; }
.lightbox__nav:hover{ background:rgba(242,238,230,.1); }

/* ═════════ DRAWER ═════════ */
.drawer{ position:fixed; inset:0; z-index:160; visibility:hidden; }
.drawer__scrim{ position:absolute; inset:0; background:rgba(15,12,8,.5); backdrop-filter:blur(3px); opacity:0; transition:.4s; }
.drawer__panel{ position:absolute; top:0; right:0; height:100%; width:min(520px,100%); background:var(--bone); display:flex; flex-direction:column; transform:translateX(102%); transition:transform .5s var(--ease); box-shadow:-30px 0 60px -30px rgba(15,12,8,.5); }
.drawer.is-open{ visibility:visible; } .drawer.is-open .drawer__scrim{ opacity:1; } .drawer.is-open .drawer__panel{ transform:none; }
.drawer__top{ display:flex; justify-content:space-between; align-items:center; padding:24px 28px 16px; border-bottom:1px solid var(--line); }
.drawer__eyebrow{ display:block; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-bottom:3px; }
.drawer__title strong{ font-family:var(--ff-display); font-size:22px; font-weight:700; }
.drawer__close{ width:40px; height:40px; border:1px solid var(--line); border-radius:3px; font-size:15px; color:var(--ink-soft); transition:.3s; }
.drawer__close:hover{ background:var(--bone-2); color:var(--ink); }
.stepper{ display:flex; gap:6px; padding:16px 28px; border-bottom:1px solid var(--line); overflow-x:auto; }
.stepper__pip{ display:inline-flex; align-items:center; gap:7px; font-size:12px; color:var(--ink-soft); white-space:nowrap; opacity:.5; transition:.3s; }
.stepper__pip i{ width:22px; height:22px; border-radius:50%; border:1px solid var(--line); display:grid; place-items:center; font-style:normal; font-size:11px; font-weight:600; transition:.3s; }
.stepper__pip.is-active{ opacity:1; color:var(--ink); } .stepper__pip.is-active i{ background:var(--accent); border-color:var(--accent); color:#fff; }
.stepper__pip.is-done i{ background:var(--ink); border-color:var(--ink); color:var(--bone); }
.drawer__body{ flex:1; overflow-y:auto; padding:24px 28px; }
.step{ display:none; animation:stepIn .45s var(--ease); } .step.is-active{ display:block; }
@keyframes stepIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
.step__h{ font-family:var(--ff-display); font-weight:600; font-size:23px; margin-bottom:18px; }
.picklist{ display:flex; flex-direction:column; gap:10px; }
.pick{ display:flex; align-items:center; gap:14px; text-align:left; padding:14px 16px; border:1px solid var(--line); border-radius:3px; transition:.3s var(--ease); }
.pick:hover{ border-color:var(--accent-soft); background:var(--paper); }
.pick.is-picked{ border-color:var(--accent); background:var(--paper); }
.pick__num{ font-family:var(--ff-display); font-weight:700; font-size:15px; color:var(--accent); width:30px; text-align:center; }
.pick__ava{ width:42px; height:42px; border-radius:50%; flex-shrink:0; display:grid; place-items:center; font-family:var(--ff-display); font-weight:700; font-size:15px; color:#fff; background:linear-gradient(150deg, color-mix(in srgb,var(--member,var(--accent)) 76%,#fff), var(--member,var(--accent))); }
.pick__ava--any{ background:var(--bone-2); color:var(--accent); }
.pick__main{ flex:1; display:flex; flex-direction:column; }
.pick__name{ font-weight:600; font-size:15.5px; }
.pick__sub{ font-size:12.5px; color:var(--ink-soft); }
.pick__check{ width:24px; height:24px; border-radius:50%; border:1px solid var(--line); display:grid; place-items:center; font-size:12px; color:transparent; transition:.3s; }
.pick.is-picked .pick__check{ background:var(--accent); border-color:var(--accent); color:#fff; }
.datebar{ display:flex; gap:9px; overflow-x:auto; padding-bottom:14px; margin-bottom:8px; }
.datebar__d{ flex:0 0 auto; width:62px; padding:12px 0; border:1px solid var(--line); border-radius:3px; text-align:center; transition:.3s var(--ease); }
.datebar__d:hover{ border-color:var(--accent-soft); }
.datebar__d.is-picked{ background:var(--ink); border-color:var(--ink); color:var(--bone); }
.datebar__dow{ display:block; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; opacity:.7; }
.datebar__day{ display:block; font-family:var(--ff-display); font-weight:700; font-size:22px; line-height:1.25; }
.datebar__mon{ display:block; font-size:10.5px; opacity:.7; }
.slots__hint,.slots__empty{ color:var(--ink-soft); font-size:14px; padding:18px 0; }
.slots__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(80px,1fr)); gap:9px; }
.slot{ padding:11px 0; border:1px solid var(--line); border-radius:3px; font-size:14.5px; font-weight:500; transition:.25s; }
.slot:hover:not(.is-taken){ border-color:var(--accent); color:var(--accent); }
.slot.is-picked{ background:var(--ink); border-color:var(--ink); color:var(--bone); }
.slot.is-taken{ opacity:.3; text-decoration:line-through; cursor:not-allowed; }
.summary{ background:var(--bone-2); border-radius:3px; padding:18px 20px; margin-bottom:22px; display:flex; flex-direction:column; gap:6px; font-size:14.5px; border-left:3px solid var(--accent); }
.summary strong{ color:var(--ink); }
.field{ display:block; margin-bottom:16px; }
.field span{ display:block; font-size:12.5px; font-weight:600; color:var(--ink-soft); margin-bottom:7px; }
.field span i{ font-style:normal; font-weight:400; color:var(--accent-soft); }
.field input{ width:100%; padding:13px 16px; border:1px solid var(--line); border-radius:3px; font-size:15px; background:var(--paper); transition:.3s; font-family:inherit; }
.field input:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(200,71,46,.12); }
.bform__error{ color:var(--accent-deep); font-size:13.5px; margin-bottom:12px; background:rgba(200,71,46,.08); padding:10px 14px; border-radius:3px; }
.bform__fine{ font-size:12px; color:var(--ink-soft); margin-top:14px; text-align:center; }
.bform__fine a{ color:var(--accent); text-decoration:underline; }
.verify__lead{ font-size:14.5px; color:var(--ink-soft); margin-bottom:20px; }
.verify__inputs{ display:flex; gap:12px; justify-content:center; margin-bottom:18px; }
.verify__inputs input{ width:60px; height:70px; text-align:center; font-family:var(--ff-display); font-weight:700; font-size:30px; border:1px solid var(--line); border-radius:4px; background:var(--paper); transition:.3s; }
.verify__inputs input:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(200,71,46,.12); }
.success{ text-align:center; padding:30px 10px; animation:stepIn .5s var(--ease); }
.success__mark{ width:70px; height:70px; border-radius:50%; background:var(--accent); color:#fff; display:grid; place-items:center; margin:0 auto 22px; font-size:30px; }
.success h3{ font-family:var(--ff-display); font-weight:600; font-size:25px; margin-bottom:10px; }
.success p{ color:var(--ink-soft); font-size:15px; margin-bottom:24px; }
.drawer__nav{ display:flex; gap:12px; padding:18px 28px; border-top:1px solid var(--line); }
.drawer__nav .btn--accent{ flex:1; }
.btn:disabled{ opacity:.4; cursor:not-allowed; }

/* ═════════ REVEAL ═════════ */
[data-reveal]{ opacity:0; transform:translateY(24px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
[data-reveal].is-in{ opacity:1; transform:none; }

/* ═════════ RESPONSYWNOŚĆ ═════════ */
@media (max-width:1100px){ .gallery__grid{ columns:2; } }
@media (max-width:960px){
  .sidebar{ position:fixed; top:0; left:0; transform:translateX(-100%); transition:transform .4s var(--ease); width:min(300px,86vw); border-right:1px solid var(--line); }
  .layout.is-nav-open .sidebar{ transform:none; box-shadow:0 0 0 100vw rgba(15,12,8,.4); }
  .topbar__burger{ display:flex; }
  .layout.is-nav-open .topbar__burger span:first-child{ transform:translateY(4px) rotate(45deg); }
  .layout.is-nav-open .topbar__burger span:last-child{ transform:translateY(-4px) rotate(-45deg); }
  .content{ width:100%; }
  .hero{ padding-top:72px; }
  .hero__row{ grid-template-columns:1fr; }
  .hero__visual{ max-width:360px; }
  .about{ grid-template-columns:1fr; gap:14px; }
  .about__label .tag--idx{ position:static; }
}
@media (max-width:680px){
  .svc-grid{ grid-template-columns:1fr; }
  .gallery__grid{ columns:1; }
  .contact__grid{ grid-template-columns:1fr; gap:24px; }
  .quote{ grid-template-columns:1fr; gap:10px; } .quote figcaption{ grid-column:1; }
  .drawer__panel{ width:100%; }
}
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  html{ scroll-behavior:auto; }
}
