:root{--font-display:'Palatino Linotype',Palatino,'Book Antiqua',serif;--font-italic:'Palatino Linotype',Palatino,'Book Antiqua',serif;--font-body:'Segoe UI',Arial,sans-serif}
h1,h2,h3{color:var(--color-burgundy)}
.header{border-bottom:0}.reading-progress{position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--color-burgundy);transform:scaleX(0);transform-origin:left;pointer-events:none}
.contact h2{color:#fff}.story-slide h2{color:var(--color-cream)}
.compass{background:#fff;color:var(--text-primary);border:0;padding:30px;gap:7%;align-items:center}
.compass-copy h3 em{color:var(--color-burgundy)}.compass-meta{border-color:#63212530}.compass .button{background:var(--color-burgundy);color:white}
.compass-placeholder{width:100%;min-height:330px;background:#eee7e1;border:1px dashed #63212530;aspect-ratio:1.22}
.process-steps{max-width:1050px;width:100%}.process-steps button{display:flex;align-items:center;gap:12px}.step-icon{flex:0 0 44px;width:44px;height:44px;background:#f3eadb;border:1px solid #63212520;padding:5px;color:var(--color-burgundy)}.process-steps button>.step-label{margin:0;font-size:inherit}.process-steps strong{font-size:17px}
.story-track{height:360svh}.story-selector{display:flex;gap:6px}.story-selector button{padding:8px 12px;font-size:12px;border-bottom:1px solid #ffffff40}.story-selector button[aria-pressed=true]{color:#e5b8c4;border-color:#e5b8c4}
.story-text{max-height:calc(100svh - 180px);overflow:auto;overscroll-behavior:contain;padding:8px 8px 20px 0;scrollbar-width:thin}.story-detail p{font-size:14px;line-height:1.6;margin-top:18px;max-width:480px}.story-detail .story-note{font-size:11px;color:#bbb}.story-detail .button{background:#f3eadb;color:#632125;font-size:12px}.story-detail:not([hidden]){animation:appear .3s ease}
.offer-intro{background:#f3eadb;max-width:none;padding-top:85px;padding-bottom:65px}.offer-intro h1{font-size:clamp(58px,7.2vw,112px);margin:25px 0 30px}.offer-intro>p{max-width:550px;font-size:18px}.offer-jumps{display:flex;flex-wrap:wrap;gap:15px 30px;border-top:1px solid #63212540;padding-top:28px;margin-top:45px;font-size:13px;color:#632125}
.offer-detail{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;border-bottom:1px solid #63212525;scroll-margin-top:30px}.offer-detail:nth-of-type(odd){background:#f7f5f2}.offer-aside h2{font-size:clamp(42px,4.5vw,68px);margin:20px 0 30px}.offer-symbol{width:100%;max-height:350px;object-fit:contain}.offer-body{max-width:680px}.offer-body h3{font-size:30px;line-height:1.25;margin:0 0 22px}.offer-body p{font-size:15px}.offer-body ol{padding-left:22px}.offer-body li{margin-bottom:12px}.offer-body .button{margin-top:20px}.offer-body .price-list{margin:28px 0}.offer-body .price-list li{font-size:14px}.offer-prices{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#f3eadb;max-width:none}.offer-prices h2{font-size:clamp(42px,4vw,64px);margin:25px 0}.offer-prices .price-list{margin:0}.offer-prices li{font-size:14px}.offer-locations h2{margin-bottom:45px}.offer-locations .service-grid{margin-bottom:30px}.offer-locations h3{font-size:28px;margin-bottom:16px}
.font-comparison{max-width:1200px;margin:auto;padding:70px 5vw}.font-comparison>h1{font-size:clamp(44px,6vw,80px);margin:20px 0}.font-sample{padding:45px 0;border-top:1px solid #63212540;margin-top:35px}.font-sample h2{font-size:clamp(42px,5.5vw,76px);margin:22px 0}.font-sample p{max-width:620px}.font-sample .button{margin:10px 12px 0 0}.font-a{--font-display:'Palatino Linotype',Palatino,'Book Antiqua',serif;--font-italic:'Palatino Linotype',Palatino,serif;--font-body:'Segoe UI',Arial,sans-serif}.font-b{--font-display:'Trebuchet MS',Arial,sans-serif;--font-italic:'Trebuchet MS',Arial,sans-serif;--font-body:'Segoe UI',Arial,sans-serif}.font-c{--font-display:Cambria,'Times New Roman',serif;--font-italic:Cambria,'Times New Roman',serif;--font-body:Verdana,Arial,sans-serif}.font-sample{font-family:var(--font-body)}
@media(max-width:700px){.compass{display:grid;grid-template-columns:1fr;padding:24px 0;gap:25px}.compass-placeholder{min-height:0;aspect-ratio:1.22}.compass-copy h3{font-size:37px}.process-steps button,.process-steps button.active{gap:8px;padding:10px 7px}.step-icon{width:34px;height:34px;flex-basis:34px;padding:3px}.process-steps strong{font-size:14px}.process-steps small{font-size:10px}.story-track{height:360svh}.story-text{max-height:48svh;width:100%;padding:8px 0 24px}.story-slide h2{font-size:34px}.story-art{min-height:100px;max-height:24svh}.story-content{gap:10px}.story-slide p{font-size:13px;margin-top:14px}.story-detail p{font-size:13px}.story-top>.eyebrow{font-size:8px;max-width:180px}.story-selector button{padding:8px}.offer-intro{padding-top:45px}.offer-detail,.offer-prices{grid-template-columns:1fr;gap:35px}.offer-aside .offer-symbol{max-height:240px}.offer-aside .compass-placeholder{max-height:250px}.offer-body h3{font-size:28px}.price-list li{gap:12px;align-items:baseline}.price-list strong{font-size:13px}.offer-prices .price-list li{font-size:12px}.offer-locations .service-grid{grid-template-columns:1fr;gap:15px}.contact h2{font-size:clamp(48px,10vw,80px)}.offer-jumps{gap:14px 22px}}
@media(prefers-reduced-motion:reduce){.story-track{height:auto}.story-text{max-height:none;overflow:visible}.story-content{min-height:0}.story-art{height:250px}.story-detail:not([hidden]){animation:none}}
@media(max-width:700px){.offer-intro h1{font-size:clamp(36px,10vw,65px)}.offer-aside h2{font-size:clamp(32px,9vw,48px)}.offer-prices h2{font-size:clamp(32px,9vw,48px)}.offer-body,.offer-aside,.offer-prices>div{min-width:0}.offer-body .button{gap:12px}.font-sample h2{font-size:clamp(32px,9vw,58px)}.header .wordmark{min-width:0}.header .wordmark img{max-width:100%;height:auto}.header-actions{flex-shrink:0;gap:8px}.header{gap:12px}.contact-links a{overflow-wrap:anywhere}.offer-locations h2{font-size:clamp(32px,9vw,48px)}}
/* Review refinements — selected typography and natural document scrolling. */
.story-slide h2{color:#fff}.story-slide h2 em,.story-slide .eyebrow{color:var(--color-cream)}
.story-detail .button{background:#fff;color:var(--color-burgundy)}
.story-track{height:calc(280svh + var(--story-extra,0px))}
.story-pin{height:auto;min-height:100svh;top:var(--story-top,0px);overflow:visible;padding-bottom:35px}
.story-content{flex:none;min-height:calc(100svh - 170px);padding-top:25px;align-items:center}
.story-art{height:clamp(250px,58svh,600px)}
.story-text{max-height:none;overflow:visible;overscroll-behavior:auto;padding:0;min-width:0}
.story-slide h2{font-size:clamp(38px,4.7vw,70px)}
.story-slide p{max-width:520px}
.story-slide.expanded h2{font-size:clamp(32px,3.6vw,52px)}
.story-slide.expanded .eyebrow{margin-bottom:12px}
.story-slide.expanded>p{margin-top:16px;margin-bottom:8px}
.story-detail p{margin:12px 0;font-size:14px;line-height:1.55}
.story-detail .story-note{margin:12px 0 18px}
.step-icon{width:64px;height:64px;flex-basis:64px;object-fit:contain;background:transparent;border:0;padding:0}
.offer-intro,.offer-prices{position:relative;isolation:isolate;overflow:hidden;background:#090808;color:white}
.offer-intro h1,.offer-prices h2{color:#fff}
.offer-intro h1 em,.offer-prices h2 em,.offer-intro .eyebrow,.offer-prices .eyebrow{color:var(--color-cream)}
.offer-jumps{color:#fff;border-color:#ffffff50}.offer-prices .price-list li{border-color:#ffffff35}.offer-prices .price-list a:hover{color:var(--color-cream)}
.offer-page .contact{background:#f3eadb;color:var(--color-burgundy)}
.offer-page .contact h2,.offer-page .contact h2 em{color:var(--color-burgundy)}
.offer-page .contact-links{border-color:#63212550}.offer-page .contact :focus-visible{outline-color:var(--color-burgundy)}
@media(max-width:700px){
 .story-content{display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:20px;padding-top:20px}
 .story-art{flex:none;height:23svh;min-height:130px;max-height:210px}
 .story-text{max-height:none;padding-bottom:10px}
 .story-slide h2{font-size:clamp(30px,7.5vw,45px)}
 .story-slide.expanded h2{font-size:clamp(28px,6.5vw,38px)}
 .story-slide .eyebrow{margin-bottom:12px}
 .story-detail p{font-size:13px;line-height:1.6}
 .step-icon{width:48px;height:48px;flex-basis:48px}
 .process-steps button,.process-steps button.active{padding:7px;gap:5px}
 .process-steps strong{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.story-track{height:auto}.story-pin{top:0;min-height:0}.story-slide{display:block;margin-bottom:50px}.story-slide[hidden]{display:none}.story-content{min-height:0}}
/* Contact pages, navigation and process refinements. */
.menu-panel{background:#fff;isolation:isolate;overflow:auto}
.menu-panel>.organic-background{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.menu-panel nav a{color:#632125}
.process-steps button,.process-steps button.active{background:#fff}
.process-steps button.active{outline:2px solid #632125;outline-offset:-2px}
.offer-page .offer-intro h1 em,.offer-page .offer-intro>.eyebrow{color:var(--color-cream)}
#opinie .reviews-heading h2,#opinie .reviews-heading h2 em{color:#fff}
.contact-heading{padding-top:160px;padding-bottom:60px}
.contact-heading h1{font-size:clamp(52px,8vw,105px);line-height:1.08;margin:25px 0;color:#632125}
.contact-heading p{max-width:560px}
.contact-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7vw;padding-top:20px}
.contact-layout aside h2{font-size:clamp(32px,4vw,52px)}
.contact-layout aside>a{overflow-wrap:anywhere;color:#632125;line-height:2}
.contact-form{background:#fff;padding:clamp(22px,3vw,42px)}
.contact-form label{display:block;font-size:14px;color:#632125;margin-bottom:20px}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:1px solid #c8baba;background:#fff;padding:13px;font:inherit;color:#222;border-radius:0;margin-top:8px;min-width:0}
.contact-form textarea{resize:vertical}.contact-form small{font-size:12px}
.contact-form .form-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form .check{display:flex;gap:12px;align-items:flex-start;line-height:1.6}
.contact-form .check input{width:19px;height:19px;flex:0 0 19px;margin:3px 0;accent-color:#632125}
.contact-form a,.legal-document a{text-decoration:underline;text-underline-offset:3px}
.field-help,.contact-form #contact-status{font-size:13px;line-height:1.6}
.draft-note{padding:18px 20px;border-left:3px solid #632125;background:#f4efea;font-size:14px;line-height:1.7}
.legal-document{max-width:900px;padding-top:160px;padding-bottom:90px}
.legal-document h1{font-size:clamp(40px,6vw,74px);line-height:1.15;color:#632125}
.legal-document h2{font-size:30px;margin-top:42px}.legal-document p,.legal-document li{font-size:17px;line-height:1.8}
.legal-document blockquote{margin:24px 0;padding:25px;background:#fff;border-left:3px solid #632125;line-height:1.9}
.legal-links{display:flex;flex-wrap:wrap;gap:15px 24px;grid-column:1/-1;font-size:12px;border-top:1px solid #63212525;padding-top:18px;width:100%;color:#632125}
.compass-placeholder:has(img){background:none;border:0;aspect-ratio:1;min-height:0}
.compass-placeholder img{width:100%;height:100%;object-fit:contain;display:block}
@media(max-width:750px){.contact-layout{grid-template-columns:1fr;gap:35px}.contact-heading,.legal-document{padding-top:125px}.contact-form .form-pair{grid-template-columns:1fr;gap:0}.contact-form{padding:22px}.legal-document h1{overflow-wrap:anywhere}}
/* Offer review — aligned service columns and a compact contact ending. */
.offer-page .offer-detail{align-items:start}
.offer-page .offer-aside h2{margin-top:0;line-height:1.05}
.offer-page .offer-symbol{display:block;object-position:center top}
.offer-page #hipnoterapia,.offer-page #warsztaty{background:#fff;max-width:none}
.offer-page .contact{background:#632125;color:#fff}
.offer-page .contact h2{color:#fff}
.offer-page .contact h2 em,.offer-page .contact>.eyebrow{color:#f3eadb}
.offer-page .offer-contact-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;background:#fff;color:#632125;border:0;padding:32px 36px;margin-top:42px}
.offer-contact-panel h3{font-size:36px;line-height:1.2;margin:8px 0 12px}
.offer-contact-panel p{font-size:14px;line-height:1.6;margin:0;max-width:410px}
.contact-panel-actions{display:flex;flex-direction:column;align-items:stretch;gap:16px}
.offer-page .offer-contact-panel .button{background:#632125;color:#fff;min-width:245px}
.offer-page .offer-contact-panel .button:hover{background:#41171b}
.offer-page .offer-contact-panel .contact-phone{font-size:14px;text-align:center;padding:5px}
.offer-page .contact :focus-visible{outline-color:#fff}
.offer-page .offer-contact-panel :focus-visible{outline-color:#632125}
.offer-page .offer-footer{display:grid;grid-template-columns:190px minmax(0,1fr) auto;align-items:center;gap:35px;padding:28px 5vw;background:#fff;border-top:1px solid #63212520}
.offer-footer .wordmark img{display:block;width:190px;max-width:100%;height:auto}
.offer-page .offer-footer>p{font-size:10px;line-height:1.65;max-width:660px;margin:0;color:#65605e}
.offer-footer .footer-top{font-size:11px;white-space:nowrap;color:#632125;padding:10px 0}
@media(max-width:700px){
 .offer-page .offer-contact-panel{grid-template-columns:1fr;gap:24px;padding:25px 22px}
 .contact-panel-actions{width:100%;min-width:0}
 .offer-page .offer-contact-panel .button{min-width:0;width:100%}
 .offer-page .offer-contact-panel .contact-phone{font-size:13px}
 .offer-page .offer-footer{grid-template-columns:1fr auto;gap:20px;padding:26px 23px}
 .offer-footer .wordmark img{width:165px}
 .offer-page .offer-footer>p{grid-column:1/-1;grid-row:2}
}

@media(min-width:701px) and (max-width:1000px){.process-steps button{gap:8px;padding:12px 8px}.process-steps strong{font-size:16px}.process-steps small{font-size:12px}.process-steps .step-icon{width:48px;height:48px;flex-basis:48px}.process-steps button>span:last-child{min-width:0;overflow-wrap:anywhere}}
/* Shared card treatment: burgundy offset plus soft depth, including featured cards and forms. */
:root{--card-shadow:-10px 10px 0 var(--color-burgundy),-7px 20px 28px -10px #38191f38,0 5px 14px #38191f12}
.service-grid article,.compass,.contact-form{box-shadow:var(--card-shadow)}
@media(max-width:700px){
 :root{--card-shadow:-8px 8px 0 var(--color-burgundy),-5px 17px 24px -9px #38191f38,0 4px 12px #38191f12}
 .compass{padding:24px}
}
/* Portrait from Aleksandra's previous website. */
.about-art.about-photo{padding:0;min-height:0;aspect-ratio:4/5;background:transparent;display:block}
.about-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 50%}
@media(max-width:700px){.about-art.about-photo{width:100%;margin:0;max-height:540px}}

/* Keep the hero title on exactly two authored lines at every width. */
.hero-copy{min-width:0;container-type:inline-size}
.hero h1{font-size:min(138px,7.5vw);font-size:min(138px,16cqi);white-space:nowrap;line-height:1.18}
@media(max-width:700px){.hero h1{font-size:min(60px,12vw);font-size:min(60px,16cqi)}}

/* Clip only viewport overscan; unlike overflow:hidden this keeps sticky scenes
   attached to document scrolling and preserves their full vertical range. */
body{overflow-x:clip}
.story-pin{overflow-x:clip}
.offer-footer .wordmark{width:190px;min-width:0}
/* On short/landscape screens let the entire pinned panel scroll into view. */
@media(max-height:650px) and (prefers-reduced-motion:no-preference){
 .process-pin{height:650px;top:calc(100svh - 650px)}
 .process-track{height:calc(360svh + 650px - 100svh)}
}
@media(max-width:700px){
 .offer-page .offer-footer{grid-template-columns:minmax(0,1fr) auto}
 .offer-footer .wordmark{width:165px}
 .offer-footer>*{min-width:0}
}

/* Fill the current mobile viewport, including when browser chrome retracts.
   Keep the travel stable (svh), but let the pinned illustration grow (dvh). */
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
 .story-track{height:calc(685svh + var(--story-extra,0px));background:#090808}
 .story-pin{height:100dvh;min-height:100dvh;padding:92px 23px max(20px,env(safe-area-inset-bottom));overflow:clip}
 .story-content{flex:1;min-height:0;gap:16px;padding-top:12px}
 .story-art{flex:1 1 0;height:auto;min-height:120px;max-height:none}
 .story-text{flex:0 0 auto;padding:0;margin-top:auto;max-height:55%;overflow-y:auto;overscroll-behavior:contain}
 .story-slide h2{font-size:clamp(30px,7.5vw,45px)}
 .story-slide p{margin:12px 0 4px}
 .story-slide .text-link{margin-bottom:0}
}
@media(min-width:701px){.header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;background:#632125;color:#fff;border:1px solid #632125;box-shadow:0 4px 12px #38191f20;transition:background .2s,box-shadow .2s}.header-cta:hover{background:#48171c;box-shadow:0 6px 16px #38191f30}.header-cta:focus-visible{outline:2px solid #632125;outline-offset:4px}}
