/* NAFTIS · arkusz główny. Mobile first, potem min-width 640 / 900 / 1180 */

:root{
	--paper:#f3f1ec;
	--blank:#FFFFFF;
	--sand:#e3cda8;
	--sand-ink:#4a4a4a;
	--sage:#c5d0bd;
	--sage-deep:#4b5a3a;
	--olive:#a7b678;
	--taupe:#968d82;
	--taupe-ink:#6f665c;
	--text:#606060;
	--text-strong:#333333;
	--soot:#251e1c;
	--mist:#aac2c2;
	--lilac:#cfc1cc;
	--sky:#bfcfda;
	--caption:#527070;
	--caption-on-sage:#3d5555;
    --radius-pill:24px;
    --radius-card:30px;
	--max-w:1230px;
	--font-round:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Arial Rounded MT Bold",system-ui,sans-serif;
	--font-hand:"Mrs Saint Delafield","Segoe Script","Brush Script MT",cursive;
}

[hidden]{display:none !important}

html,body{overflow-x:hidden;overflow-x:clip}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
*,*:before,*:after{box-sizing:border-box}

body{
    margin:0;
    color:var(--text);
    font-family:var(--font-round);
    font-weight:500;
    font-size:16px;
    line-height:1.95;
    letter-spacing:.06em;
	/* papier: szum SVG zamiast obrazka z oryginału, jeden plik mniej do pobrania */
    background-color:var(--paper);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .5 0 0 0 0 .44 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E");
}

img{max-width:100%;height:auto;display:block}
a{color:var(--sage-deep);text-underline-offset:3px}
a:hover{color:var(--soot)}
h1,h2,h3,h4{font-weight:700;color:var(--taupe-ink);line-height:1.35;letter-spacing:.12em;margin:0 0 .6em}
h2{font-size:clamp(1.375rem, 2.4vw + .625rem, 1.875rem)}
h3{font-size:clamp(1.125rem, 1vw + .8rem, 1.5rem)}
h1,h2,h3{text-wrap:balance}
p{margin:0 0 1.1em;text-wrap:pretty}
:focus-visible{outline:3px solid var(--olive);outline-offset:3px}

.wrap_01{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 18px}
.wrap_02{width:100%;max-width:1280px;margin:0 auto;padding:0 18px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* podpis odręczny pod tytułem */
.hand_cap{
    display:block;
    font-family:var(--font-hand);
    font-weight:400;
    font-size:30px;
    line-height:1.1;
    letter-spacing:0;
    color:var(--caption);
    margin:-6px 0 22px;
}
.ttl_center{text-align:center}
.ttl_center h2{letter-spacing:.2em}

/*crown (nagłówek) */
.crown{
	position:absolute;top:0;left:0;right:0;
	z-index:50;
	display:flex;align-items:center;justify-content:space-between;
	padding:14px 18px;
}
.crown--solid{position:relative;background:var(--sage-deep)}
.crown_brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--blank)}
.crown_brand img{width:44px;height:auto}
.crown_brand b{font-size:19px;letter-spacing:.32em;font-weight:700}
.crown_brand:hover{color:var(--blank)}

.navToggle{
	position:fixed;top:14px;right:14px;z-index:70;
	width:52px;height:52px;border-radius:50%;
	border:0;cursor:pointer;
	background:var(--taupe-ink);
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
	transition:background .4s;
}
.navToggle span{display:block;width:24px;height:2px;background:#fff;transition:transform .45s, opacity .3s}
.navToggle:hover{background:var(--sage-deep)}
.navToggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.navToggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.navToggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* panel menu: clip-path + visibility, bez przesuwania za ekran (inaczej biała szpara na telefonie) */
.gnav{
	position:fixed;top:0;right:0;bottom:0;z-index:60;
	width:100%;
	background-color:var(--paper);
	background-image:inherit;
	padding:96px 28px 40px;
	clip-path:inset(0 0 0 100%);
	visibility:hidden;
	transition:clip-path .28s ease, visibility 0s linear .28s;
	overflow-y:auto;
}
.gnav.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .6s ease, visibility 0s}
.gnav{padding-top:6rem}
.gnav ul{list-style:none;margin:0;padding:0}
.gnav li{margin:0 0 6px}
.gnav a{
	display:inline-block;
	font-size:20px;line-height:54px;letter-spacing:.14em;
	padding:0 24px;border-radius:27px;
	color:var(--taupe-ink);text-decoration:none;
	transition:background .4s, color .4s;
}
.gnav a:hover,.gnav a[aria-current="page"]{background:var(--taupe-ink);color:#fff}
.gnav_mail{margin-top:34px;font-size:14px;color:var(--text)}

/*hero_01 */
.hero_01{position:relative;height:92vh;min-height:520px;overflow:hidden;background:#3b3a35}
.hero_slider{position:absolute;inset:0}
.hero_slider img{
	position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
	opacity:0;
	animation:slideFade 18s infinite, slideZoom 18s linear infinite;
}
.hero_slider img:nth-child(1){opacity:1;animation-delay:0s}
.hero_slider img:nth-child(2){animation-delay:6s}
.hero_slider img:nth-child(3){animation-delay:12s}
@keyframes slideFade{0%{opacity:0}6%{opacity:1}33%{opacity:1}40%{opacity:0}100%{opacity:0}}
@keyframes slideZoom{0%{transform:scale(1)}40%{transform:scale(1.1)}100%{transform:scale(1.1)}}
.hero_01:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(37,30,28,.55) 0%,rgba(37,30,28,.35) 45%,rgba(37,30,28,.6) 100%)}
.hero_mark{
	position:absolute;z-index:5;left:50%;top:44%;
	transform:translate(-50%,-50%);
	width:min(92%, 640px);
	text-align:center;color:#fff;
}
.hero_mark img{width:118px;margin:0 auto 14px}
.hero_mark h1{color:#fff;font-size:clamp(34px, 6vw, 58px);letter-spacing:.42em;margin:0 0 .3em;padding-left:.42em}
.hero_mark p{font-size:clamp(16px, 1.2vw + 10px, 20px);line-height:1.8;margin:0 auto 26px;max-width:30em;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.hero_btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.hero_edge{
	position:absolute;left:0;right:0;bottom:-2px;z-index:6;
	height:18vh;max-height:150px;
	clip-path:inset(0 100% 0 0);
	animation:edgeIn 3.5s .4s ease forwards;
}
.hero_edge svg{width:100%;height:100%;display:block}
@keyframes edgeIn{to{clip-path:inset(0 0 0 0)}}

.btn_pill{
	display:inline-flex;align-items:center;justify-content:center;
	min-height:48px;padding:0 26px;border-radius:var(--radius-pill);
	font:inherit;font-size:15px;letter-spacing:.12em;font-weight:700;
	text-decoration:none;cursor:pointer;
	border:1px solid #fff;color:#fff;background:transparent;
	transition:background .6s, color .6s;
}
.btn_pill:hover{background:#fff;color:var(--sage-deep)}
.btn_pill.is-solid{background:var(--taupe-ink);border-color:var(--taupe-ink)}
.btn_pill.is-solid:hover{background:#fff;color:var(--taupe-ink)}
.btn_pill.is-dark{border-color:var(--sage-deep);color:var(--sage-deep)}
.btn_pill.is-dark:hover{background:var(--sage-deep);color:#fff}

.intro_quote{padding:70px 0 40px;text-align:center}
.intro_quote .verse{
	display:inline-block;text-align:left;
	font-size:19px;line-height:2.1;letter-spacing:.14em;font-weight:700;color:var(--taupe-ink);
	margin:0 auto;
}
.intro_quote .verse span{display:block}
.intro_quote .after{max-width:620px;margin:30px auto 0;padding:0 18px;font-size:15px}

.about_01{padding:40px 0 90px}
.about_row{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center;margin-bottom:64px}
.about_row:last-child{margin-bottom:0}
.about_row .txt p{font-size:1rem;line-height:2.1}
.about_row h2{font-size:clamp(20px, 1.6vw + 12px, 26px)}
.blob{border-radius:58% 42% 55% 45% / 48% 56% 44% 52%;overflow:hidden;min-width:0}
.blob img{width:100%;aspect-ratio:1/0.82;object-fit:cover}
.blob.b2{border-radius:45% 55% 40% 60% / 60% 42% 58% 40%}
.blob.b3{border-radius:50%}
.blob_pair{position:relative;display:flex;align-items:flex-start;min-width:0}
.blob_pair .blob{width:62%;position:relative;z-index:20}
.blob_pair .blob + .blob{width:50%;margin-left:-35px;margin-top:90px;z-index:30;border:6px solid var(--paper)}
.who_list{list-style:none;margin:0 0 1em;padding:0}
.who_list li{position:relative;padding:4px 0 4px 26px}
.who_list li:before{content:"";position:absolute;left:0;top:15px;width:12px;height:12px;border-radius:50%;background:var(--olive)}

.chain_band{position:relative;background:var(--sage);padding:20px 0 90px;margin-top:70px}
.chain_band:before{
	content:"";position:absolute;left:0;right:0;top:-68px;height:70px;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 70' preserveAspectRatio='none'%3E%3Cpath d='M0 46 C180 6 330 4 520 34 S860 70 1040 38 1300 4 1440 30 V70 H0Z' fill='%23c5d0bd'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat;
}
.chain_band h2{color:var(--text-strong)}
.chain_band .hand_cap{color:var(--caption-on-sage)}
.chain_band .lead{color:var(--text-strong);max-width:680px}
.chain{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:26px;counter-reset:ch}
.chain li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center;color:var(--text-strong)}
.chain .dot{width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--blank);display:flex;align-items:center;justify-content:center;border:4px solid #fff}
.chain .dot img{width:100%;height:100%;object-fit:cover}
.chain .dot svg{width:44px;height:44px}
.chain h3{font-size:17px;margin:0 0 2px;color:var(--soot);letter-spacing:.1em}
.chain p{margin:0;font-size:14.5px;line-height:1.8}

.dash_line{height:24px;margin:-12px 0 0;position:relative;z-index:40;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='24'%3E%3Cpath d='M2 14 q14 -9 28 0 t28 0 t28 0 t28 0' fill='none' stroke='%23968d82' stroke-width='1.6' stroke-dasharray='7 6' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x center/auto 24px;
}

.price_parts{padding:6.25rem 0 5rem;position:relative}
.scrap_tri{position:absolute;width:190px;height:150px;left:6%;top:56px;background:var(--sand);clip-path:polygon(0 18%,100% 0,62% 100%);opacity:.75;z-index:-1}
.price_grid{display:grid;grid-template-columns:minmax(0,1fr);gap:34px;align-items:start;margin-top:28px}
.receipt{
	background:#fffdf8;color:var(--text-strong);
	padding:26px 22px 34px;
	font-size:15px;line-height:1.7;
	position:relative;
	box-shadow:0 1px 0 rgba(0,0,0,.04);
	-webkit-mask:radial-gradient(circle 7px at 50% 100%, transparent 98%, #000) 0 0/18px 100% repeat-x;
	        mask:radial-gradient(circle 7px at 50% 100%, transparent 98%, #000) 0 0/18px 100% repeat-x;
}
.receipt_head{text-align:center;border-bottom:1px dashed var(--taupe);padding-bottom:10px;margin-bottom:8px;letter-spacing:.2em;font-weight:700}
.receipt ol{list-style:none;margin:0;padding:0}
.receipt li{border-bottom:1px dotted #cfc8bd}
.receipt button{
	all:unset;box-sizing:border-box;cursor:pointer;
	display:flex;justify-content:space-between;gap:12px;width:100%;
	padding:10px 4px;
}
.receipt button:focus-visible{outline:2px solid var(--olive)}
.receipt button[aria-pressed="true"]{background:#f2ecdf;font-weight:700}
.receipt .tag{color:var(--taupe-ink);font-size:13px;white-space:nowrap}
.receipt_foot{margin-top:12px;font-size:13px;color:var(--text)}
.part_note{background:#fff;border-radius:var(--radius-card);padding:26px 24px;min-height:220px}
.part_note h3{margin-bottom:.4em}
.part_note .muted{font-size:13px;color:var(--text)}
.price_side .blob{max-width:340px;margin:24px auto 0}

/*story_num (1/2/3) */
.story_num{padding:40px 0 100px}
.acco{border-top:4px solid var(--mist)}
.acco_item{border-bottom:4px solid var(--mist);background:rgba(255,255,255,.55)}
.accohead{
	all:unset;box-sizing:border-box;cursor:pointer;
	display:grid;grid-template-columns:80px minmax(0,1fr) 28px;align-items:center;gap:10px;
	width:100%;min-height:110px;padding:10px 16px;
	position:relative;
}
.accohead .num{font-size:86px;line-height:1;font-weight:700;color:var(--mist);font-family:var(--font-round)}
.accohead .t{font-size:18px;line-height:1.55;letter-spacing:.1em;font-weight:700;color:var(--text-strong)}
.accohead .t small{display:block;font-size:13px;font-weight:500;color:var(--text);letter-spacing:.06em}
.accohead:after{content:"";width:12px;height:12px;border-right:2px solid var(--taupe-ink);border-bottom:2px solid var(--taupe-ink);transform:rotate(45deg);transition:transform .3s;justify-self:center}
.accohead[aria-expanded="true"]:after{transform:rotate(-135deg)}
.accohead:focus-visible{outline:3px solid var(--olive);outline-offset:-3px}
.accobody{padding:0 16px 28px}
.accobody .pic{margin:0 0 20px}
.accobody .pic img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:24px}
.accobody ul{padding-left:1.1em;margin:0 0 1em}
.accobody .price_line{font-weight:700;color:var(--sage-deep)}

.weak_spot{padding:20px 0 110px}
.weak_box{position:relative;display:grid;grid-template-columns:minmax(0,1fr)}
.weak_box .photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:46% 54% 40% 60% / 55% 45% 55% 45%}
.note_card{
	background:var(--taupe-ink);color:#fff;
	border-radius:var(--radius-card);
	padding:34px 28px;margin:-60px 12px 0;position:relative;z-index:3;
}
.note_card h2{color:#fff;font-size:22px}
.note_card p:last-child{margin:0}

.week_plan{padding:0 0 100px}
.weeks{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:20px}
.week{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:stretch}
.week b{display:flex;align-items:center;font-size:14px;letter-spacing:.14em;color:var(--taupe-ink)}
.meet{background:#fff;border:1px solid #ded7cb;border-radius:18px;padding:12px 14px;font-size:13.5px;line-height:1.55;color:var(--text-strong)}
.meet i{display:block;font-style:normal;font-size:12px;color:var(--text);letter-spacing:.1em}
.week_note{font-size:14px;margin-top:16px}

.people_band{position:relative;background:var(--sand);color:var(--sand-ink);padding:100px 0 110px;margin-top:40px}
.people_band:before{
	content:"";position:absolute;left:0;right:0;top:-40px;height:42px;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 42' preserveAspectRatio='none'%3E%3Cpath d='M0 30 C240 0 480 40 720 20 S1200 0 1440 24 V42 H0Z' fill='%23e3cda8'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat;
}
.people_band h2{color:#4d453d}
.people_band .hand_cap{color:#4d5f5f}
.people{display:grid;grid-template-columns:minmax(0,1fr);gap:46px;margin-top:30px}
.person{display:grid;grid-template-columns:120px minmax(0,1fr);gap:22px;align-items:start}
.person .mono{
	width:120px;height:120px;border-radius:50%;
	display:flex;align-items:center;justify-content:center;
	font-size:34px;font-weight:700;letter-spacing:.08em;color:#4d453d;
	position:relative;
}
.person .mono.m1{background:var(--sky)}
.person .mono.m2{background:var(--lilac)}
.person .mono em{position:absolute;bottom:-14px;right:-18px;font-family:var(--font-hand);font-style:normal;font-size:26px;font-weight:400;color:#3f3934;transform:rotate(-9deg);letter-spacing:0;white-space:nowrap}
.person h3{color:#3f3934;margin-bottom:.2em}
.person .role{font-size:13px;letter-spacing:.14em;margin-bottom:.8em;display:block}

.not_doing{padding:110px 0 80px}
.not_list{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.not_list li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:20px 0;border-bottom:1px dashed var(--taupe)}
.not_list li:before{content:"";width:34px;height:34px;border-radius:50%;border:2px solid var(--taupe-ink);
	background:linear-gradient(45deg,transparent 46%,var(--taupe-ink) 46%,var(--taupe-ink) 54%,transparent 54%)}
.not_list strong{display:block;color:var(--text-strong);letter-spacing:.08em}

.price_table{padding:40px 0 100px}
.tbl_wrap{overflow-x:auto;margin-top:26px;background:#fff;border-radius:24px;padding:6px 4px}
.tbl_wrap table{width:100%;border-collapse:collapse;min-width:560px;font-size:15px}
.tbl_wrap th,.tbl_wrap td{text-align:left;padding:16px 16px;border-bottom:1px solid #e7e1d6;vertical-align:top}
.tbl_wrap th{font-size:12.5px;letter-spacing:.16em;color:var(--taupe-ink);font-weight:700}
.tbl_wrap td.p{white-space:nowrap;font-weight:700;color:var(--soot)}
.tbl_wrap tr:last-child td{border-bottom:0}
.terms_cols{display:grid;grid-template-columns:minmax(0,1fr);gap:8px 40px;margin-top:30px;font-size:15px}
.terms_cols h3{font-size:16px;margin:0 0 .3em;color:var(--text-strong)}
.price_table .doc_pic{max-width:260px;margin:30px auto 0}

.faq_two{padding:1.25rem 0 6.25rem}
.faq_two dl{display:grid;grid-template-columns:minmax(0,1fr);gap:0 48px;margin:28px 0 0}
.faq_two .q{padding:20px 0;border-top:1px solid #ddd5c8}
.faq_two dt{font-weight:700;color:var(--text-strong);letter-spacing:.06em;margin-bottom:6px}
.faq_two dd{margin:0;font-size:15px}

.form_zone{position:relative;background:var(--blank);padding:90px 0 120px}
.form_zone:before{
	content:"";position:absolute;left:0;right:0;top:-50px;height:52px;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 52' preserveAspectRatio='none'%3E%3Cpath d='M0 40 C300 4 600 52 900 26 S1300 8 1440 22 V52 H0Z' fill='%23ffffff'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat;
}
.form_grid{display:grid;grid-template-columns:minmax(0,1fr);gap:34px}
.signup fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}
.signup legend{font-weight:700;color:var(--text-strong);letter-spacing:.08em;margin-bottom:10px;padding:0}
.tiles{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.tile{position:relative;display:block;cursor:pointer}
.tile input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.tile span{display:block;border:1px solid #cfc7ba;border-radius:20px;padding:14px 18px;background:var(--paper);transition:border-color .3s, background .3s;line-height:1.5}
.tile b{display:block;color:var(--text-strong);font-size:15px}
.tile em{font-style:normal;font-size:13px;color:var(--text)}
.tile input:checked + span{border-color:var(--sage-deep);background:#eef1e8;box-shadow:inset 0 0 0 1px var(--sage-deep)}
.tile input:focus-visible + span{outline:3px solid var(--olive);outline-offset:2px}
.fld{margin:0 0 16px}
.fld label{display:block;font-size:14px;letter-spacing:.1em;color:var(--taupe-ink);font-weight:700;margin-bottom:6px}
.fld input,.fld select,.fld textarea{
	width:100%;min-height:48px;
	font:inherit;font-size:16px;color:var(--soot);
	border:1px solid var(--taupe);border-radius:24px;
	padding:10px 18px;background:#fff;
}
.fld textarea{min-height:120px;border-radius:20px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--sage-deep);outline:2px solid var(--olive);outline-offset:1px}
.fld .err{display:block;min-height:0;font-size:13px;color:#9b2c1f;margin-top:4px}
.fld.is-bad input,.fld.is-bad select,.fld.is-bad textarea{border-color:#9b2c1f}
.agree{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;font-size:13.5px;line-height:1.7;margin:6px 0 18px}
.agree input{width:20px;height:20px;margin:3px 0 0;accent-color:var(--sage-deep)}
.hp_field{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form_msg{margin-top:14px;font-size:14px;color:#9b2c1f}
.form_aside{font-size:15px}
.form_aside .blob{max-width:300px;margin:20px 0 0}

/*endbar (stopka) */
.endbar{
	position:relative;
	background:linear-gradient(160deg,#6f665c 0%,#5b6a4f 70%,#4b5a3a 100%);
	color:#fff;padding:80px 0 30px;
	overflow:hidden;
}
.endbar_box{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;max-width:900px;margin:0 auto;padding:0 18px;position:relative;z-index:2}
.endbar .brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;margin-bottom:16px}
.endbar .brand img{width:58px}
.endbar .brand b{font-size:22px;letter-spacing:.34em}
.endbar p{font-size:14.5px;line-height:1.9;margin-bottom:.8em}
.endbar a{color:#fff}
.endbar ul{list-style:none;margin:0;padding:0;font-size:14.5px;line-height:2.4}
.endbar .cookie_link{all:unset;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.endbar .cookie_link:focus-visible{outline:2px solid #fff}
.endbar .art{position:absolute;right:-30px;bottom:30px;width:260px;opacity:.35;z-index:1}
.endbar_copy{max-width:900px;margin:40px auto 0;padding:18px 18px 0;border-top:1px solid rgba(255,255,255,.35);font-size:12.5px;letter-spacing:.1em}

.cookie_bar{
	position:fixed;left:12px;right:12px;bottom:12px;z-index:90;
	background:#fff;color:var(--text-strong);
	border-radius:24px;padding:20px 20px 18px;
	box-shadow:0 8px 30px rgba(37,30,28,.18);
	font-size:14px;line-height:1.7;
	max-width:560px;
}
.cookie_bar h2{font-size:16px;margin:0 0 6px;color:var(--text-strong);letter-spacing:.08em}
.cookie_btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.cookie_btns button{
	font:inherit;font-size:13.5px;font-weight:700;letter-spacing:.06em;
	min-height:42px;padding:0 18px;border-radius:21px;cursor:pointer;
	border:1px solid var(--sage-deep);background:#fff;color:var(--sage-deep);
}
.cookie_btns .yes{background:var(--sage-deep);color:#fff}
.cookie_opts{margin-top:12px;border-top:1px dashed var(--taupe);padding-top:10px}
.cookie_opts label{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;margin:6px 0}
.cookie_opts input{width:18px;height:18px;margin:4px 0 0;accent-color:var(--sage-deep)}

.page_head{padding:4.4rem 0 3rem;text-align:center;position:relative}
.page_head h1{font-size:clamp(1.5rem, 2.4vw + .75rem, 2.125rem);letter-spacing:.18em;margin-bottom:.2em}
.page_head .lead{max-width:680px;margin:10px auto 0}
.legal{padding:10px 0 100px}
.legal h2{font-size:1.2rem;margin:2.1rem 0 .5em;letter-spacing:.1em}
.legal p,.legal li{font-size:.97rem;line-height:1.95}
.legal ul{padding-left:1.2em}

/* one_meet: sam tekst, szeroki oddech jak w referencji */
.one_meet{padding:30px 0 120px}
.one_meet_txt{max-width:46em;margin-left:auto;margin-right:8%}
.one_meet_txt p:nth-child(2){font-size:1.06rem;line-height:2.1}

/* program-kursu */
.prog_list{padding:10px 0 90px}
.meetings{list-style:none;margin:0;padding:0}
.meetings li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;padding:26px 0;border-bottom:4px solid var(--mist)}
.meetings li:first-child{border-top:4px solid var(--mist)}
.mnum{font-size:72px;line-height:.9;font-weight:700;color:var(--mist)}
.meetings h2{font-size:1.15rem;color:var(--text-strong);margin-bottom:.35em}
.meetings p{margin:0}
.quality_band{position:relative;background:var(--sage);padding:70px 0 90px;margin-top:60px}
.quality_band h2{color:var(--text-strong)}
.quality_band .hand_cap{color:var(--caption-on-sage)}
.quality_band p{color:var(--text-strong)}
.quality_band .tbl_wrap table{min-width:0}
.q_grid{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;align-items:center}
.q_grid .blob{max-width:420px;margin:0 auto}
.kit_row{padding:90px 0 110px}
.kit_grid{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;align-items:center;margin-top:24px}
.kit_grid .blob{max-width:320px;margin:0 auto}
.kit_list{margin:0}
.kit_list div{padding:14px 0;border-bottom:1px dashed var(--taupe)}
.kit_list dt{font-weight:700;color:var(--text-strong);letter-spacing:.08em}
.kit_list dd{margin:0;font-size:15px}
.kit_cta{margin-top:36px;text-align:center}

/* szkolenia-dla-firm */
.firm_top{padding:0 0 70px}
.firm_split{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center}
.firm_pic{margin:0 -18px;min-width:0}
.firm_pic img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:0 0 46% 54% / 0 0 18% 22%}
.firm_txt h1{font-size:clamp(1.5rem, 2vw + .9rem, 2.1rem);letter-spacing:.14em}
.fit_steps{padding:30px 0 90px}
.steps3{list-style:none;margin:26px 0 0;padding:0;counter-reset:st;display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.steps3 li{counter-increment:st;position:relative;padding:22px 22px 8px 74px;background:rgba(255,255,255,.7);border-radius:var(--radius-card)}
.steps3 li:before{content:counter(st);position:absolute;left:20px;top:12px;font-size:46px;font-weight:700;color:var(--mist);line-height:1}
.steps3 b{display:block;color:var(--text-strong);letter-spacing:.08em;margin-bottom:4px}
.firm_band{padding:20px 0 120px}
.firm_band_grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:center}
.firm_band_grid .blob{max-width:460px}
.ask_form{max-width:none}
.ask_cols{display:grid;grid-template-columns:minmax(0,1fr);gap:0 26px}
.thanks{padding:120px 0 140px}

/* reveal: bez JS wszystko widać, klasę .js stawia site.js */
.js .fadein{opacity:0;transform:translate(0,5vw);transition:opacity .8s, transform .8s}
.js .fadein.scrollin{opacity:1;transform:translate(0,0)}

@media (prefers-reduced-motion:reduce){
	.hero_slider img{animation:none}
	.hero_slider img:nth-child(1){opacity:1}
	.hero_edge{animation:none;clip-path:none}
	.js .fadein{opacity:1;transform:none;transition:none}
	html{scroll-behavior:auto}
}

@media (min-width:640px){
	.wrap_01,.wrap_02{padding:0 32px}
	.crown{padding:20px 32px}
	.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
	.chain{grid-template-columns:repeat(2,minmax(0,1fr))}
	.terms_cols{grid-template-columns:repeat(2,minmax(0,1fr))}
	.faq_two dl{grid-template-columns:repeat(2,minmax(0,1fr))}
	.gnav{width:640px}
	.cookie_bar{left:24px;bottom:24px}
}

@media (min-width:900px){
	.hero_01{height:80vh}
	.hero_edge{height:150px}

	/* TODO: w referencji te wiersze idą pionowo (vertical-rl), ale polskie litery leżą wtedy na boku; zostają poziome schodki, wrócić do tematu, jeśli klient poprosi o pion */
	.intro_quote{padding:160px 0 72px}
	.intro_quote .verse{font-size:24px;line-height:58px;letter-spacing:.2em}
	.intro_quote .verse span:nth-child(2){padding-left:2.2em}
	.intro_quote .verse span:nth-child(3){padding-left:4.4em}
	.intro_quote .verse span:nth-child(4){padding-left:1.1em}
	.intro_quote .verse span:nth-child(5){padding-left:3.3em}
	.intro_quote .verse span:nth-child(6){padding-left:6em;color:var(--sage-deep)}

	.about_row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px}
	.about_row.rev .txt{order:-1;padding-left:8%}
	.chain{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
	.chain li{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center}
	.chain .dot{width:132px;height:132px}
	.chain li:nth-child(even){margin-top:56px}
	.price_grid{grid-template-columns:minmax(0,5fr) minmax(0,4fr);gap:56px}

	.acco_item{display:grid;grid-template-columns:minmax(0,1fr)}
	.accohead{grid-template-columns:130px minmax(0,1fr) 28px;min-height:125px}
	.accohead .num{font-size:110px}
	.accobody .inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:44px;align-items:start}

	.weak_box{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center}
	.note_card{margin:0 0 0 -120px;padding:48px}

	.people{grid-template-columns:repeat(2,minmax(0,1fr));gap:60px}
	.person{grid-template-columns:170px minmax(0,1fr)}
	.person .mono{width:170px;height:170px;font-size:44px}
	.person:nth-child(2){margin-top:80px}

	.form_grid{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:64px}
	.endbar_box{grid-template-columns:minmax(0,676fr) minmax(0,224fr)}
	.endbar .art{width:340px;right:0}

	.meetings li{grid-template-columns:120px minmax(0,1fr);gap:24px;padding:34px 0}
	.mnum{font-size:110px}
	.q_grid{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:60px}
	.kit_grid{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:60px}
	.firm_split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px}
	.firm_pic{margin:0 0 0 calc(-50vw + 50%)}
	.steps3{grid-template-columns:repeat(3,minmax(0,1fr))}
	.steps3 li:nth-child(2){margin-top:40px}
	.firm_band_grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
	.firm_band_grid .note_card{margin:0 0 0 -90px}
	.ask_cols{grid-template-columns:repeat(2,minmax(0,1fr))}
	.not_list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
}

@media (min-width:1180px){
	.wrap_01,.wrap_02{padding:0 15px}
	.about_01{padding:60px 0 150px}
	.about_row{margin-bottom:100px}
}
