/*
 * Kancelaria Adwokacka Stanisław Onaczyszyn — autorski, lekki interfejs One Page.
 * Fonty Gambetta i Public Sans mają fallbacki do czasu dodania legalnych plików WOFF2.
 */
/* 01. Zmienne */
:root {
  --color-bg: #2a2e31;
  --color-heading: #f8f5e9;
  --color-text: #b2b2ae;
  --color-primary: #d1b994;
  --color-primary-text: #2a2e31;
  --color-primary-hover: #e0cbaa;
  --color-surface: #303539;
  --color-surface-alt: #34393d;
  --color-border: rgba(209, 185, 148, .22);
  --font-heading: 'Gambetta', Georgia, 'Times New Roman', serif;
  --font-body: 'Public Sans', Arial, Helvetica, sans-serif;
  --container-width: 1200px;
  --header-height: 90px;
  --radius: 4px;
}
/* Uzupełnij poniższe pliki fontów samodzielnie, jeśli masz prawo ich używania. */
/* Odkomentuj po dostarczeniu plików (obecnie brak zasobów, dlatego nie ma 404 fontów).
@font-face {font-family:'Gambetta';src:url('../fonts/gambetta-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face {font-family:'Public Sans';src:url('../fonts/public-sans-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face {font-family:'Public Sans';src:url('../fonts/public-sans-semibold.woff2') format('woff2');font-style:normal;font-weight:600 800;font-display:swap}
*/
/* 02. Reset / Base */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 22px)}
body{min-width:320px;margin:0;background:var(--color-bg);color:var(--color-text);font:400 16px/1.8 var(--font-body);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
body.menu-open{overflow:hidden}
[hidden]{display:none!important}
img{display:block;max-width:100%;height:auto}
button,input,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
a:hover{color:var(--color-heading)}
button,input,textarea{border-radius:0}
::selection{background:var(--color-primary);color:var(--color-primary-text)}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:5px}
h1,h2,h3,p{margin-top:0}
p{margin-bottom:1.15em}
p:last-child{margin-bottom:0}
strong{font-weight:600}
address{font-style:normal}
/* 03. Typography */
h1,h2,h3{color:var(--color-heading);font-family:var(--font-heading);font-weight:400;letter-spacing:-.038em}
h1{font-size:clamp(3.25rem,5.65vw,5.3rem);line-height:1.08;margin-bottom:28px}
h2{font-size:clamp(2.5rem,4vw,3.7rem);line-height:1.14;margin-bottom:32px}
h3{font-size:clamp(1.55rem,2.15vw,2.08rem);line-height:1.22;margin-bottom:15px}
h1 span{color:var(--color-primary)}
h2 em{font-weight:400;color:var(--color-primary);font-style:italic}
.eyebrow{display:flex;align-items:center;gap:15px;color:var(--color-primary);font-size:11px;letter-spacing:.23em;text-transform:uppercase;font-weight:600;line-height:1.5;margin-bottom:30px}
.eyebrow__line{width:34px;height:1px;flex:none;background:var(--color-primary)}
.eyebrow--small{margin-bottom:18px;font-size:11px}
/* 04. Layout */
.container{width:min(100% - 80px, var(--container-width));margin-inline:auto}
.section{padding-block:clamp(84px,8.5vw,125px)}
.section--border{border-top:1px solid var(--color-border)}
.skip-link{position:fixed;z-index:10000;left:16px;top:12px;padding:10px 14px;background:var(--color-primary);color:var(--color-primary-text);transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0);color:var(--color-primary-text)}
/* 05. Header */
.site-header{position:sticky;top:0;z-index:100;height:var(--header-height);background:rgba(42,46,49,.97);border-bottom:1px solid transparent;transition:border-color .22s ease,background .22s ease}
@supports (backdrop-filter:blur(10px)){.site-header{background:rgba(42,46,49,.94);backdrop-filter:blur(12px)}}
.site-header.is-scrolled{border-color:var(--color-border)}
.site-header__inner{height:100%;display:flex;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;gap:13px;flex:none;color:var(--color-heading)}
.brand:hover{color:var(--color-heading)}
.brand__symbol{width:51px;height:51px;display:grid;place-items:center;border:1px solid var(--color-primary);font:400 23px/1 var(--font-heading);letter-spacing:-.09em;color:var(--color-heading);position:relative}
.brand__symbol-dot{position:absolute;right:7px;bottom:10px;color:var(--color-primary)}
.brand__name{display:flex;flex-direction:column;line-height:1.4;white-space:nowrap}
.brand__name strong{font:400 20px/1.3 var(--font-heading);letter-spacing:-.015em}
.brand__name small{margin-top:3px;color:var(--color-text);font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:25px}
.site-nav a{font-size:12px;letter-spacing:.02em;color:var(--color-text);white-space:nowrap;position:relative;padding-block:14px}
.site-nav a:hover,.site-nav a.is-active{color:var(--color-heading)}
.site-nav a.is-active::after{content:'';width:100%;height:1px;background:var(--color-primary);position:absolute;bottom:8px;left:0}
.menu-toggle{display:none}
/* 06. Buttons and links */
.btn{min-height:52px;padding:14px 25px;display:inline-flex;align-items:center;justify-content:center;gap:29px;border:1px solid transparent;color:var(--color-heading);font:600 12px/1.35 var(--font-body);letter-spacing:.035em;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;text-align:center}
.btn span{font-size:19px;font-weight:400;line-height:1}
.btn:hover{transform:translateY(-2px)}
.btn--small{padding:12px 17px;min-height:42px;gap:16px}
.btn--primary{background:var(--color-primary);color:var(--color-primary-text)}
.btn--primary:hover{background:var(--color-primary-hover);color:var(--color-primary-text)}
.btn--outline{border-color:var(--color-primary);background:transparent;color:var(--color-heading)}
.btn--outline:hover{background:var(--color-primary);color:var(--color-primary-text)}
.btn--text{padding-inline:0;color:var(--color-heading);border-bottom:1px solid var(--color-border)}
.btn--text:hover{border-color:var(--color-primary)}
.btn:disabled{opacity:.46;cursor:not-allowed;transform:none}
.button-group{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:35px}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;color:var(--color-heading);font-size:13px;font-weight:600;padding-bottom:11px;border-bottom:1px solid var(--color-primary);transition:color .2s ease}
.text-link span{font-size:19px;line-height:1;color:var(--color-primary)}
.text-link:hover{color:var(--color-primary)}
/* 07. Hero */
.hero{position:relative;padding-top:clamp(80px,8.6vw,124px);padding-bottom:100px}
.hero::before{content:'';position:absolute;inset:0 0 auto auto;pointer-events:none;width:min(50vw,780px);height:84%;background:repeating-linear-gradient(90deg,transparent 0,transparent 71px,rgba(209,185,148,.025) 72px,transparent 73px);opacity:.9}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(40px,5vw,77px);position:relative}
.hero__content h1{max-width:750px}
.hero__lead{color:var(--color-heading);font-size:clamp(18px,1.65vw,22px);line-height:1.55;max-width:560px;font-weight:400;margin-bottom:19px}
.hero__content>p:not(.eyebrow):not(.hero__lead){max-width:600px;font-size:14px;line-height:1.9}
.hero__media{position:relative;align-self:stretch;padding-top:26px}
.photo-placeholder{position:relative;width:100%;overflow:hidden;background:linear-gradient(146deg,#3e4447,#252a2e 67%);border:1px solid var(--color-border);isolation:isolate}
.photo-placeholder::before{content:'';position:absolute;inset:8%;border:1px solid rgba(209,185,148,.09);pointer-events:none;z-index:0}
.photo-placeholder::after{content:'';position:absolute;left:0;bottom:0;right:0;height:45%;background:linear-gradient(transparent,rgba(22,25,27,.54));pointer-events:none;z-index:1}
.photo-placeholder__caption{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;display:block;width:75%;font:500 11px/2 var(--font-body);letter-spacing:.2em;color:rgba(248,245,233,.55);z-index:0}
.photo-placeholder>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;z-index:2;transition:opacity .3s ease}
.photo-placeholder.is-loaded>img{opacity:1}
.photo-placeholder--hero{aspect-ratio:4/5;min-height:560px}
.photo-placeholder--hero::after{height:50%}
.photo-placeholder__frame{position:absolute;inset:22px;border:1px solid rgba(209,185,148,.40);z-index:3;pointer-events:none}
.hero__image-caption{display:flex;align-items:center;gap:12px;justify-content:space-between;color:var(--color-text);font-size:10px;letter-spacing:.11em;text-transform:uppercase;padding:18px 0;border-bottom:1px solid var(--color-border)}
.hero__image-caption strong{font:400 20px var(--font-heading);color:var(--color-heading);letter-spacing:0;text-transform:none}
.hero__foot{margin-top:47px;display:flex;align-items:center;gap:20px;color:var(--color-text);font-size:11px;letter-spacing:.045em}
.hero__foot-rule{width:48px;height:1px;background:var(--color-primary)}
.hero__foot strong{color:var(--color-heading)}
.hero__scroll{position:absolute;left:50%;bottom:24px;display:flex;align-items:center;gap:12px;transform:translateX(-50%);font-size:10px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.hero__scroll-arrow{color:var(--color-primary);font-size:19px}
/* 08. Urgent 24/7 */
.urgent{padding-top:0}
.urgent__panel{display:grid;grid-template-columns:minmax(230px,.31fr) minmax(0,.69fr);border:1px solid var(--color-border);background:var(--color-surface);position:relative}
.urgent__panel::before{content:'';position:absolute;top:-1px;left:0;width:124px;height:2px;background:var(--color-primary)}
.urgent__marker{min-height:420px;padding:48px 35px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--color-border);text-align:center}
.urgent__badge{font:600 9px/1.4 var(--font-body);text-transform:uppercase;letter-spacing:.18em;border:1px solid var(--color-border);padding:9px 11px;color:var(--color-heading)}
.urgent__marker>strong{display:block;color:var(--color-heading);font:400 clamp(80px,9vw,145px)/1 var(--font-heading);letter-spacing:-.095em;margin:36px 0 12px}
.urgent__marker>strong span{color:var(--color-primary);font-size:.66em}
.urgent__label{font:400 24px/1.2 var(--font-heading);color:var(--color-primary)}
.urgent__content{padding:clamp(35px,5vw,70px);align-self:center}
.urgent__content h2{font-size:clamp(31px,3.1vw,47px);max-width:690px;margin-bottom:24px}
.urgent__content p:not(.eyebrow){font-size:14px;line-height:1.85;max-width:690px}
.urgent__content strong{color:var(--color-heading)}
.urgent__actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:30px}
.urgent__phone{color:var(--color-heading);font-weight:600;letter-spacing:.01em;white-space:nowrap}
/* 09. Practice area */
.practice__grid{display:grid;grid-template-columns:minmax(0,.41fr) minmax(0,.59fr);align-items:start;gap:clamp(40px,6vw,95px)}
.practice__intro{position:sticky;top:calc(var(--header-height) + 45px)}
.practice__intro h2{max-width:530px}
.practice__intro>p:not(.eyebrow){max-width:420px;font-size:14px;line-height:1.88}
.practice__intro .text-link{margin-top:19px}
.practice__list{display:flex;flex-direction:column;gap:14px}
.practice-card{padding:29px 31px 25px;border:1px solid var(--color-border);background:rgba(48,53,57,.53);transition:border-color .22s ease,background .22s ease}
.practice-card:hover,.practice-card:focus-within{border-color:rgba(209,185,148,.53);background:var(--color-surface)}
.practice-card__heading{display:flex;gap:21px;align-items:center;margin-bottom:13px}
.practice-card__heading h3{margin:0;font-size:29px}
.practice-card__number{display:grid;place-items:center;flex:none;width:49px;height:49px;border:1px solid var(--color-border);border-radius:50%;font:400 17px/1 var(--font-heading);color:var(--color-primary)}
.practice-card>p{font-size:14px;line-height:1.85;margin-left:70px}
.practice-card__details{margin:20px 0 0 70px;border-top:1px solid var(--color-border);padding-top:15px}
.practice-card__details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;font-size:12px;font-weight:600;color:var(--color-primary);min-height:35px}
.practice-card__details summary::-webkit-details-marker{display:none}
.detail-plus{width:18px;height:18px;flex:none;position:relative}
.detail-plus::before,.detail-plus::after{content:'';position:absolute;top:50%;left:50%;background:var(--color-primary);transform:translate(-50%,-50%)}
.detail-plus::before{width:12px;height:1px}
.detail-plus::after{width:1px;height:12px;transition:transform .2s ease}
.practice-card__details[open] .detail-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.practice-card__details ul{margin:13px 0 5px;padding:0;list-style:none}
.practice-card__details li{position:relative;padding:8px 0 8px 18px;border-bottom:1px solid rgba(209,185,148,.10);font-size:13px;line-height:1.65}
.practice-card__details li::before{content:'—';position:absolute;left:0;color:var(--color-primary)}
.practice-card__details li:last-child{border-bottom:0}
/* 10. Representation */
.representation__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(45px,7vw,110px);align-items:center}
.representation__visual{position:relative}
.photo-placeholder--landscape{aspect-ratio:4/4.45;max-height:645px}
.representation__visual-note{position:absolute;bottom:-22px;right:-15px;max-width:260px;background:var(--color-primary);color:var(--color-primary-text);padding:18px 22px;font:400 20px/1.15 var(--font-heading);letter-spacing:-.01em}
.representation__copy h2{max-width:680px}
.representation__copy>p:not(.eyebrow){font-size:14px;line-height:1.9}
.representation__note{border-left:2px solid var(--color-primary);padding:1px 0 1px 21px;margin:27px 0 35px}
.representation__note strong{color:var(--color-heading);font-weight:600;font-size:14px}
.representation__note p{font-size:13px;margin-top:9px}
/* 11. About */
.about__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(48px,7vw,105px);align-items:center}
.about__copy>p:not(.eyebrow){font-size:14px;line-height:1.9}
.about__copy h2{max-width:780px}
.about__experience{display:flex;flex-wrap:wrap;gap:7px 18px;margin-bottom:33px!important;padding-bottom:24px;border-bottom:1px solid var(--color-border);color:var(--color-heading);font-size:11px!important;letter-spacing:.045em;line-height:1.7!important}
.about__experience span{position:relative}
.about__experience span:not(:first-child)::before{content:'•';color:var(--color-primary);padding-right:14px}
.about__copy .btn{margin-top:25px}
.about__visual{position:relative;padding:35px 0 50px 20px}
.photo-placeholder--portrait{aspect-ratio:4/5.15;max-height:700px}
.about__visual-mark{position:absolute;bottom:-32px;left:-23px;font:400 clamp(110px,10vw,180px)/1 var(--font-heading);color:rgba(209,185,148,.14);letter-spacing:-.07em;pointer-events:none}
.about__values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:clamp(64px,8vw,112px);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.value-card{padding:34px 32px 39px 0}
.value-card+.value-card{border-left:1px solid var(--color-border);padding-left:33px}
.value-card__number{display:block;color:var(--color-primary);font:400 17px var(--font-heading);margin-bottom:25px}
.value-card h3{font-size:25px;margin-bottom:14px}
.value-card p{font-size:13px;line-height:1.85}
/* 12. Testimonials */
.testimonials__top{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,8vw,105px);align-items:end;margin-bottom:45px}
.testimonials__top h2{margin-bottom:0}
.testimonials__intro p{font-size:14px;line-height:1.85}
.reviews-empty{padding:53px 35px;border:1px solid var(--color-border);text-align:center;background:var(--color-surface);max-width:850px;margin:auto}
.reviews-empty__mark{font:400 74px/1 var(--font-heading);display:block;color:var(--color-primary);height:52px}
.reviews-empty strong{display:block;font:400 28px/1.25 var(--font-heading);color:var(--color-heading);margin:18px 0}
.reviews-empty p{max-width:590px;font-size:13px;line-height:1.85;margin:auto}
.reviews-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--color-primary) transparent;padding-bottom:14px}
.review-card{flex:0 0 calc((100% - 40px)/3);min-width:0;scroll-snap-align:start;padding:30px;background:var(--color-surface);border:1px solid var(--color-border);display:flex;flex-direction:column;min-height:320px}
.review-card__meta{display:flex;justify-content:space-between;gap:18px;align-items:center}
.review-card__author{font-weight:600;color:var(--color-heading);font-size:15px}
.review-card__date{font-size:11px}
.review-card__quote{font:400 17px/1.6 var(--font-heading);color:var(--color-heading);margin:30px 0;flex:1}
.review-card__quote::before{content:'“';color:var(--color-primary)}
.review-card__stars{width:150px;height:40px;display:flex;align-items:center;justify-content:flex-start;border-top:1px solid var(--color-border);padding-top:12px;box-sizing:content-box}
.review-card__stars img{width:150px;height:40px;object-fit:contain}
.reviews-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}
.reviews-controls__progress{color:var(--color-primary);font:400 20px var(--font-heading)}
.reviews-controls__buttons{display:flex;gap:12px}
.arrow-button{width:50px;height:50px;background:transparent;border:1px solid var(--color-border);color:var(--color-heading);font-size:23px;transition:background .2s,border-color .2s}
.arrow-button:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-text)}
.arrow-button:disabled{opacity:.35;cursor:default}
/* 13. FAQ */
.faq__grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(48px,8vw,120px);align-items:start}
.faq__intro p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:400px}
.faq__list{border-top:1px solid var(--color-border)}
.faq-item{border-bottom:1px solid var(--color-border)}
.faq-item summary{padding:27px 0;display:flex;align-items:center;justify-content:space-between;gap:22px;color:var(--color-heading);cursor:pointer;font-size:15px;font-weight:600;line-height:1.6;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item__plus{width:28px;height:28px;flex:none;border:1px solid var(--color-border);position:relative}
.faq-item__plus::before,.faq-item__plus::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-primary)}
.faq-item__plus::before{width:11px;height:1px}
.faq-item__plus::after{height:11px;width:1px;transition:transform .2s}
.faq-item[open] .faq-item__plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item__answer{padding:0 45px 25px 0;max-width:650px}
.faq-item__answer p{font-size:14px;line-height:1.8}
.faq-item__answer a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
/* 14. Contact */
.contact__header{max-width:840px;margin-bottom:60px}
.contact__header>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:670px}
.contact__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(44px,7vw,105px);align-items:start}
.contact-info h3{font-size:clamp(28px,2.8vw,38px);margin-bottom:45px}
.contact-info h3 span{display:block;color:var(--color-primary)}
.contact-info__item{display:grid;grid-template-columns:135px minmax(0,1fr);gap:15px;padding:20px 0;border-bottom:1px solid var(--color-border)}
.contact-info__item>span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--color-primary)}
.contact-info__item>div,.contact-info__item>a,.contact-info__item address{font-size:14px;color:var(--color-heading);line-height:1.75}
.contact-info__item a:hover{color:var(--color-primary)}
.contact-info__item p{margin:0}
.contact-info__hint{color:var(--color-text);font-size:12px;margin-top:3px!important}
.bank-box{display:flex;align-items:flex-start;gap:17px;padding:27px 22px;border:1px solid var(--color-border);background:var(--color-surface);margin-top:31px}
.bank-box__icon{width:50px;height:50px;flex:none;display:grid;place-items:center;border:1px solid var(--color-border);background:var(--color-bg);position:relative}
.bank-box__icon::before{content:'BANK';position:absolute;color:var(--color-primary);font-size:9px;letter-spacing:.04em;z-index:0}
.bank-box__icon img{width:50px;height:50px;object-fit:contain;position:relative;z-index:1;opacity:0}
.bank-box__icon.is-loaded img{opacity:1}
.bank-box__body{min-width:0;flex:1}
.bank-box__body>p{font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px}
.bank-box__number{display:block;color:var(--color-heading);font-size:15px;font-weight:600;line-height:1.65;overflow-wrap:normal;word-break:normal}
.bank-box__copy{display:inline-flex;align-items:center;gap:10px;border:0;background:none;padding:15px 0 3px;color:var(--color-primary);font-size:12px;font-weight:600;line-height:1.4}
.bank-box__copy:hover{text-decoration:underline;text-underline-offset:4px}
.copy-glyph{position:relative;width:13px;height:13px;border:1px solid currentColor;display:inline-block;margin-right:4px}
.copy-glyph::before{content:'';position:absolute;width:11px;height:11px;border:1px solid currentColor;left:4px;top:-5px;background:var(--color-surface)}
.bank-box__status{display:block;color:var(--color-heading);font-size:11px;min-height:17px;margin-top:4px}
.contact__map{margin-top:52px;background:var(--color-surface-alt);border:1px solid var(--color-border);padding:30px 35px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.contact__map .eyebrow{margin-bottom:10px}
.contact__map h3{font-size:28px;margin-bottom:5px}
.contact__map p{font-size:13px}
/* 15. Footer */
.site-footer{border-top:1px solid var(--color-border);background:#252a2d;padding-top:75px}
.site-footer__top{display:grid;grid-template-columns:1.6fr .6fr 1fr;gap:clamp(30px,6vw,80px);padding-bottom:66px}
.site-footer__name{font:400 clamp(29px,3vw,41px)/1.1 var(--font-heading);letter-spacing:-.03em;color:var(--color-heading)}
.site-footer__name span{color:var(--color-primary)}
.site-footer__top>div:first-child p{font-size:13px;line-height:1.85;margin-top:24px;max-width:405px}
.site-footer__top nav,.site-footer__contact{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.site-footer__top nav strong,.site-footer__contact>strong{font-size:11px;text-transform:uppercase;letter-spacing:.17em;color:var(--color-primary);margin-bottom:12px}
.site-footer__top nav a,.site-footer__contact a,.site-footer__contact>span{font-size:13px;line-height:1.7}
.site-footer__bottom{border-top:1px solid var(--color-border);padding:26px 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;font-size:10px;line-height:1.6}
/* 16. Responsive */
@media(min-width:1600px){.hero__grid{gap:80px}.hero__media{padding-right:15px}}
@media(max-width:1180px){
  .site-nav{gap:16px}.site-header__inner{gap:16px}
  .brand__name strong{font-size:18px}.brand__symbol{width:44px;height:44px}
  .header-call{padding-inline:13px}
  .practice-card{padding:25px}
  .contact-info__item{grid-template-columns:118px minmax(0,1fr)}
}
@media(max-width:1020px){
  :root{--header-height:78px}
  .container{width:min(100% - 50px,var(--container-width))}
  .site-nav{position:fixed;top:var(--header-height);left:0;right:0;max-height:calc(100dvh - var(--header-height));overflow-y:auto;background:var(--color-bg);border-bottom:1px solid var(--color-border);display:none;flex-direction:column;align-items:stretch;gap:0;padding:13px 25px 25px;margin:0}
  .site-nav.is-open{display:flex}
  .site-nav a{font-size:15px;padding:13px 0;border-bottom:1px solid var(--color-border)}
  .site-nav a.is-active::after{bottom:0;width:40px}
  .header-call{margin-left:auto}
  .menu-toggle{width:45px;height:45px;flex:none;padding:12px;border:1px solid var(--color-border);background:transparent;display:flex;flex-direction:column;justify-content:center;gap:6px}
  .menu-toggle span{display:block;height:1px;width:100%;background:var(--color-heading);transition:transform .2s ease,opacity .2s ease}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
  .hero__grid{gap:40px;grid-template-columns:1.1fr .9fr}
  .hero__content h1{font-size:clamp(47px,6.2vw,68px)}
  .hero__media{padding:0}
  .photo-placeholder--hero{min-height:450px}
  .urgent__panel{grid-template-columns:240px 1fr}.urgent__marker{padding:25px}
  .practice__grid,.faq__grid{gap:38px}
  .practice-card>p,.practice-card__details{margin-left:0}
  .practice-card__heading h3{font-size:27px}
  .representation__grid,.about__grid{gap:40px}
  .review-card{flex-basis:calc((100% - 20px)/2)}
  .contact__grid{gap:35px}
  .contact-info__item{grid-template-columns:1fr;gap:3px}
}
@media(max-width:767px){
  :root{--header-height:73px}
  .container{width:calc(100% - 36px)}
  .section{padding-block:67px}
  h1{font-size:clamp(42px,10.1vw,64px)}
  h2{font-size:clamp(37px,8.2vw,47px)}
  .eyebrow{font-size:10px;margin-bottom:22px}
  .brand__symbol{width:42px;height:42px}
  .brand__name strong{font-size:17px}
  .brand__name small{font-size:8px}
  .header-call{display:none}
  .menu-toggle{margin-left:auto}
  .hero{padding-top:62px;padding-bottom:72px}
  .hero__grid,.practice__grid,.representation__grid,.about__grid,.testimonials__top,.faq__grid,.contact__grid{grid-template-columns:1fr}
  .hero__grid{gap:46px}
  .hero__content>p:not(.eyebrow):not(.hero__lead){font-size:14px}
  .hero__lead{font-size:19px}
  .hero__media{max-width:540px;width:100%;margin:auto}
  .photo-placeholder--hero{min-height:0;aspect-ratio:4/4.1}
  .hero__foot{margin-top:30px}
  .hero__scroll{display:none}
  .urgent{padding-top:0}
  .urgent__panel{grid-template-columns:1fr}
  .urgent__marker{min-height:0;padding:32px 22px 25px;border-right:0;border-bottom:1px solid var(--color-border)}
  .urgent__marker>strong{font-size:85px;margin:15px 0 5px}
  .urgent__label{font-size:21px}
  .urgent__content{padding:32px 24px 38px}
  .urgent__content h2{font-size:38px}
  .urgent__actions{align-items:stretch;flex-direction:column}
  .urgent__actions .btn{width:100%}
  .practice__intro{position:static}
  .practice__intro>p:not(.eyebrow){max-width:640px}
  .practice__list{gap:12px}
  .practice-card{padding:22px}
  .practice-card__heading{gap:13px}
  .practice-card__heading h3{font-size:27px}
  .practice-card__number{width:44px;height:44px}
  .representation__visual{max-width:600px;width:100%}
  .photo-placeholder--landscape{aspect-ratio:5/4}
  .representation__visual-note{right:0}
  .representation__copy{padding-top:22px}
  .about__visual{max-width:540px;width:100%;margin:auto;padding:0 10px 30px}
  .about__visual-mark{bottom:-25px;left:-4px}
  .about__values{grid-template-columns:1fr;margin-top:58px}
  .value-card{padding:27px 0}
  .value-card+.value-card{border-top:1px solid var(--color-border);border-left:0;padding-left:0}
  .value-card__number{margin-bottom:14px}
  .value-card h3{margin-bottom:9px}
  .testimonials__top{gap:15px;margin-bottom:30px}
  .reviews-empty{padding:39px 21px}
  .review-card{flex-basis:min(90%,440px);min-height:270px;padding:23px}
  .contact__header{margin-bottom:35px}
  .contact-info h3{margin-bottom:27px}
  .contact-info__item{grid-template-columns:138px 1fr}
  .contact__map{padding:28px 22px;flex-direction:column;align-items:flex-start}
  .site-footer{padding-top:52px}
  .site-footer__top{grid-template-columns:1fr 1fr;gap:35px 25px;padding-bottom:45px}
  .site-footer__top>div:first-child{grid-column:1/-1}
}
@media(max-width:480px){
  .container{width:calc(100% - 32px)}
  .brand{gap:9px}
  .brand__name strong{font-size:16px}
  .brand__name small{letter-spacing:.09em}
  .hero__content h1{font-size:clamp(39px,10vw,49px)}
  .hero__lead{font-size:18px}
  .button-group{align-items:stretch;flex-direction:column;gap:10px}
  .button-group .btn{width:100%}
  .photo-placeholder--hero{aspect-ratio:1/1.15}
  .hero__image-caption{gap:7px;flex-wrap:wrap}
  .hero__image-caption strong{font-size:17px}
  .hero__image-caption span{font-size:9px}
  .urgent__content h2{font-size:34px}
  .urgent__content{padding:28px 19px 32px}
  .urgent__actions .btn{padding-inline:10px;font-size:11px;gap:9px}
  .practice-card__heading h3{font-size:25px}
  .practice-card__details{margin-top:15px}
  .representation__visual-note{font-size:17px;padding:12px 16px}
  .about__experience{display:flex;flex-direction:column;gap:8px}
  .about__experience span:not(:first-child)::before{padding-right:7px}
  .review-card{flex-basis:100%}
  .contact-info__item{grid-template-columns:1fr;gap:5px}
  .bank-box{padding:22px 15px;gap:13px}
  .bank-box__number{font-size:13px}
  .site-footer__top{grid-template-columns:1fr}
  .site-footer__top>div:first-child{grid-column:auto}
}
/* 17. Reduced motion */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* 18. Aktualizacja listopad 2026: większa czytelność / mniej tekstów / przyciski bez strzałek */
body {font-size:16px;line-height:1.75}
.site-nav a {font-size:14px}
.btn,.btn--small {
  min-height:44px;
  padding:10px 20px;
  gap:0;
  font-size:13px;
  line-height:1.4;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.btn--text{border:1px solid var(--color-border);padding:10px 20px}
.btn--text:hover{border-color:var(--color-primary)}
.text-link{font-size:14px;gap:0;text-transform:uppercase;letter-spacing:.045em}
.hero__content>p:not(.eyebrow):not(.hero__lead),
.urgent__content p:not(.eyebrow),
.practice__intro>p:not(.eyebrow),
.practice-card>p,
.representation__copy>p:not(.eyebrow),
.representation__note p,
.about__copy>p:not(.eyebrow):not(.about__experience),
.value-card p,
.testimonials__intro p,
.faq__intro p:not(.eyebrow),
.faq-item__answer p,
.contact__header>p:not(.eyebrow),
.contact-info__item>div,.contact-info__item>a,.contact-info__item address,
.contact__map p,.site-footer__top>div:first-child p,
.site-footer__top nav a,.site-footer__contact a,.site-footer__contact>span,
.contact-cta>p:not(.eyebrow){font-size:16px;line-height:1.75}
.practice-card__details li{font-size:16px;line-height:1.7}
.faq-item summary{font-size:17px}
.urgent__actions .btn{padding:10px 20px;font-size:13px}
.hero__foot{font-size:13px}
.reviews-excerpts-label {font-size:12px;color:var(--color-primary);font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin:35px 0 18px}
.google-rating{display:flex;align-items:center;justify-content:space-between;gap:45px;border:1px solid var(--color-border);padding:30px 38px;background:var(--color-surface)}
.google-rating__score{display:flex;flex-direction:column;gap:5px;flex:none}
.google-rating__score strong{font:400 clamp(55px,6.5vw,90px)/1 var(--font-heading);color:var(--color-primary);letter-spacing:-.07em}
.google-rating__score strong span{font-size:.35em;letter-spacing:-.01em;color:var(--color-heading)}
.google-rating__score small{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text)}
.google-rating__details{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.google-rating__details p{margin:0;font-size:16px;color:var(--color-heading)}
.google-rating__date{font-size:12px;color:var(--color-text)}
.review-card{min-height:315px;flex-basis:calc((100% - 20px)/2)}
.review-card__meta{align-items:start}
.review-card__quote{font-size:clamp(19px,2vw,24px);line-height:1.45;margin:24px 0 32px}
.review-card__source{margin-top:auto;padding-top:13px;border-top:1px solid var(--color-border);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary)}
.reviews-disclaimer{font-size:13px;color:var(--color-text);margin-top:15px;max-width:780px;line-height:1.6}
.contact__grid{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(35px,6vw,88px)}
.contact-cta{padding:clamp(28px,4.4vw,57px);background:var(--color-surface);border:1px solid var(--color-border)}
.contact-cta h3{font-size:clamp(30px,3.25vw,45px);max-width:520px}
.contact-cta__actions{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap;margin-top:27px}
.contact-cta .bank-box{margin-top:43px;border-color:var(--color-border);padding:24px 14px}
.bank-box__copy{padding:10px 20px;margin:12px 0 0 -20px;text-transform:uppercase;font-size:12px}
.bank-box__number{font-size:clamp(13px,1.25vw,16px)}
@media(max-width:1020px){.contact__grid{grid-template-columns:1fr 1fr;gap:28px}.contact-cta__actions{flex-direction:column}.contact-cta__actions .btn{width:100%}}
@media(max-width:767px){.review-card{flex-basis:min(90%,440px)}.contact__grid{grid-template-columns:1fr}.contact-cta{padding:30px 23px}.google-rating{padding:25px;gap:20px}.hero__content>p:not(.eyebrow):not(.hero__lead){font-size:16px}}
@media(max-width:480px){.review-card{flex-basis:100%}.google-rating{align-items:flex-start;flex-direction:column}.review-card{min-height:265px}.bank-box__number{font-size:14px;overflow-wrap:anywhere}.contact-cta__actions .btn{font-size:12px}}

/* Źródła recenzji spoza Google — bez podszywania się pod Google */
.review-card__source a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.review-card__source a:hover{color:var(--color-heading)}
.review-card__source a:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}

/* V4: polityka prywatności w stopce i przycisk powrotu na początek */
.site-footer__bottom {align-items:center}
.footer-policy-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 20px;
  font-size:12px;
  line-height:1.4;
  text-transform:uppercase;
  text-decoration:none;
  white-space:normal;
}
.back-to-top {
  position:fixed;
  right:24px;
  bottom:24px;
  right:max(24px, env(safe-area-inset-right));
  bottom:max(24px, env(safe-area-inset-bottom));
  z-index:1000;
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border:1px solid var(--color-primary);
  border-radius:50%;
  background:var(--color-primary);
  color:var(--color-primary-text);
  font-size:28px;
  font-weight:400;
  line-height:1;
  text-decoration:none;
  box-shadow:0 8px 25px rgba(0,0,0,.25);
  transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.back-to-top:hover {background:var(--color-primary-hover);transform:translateY(-3px);box-shadow:0 12px 27px rgba(0,0,0,.28)}
.back-to-top:focus-visible {outline:3px solid var(--color-heading);outline-offset:4px}
@media (max-width:480px) {
  .back-to-top {width:46px;height:46px;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));font-size:26px}
  .site-footer__bottom {gap:20px}
}
@media (prefers-reduced-motion:reduce) {
  .back-to-top {transition:none}
}
