/* Study Wild v6 — unified editorial design across the five-page architecture.
   Inherits the color, typography, UI components and animations from v5.
   Keeps native document scrolling; no Lenis / wheel preventDefault. */
:root{--ochre:#a37c2a}
html{scroll-padding-top:100px}
body{overflow-x:clip}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.nav-links a[aria-current="page"]{opacity:1;color:var(--gold2)}
.nav-links a[aria-current="page"]:after{width:100%;background:var(--gold2)}
.mobile-menu-cta{font-weight:800;color:var(--gold2)!important}
/* One visual rhythm, independent of the source page. */
.subhero{position:relative;min-height: min(740px, 100svh);background:var(--ink2);color:var(--white);overflow:hidden}
.subhero-grid{min-height:min(740px, 100svh);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:stretch;gap:clamp(40px,5vw,100px)}
.subhero-copy{align-self:center;position:relative;z-index:2;padding:clamp(140px,14svh,190px) 0 clamp(75px,8svh,125px)}
.subhero-copy .eyebrow{color:var(--gold2);display:block;margin-bottom:clamp(24px,3vw,42px)}
.subhero h1{font:400 clamp(60px,6.3vw,111px)/.91 var(--serif);letter-spacing:-.045em;max-width:780px;margin:0 0 28px;text-wrap:balance}
.subhero h1 em{color:var(--gold2);font-weight:400}
.subhero p{max-width:540px;font-size:clamp(16px,1.35vw,20px);line-height:1.7;color:#dce1d8;margin:0 0 32px}
.subhero-image{position:relative;min-height:100%;isolation:isolate}
.subhero-image:before{content:"";inset:0;position:absolute;z-index:1;background:linear-gradient(90deg,var(--ink2) 0%,rgba(23,36,27,.08) 50%),linear-gradient(0deg,rgba(10,20,14,.4),transparent 40%);pointer-events:none}
.subhero-image img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.subhero-method .subhero-image img{object-position:50% 28%}
.subhero-offer .subhero-image img{object-position:center}
.subhero-about .subhero-image img{object-position:center 30%}
/* About / founder story */
.story-section{background:var(--paper);padding:clamp(75px,8vw,118px) 0}
.story-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(44px,7vw,125px);align-items:start}
.story-intro{position:sticky;top:126px}
.story-intro .eyebrow,.section-heading-row .eyebrow,.custom-goals .eyebrow{margin-bottom:20px;color:#9d7826}
.story-intro .section-title{margin:0 0 36px;font-size:clamp(52px,5vw,82px);line-height:.95}
.story-intro .section-title em,.section-heading-row .section-title em{color:#9c7828}
.story-visual{height:clamp(230px,27vw,410px);overflow:hidden}
.story-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.story-text{font-size:clamp(16px,1.22vw,19px);color:#4e5d51;line-height:1.85;padding-top:24px}
.story-text p{margin:0 0 26px}
.story-text p:first-child::first-letter{font:500 70px/.7 var(--serif);float:left;margin:10px 8px 0 0;color:#92711f}
.story-text .btn-ink{margin-top:20px}
.about-team-intro{padding-bottom:clamp(40px,5vw,75px);background:var(--sage)}
.about-team-intro .container{max-width:1120px}
.about-team-intro .section-title{font-size:clamp(52px,6vw,93px)}
.about-team-directory{padding-top:0}
.about-team-directory .filter-bar{position:relative;z-index:2}
/* Method example */
.sample-section{background:var(--ink2);color:var(--white);padding:clamp(70px,8vw,120px) 0}
.section-heading-row{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(35px,6vw,100px);align-items:end;margin-bottom:clamp(37px,5vw,65px)}
.section-heading-row .section-title{font-size:clamp(50px,5.3vw,84px);line-height:.95;margin:0}
.sample-section .section-heading-row .eyebrow{color:var(--gold2)}
.sample-section .section-heading-row .section-title em{color:var(--gold2)}
.section-heading-row>p{font-size:16px;line-height:1.75;color:rgba(255,255,255,.7);max-width:430px;margin:0 0 5px}
.sample-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line-light)}
.sample-card{min-height:300px;border-right:1px solid var(--line-light);padding:clamp(23px,3vw,42px);display:flex;flex-direction:column}
.sample-card:last-child{border-right:0}
.sample-card>span{color:var(--gold2);font-size:11px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}
.sample-card h3{font:500 clamp(29px,2.7vw,44px)/1.05 var(--serif);margin:52px 0 18px}
.sample-card p{font-size:14px;line-height:1.7;color:#cdd4ca;margin:0}
.sample-section .btn-ink{background:var(--gold);color:var(--ink);border:0}
.sample-cta{margin-top:36px}
/* Offer supplementary info */
.custom-goals{padding:clamp(75px,8vw,118px) 0;background:var(--sage)}
.custom-goals-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,110px);align-items:center}
.custom-goals .section-title{margin:0;font-size:clamp(50px,5.2vw,86px);line-height:.94}
.custom-goals-copy{max-width:550px;color:#4a554b;line-height:1.8;font-size:clamp(16px,1.2vw,19px)}
.custom-goals-copy p{margin:0 0 20px}
.custom-goals-copy .btn-ink{margin-top:13px}
/* CTA links */
.inline-underline,.faq-all-link{display:inline-flex;align-items:center;gap:12px;margin-top:17px;border-bottom:1px solid currentColor;padding-bottom:7px;font-size:13px;font-weight:750;color:var(--ink)}
.faq-all-link{margin-top:28px;align-self:start}
/* Full FAQ: long questions must wrap and not cause overflow. */
.faq-dedicated{padding-top:clamp(85px,8vw,130px);padding-bottom:clamp(85px,8vw,130px)}
.faq-dedicated .faq-list{min-width:0}
.faq-dedicated .faq-item summary{min-width:0}
.faq-dedicated .faq-item summary strong{overflow-wrap:anywhere}
.faq-dedicated .faq-answer ul{padding-left:22px}
.faq-dedicated .faq-intro .inline-underline{margin-top:26px}
/* Contact form imports its own, intentionally scoped styles; align to v5 theme. */
.sw-contact-new{background:var(--sage);padding:clamp(140px,14svh,180px) 0 clamp(65px,8vw,110px);scroll-margin-top:0}
.sw-contact-container{width:min(1400px,calc(100% - 80px))}
.sw-contact-heading h1{font-size:clamp(50px,5.5vw,90px);letter-spacing:-.045em}
.sw-contact-heading h1 em{color:#a58132}
.sw-contact-kicker,.sw-form-eyebrow{color:#86651d}
.sw-multistep-form{background:var(--paper);border-color:var(--line)}
.sw-contact-new input,.sw-contact-new textarea{max-width:100%}
.sw-contact-new [data-availability-summary]{overflow-wrap:anywhere}
/* Keep the native document scroll uninterrupted at every section. */
.teacher-row,.profile-card{overscroll-behavior:auto}
.teacher-bio,.profile-copy{overscroll-behavior:auto}
/* Header usability on small and medium screens */
@media(max-width:1100px){
 .nav-links{gap:15px}
 .nav-inner{grid-template-columns:165px 1fr 190px;gap:12px}
 .nav-cta{font-size:11px}
 .subhero h1{font-size:clamp(51px,6.4vw,78px)}
 .sample-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sample-card:nth-child(2){border-right:0}
 .sample-card:nth-child(-n+2){border-bottom:1px solid var(--line-light)}
}
@media(max-width:760px){
 html{scroll-padding-top:74px}
 .container{width:calc(100% - 36px)}
 .subhero,.subhero-grid{min-height:100svh}
 .subhero-grid{display:flex;flex-direction:column;gap:0;justify-content:end}
 .subhero-copy{width:100%;padding:clamp(108px,16svh,158px) 0 52px;align-self:auto;margin-top:auto}
 .subhero h1{font-size:clamp(49px,11vw,78px);line-height:.93}
 .subhero p{font-size:15px;line-height:1.6}
 .subhero-image{position:absolute;inset:0;z-index:0;opacity:.34}
 .subhero-image:before{background:linear-gradient(0deg,var(--ink2) 7%,rgba(23,36,27,.47) 82%),linear-gradient(90deg,var(--ink2),transparent)}
 .subhero-copy{position:relative;z-index:2}
 .story-layout,.section-heading-row,.custom-goals-grid{grid-template-columns:1fr;gap:27px}
 .story-intro{position:static}
 .story-intro .section-title{font-size:clamp(48px,11vw,72px)}
 .story-visual{height:280px}
 .story-text{padding:0}
 .sample-grid{grid-template-columns:1fr}
 .sample-card{min-height:0;padding:29px;border-right:0;border-bottom:1px solid var(--line-light)}
 .sample-card:nth-child(2){border-bottom:1px solid var(--line-light)}
 .sample-card:last-child{border-bottom:0}
 .sample-card h3{margin:22px 0 12px}
 .sw-contact-new{padding:110px 0 68px}
 .sw-contact-container{width:calc(100% - 32px)}
 .sw-contact-heading h1{font-size:clamp(48px,11vw,72px)}
 .about-team-intro{padding:105px 0 35px}
 .about-team-intro .section-title{font-size:clamp(48px,10vw,66px)}
}
@media(max-width:390px){
 .subhero h1{font-size:clamp(45px,11.5vw,55px)}
 .subhero-copy .eyebrow{font-size:9px}
 .sw-contact-new .sw-form-steps-indicator li{min-width:0}
 .sw-contact-new .sw-form-steps-indicator li strong{font-size:8px}
}
@media(prefers-reduced-motion:reduce){
 .subhero,.story-visual,.sample-card{scroll-behavior:auto}
}

/* Contact sits on a light background; keep the fixed header legible. */
.page-kontakt .site-nav{background:rgba(16,25,19,.96);color:var(--white);border-bottom:1px solid rgba(255,255,255,.13)}
.page-kontakt .site-nav.scrolled{background:rgba(16,25,19,.96)}
.page-kontakt .sw-contact-new{padding-top:clamp(154px,15svh,190px)}
@media(max-width:760px){.page-kontakt .sw-contact-new{padding-top:118px}}
/* Seven compact opinion pagination ticks, without horizontal overflow. */
@media(max-width:650px){.review-dots{gap:5px}.review-dots button{width:20px}.review-dots button.is-active{width:30px}}
/* Keep map within viewport when reached from a direct anchor link. */
html{scroll-padding-top:0}
#faq,#zespol,#jak-zaczac,#oferta,#historia{scroll-margin-top:86px}
#mapa{scroll-margin-top:0}

/* ================================================================
   v7: polished steps, language selector and mirrored review arrows
   ================================================================ */
/* `hidden` creates a scroll container and prevents sticky from working.
   `clip` retains the decorative clipping without hijacking the document. */
.steps { overflow: clip; }
@media (min-width: 861px) {
  .steps-intro { position: sticky; top: clamp(82px, 13svh, 122px); align-self: start; }
}
@media (max-width: 860px) {
  .steps-intro { position: relative; top: auto; }
}
/* Country picker: same green / gold visual vocabulary as the atlas controls.
   A native select stays in place for keyboard, touch and screen readers. */
.country-select-shell { position: relative; display: flex; align-items: center; min-width: 0; width: 100%; isolation: isolate; background: #15241b; border: 1px solid rgba(214,173,59,.52); transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.country-select-shell:hover { border-color: var(--gold2); background: #192b20; }
.country-select-shell:focus-within { border-color: var(--gold2); box-shadow: 0 0 0 2px rgba(214,173,59,.18); }
.country-select-icon,.country-select-chevron { position: absolute; z-index: 1; display: grid; place-items: center; color: var(--gold2); pointer-events: none; }
.country-select-icon { left: 14px; width: 19px; height: 19px; }
.country-select-chevron { right: 13px; width: 19px; height: 19px; transition: transform .2s ease; }
.country-select-shell:focus-within .country-select-chevron { transform: translateY(2px); }
.country-select-shell svg { display: block; width: 100%; height: 100%; }
.atlas .country-picker .country-select-shell select { appearance: none; -webkit-appearance: none; color-scheme: dark; position: relative; z-index: 2; display: block; min-width: 0; width: 100%; height: 48px; border: 0; border-radius: 0; outline: 0; box-shadow: none; padding: 0 42px 0 44px; background: transparent; color: var(--white); font-size: 13px; font-weight: 650; letter-spacing: .012em; cursor: pointer; text-overflow: ellipsis; }
.atlas .country-picker .country-select-shell select:focus-visible { outline: 2px solid var(--gold2); outline-offset: 3px; }
.atlas .country-picker .country-select-shell select option,.atlas .country-picker .country-select-shell select optgroup { background: #14211a; color: #fffdf7; }
.atlas .country-picker label { color: #b8bda8; }
.review-arrow { display: grid; place-items: center; }
.review-arrow-icon { display: block; width: 38px; height: 24px; flex: none; transition: transform .2s ease; }
.review-arrow[data-review-next] .review-arrow-icon { transform: rotate(180deg); }
.review-arrow[data-review-prev]:hover .review-arrow-icon { transform: translateX(-3px); }
.review-arrow[data-review-next]:hover .review-arrow-icon { transform: rotate(180deg) translateX(-3px); }
@media (max-width: 650px) {
  .country-select-icon { display: none; }
  .country-select-chevron { width: 14px; height: 14px; right: 6px; }
  .atlas .country-picker .country-select-shell select { height: 42px; font-size: 11px; font-weight: 600; padding: 0 21px 0 7px; }
  .review-arrow-icon { width: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .country-select-shell,.country-select-chevron,.review-arrow-icon { transition: none; }
}

/* v8: real custom map picker — entire expanded list is styled, not just the shell. */
.country-select-shell.is-enhanced select[data-country-select]{display:none!important}
.atlas .country-select-shell .custom-country-trigger{
  width:100%;height:48px;padding:0 42px 0 44px;display:flex;align-items:center;
  font-family:var(--sans,inherit);font-size:13px;font-weight:650;letter-spacing:.01em;
  text-align:left;box-sizing:border-box;color:#f2f1e9;background:none;border:0;border-radius:0;
  appearance:none;cursor:pointer;position:relative;z-index:2;outline:0;min-width:0;
}
.custom-country-value{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.atlas .country-select-shell .custom-country-trigger.is-selected{color:#ebc56d}
.country-select-shell.is-open{background:#1a2c20;border-color:#ddba51;box-shadow:0 0 0 2px rgba(218,173,69,.19)}
.country-select-shell.is-open .country-select-chevron{transform:rotate(180deg)}
.atlas .country-select-shell .custom-country-trigger:focus-visible{outline:2px solid #dab34f;outline-offset:3px}
.sw-country-popover,.sw-country-popover *{box-sizing:border-box}
.sw-country-popover{
  z-index:10050;position:fixed;display:flex;flex-direction:column;
  background:#14221a;border:1px solid #8a7135;color:#e8eadd;
  box-shadow:0 16px 70px rgba(3,11,7,.65),0 1px 2px rgba(0,0,0,.32);
  font-family:var(--sans,'DM Sans',sans-serif);border-radius:2px;overflow:hidden;
  animation:sw-country-fade-in .18s ease both;
}
.sw-country-popover[hidden]{display:none!important}
@keyframes sw-country-fade-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.sw-country-popover.is-above{animation-name:sw-country-fade-up}
@keyframes sw-country-fade-up{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
.sw-country-popover-heading{display:flex;justify-content:space-between;gap:10px;align-items:start;padding:22px 24px 13px;flex:none}
.sw-country-kicker{display:block;color:#b5a16b;font-size:9px;font-weight:750;letter-spacing:.21em;margin-bottom:8px}
.sw-country-popover-heading h3{font-family:var(--serif,Georgia,serif);font-weight:400;font-size:34px;line-height:1;letter-spacing:-.03em;margin:0;color:#f4f0e3}
.sw-country-popover-heading h3 span{color:#d3ae49}
.sw-country-close{border:1px solid rgba(220,183,99,.3);color:#dfc680;background:transparent;cursor:pointer;font-size:21px;line-height:1;width:31px;height:31px;display:grid;place-items:center;transition:background .2s,border-color .2s}
.sw-country-close:hover{background:#253c2b;border-color:#d6ab4e}
.sw-country-close:focus-visible{outline:2px solid #dcb94e;outline-offset:2px}
.sw-country-search-wrap{position:relative;margin:4px 23px 15px;flex:none}
.sw-country-search-wrap>svg{pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%);width:18px;height:18px;color:#ccb265}
.sw-country-search{width:100%;height:43px;outline:none;border:1px solid rgba(202,178,111,.32);padding:0 74px 0 40px;border-radius:0;color:#f6f2e6;background:#0d1912;font:500 12px var(--sans,'DM Sans',sans-serif);transition:border-color .2s}
.sw-country-search::placeholder{color:#8fa091}
.sw-country-search:focus{border-color:#d3ad4c;box-shadow:0 0 0 2px rgba(211,173,76,.1)}
.sw-country-search::-webkit-search-cancel-button{-webkit-appearance:none}
.sw-country-count{pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#bcb8a6;letter-spacing:.02em;font-size:10px}
.sw-country-listbox{flex:1;min-height:60px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#647354 #16271e;scrollbar-width:thin;padding:0 10px 9px}
.sw-country-listbox::-webkit-scrollbar{width:6px}.sw-country-listbox::-webkit-scrollbar-thumb{background:#647354;border-radius:4px}
.sw-country-group-head{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:1;background:#14221a;border-bottom:1px solid rgba(225,229,205,.13);padding:11px 12px 9px;color:#b9c6b5;font:750 10px var(--sans,'DM Sans',sans-serif);letter-spacing:.07em;text-transform:uppercase}
.sw-country-group-head span:last-child{margin-left:auto;color:#849485;font-size:10px;letter-spacing:0}
.sw-country-group-dot{display:block;width:7px;height:7px;background:#d5aa40;flex:none}
.sw-country-group-dot.cat-official{background:#a6ae93}.sw-country-group-dot.cat-widely-used{background:#bdc5b8;border:1px solid #e2c783;background-image:repeating-linear-gradient(45deg,transparent 0 2px,#647654 2px 3px)}
.sw-country-option{display:flex;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;margin:2px 0;padding:10px 12px;color:#e0e6da;font:500 13px var(--sans,'DM Sans',sans-serif);line-height:1.25;border-left:2px solid transparent;transition:background .12s,color .12s}
.sw-country-option-check{opacity:0;color:#cfb258;font-size:15px}
.sw-country-option.is-current{color:#e6bc5f}.sw-country-option.is-current .sw-country-option-check{opacity:1}
.sw-country-option.is-highlighted,.sw-country-option:hover{background:#293c2e;border-left-color:#d8af42;color:#fffbea}
.sw-country-option.is-highlighted .sw-country-option-check,.sw-country-option:hover .sw-country-option-check{opacity:1}
.sw-country-empty{padding:25px 13px;color:#e8e4d2;font:500 13px var(--sans,'DM Sans',sans-serif)}.sw-country-empty small{display:block;margin-top:8px;color:#9ba79a;font-size:11px}
.sw-country-popover-foot{display:flex;justify-content:space-between;gap:14px;align-items:center;border-top:1px solid rgba(225,229,205,.13);padding:11px 22px;color:#9ca99c;font-size:9px;letter-spacing:.07em;text-transform:uppercase;flex:none}
.sw-country-popover-foot i{display:inline-block;width:6px;height:6px;background:#d2ad4b;vertical-align:middle;margin-right:6px}
@media(max-width:650px){
 .atlas .country-select-shell .custom-country-trigger{height:42px;font-size:11px;font-weight:600;padding:0 20px 0 8px}
 .sw-country-popover-heading{padding:18px 18px 12px}
 .sw-country-popover-heading h3{font-size:29px}
 .sw-country-search-wrap{margin:3px 17px 12px}
 .sw-country-listbox{padding:0 6px 7px}
 .sw-country-option{padding:11px 10px}
 .sw-country-popover-foot{padding:10px 17px}
}
@media(prefers-reduced-motion:reduce){.sw-country-popover{animation:none}.sw-country-option{transition:none}}
