/* SOURCE assets/home.css */
/* PsyLipina: preserved layout and interaction styles.
   Components and shared design tokens are maintained in design-system.css. */
@layer layout, layout-priority;
@layer layout {
:root{--bg:#f6f4ee;--ink:#293c31;--muted:#667267;--green:#365943;--line:#d9ded2;--pale:#e7ebdf}
*{box-sizing:border-box}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--ink)}
a{color:inherit}
button{-webkit-tap-highlight-color:transparent}a{-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:3px solid #bd8b58;outline-offset:5px}button:focus-visible{outline:3px solid #bd8b58;outline-offset:5px}input:focus-visible{outline:3px solid #bd8b58;outline-offset:5px}textarea:focus-visible{outline:3px solid #bd8b58;outline-offset:5px}summary:focus-visible{outline:3px solid #bd8b58;outline-offset:5px}
.wrap{margin:auto;padding:0 48px}
header{position:sticky;top:0;background:#f6f4eef5;z-index:5;border-bottom:1px solid var(--line)}
header nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{text-decoration:none;display:flex;gap:12px;align-items:center}
.brand span{border:1px solid #81917d;border-radius:50%;width:36px;height:36px;display:grid;place-items:center}
.links{display:flex;gap:30px}
.links a{text-decoration:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 27px;border:1px solid var(--green);background:var(--green);color:white;border-radius:5px;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}
.button.light{color:var(--green);background:transparent}
.small{padding:10px 18px}
.eyebrow{letter-spacing:2px;text-transform:uppercase;font-weight:600;display:flex;align-items:center;gap:10px}
.eyebrow:before{content:"";width:24px;height:1px;background:currentColor;flex-shrink:0}.eyebrow:after{content:"";width:24px;height:1px;background:currentColor;flex-shrink:0}
.hero{display:grid;grid-template-columns:1.07fr 1fr;gap:60px;align-items:center;min-height:680px;padding-top:55px;padding-bottom:55px}
h1{margin:0}h2{margin:0}h3{margin:0}p{margin:0}
h1{letter-spacing:-3px;margin:26px 0}
h1 em{font-weight:400;color:#7a8964}
h2{letter-spacing:-1.5px}
.intro{max-width:440px;color:var(--muted)}
.hero .button{margin-top:30px}

.art{position:relative;aspect-ratio:0.89;border-radius:48% 48% 7px 7px;overflow:hidden;background:#d9dfcd}
.art svg{width:100%;height:100%;display:block}
.art-note{position:absolute;bottom:28px;left:30px;right:30px;padding:18px 20px;background:#f6f4eee8;border:1px solid #ffffffa0;border-radius:5px}
.art-note small{display:block;letter-spacing:1.5px;margin-bottom:7px;color:#667267}


.section{}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:17px 0 45px}
.section-head p{max-width:340px;color:var(--muted)}
.topics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--line);background:var(--line)}
.topic{background:var(--bg);}
.topic>span{color:#859376}
.topic h3{margin:22px 0 12px}
.topic p{color:var(--muted)}
.about{background:var(--pale)}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}





.about h2{margin:18px 0 25px}
.about p{color:#536150;margin:15px 0}
.qualifications{border-top:1px solid #c5cebb;margin-top:28px}
.qualification{padding:16px 0;border-bottom:1px solid #c5cebb;display:flex;gap:25px}
.qualification time{min-width:80px;color:#64745c}








.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;border-top:1px solid var(--line)}
.faq h2{margin-top:20px}
.faq details{border-bottom:1px solid var(--line);padding:23px 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary:after{content:"+";color:#788666}
.faq details[open] summary:after{content:"−"}
.faq details p{color:var(--muted);margin-top:16px}
.booking{background:#e8ecdf}

.booking h2{margin:18px 0 25px}
.booking .note{color:var(--muted);max-width:350px;margin-bottom:30px}
form{background:var(--bg);padding:32px;border-radius:7px;border:1px solid #d7dece}
label{display:block;margin-bottom:18px}
input{display:block;width:100%;padding:13px 14px;margin-top:7px;border:1px solid #c9d2c2;border-radius:4px;background:transparent;color:var(--ink)}textarea{display:block;width:100%;padding:13px 14px;margin-top:7px;border:1px solid #c9d2c2;border-radius:4px;background:transparent;color:var(--ink)}
textarea{resize:vertical;min-height:85px}
.consent{display:flex;align-items:flex-start;gap:10px;color:var(--muted);line-height:1.5}
.consent input{width:16px;margin:2px 0;flex-shrink:0}
.consent a{text-underline-offset:3px}
.status{margin-top:14px}
.status:empty{display:none}

form .button{width:100%}
footer{padding:30px 0}
.footer-row{display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted)}
footer a{text-underline-offset:4px}
dialog{border:1px solid var(--line);border-radius:8px;padding:32px;max-width:620px;width:calc(100% - 32px);background:var(--bg);color:var(--ink)}
dialog::backdrop{background:#20312680}
dialog p{margin:16px 0}
.menu{display:none}
@media(max-width:1000px){
.wrap{}
.links{gap:16px}
.hero{gap:35px}
.about-grid{gap:40px}.booking-grid{gap:40px}

}
@media(max-width:720px){
header nav{height:74px}
.links{display:none}
nav .button{padding:9px 12px}
.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:40px;gap:35px}
h1{letter-spacing:-2px;margin:24px 0}
.art{aspect-ratio:1.15;border-radius:45% 45% 6px 6px}

.section{}
.section-head{display:block;margin-bottom:30px}
.section-head p{margin-top:20px}
.topics{grid-template-columns:1fr 1fr}
.topic{}
.about-grid{grid-template-columns:1fr;gap:32px}.booking-grid{grid-template-columns:1fr;gap:32px}.faq{grid-template-columns:1fr;gap:32px}







.footer-row{align-items:start;flex-direction:column}

form{padding:24px}
.faq h2{margin-bottom:0}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
}


.brand .brand-mark{border:0;border-radius:0;width:30px;height:36px}
.brand-mark svg{display:block;width:100%;height:100%;stroke-width:5}

.topics{grid-template-columns:repeat(6,1fr)}
.topic{grid-column:span 2}
.topic:nth-child(n+4){grid-column:span 3}
@media(max-width:720px){
.topics{grid-template-columns:repeat(2,1fr)}
.topic{grid-column:span 1}.topic:nth-child(n+4){grid-column:span 1}
.topic:last-child{grid-column:span 2}
}
.journal{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:40px}
.journal h2{margin:18px 0 20px}
.journal p{color:var(--muted)}
.journal .button{flex-shrink:0}
@media(max-width:720px){
.journal{display:block}
.journal .button{margin-top:28px}
}





















#calendar-choice{margin-top:12px}



.brand .brand-mark{width:38px}
.brand-mark svg{stroke-width:4}

.about-portrait{margin:0;align-self:start}
.about-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;border-radius:6px}
.about-portrait figcaption{text-align:center;letter-spacing:2px;margin-top:18px;color:var(--muted)}
@media(max-width:720px){
.about-portrait{max-width:430px;width:100%;margin:auto}
}
.brand .brand-mark{width:54px;height:54px;display:block;flex-shrink:0}
.brand-mark img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.art .office-hero{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.art-note{background:#f6f4eef2}
@media(max-width:720px){
.brand .brand-mark{width:44px;height:44px}
.art .office-hero{object-position:center 55%}
}
.topics{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:1fr}
.topic{grid-column:auto;}.topic:nth-child(n+4){grid-column:auto;}.topic:last-child{grid-column:auto;}
@media(max-width:1100px){
.topics{grid-template-columns:repeat(4,minmax(0,1fr))}
.topic{grid-column:span 2}.topic:nth-child(n+4){grid-column:span 2}
.topic:last-child{grid-column:2/span 2}
}
@media(max-width:600px){
.topics{grid-template-columns:minmax(0,1fr)}
.topic{grid-column:1;}.topic:nth-child(n+4){grid-column:1;}.topic:last-child{grid-column:1;}
}
.about-portrait>.eyebrow{margin-bottom:22px}
:is(#topics,#boundaries,#format,#faq,#journal){max-width:1120px;}
:is(#topics,#boundaries,#format,#faq,#journal) .section-head{margin-bottom:28px}
.topics{grid-template-columns:repeat(5,minmax(0,1fr))}
.topic{grid-column:auto;}.topic:nth-child(n+4){grid-column:auto;}.topic:last-child{grid-column:auto;}
.topic h3{margin:12px 0 9px}
.topic p{line-height:1.55}
@media(max-width:950px){
.topics{grid-template-columns:repeat(6,minmax(0,1fr))}
.topic{grid-column:span 2}.topic:nth-child(n+4){grid-column:span 2}
.topic:nth-child(4){grid-column:2/span 2}
.topic:last-child{grid-column:4/span 2}
}
@media(max-width:620px){
.topics{grid-template-columns:repeat(4,minmax(0,1fr))}
.topic{grid-column:span 2}.topic:nth-child(n+4){grid-column:span 2}
.topic:last-child{grid-column:2/span 2}
}
@media(max-width:380px){
.topics{grid-template-columns:1fr}
.topic{grid-column:1}.topic:nth-child(n+4){grid-column:1}.topic:last-child{grid-column:1}
}
select{display:block;width:100%;padding:13px 14px;margin-top:7px;border:1px solid #c9d2c2;border-radius:4px;background:var(--bg);color:var(--ink)}
select:focus-visible{outline:3px solid #bd8b58;outline-offset:5px}

.section{}
.section-head{margin:14px 0 28px}


.topic h3{margin:8px 0}
@media(max-width:720px){
.section{}:is(#topics,#boundaries,#format,#faq,#journal){}
.section-head{margin-bottom:22px}
.topic{}.topic:nth-child(n+4){}.topic:last-child{}
.about-grid{gap:24px}.booking-grid{gap:24px}.faq{gap:24px}


.booking h2{margin:14px 0 20px}.about h2{margin:14px 0 20px}
}
@media(max-width:620px){
.topics{grid-template-columns:1fr}
.topic{grid-column:1}.topic:nth-child(n+4){grid-column:1}.topic:last-child{grid-column:1}
}
.hero .eyebrow{line-height:1.55;letter-spacing:1.3px}

.topic h3{margin-top:0}
:is(#topics,#boundaries,#format,#faq,#journal) .section-head h2{max-width:660px}
@media(max-width:720px){
.hero .eyebrow{letter-spacing:1px}

.hero .eyebrow:before{width:18px}.hero .eyebrow:after{width:18px}
}
:root{--label-tracking:1.3px}
main h2{letter-spacing:-1.5px}
main h3{letter-spacing:0}.topic h3{letter-spacing:0}.calendar-title h3{letter-spacing:0}
.eyebrow{letter-spacing:var(--label-tracking)}.hero .eyebrow{letter-spacing:var(--label-tracking)}
.hero-bottom{line-height:1.6}.consult p{line-height:1.6}.price span{line-height:1.6}.direct-contacts>span{line-height:1.6}.qualification{line-height:1.6}label{line-height:1.6}.messenger-options legend{line-height:1.6}.confirmation-note{line-height:1.6}.status{line-height:1.6}.links{line-height:1.6}.button{line-height:1.6}.direct-contacts>div a{line-height:1.6}
input{line-height:1.6}textarea{line-height:1.6}select{line-height:1.6}.time-button{line-height:1.6}.faq summary{line-height:1.6}
.calendar-title>span{line-height:1.6}.calendar #calendar-hint{line-height:1.6}#calendar-choice{line-height:1.6}.calendar-actions button{line-height:1.6}.consent{line-height:1.6}.footer-row{line-height:1.6}.about-portrait figcaption{line-height:1.6}






@media(max-width:720px){
:root{--label-tracking:1px}
}



:is(#topics,#boundaries,#format,#faq,#journal) .topics{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:1fr;gap:12px;border:0;background:transparent}
:is(#topics,#boundaries,#format,#faq,#journal) .topic{grid-column:span 2;display:flex;flex-direction:column;align-items:stretch;border:1px solid var(--line);border-radius:4px;text-align:left}:is(#topics,#boundaries,#format,#faq,#journal) .topic:nth-child(n+4){grid-column:span 2;display:flex;flex-direction:column;align-items:stretch;border:1px solid var(--line);border-radius:4px;text-align:left}:is(#topics,#boundaries,#format,#faq,#journal) .topic:last-child{grid-column:span 2;display:flex;flex-direction:column;align-items:stretch;border:1px solid var(--line);border-radius:4px;text-align:left}
:is(#topics,#boundaries,#format,#faq,#journal) .topic:nth-child(4){grid-column:span 2}:is(#topics,#boundaries,#format,#faq,#journal) .topic:last-child{grid-column:span 2}
:is(#topics,#boundaries,#format,#faq,#journal) .topic h3{margin:0}:is(#topics,#boundaries,#format,#faq,#journal) .topic p{margin:0}
:is(#topics,#boundaries,#format,#faq,#journal) .topic h3{line-height:1.25}
:is(#topics,#boundaries,#format,#faq,#journal) .topic p{line-height:1.6}
@media(max-width:800px){
:is(#topics,#boundaries,#format,#faq,#journal) .topics{grid-template-columns:repeat(4,minmax(0,1fr))}
:is(#topics,#boundaries,#format,#faq,#journal) .topic:nth-child(4){grid-column:span 2}
:is(#topics,#boundaries,#format,#faq,#journal) .topic:last-child{grid-column:span 2}
}
@media(max-width:620px){
:is(#topics,#boundaries,#format,#faq,#journal) .topics{grid-template-columns:1fr;gap:10px}
:is(#topics,#boundaries,#format,#faq,#journal) .topic{grid-column:1;}:is(#topics,#boundaries,#format,#faq,#journal) .topic:nth-child(n+4){grid-column:1;}:is(#topics,#boundaries,#format,#faq,#journal) .topic:last-child{grid-column:1;}
}
nav .links a{white-space:nowrap}
@media(max-width:1100px){
header nav{height:auto;min-height:88px;flex-wrap:wrap;gap:12px 20px;padding-top:14px;padding-bottom:14px}
header nav .links{display:flex;order:3;flex-basis:100%;flex-wrap:wrap;gap:8px 20px}
html{}
}
:root{--font:"Segoe UI",Arial,sans-serif;--size-body:16px;--size-card:24px;--size-section:36px;--size-hero:48px;--section-space:64px;--content-width:1120px}
html{font-family:var(--font),sans-serif;font-size:var(--size-body)}
body{font-family:inherit;font-size:var(--size-body);line-height:1.65}
*{font-family:inherit;font-size:inherit}*::before{font-family:inherit;font-size:inherit}*::after{font-family:inherit;font-size:inherit}
h1{font-size:var(--size-hero);line-height:1.15;font-weight:400;letter-spacing:-1px}
h2{font-size:var(--size-section);line-height:1.2;font-weight:400;letter-spacing:-.5px}main h2{font-size:var(--size-section);line-height:1.2;font-weight:400;letter-spacing:-.5px}dialog h2{font-size:var(--size-section);line-height:1.2;font-weight:400;letter-spacing:-.5px}
h3{font-size:var(--size-card);line-height:1.3;font-weight:400;letter-spacing:0}main h3{font-size:var(--size-card);line-height:1.3;font-weight:400;letter-spacing:0}.topic h3{font-size:var(--size-card);line-height:1.3;font-weight:400;letter-spacing:0}.calendar-title h3{font-size:var(--size-card);line-height:1.3;font-weight:400;letter-spacing:0}.brand{font-size:var(--size-card);line-height:1.3;font-weight:400;letter-spacing:0}.price{font-size:var(--size-card);line-height:1.3;font-weight:400;letter-spacing:0}.contact-phone{font-size:var(--size-card);line-height:1.3;font-weight:400;letter-spacing:0}

button{font-size:var(--size-body)}input{font-size:var(--size-body)}textarea{font-size:var(--size-body)}select{font-size:var(--size-body)}.eyebrow{font-size:var(--size-body)}.hero .eyebrow{font-size:var(--size-body)}.links{font-size:var(--size-body)}.button{font-size:var(--size-body)}.topic p{font-size:var(--size-body)}.intro{font-size:var(--size-body)}.section-head p{font-size:var(--size-body)}.about p{font-size:var(--size-body)}.step p{font-size:var(--size-body)}.faq details p{font-size:var(--size-body)}.booking .note{font-size:var(--size-body)}.journal p{font-size:var(--size-body)}.calendar-title>span{font-size:var(--size-body)}.calendar-actions button{font-size:var(--size-body)}.calendar-day{font-size:var(--size-body)}.calendar-week{font-size:var(--size-body)}.month-navigation strong{font-size:var(--size-body)}.confirmation-note{font-size:var(--size-body)}.consent{font-size:var(--size-body)}.footer-row{font-size:var(--size-body)}dialog p{font-size:var(--size-body)}
.eyebrow{font-weight:700;line-height:1.5;letter-spacing:1px}.hero .eyebrow{font-weight:700;line-height:1.5;letter-spacing:1px}
.wrap{margin-left:auto;margin-right:auto}:is(#topics,#boundaries,#format,#faq,#journal){max-width:var(--content-width);padding-left:32px;padding-right:32px;margin-left:auto;margin-right:auto}
main>section{position:relative;isolation:isolate}
main>section::before{content:"";position:absolute;inset:0 calc((100% - 100vw)/2);z-index:-1;background:var(--bg);pointer-events:none}
main>section:nth-of-type(even)::before{background:var(--pale)}
main>.section{border:0;background:transparent}:is(#topics,#boundaries,#format,#faq,#journal){border:0;background:transparent}
.section-head{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:32px;margin:16px 0 32px}
.section-head h2{margin:0;max-width:none}.section-head p{margin:0;max-width:none}
.section-head p{line-height:1.65}.topic p{line-height:1.65}
:is(#topics,#boundaries,#format,#faq,#journal) .section-head{margin-bottom:32px}
:is(#topics,#boundaries,#format,#faq,#journal) .topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:16px;margin:0;padding:0;list-style:none}
:is(#topics,#boundaries,#format,#faq,#journal) .topic{grid-column:auto;grid-row:span 2;display:grid;grid-template-rows:subgrid;background:transparent;border:1px solid #bdc8b4;border-radius:4px;min-width:0;align-content:start}:is(#topics,#boundaries,#format,#faq,#journal) .topic:nth-child(n){grid-column:auto;grid-row:span 2;display:grid;grid-template-rows:subgrid;background:transparent;border:1px solid #bdc8b4;border-radius:4px;min-width:0;align-content:start}:is(#topics,#boundaries,#format,#faq,#journal) .topic:last-child{grid-column:auto;grid-row:span 2;display:grid;grid-template-rows:subgrid;background:transparent;border:1px solid #bdc8b4;border-radius:4px;min-width:0;align-content:start}
:is(#topics,#boundaries,#format,#faq,#journal) .topic h3{margin:0;overflow-wrap:normal}:is(#topics,#boundaries,#format,#faq,#journal) .topic p{margin:0;overflow-wrap:normal}
#format .numbered .topic{grid-row:span 3}
.step-number{display:grid;place-items:center;width:40px;height:40px;border:1px solid #aab99f;border-radius:50%;font-size:var(--size-card);line-height:1;color:var(--green)}
.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}.booking-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.about h2{margin:16px 0 24px}.booking h2{margin:16px 0 24px}.journal h2{margin:16px 0 24px}.faq h2{margin:16px 0 24px}
.about p{margin:0 0 16px}
.about-portrait>.eyebrow{margin:0 0 24px}
.about-portrait figcaption{margin:16px 0 0;letter-spacing:1px}
.booking .note{max-width:none;margin:0 0 24px}
.faq{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;align-items:start}
.faq details:first-child{padding-top:0}
.faq details p{margin-top:16px}
.faq summary{line-height:1.65}
.journal{align-items:start;gap:32px}
.journal h2{margin-bottom:24px}

.qualifications{margin-top:24px}.direct-contacts{margin-top:24px}
.qualification{gap:24px;padding:16px 0}
.art-note{font-size:var(--size-body);line-height:1.65}
.art-note small{font-size:inherit}
header nav{min-width:0}
.brand{white-space:nowrap}
.links{gap:24px}
.hero{min-height:0;padding-top:64px;padding-bottom:64px;gap:48px}


.hero .intro{max-width:none}
.hero h1{margin:24px 0}
.hero .button{margin-top:24px}





.section-head br{display:none}
@media(max-width:800px){
:is(#topics,#boundaries,#format,#faq,#journal) .topics{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero{grid-template-columns:1fr}
.section-head{grid-template-columns:1fr}.faq{grid-template-columns:1fr}
.about-grid{grid-template-columns:1fr;gap:32px}.booking-grid{grid-template-columns:1fr;gap:32px}
.about-portrait{max-width:430px}
.journal{display:block}

.hero .art{max-width:600px;width:100%;margin:auto}
}
@media(max-width:620px){
:root{--section-space:40px}
.wrap{}:is(#topics,#boundaries,#format,#faq,#journal){padding-left:24px;padding-right:24px}
:is(#topics,#boundaries,#format,#faq,#journal) .topics{grid-template-columns:1fr}
:is(#topics,#boundaries,#format,#faq,#journal) .topic{}:is(#topics,#boundaries,#format,#faq,#journal) .topic:nth-child(n){}
.section-head{gap:24px}
.hero{padding-top:40px;padding-bottom:40px;gap:32px}
.brand{white-space:normal}
.brand .brand-mark{width:40px;height:40px}
header nav{gap:12px}
.hero h1{font-size:var(--size-section)}
form{padding:20px}
.qualification{gap:16px}
.qualification time{min-width:48px}
.journal h2 br{display:none}.booking h2 br{display:none}
html{}
}
:is(#topics,#boundaries,#format,#faq,#journal) .topics{grid-auto-rows:1fr}
:is(#topics,#boundaries,#format,#faq,#journal) .topic{grid-row:auto;grid-template-rows:var(--card-heading,auto) 1fr}:is(#topics,#boundaries,#format,#faq,#journal) .topic:nth-child(n){grid-row:auto;grid-template-rows:var(--card-heading,auto) 1fr}#format .numbered .topic{grid-row:auto;grid-template-rows:var(--card-heading,auto) 1fr}
#format .numbered .topic{grid-template-rows:40px var(--card-heading,auto) 1fr}
@media(max-width:620px){
:is(#topics,#boundaries,#format,#faq,#journal) .topics{grid-auto-rows:auto}
:is(#topics,#boundaries,#format,#faq,#journal) .topic{grid-template-rows:auto 1fr}:is(#topics,#boundaries,#format,#faq,#journal) .topic:nth-child(n){grid-template-rows:auto 1fr}
#format .numbered .topic{grid-template-rows:40px auto 1fr}
}
#journal .publication-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
#journal .publication-cards .topic{grid-template-rows:var(--card-heading,auto) 1fr auto}
#journal .topic .button{justify-self:start;align-self:end;margin:0}
@media(max-width:620px){
#journal .publication-cards{grid-template-columns:1fr}
#journal .publication-cards .topic{grid-template-rows:auto 1fr auto}
}









header .links a{transition:color .18s ease;text-decoration-color:transparent}
.contacts-inner h2{margin:18px 0 28px}








.documents .section-head{margin-bottom:20px}
.document-list{border-top:1px solid var(--line)}
.document-entry{border-bottom:1px solid var(--line);padding:24px 0;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr);gap:36px;align-items:center}
.document-entry h3{margin:0 0 8px;font-size:var(--size-card);line-height:1.35}
.document-entry p{color:var(--muted);max-width:670px;line-height:1.6}

@media(max-width:720px){
:root{--size-section:29px;--size-card:20px;--size-hero:38px;--section-space:44px}
body{line-height:1.52}
.brand{font-size:20px}
.section-head{gap:16px;margin:14px 0 24px}
.topic p{line-height:1.5}.step p{line-height:1.5}.about p{line-height:1.5}.faq details p{line-height:1.5}
.hero{padding-top:28px;padding-bottom:34px;gap:28px}
.hero .eyebrow{letter-spacing:.7px}.eyebrow{letter-spacing:.7px}
.hero h1{margin:16px 0}
.hero .button{margin-top:18px;padding:12px 17px}

.art-note{bottom:14px;left:15px;right:15px;padding:12px 14px}


.document-entry{grid-template-columns:1fr;gap:12px;padding:20px 0}

#format .numbered .topic{}
header nav{height:auto;min-height:0;gap:6px;padding-top:9px;padding-bottom:10px}
header nav .links{display:flex;order:3;flex-basis:100%;flex-wrap:wrap;gap:7px 14px;overflow:visible;padding-bottom:3px}
header nav .links a{white-space:nowrap}
html{}
}
@media(max-width:390px){
:root{--size-section:27px;--size-card:19px;--size-hero:36px}
.wrap{}:is(#topics,#boundaries,#format,#faq,#journal){padding-left:18px;padding-right:18px}

}
header .brand{font-size:clamp(15px,1.55vw,20px);line-height:1.2;letter-spacing:0;gap:10px}
header .brand .brand-mark{flex:0 0 auto}
.about-portrait img{display:block}



.contacts-inner h2{margin:0 0 22px}
.contact-quicklinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px;row-gap:0;border-top:1px solid #bfcab7;border-bottom:1px solid #bfcab7}
.contact-quicklinks a{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:20px 0;text-decoration:none;color:var(--green);border-bottom:1px solid #bfcab75c;line-height:1.4;transition:color .18s ease,background .18s ease}
.contact-quicklinks a:nth-last-child(-n+2){border-bottom:0}
.contact-quicklinks a:focus-visible{color:#78906b;text-decoration:underline;text-underline-offset:5px}
.contact-quicklinks a span{flex-shrink:0}

footer .footer-row{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:13px}
footer .footer-signature{font-size:clamp(15px,1.5vw,19px);line-height:1.55;color:var(--ink);margin:0;max-width:800px}
footer .footer-copyright{font-size:13px;line-height:1.4;color:var(--muted);margin:0;letter-spacing:.2px}
@media(max-width:720px){
header .brand{font-size:17px;white-space:nowrap}






.art-note small{font-size:12px;letter-spacing:1.3px}
.contact-quicklinks{grid-template-columns:1fr}
.contact-quicklinks a{padding:15px 0;border-bottom:1px solid #bfcab75c}
.contact-quicklinks a:nth-last-child(2){border-bottom:1px solid #bfcab75c}
.contact-quicklinks a:last-child{border-bottom:0}

footer .footer-signature{font-size:16px;line-height:1.55}
}
@media(max-width:350px){


header .brand{font-size:15px}
}
.hero-closing-title{margin-top:35px;margin-bottom:0}
@media(max-width:720px){
header nav{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
header nav .brand{justify-content:center;text-align:center;white-space:normal}
header nav .links{width:100%;justify-content:center;align-items:center;gap:8px 15px}
main{text-align:center}footer{text-align:center}
.hero{justify-items:center}
.hero>div:first-child{min-width:0;width:100%;display:flex;flex-direction:column;align-items:center}
.hero .eyebrow{justify-content:center;text-align:center}.eyebrow{justify-content:center;text-align:center}
.hero .intro{max-width:470px;margin-left:auto;margin-right:auto}
.hero .button{align-self:center}





.hero-closing-title{font-size:var(--size-hero);line-height:1.16;max-width:480px;margin:24px auto 0;text-align:center}
.art{width:100%}
.art-note{text-align:center}
.section-head{margin-left:auto;margin-right:auto;text-align:center}.section-head p{margin-left:auto;margin-right:auto;text-align:center}
.section-head{display:flex;flex-direction:column;align-items:center}
.topics{grid-template-columns:1fr}
.topics>.topic{grid-column:1/-1;text-align:center}.topic{grid-column:1/-1;text-align:center}.topic:nth-child(n+4){grid-column:1/-1;text-align:center}.topic:last-child{grid-column:1/-1;text-align:center}
.topic h3{text-align:center}.topic p{text-align:center}
.about-grid{text-align:center}
.about-portrait{display:flex;flex-direction:column;align-items:center;max-width:100%;margin:0 auto}
.about-portrait .eyebrow{justify-content:center}
.about p{text-align:center}
.qualification{display:flex;flex-direction:column;gap:5px;align-items:center;text-align:center}
.qualification time{min-width:0}
.numbered .topic{display:flex;flex-direction:column;align-items:center;text-align:center}
.numbered .topic .step-number{margin-left:auto;margin-right:auto}
.publication-cards .button{margin-left:auto;margin-right:auto}
.contacts-inner{text-align:center}
.contact-quicklinks{width:100%;max-width:460px;margin:0 auto}
.contact-quicklinks a{justify-content:center;gap:9px;text-align:center}
.contact-quicklinks a span{flex:0 0 auto}
.documents .document-list{text-align:center}
.document-entry{justify-items:center;text-align:center}
.document-entry div{text-align:center}.document-entry h3{text-align:center}.document-entry p{text-align:center}

footer .footer-row{display:flex;flex-direction:column;align-items:center;text-align:center;gap:13px}
footer .footer-signature{text-align:center;margin-left:auto;margin-right:auto}footer .footer-copyright{text-align:center;margin-left:auto;margin-right:auto}
}
@media(max-width:350px){


.hero-closing-title{font-size:34px}
}
#journal .publication-cards .topic .button{justify-self:center;justify-content:center;align-self:end;text-align:center;margin-left:auto;margin-right:auto}
.footer-signature-line{display:block}
@media(max-width:720px){
#journal .publication-cards .topic .button{max-width:100%;margin-left:auto;margin-right:auto}
#journal .publication-cards .topic{justify-items:center;text-align:center}
footer .footer-signature-line{text-align:center}
}
#contacts .contact-quicklinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:0;height:auto;min-height:0;width:100%;max-width:100%;margin:0 auto;padding:0;align-items:stretch;align-content:start;justify-content:stretch;border-top:1px solid #bfcab7;border-bottom:1px solid #bfcab7}
#contacts .contact-quicklinks > a{display:flex;min-width:0;min-height:70px;height:auto;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:18px 0;line-height:1.45;overflow-wrap:normal;border-bottom:1px solid #bfcab75c}
#contacts .contact-quicklinks > a:nth-last-child(-n+2){border-bottom:0}
@media(max-width:720px){
#contacts .contact-quicklinks{grid-template-columns:minmax(0,1fr);max-width:460px;gap:0}
#contacts .contact-quicklinks > a{min-height:62px;padding:15px 9px;justify-content:center;text-align:center}
#contacts .contact-quicklinks > a:not(:last-child){border-bottom:1px solid #bfcab75c}
#contacts .contact-quicklinks > a:last-child{border-bottom:0}
}
#contacts .contact-quicklinks > a:last-child{grid-column:1/-1;justify-content:center}
#contacts .contact-quicklinks > a:nth-last-child(2){border-bottom:1px solid #bfcab75c}
@media(max-width:720px){
#contacts .contact-quicklinks > a:last-child{grid-column:1;justify-content:center}
}
main .eyebrow{justify-content:center;text-align:center}
@media (min-width:721px){
.hero > div:first-child{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.hero .intro{max-width:490px;margin:18px auto 0}
.hero .button{align-self:center}


.hero .hero-closing-title{text-align:center;margin-left:auto;margin-right:auto}
}
@media (max-width:720px){
.hero .intro{margin-top:14px}
}
#contacts .contact-quicklinks > a{justify-content:center;align-items:baseline;gap:7px}
#contacts .contact-quicklinks > a:last-child{justify-content:center;align-items:baseline;gap:7px}
#contacts .contact-quicklinks .contact-label{flex:0 1 auto;min-width:0}

@media (min-width:721px){
#documents .document-entry{grid-template-columns:minmax(0,1fr) max-content;gap:28px}
}


@media (max-width:720px){
#documents .document-entry{grid-template-columns:minmax(0,1fr)}

}
.reviews-section .eyebrow{margin-bottom: 24px}
.reviews-panel{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:30px;border:1px solid var(--line);border-radius:5px}
.reviews-copy{min-width:0}
.reviews-copy h2{margin:0}
.reviews-copy p{max-width:690px;margin-top:14px;color:var(--muted);line-height:1.65}
.reviews-panel .button{flex:0 0 auto;gap:12px;white-space:normal;text-align:center}
@media (min-width:721px) and (max-width:1120px){
header nav{gap:16px}
.links{gap:15px;font-size:14px}
}
@media (max-width:720px){
.reviews-section .eyebrow{margin-bottom:20px}
.reviews-panel{flex-direction:column;align-items:center;gap:22px;padding:22px;text-align:center}
.reviews-panel .button{max-width:100%;margin-left:auto;margin-right:auto}
}
footer .footer-row{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:13px;width:100%}
footer .footer-signature{text-align:center;margin-left:auto;margin-right:auto}
footer .footer-copyright{text-align:center;margin-left:auto;margin-right:auto}
footer .footer-signature-line{text-align:center;margin-left:auto;margin-right:auto}
footer .footer-signature-line{display:block;text-align:center}
#journal #publication-dzen{display:inline-flex;visibility:visible;opacity:1;align-items:center;justify-content:center;justify-self:center;align-self:end;font:inherit;font-size:var(--size-body);line-height:1.6;color:var(--green);background:transparent;min-height:54px;border:1px solid var(--green);border-radius:5px;cursor:pointer;margin-left:auto;margin-right:auto}
:root{--section-space:54px}
main>.section{}:is(#topics,#boundaries,#format,#faq,#journal){}
:is(#topics,#boundaries,#format,#journal) .topics{gap:12px}
:is(#topics,#boundaries,#format,#journal) .topic{}
:is(#topics,#boundaries,#format,#journal) .topic:nth-child(n){}
:is(#topics,#boundaries,#format,#journal) .section-head{margin-bottom:24px}
.cookie-notice{position:fixed;z-index:1000;bottom:14px;left:50%;transform:translateX(-50%);width:min(920px,calc(100% - 28px));padding:18px 20px;display:flex;gap:18px;justify-content:space-between;align-items:center;border:1px solid #b7c3b0;border-radius:10px;background:#faf9f4;box-shadow:0 8px 32px #1f302d35;text-align:left;color:var(--ink)}
.cookie-notice__text{min-width:0}
.cookie-notice__text strong{font-size:18px;display:block;margin-bottom:3px}
.cookie-notice__text p{font-size:14px;line-height:1.4;margin:0;color:#506152}
.cookie-notice__text a{text-decoration:underline;text-underline-offset:2px}
.cookie-notice__actions{flex:0 0 auto;display:flex;gap:8px;align-items:center}
.privacy-choice{border:1px solid var(--green);background:var(--bg);color:var(--green);font-size:14px;line-height:1.25;padding:12px 15px;border-radius:5px;cursor:pointer;min-height:44px}
.privacy-choice--accept{color:white;background:var(--green)}
.privacy-settings-link{cursor:pointer;border:0;background:none;padding:4px 8px;font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
@media(max-width:720px){
:root{--section-space:32px;--size-section:28px;--size-card:19px}
.wrap{}:is(#topics,#boundaries,#format,#faq,#journal){padding-left:20px;padding-right:20px}
#faq .section-head{margin-bottom:18px}
:is(#topics,#boundaries,#format,#journal) .topic{}:is(#topics,#boundaries,#format,#journal) .topic:nth-child(n){}
#format .numbered .topic{}
.hero{padding-top:25px;padding-bottom:30px;gap:24px}
.section-head{gap:12px;margin-bottom:18px}
.section-head p{line-height:1.48}
.about-grid{gap:22px}.booking-grid{gap:22px}
.about p{margin-bottom:12px}
.qualification{padding:11px 0}
.reviews-panel{padding:18px;gap:14px}
header nav .links{gap:5px 12px;font-size:14px}
.cookie-notice{bottom:7px;display:block;padding:14px;max-height:80vh;overflow:auto}
.cookie-notice__actions{display:grid;grid-template-columns:1fr 1fr;margin-top:12px}
.privacy-choice{padding:10px 8px}
}
@media(max-width:390px){
.wrap{}:is(#topics,#boundaries,#format,#faq,#journal){padding-left:16px;padding-right:16px}
}
html{scroll-behavior:auto}
.hero{grid-template-columns:minmax(0,1fr) minmax(0,0.94fr);column-gap:40px;row-gap:20px;align-items:center;padding-top:34px;padding-bottom:46px}



.hero>.hero-message{grid-column:1;grid-row:2;width:100%;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;align-self:start;padding-top:45px}
.hero>.art{grid-column:2;grid-row:2;max-width:100%;min-width:0}
.hero .intro{font-size:clamp(19px,1.9vw,23px);line-height:1.5;max-width:510px;margin:0 auto;color:var(--muted);text-wrap:pretty}
.hero .button{margin-top:23px;align-self:center;min-height:54px;text-align:center}
.hero .hero-closing-title{font-size:clamp(37px,3.8vw,51px);line-height:1.18;margin:27px auto 0;max-width:580px;text-align:center;letter-spacing:-.9px;text-wrap:balance}
.hero-closing-title em{font-style:italic}
.art-note{text-align:center}
.art-note small{display:block;text-align:center}
.section-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin:12px auto 26px;max-width:900px;text-align:center} #faq .section-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin:12px auto 26px;max-width:900px;text-align:center}
.section-head h2{margin:0 auto;text-align:center;max-width:100%;min-width:0}.section-head p{margin:0 auto;text-align:center;max-width:100%;min-width:0}
.section-head p{max-width:680px;line-height:1.55;text-wrap:pretty}
#topics .section-head{margin-bottom:25px}#boundaries .section-head{margin-bottom:25px}#format .section-head{margin-bottom:25px}#journal .section-head{margin-bottom:25px}
#documents .section-head{margin-bottom:18px}
#topics .topics{gap:12px}#boundaries .topics{gap:12px}#format .topics{gap:12px}
#topics .topics>.topic{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;grid-row:auto;grid-template-rows:none}#boundaries .topics>.topic{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;grid-row:auto;grid-template-rows:none}#format .topics>.topic{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;grid-row:auto;grid-template-rows:none}
#topics .topic h3{line-height:1.24;text-align:center;margin:0;overflow-wrap:normal;hyphens:none}#boundaries .topic h3{line-height:1.24;text-align:center;margin:0;overflow-wrap:normal;hyphens:none}#format .topic h3{line-height:1.24;text-align:center;margin:0;overflow-wrap:normal;hyphens:none}
#topics .topic p{text-align:center;margin:0;line-height:1.52;max-width:38ch}#boundaries .topic p{text-align:center;margin:0;line-height:1.52;max-width:38ch}#format .topic p{text-align:center;margin:0;line-height:1.52;max-width:38ch}
#format .topic .step-number{flex:none;margin:0 auto 3px}
#reviews .reviews-panel{flex-direction:column;text-align:center;align-items:center;gap:17px;padding:25px}
#reviews .reviews-copy{text-align:center}
#reviews .reviews-copy h2{margin-left:auto;margin-right:auto;text-align:center}#reviews .reviews-copy p{margin-left:auto;margin-right:auto;text-align:center}
#reviews .reviews-copy p{max-width:660px;margin-top:10px}
#reviews .button{align-self:center}
:root{--section-space:46px}
main>.section{}:is(#topics,#boundaries,#format,#faq,#journal){}
#contacts .contacts-inner h2{text-align:center}
@media(max-width:1000px){
.hero{column-gap:24px}

}
@media(max-width:800px){
.hero{grid-template-columns:1fr;row-gap:23px;padding-top:26px;padding-bottom:35px}

.hero>.hero-message{grid-column:1;grid-row:2;padding-top:0}
.hero>.art{grid-column:1;grid-row:3;width:100%;max-width:530px;margin:0 auto}
.hero .intro{font-size:clamp(18px,2.3vw,21px)}
.hero .hero-closing-title{margin-top:23px}
}
@media(max-width:620px){
:root{--section-space:32px}
.hero{padding-top:21px;padding-bottom:29px;row-gap:22px}


.hero .intro{font-size:18px;line-height:1.45;max-width:460px}
.hero .button{margin-top:17px;padding:12px 18px}
.hero .hero-closing-title{font-size:clamp(31px,8.6vw,39px);line-height:1.18;margin-top:22px}
.section-head{margin-bottom:18px;gap:9px}#faq .section-head{margin-bottom:18px;gap:9px}
.section-head p{max-width:100%}
#topics .topics>.topic{}#boundaries .topics>.topic{}#format .topics>.topic{}
#reviews .reviews-panel{padding:20px 16px}
}
header{position:sticky;top:0;background:#f6f4eef5;z-index:5;border-bottom:1px solid var(--line)}
.hero{grid-template-columns:minmax(0,1fr) minmax(0,.94fr);column-gap:40px;row-gap:20px;align-items:center}
.hero>.hero-message{grid-column:1;grid-row:1;width:100%;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;align-self:start;padding-top:45px}
.hero>.art{grid-column:2;grid-row:1;max-width:100%;min-width:0}
html{}
@media(max-width:1100px){
html{}
}
@media(max-width:800px){
.hero{grid-template-columns:1fr;row-gap:23px;padding-top:26px;padding-bottom:35px}
.hero>.hero-message{grid-column:1;grid-row:1;padding-top:0}
.hero>.art{grid-column:1;grid-row:2;width:100%;max-width:530px;margin:0 auto}
.hero .intro{font-size:clamp(18px,2.3vw,21px)}
.hero .hero-closing-title{margin-top:23px}
}
@media(max-width:620px){
html{}
.hero{padding-top:21px;padding-bottom:29px;row-gap:22px}
.hero .intro{font-size:18px;line-height:1.45;max-width:460px}
.hero .button{margin-top:17px;padding:12px 18px}
.hero .hero-closing-title{font-size:clamp(31px,8.6vw,39px);line-height:1.18;margin-top:22px}
}
body.modal-open{overflow:hidden}
.credentials-inline-links{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;justify-content:center;margin:16px 0 18px;color:var(--muted)}
.credentials-inline-links span:first-child{font-size:15px}
.inline-popup-link{appearance:none;border:none;background:none;padding:0;margin:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:none}.document-link--button{appearance:none;border:none;background:none;padding:0;margin:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:none}
.inline-popup-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;border-bottom:1px solid color-mix(in srgb,var(--accent) 35%, transparent)}


.popup{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:18px}
.popup__backdrop{position:absolute;inset:0;background:rgba(18,24,38,.58)}
.popup__panel{position:relative;z-index:1;width:min(840px,100%);max-height:min(calc(100vh - 36px),980px);overflow:auto;background:#f8f5ef;border:1px solid rgba(56,73,96,.14);border-radius:28px;box-shadow:0 28px 80px rgba(18,24,38,.18);padding:22px 22px 24px}
.popup__panel--wide{width:min(1180px,100%)}

.popup__header{padding-right:44px;margin-bottom:18px}
.popup__header h3{margin:0 0 8px}
.popup__header p{margin:0;color:var(--muted);line-height:1.55}
.popup__close{position:absolute;top:12px;right:12px;width:42px;height:42px;border:none;border-radius:50%;background:rgba(40,54,76,.08);color:var(--text);font-size:28px;line-height:1;cursor:pointer}
.certificate-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(245px,245px);gap:14px;overflow-x:auto;overflow-y:hidden;padding:4px 2px 8px;scroll-snap-type:x proximity}

.certificate-card{appearance:none;border:none;background:#fff;border:1px solid rgba(56,73,96,.1);border-radius:22px;padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;cursor:pointer;text-align:left;scroll-snap-align:start;box-shadow:0 14px 32px rgba(42,54,75,.08)}
.certificate-card__thumb{width:100%;aspect-ratio:4/3;display:grid;place-items:center;background:#f4f6fa;border-radius:16px;overflow:hidden;border:1px solid rgba(56,73,96,.08)}
.certificate-card__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.certificate-card__title{font-weight:600;line-height:1.42}
.certificate-card__meta{font-size:14px;line-height:1.4;color:var(--muted)}





@media(max-width:760px){
.credentials-inline-links{align-items:flex-start;flex-direction:column}
.popup{padding:10px}
.popup__panel{border-radius:22px;padding:18px 16px 18px}
.popup__header{padding-right:38px}
.certificate-rail{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:1fr;overflow-x:hidden;overflow-y:auto;max-height:min(58vh,720px);padding-right:4px}

.certificate-card{padding:12px;border-radius:18px}
.certificate-card__thumb{aspect-ratio:16/10}


}
#format .numbered{align-items:stretch}
#format .numbered > .topic{text-align:center}
#format .numbered > .topic .step-number{grid-row:1;justify-self:center}
#format .numbered > .topic h3{grid-row:2;line-height:1.32}
#format .numbered > .topic p{grid-row:3;line-height:1.6}
#documents .document-entry--simple{display:block;min-height:0;padding:24px 0;text-align:center}
#documents .document-entry--simple h3{font-size:clamp(19px,2vw,28px);font-weight:400;line-height:1.4;margin:0}
#documents .document-entry--simple p{max-width:900px;line-height:1.65;font-size:clamp(14px,1.3vw,18px);margin:8px auto 0;color:var(--muted);text-align:center}
#documents .document-heading-link{display:inline;text-decoration:none;border-bottom:1px solid #9caa99;padding-bottom:2px}
#documents .document-heading-link:focus-visible{color:#59745e;border-bottom-color:currentColor}
#documents .document-heading-arrow{display:inline;white-space:nowrap;color:#59745e}
#akpp-popup .popup__header{max-width:650px}
@media(max-width:720px){
#documents .document-entry--simple{text-align:center;padding:21px 0}
#documents .document-entry--simple p{margin:9px auto 0;text-align:center}
}
#akpp-popup .popup__panel{width:min(900px,100%)}

#akpp-popup .certificate-card__thumb--member{width:100%;aspect-ratio:auto;min-height:0;background:#fff;border-radius:12px}
#akpp-popup .certificate-card__thumb--member img{width:100%;height:auto;max-height:min(60vh,560px);object-fit:contain}
#akpp-popup .certificate-card__meta{font-weight:500}
#credentials-popup .certificate-card__thumb img{object-fit:contain;background:white}
#credentials-popup .certificate-card__thumb{background:white}
@media(max-width:720px){
#akpp-popup .certificate-card__thumb--member img{max-height:min(51vh,480px)}
}
#about .inline-popup-link--akpp{font:inherit;font-weight:650;color:var(--green);vertical-align:baseline;white-space:nowrap}
#credentials-popup .certificate-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(380px,460px);grid-template-columns:none;gap:18px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;max-height:none;padding:6px 4px 20px}
#credentials-popup .certificate-card{cursor:default;transition:none;transform:none;box-shadow:0 8px 24px rgba(42,54,75,.06)}
#credentials-popup .certificate-card__thumb{aspect-ratio:auto;width:100%;background:#fff;overflow:hidden}
#credentials-popup .certificate-card__thumb img{width:100%;height:auto;max-height:none;object-fit:contain;display:block}
#credentials-popup .certificate-card__title{font-size:16px;line-height:1.45;overflow-wrap:normal}
#akpp-popup .popup__panel{width:min(660px,100%)}
#akpp-popup .member-card-static{display:block;max-width:490px;margin:0 auto;padding:10px;background:#fff;border-radius:16px;border:1px solid var(--line)}
#akpp-popup .certificate-card__thumb--member{display:block;width:100%;height:auto;aspect-ratio:auto;overflow:hidden}
#akpp-popup .certificate-card__thumb--member img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:900px){
}
@media(max-width:760px){
#credentials-popup .certificate-rail{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:minmax(0,1fr);overflow-x:hidden;overflow-y:visible;max-height:none;padding:4px 1px 8px}
#credentials-popup .certificate-card{width:100%}
#akpp-popup .member-card-static{max-width:100%}
}
:root{--v11-ease:cubic-bezier(.22,1,.36,1);--v11-duration:400ms}
body{overflow-x:clip}

@media(max-width:1000px){
}
@media(max-width:720px){
}
:is(#topics,#boundaries,#format,#journal) .topic h3{line-height:1.36}
:is(#topics,#boundaries,#format,#journal) .topic p{max-width:39ch;line-height:1.55}
#format .numbered > .topic .step-number{grid-row:1}
#format .numbered > .topic h3{grid-row:2}
#format .numbered > .topic p{grid-row:3}
#journal .publication-cards>.topic{}
#journal .publication-cards>.topic .button{text-align:center;min-height:54px;display:inline-flex}
.hero>.hero-message{gap:0}
.hero .intro{font-size:clamp(19px,2.05vw,26px);line-height:1.52;letter-spacing:.005em;max-width:550px;color:#526457;text-wrap:pretty}
.hero .button{font:700 clamp(16px,1.35vw,19px)/1.4 "PT Astra Sans",sans-serif;letter-spacing:.012em;margin-top:25px;padding:17px clamp(20px,2.1vw,31px);min-height:64px;box-shadow:0 3px 0 rgba(31,61,45,.05)}
.hero .hero-closing-title{margin-top:31px;letter-spacing:-.018em;line-height:1.12;text-wrap:balance}
.button{transition:background .24s ease,color .24s ease,box-shadow .26s ease,transform .24s var(--v11-ease)}
.button:active{transform:translateY(0) scale(.985);box-shadow:0 2px 6px rgba(28,59,42,.10)}
#contacts .contact-quicklinks{gap:0 26px}
#contacts .contact-quicklinks a{display:flex;gap:14px;text-align:center;transition:background .24s ease,transform .24s ease,border-color .24s ease;border-radius:8px}
#contacts .contact-icon{flex:0 0 54px;width:54px;height:54px;object-fit:contain;transition:transform .3s var(--v11-ease),filter .3s ease}
#contacts .contact-label{flex:0 1 auto;min-width:0;text-align:left;overflow-wrap:normal;max-width:calc(100% - 68px)}
#contacts .contact-quicklinks a:last-child{grid-column:1/-1;justify-self:center;width:min(100%,780px)}
@media(max-width:720px){
#journal .publication-cards>.topic{}
.hero .intro{font-size:19px;line-height:1.48}
.hero .button{font-size:17px;min-height:59px;margin-top:20px}
.hero .hero-closing-title{margin-top:25px}
#contacts .contact-quicklinks{grid-template-columns:1fr}
#contacts .contact-quicklinks a:last-child{grid-column:1;width:100%}
#contacts .contact-icon{width:52px;height:52px;flex-basis:52px}
#contacts .contact-label{font-size:17px;max-width:calc(100% - 68px)}
}
@media(max-width:390px){
#contacts .contact-label{font-size:15px}
#contacts .contact-icon{width:46px;height:46px;flex-basis:46px}
}
#akpp-popup .member-card-static{position:relative;isolation:isolate;overflow:hidden;border-color:var(--line);background:var(--fixed-surface);padding:8px}


#akpp-popup .member-card-static img{border-radius:8px}

@media(max-width:1000px){
}
@media(max-width:720px){
}
@media(max-width:390px){
}
.hero .hero-cta-slot{display:flex;align-items:center;justify-content:center;align-self:center;position:relative;margin:25px auto 0;min-height:64px;width:max-content;max-width:100%}
.hero .hero-cta-slot .hero-cta-button{font-family:var(--font),sans-serif;font-weight:400;letter-spacing:0;align-self:center;min-height:64px}
.hero-cta-button.is-floating{z-index:55;left:50%;right:auto;top:auto;bottom:max(14px,env(safe-area-inset-bottom));min-height:44px;max-width:calc(100vw - 24px);width:max-content;white-space:nowrap;border-radius:999px;border:1px solid rgba(54,89,67,.38);background:rgba(246,244,238,.64);color:var(--green);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 5px 18px rgba(32,49,38,.12);opacity:1;transform:translateX(-50%) scale(.84)}
.hero-cta-button.is-floating:active{transform:translateX(-50%) scale(.81)}
@media(max-width:620px){
.hero .hero-cta-slot{margin-top:20px;min-height:59px}
.hero .hero-cta-slot .hero-cta-button{min-height:59px}
.hero-cta-button.is-floating{min-height:42px;max-width:calc(100vw - 20px)}
}



#credentials-popup{place-items:start center;padding:clamp(12px,3vh,28px) 18px}
#credentials-popup .popup__panel{max-height:calc(100dvh - 2 * clamp(12px,3vh,28px));overflow:auto;overscroll-behavior:contain}
#credentials-popup .popup__header{position:sticky;top:-22px;z-index:4;background:#f8f5ef;padding:3px 44px 10px 0;margin:0 0 12px}
#credentials-popup .popup__header .eyebrow{text-align:center;margin-left:auto;margin-right:auto}#credentials-popup .popup__header h3{text-align:center;margin-left:auto;margin-right:auto}#credentials-popup .popup__header p{text-align:center;margin-left:auto;margin-right:auto}
#credentials-popup .popup__header h3{margin-top:0;margin-bottom:6px}
#credentials-popup .popup__header p{margin-top:0}
#akpp-popup .popup__panel{margin-inline:auto}
#akpp-popup .popup__header{max-width:560px;margin:0 auto 16px;padding:0 42px;text-align:center}
#akpp-popup .popup__header .eyebrow{text-align:center;margin-left:auto;margin-right:auto}#akpp-popup .popup__header h3{text-align:center;margin-left:auto;margin-right:auto}#akpp-popup .popup__header p{text-align:center;margin-left:auto;margin-right:auto}
#akpp-popup .member-card-static{display:block;position:relative;isolation:isolate;overflow:hidden;width:100%;max-width:490px;margin:0 auto;padding:8px;border-radius:15px;border:1px solid var(--line);background:var(--fixed-surface);}


#akpp-popup .member-card-static img{display:block;width:100%;height:auto;border-radius:8px}

:root{--section-space:36px}
.hero>.hero-message{max-width:560px;margin-inline:auto;align-items:center;text-align:center}
.hero .intro{margin:0 auto;text-align:center}
.hero .hero-closing-title{width:100%;margin:24px auto 0;text-align:center}
#journal .publication-cards>.topic{}
.popup__panel{padding:20px 20px 22px}
.popup__header{margin-bottom:14px}
.certificate-rail{gap:12px;padding-top:3px;padding-bottom:10px}
.certificate-card{padding:12px;gap:9px;border-radius:16px}
@media(max-width:720px){
:root{--section-space:26px}
.popup__panel{padding:18px 16px 18px}
#credentials-popup .popup__panel{max-height:calc(100dvh - 24px)}
#credentials-popup .popup__header{top:-18px;padding:2px 38px 9px 0}
#akpp-popup .popup__header{padding:0 34px}
}
@media(max-width:390px){
:root{--section-space:22px}
.wrap{}:is(#topics,#boundaries,#format,#faq,#journal){padding-left:16px;padding-right:16px}
.popup__panel{padding:16px 14px}
}
.hero .hero-cta-slot{overflow:visible}
.hero .hero-cta-slot .hero-cta-button.is-floating{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:68}
#credentials-popup .certificate-card{box-sizing:border-box;height:100%;min-width:0}
#credentials-popup .certificate-card__thumb{flex:0 0 auto}
#credentials-popup .certificate-card__title{display:block;flex:0 0 auto;min-height:0;overflow-wrap:normal}
#credentials-popup .certificate-card__meta{display:block;flex:0 0 auto;padding-top:10px;line-height:1.4;align-self:stretch;border-top:1px solid rgba(56,73,96,.10)}
@media(max-width:760px){
#credentials-popup .certificate-card{min-height:305px}
}

.hero .hero-cta-slot .hero-cta-button.is-floating{backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.hero .hero-cta-slot .hero-cta-button.is-floating:active{backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
#documents button.document-heading-link{appearance:none;border:0;border-bottom:1px solid #9caa99;border-radius:0;background:none;cursor:pointer;padding:0 0 2px;color:inherit;line-height:inherit;text-align:center}
.policy-doc-link{appearance:none;border:0;border-bottom:1px solid currentColor;background:none;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:none}
.popup:not([hidden]){overscroll-behavior:contain;touch-action:pan-y}
.popup:not([hidden]) .popup__panel{overscroll-behavior:contain;touch-action:pan-y}
.certificate-rail{overscroll-behavior-inline:contain}
a[data-destination]{cursor:pointer}
a[data-destination]:focus-visible{outline:2px solid #425b49;outline-offset:4px}
@media (max-width:760px),
       (pointer:coarse) and (max-width:1200px),
       (max-width:1200px) and (max-height:640px){
html{}
}
@media (max-width:800px){
#about .about-grid{grid-template-columns:minmax(0,1fr)}
#about .about-grid > figure.about-portrait{width:min(100%,430px);max-width:430px;margin-inline:auto;justify-self:center;align-self:start}
#about figure.about-portrait > .eyebrow{width:100%;text-align:center;justify-content:center}
}
.hero-closing-title{display:block}


.seo-related{margin:20px auto 4px;padding:10px 24px;border-top:1px solid rgba(66,96,68,.2);color:#627365;font-size:clamp(13px,1.15vw,15px);line-height:1.7;text-align:center}
.seo-related a{color:#365b47;text-underline-offset:.25em}
@media(max-width:720px){

.seo-related{margin-top:16px;padding:12px 16px}
}
@media (max-width: 620px){
}
body > .popup > .popup__panel{overscroll-behavior:contain}
.popup-related-link{text-align:center;margin:20px auto 8px;line-height:1.5;font-size:clamp(15px,1.5vw,18px)}
.popup-related-link a{color:var(--green,#315b43);cursor:pointer;display:inline-flex;justify-content:center;max-width:100%;text-align:center;text-decoration:underline;text-underline-offset:.24em;overflow-wrap:normal}
@media(max-width:760px){
.popup-related-link{margin:14px auto 4px}
}
#credentials-popup .popup__panel > .popup-related-link{border-top:1px solid rgba(68,91,69,.13);position:relative;z-index:3}
@media(min-width:800px){
#topics .section-head h2{letter-spacing:-.025em}
}
.seo-related .seo-related-nowrap{white-space:nowrap;display:inline-block;vertical-align:baseline}
.hero .hero-closing-title{font-weight:400}
.reviews-section>.eyebrow{display:flex;justify-content:center;text-align:center}
.reviews-section>.eyebrow::before{flex:0 0 28px}.reviews-section>.eyebrow::after{flex:0 0 28px}
#reviews .reviews-copy{width:100%;text-align:center}
#reviews .reviews-copy p{margin:0 auto;text-align:center}
@media(max-width:620px){
.hero .hero-closing-title .hero-signature{display:block;margin-top:.12em}
}












main .section > h2.section-heading{box-sizing:border-box}
main #reviews > h2.section-heading{box-sizing:border-box}
main .section > h2.section-heading::before{content:""}
main .section > h2.section-heading::after{content:""}
main .section-afterword{display:block;max-width:1040px;padding:0 10px;font-family:inherit;font-weight:400;font-size:clamp(23px,2.45vw,32px);letter-spacing:-.02em;line-height:1.3;color:var(--ink);text-align:center}
@media(max-width:620px){
main .section-afterword{font-size:clamp(21px,5.5vw,25px)}
}
:root{--font:"Golos Text",Arial,sans-serif;--font-site:"Golos Text",Arial,sans-serif}
body{letter-spacing:0}
#boundaries .boundary-card h3{display:flex;align-items:center;justify-content:center;hyphens:none;overflow-wrap:normal;word-break:normal;text-wrap:balance}
#boundaries .boundary-card p{max-width:360px;color:var(--muted)}
#boundaries > .section-afterword{color:var(--ink)}
#format .numbered > .topic{position:relative}
#format .numbered>.topic::after{content:"→";position:absolute;right:-18px;top:23px;z-index:3;font-family:"Golos Text",Arial,sans-serif;font-size:27px;line-height:1;color:var(--green);font-weight:400;transform:translateY(-50%);pointer-events:none}
#format .numbered>.topic:nth-child(3)::after{content:"↙";top:auto;bottom:-21px;right:calc(50% - 13px);transform:none;font-size:26px}
#format .numbered>.topic:nth-child(6)::after{content:none}
#contacts h2.section-heading::before{content:"";width:34px;height:1px;background:currentColor;flex:0 0 34px}#contacts h2.section-heading::after{content:"";width:34px;height:1px;background:currentColor;flex:0 0 34px}
#credentials-popup .popup__header{padding-right:42px}#akpp-popup .popup__header{padding-right:42px}
.popup__header .popup-title-plain:before{content:"";height:1px;max-width:34px;min-width:16px;flex:1 1 25px;background:currentColor}.popup__header .popup-title-plain:after{content:"";height:1px;max-width:34px;min-width:16px;flex:1 1 25px;background:currentColor}
@media(max-width:930px){
#format .numbered>.topic:nth-child(2n)::after{content:none}
#format .numbered>.topic:nth-child(3)::after{content:"→";top:23px;bottom:auto;right:-18px;transform:translateY(-50%)}
}
@media(max-width:620px){
#contacts h2.section-heading::before{width:24px;flex-basis:24px}#contacts h2.section-heading::after{width:24px;flex-basis:24px}
.popup__header .popup-title-plain:before{min-width:12px;max-width:24px}.popup__header .popup-title-plain:after{min-width:12px;max-width:24px}
}
}
@layer layout-priority {
@media(prefers-reduced-motion:reduce){
*{transition:none}
}
.cookie-notice[hidden]{display:none}
@media(max-width:720px){
.contact-quicklinks a{min-height:0;padding:12px 0}
}
body.modal-open .hero-cta-button.is-floating{display:none}
.popup[hidden]{display:none}
#format .numbered > .topic{display:grid;grid-template-rows:46px minmax(58px,auto) 1fr;align-content:start;align-items:start;justify-items:center;}
#format .numbered > .topic .step-number{align-self:start;margin:0}
#format .numbered > .topic h3{margin:8px 0 0;align-self:start}
#format .numbered > .topic p{align-self:start;margin:7px 0 0}
@media(max-width:720px){
#format .numbered > .topic{grid-template-rows:46px auto 1fr;}
#format .numbered > .topic h3{margin:3px 0 4px}
}
#about .inline-popup-link--akpp{display:inline}
@media(max-width:760px){
}
html{scroll-behavior:auto}

@media(max-width:1000px){
}
@media(max-width:720px){

}
:is(#topics,#boundaries,#format,#journal) .topics>.topic{align-items:center;justify-content:flex-start;align-content:start;text-align:center;}
:is(#topics,#boundaries,#format,#journal) .topics>.topic:nth-child(n){align-items:center;justify-content:flex-start;align-content:start;text-align:center;}
:is(#topics,#boundaries,#format,#journal) .topic h3{text-align:center;margin-left:auto;margin-right:auto}
:is(#topics,#boundaries,#format,#journal) .topic p{text-align:center;margin-left:auto;margin-right:auto}
:is(#topics,#boundaries,#format,#journal) .topic h3{margin-top:0}
#format .numbered > .topic{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:48px minmax(64px,auto) auto;justify-items:center;justify-content:start;align-content:start;align-items:start;}
#format .numbered > .topic .step-number{align-self:start;margin:0}
#format .numbered > .topic h3{align-self:start;margin:0}
#format .numbered > .topic p{align-self:start;margin:0}
#journal .publication-cards>.topic{display:flex;flex-direction:column;align-items:center}
#journal .publication-cards>.topic .button{margin:auto auto 0;align-self:center}
#contacts .contact-quicklinks a{justify-content:center;align-items:center;min-height:88px;padding:14px 12px}
@media(max-width:720px){
:is(#topics,#boundaries,#format,#journal) .topics>.topic{}:is(#topics,#boundaries,#format,#journal) .topics>.topic:nth-child(n){}
#format .numbered > .topic{grid-template-rows:48px auto auto}
#contacts .contact-quicklinks a{min-height:78px;justify-content:flex-start;padding:10px 7px}
}
@media(prefers-reduced-motion:reduce){

*{scroll-behavior:auto;transition-duration:0ms;animation:none}*::before{scroll-behavior:auto;transition-duration:0ms;animation:none}*::after{scroll-behavior:auto;transition-duration:0ms;animation:none}

}

@media(max-width:1000px){
}
@media(max-width:720px){

}
.hero .hero-cta-slot .hero-cta-button{margin:0}
.hero-cta-button.is-floating{position:fixed;margin:0;padding:9px 18px}
@media(max-width:620px){
.hero-cta-button.is-floating{padding:8px 15px}
}

main>.section{}:is(#topics,#boundaries,#format,#faq,#journal){}
.hero{min-height:0;padding-top:24px;padding-bottom:28px;row-gap:15px;column-gap:32px}
.hero>.hero-message{padding-top:24px}
.section-head{margin:8px auto 20px;gap:8px}#faq .section-head{margin:8px auto 20px;gap:8px}
#topics .section-head{margin-bottom:18px}#boundaries .section-head{margin-bottom:18px}#format .section-head{margin-bottom:18px}#journal .section-head{margin-bottom:18px}
:is(#topics,#boundaries,#format,#journal) .topics{gap:10px}
:is(#topics,#boundaries,#format,#journal) .topics>.topic{}
:is(#topics,#boundaries,#format,#journal) .topics>.topic:nth-child(n){}
#format .numbered>.topic{grid-template-rows:40px auto auto;}
.about-grid{gap:54px}
.about h2{margin:12px 0 18px}
.about p{margin:10px 0}
.qualifications{margin-top:20px}
.qualification{padding:12px 0;gap:18px}




.booking h2{margin:12px 0 18px}
.booking .note{margin-bottom:22px}
form{padding:24px}
label{margin-bottom:14px}

#contacts .contact-quicklinks a{min-height:72px;padding:10px 10px}
.document-entry{gap:24px}
#documents .document-entry--simple{padding:16px 0}
#documents .document-entry--simple p{margin-top:6px}
.reviews-panel{gap:22px;padding:22px}
.journal{gap:26px}
footer{padding:22px 0}
footer .footer-row{gap:10px}
@media(max-width:800px){
.hero{padding-top:20px;padding-bottom:24px;row-gap:18px}
.hero>.hero-message{padding-top:0}
.about-grid{gap:28px}.booking-grid{gap:28px}



}
@media(max-width:720px){
.hero{padding-top:16px;padding-bottom:22px;row-gap:18px;column-gap:18px}
.hero .hero-closing-title{margin-top:20px}
.section-head{margin-top:6px;margin-bottom:16px}#faq .section-head{margin-top:6px;margin-bottom:16px}
:is(#topics,#boundaries,#format,#journal) .topics>.topic{}
 :is(#topics,#boundaries,#format,#journal) .topics>.topic:nth-child(n){}
.about-grid{gap:22px}
.about h2{margin:8px 0 14px}
.qualifications{margin-top:16px}
.qualification{padding:10px 0}

form{padding:20px}

#contacts .contact-quicklinks a{min-height:62px;padding:8px 6px}
.reviews-panel{padding:18px 14px}
}
@media(max-width:390px){
.hero{padding-top:14px;padding-bottom:18px;row-gap:16px}
.about-grid{gap:18px}
}
@media(prefers-reduced-motion:reduce){.hero .hero-cta-button{transition:none;animation:none}

}








.hero .hero-cta-slot .hero-cta-button{transition:background-color .12s linear,box-shadow .2s ease}
.hero .hero-cta-slot .hero-cta-button.is-floating{position:fixed;top:var(--cta-vtop,0px);left:50%;right:auto;bottom:auto;margin:0;transform:translateX(-50%) scale(var(--cta-scale,1));transform-origin:center center;width:max-content;max-width:calc(100vw - 20px);min-height:64px;font-weight:400;padding:var(--cta-padding,14px 36px);opacity:1;border-radius:var(--cta-radius,8px);color:#fff;background:rgba(54,87,67,var(--cta-opacity,1));box-shadow:0 6px 16px rgba(22,45,32,.13)}
.hero .hero-cta-slot .hero-cta-button.is-floating:active{transform:translateX(-50%) scale(var(--cta-scale,1));background:rgba(54,87,67,var(--cta-opacity,1))}
@media(max-width:620px){
.hero .hero-cta-slot .hero-cta-button.is-floating{min-height:59px}
}
@media(prefers-reduced-motion:reduce){
.hero .hero-cta-slot .hero-cta-button{transition:none}
}
#credentials-popup .certificate-rail{align-items:stretch}
#credentials-popup .certificate-card{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}
#credentials-popup .certificate-card__meta{margin-top:auto}
.hero .hero-cta-slot{position:relative;display:flex;align-items:center;justify-content:center;align-self:center;width:max-content;max-width:100%;min-height:54px;margin:19px auto 0;overflow:visible}
.hero .hero-cta-slot .hero-cta-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;align-self:center;min-height:54px;box-sizing:border-box;padding:9px 18px;border:1px solid transparent;border-radius:8px;color:#2f4f3a;background:transparent;box-shadow:none;font:inherit;font-family:var(--font),sans-serif;font-size:clamp(18px,2.15vw,22px);font-weight:400;letter-spacing:normal;line-height:1.4;text-decoration:underline;text-underline-offset:6px;cursor:pointer;white-space:nowrap;margin:0;transition:none;transform:none;max-width:calc(100vw - 20px)}
.hero .hero-cta-slot .hero-cta-button.is-floating{position:fixed;z-index:105;left:var(--cta-left);top:var(--cta-vtop);bottom:auto;right:auto;width:max-content;max-width:calc(100vw - 20px);min-height:54px;padding:9px 18px;border:1px solid rgba(54,87,67,var(--cta-bg));border-radius:var(--cta-radius);background:rgba(54,87,67,var(--cta-bg));color:rgb(var(--cta-color));text-decoration-color:rgba(47,79,58,var(--cta-line));box-shadow:0 4px 14px rgba(33,60,44,.09);transform:translateX(-50%) scale(var(--cta-scale));transform-origin:center center;opacity:1;font-family:var(--font),sans-serif;font-weight:400;transition:none;pointer-events:auto}.hero .hero-cta-slot .hero-cta-button.is-floating:active{position:fixed;z-index:105;left:var(--cta-left);top:var(--cta-vtop);bottom:auto;right:auto;width:max-content;max-width:calc(100vw - 20px);min-height:54px;padding:9px 18px;border:1px solid rgba(54,87,67,var(--cta-bg));border-radius:var(--cta-radius);background:rgba(54,87,67,var(--cta-bg));color:rgb(var(--cta-color));text-decoration-color:rgba(47,79,58,var(--cta-line));box-shadow:0 4px 14px rgba(33,60,44,.09);transform:translateX(-50%) scale(var(--cta-scale));transform-origin:center center;opacity:1;font-family:var(--font),sans-serif;font-weight:400;transition:none;pointer-events:auto}
body.modal-open .hero-cta-button.is-floating{display:none}
#documents button.document-heading-link{font:inherit;font-weight:400}
@media(max-width:1000px){
}
@media(max-width:760px){
.hero .hero-cta-slot .hero-cta-button{font-size:clamp(16px,4.2vw,21px)}.hero .hero-cta-slot .hero-cta-button.is-floating{font-size:clamp(16px,4.2vw,21px)}
}
@media(max-width:390px){
}
@media(prefers-reduced-motion:reduce){

}
.hero .hero-cta-slot.intro{position:relative;display:flex;align-items:center;justify-content:center;align-self:center;width:max-content;max-width:100%;min-height:0;margin:12px auto 0;padding:0;overflow:visible}
.hero .hero-cta-slot.intro .hero-cta-button{position:static;top:auto;right:auto;bottom:auto;left:auto;inset:auto;display:inline-block;appearance:none;box-sizing:border-box;width:auto;max-width:calc(100vw - 20px);min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);box-shadow:none;font-family:var(--font),sans-serif;font-size:clamp(34px,3.35vw,45px);font-weight:400;letter-spacing:-.018em;line-height:1.12;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;white-space:normal;text-align:center;overflow-wrap:normal;transform:none;transform-origin:initial;opacity:1;backdrop-filter:none;-webkit-backdrop-filter:none;filter:none;transition:none;animation:none;pointer-events:auto;cursor:pointer}
.hero .hero-cta-slot.intro .hero-cta-button.is-floating{position:static;top:auto;right:auto;bottom:auto;left:auto;inset:auto;display:inline-block;appearance:none;box-sizing:border-box;width:auto;max-width:calc(100vw - 20px);min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);box-shadow:none;font-family:var(--font),sans-serif;font-size:clamp(34px,3.35vw,45px);font-weight:400;letter-spacing:-.018em;line-height:1.12;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;white-space:normal;text-align:center;overflow-wrap:normal;transform:none;transform-origin:initial;opacity:1;backdrop-filter:none;-webkit-backdrop-filter:none;filter:none;transition:none;animation:none;pointer-events:auto;cursor:pointer}
.hero .hero-cta-slot.intro .hero-cta-button.is-floating:active{position:static;top:auto;right:auto;bottom:auto;left:auto;inset:auto;display:inline-block;appearance:none;box-sizing:border-box;width:auto;max-width:calc(100vw - 20px);min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);box-shadow:none;font-family:var(--font),sans-serif;font-size:clamp(34px,3.35vw,45px);font-weight:400;letter-spacing:-.018em;line-height:1.12;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;white-space:normal;text-align:center;overflow-wrap:normal;transform:none;transform-origin:initial;opacity:1;backdrop-filter:none;-webkit-backdrop-filter:none;filter:none;transition:none;animation:none;pointer-events:auto;cursor:pointer}
@media(max-width:620px){
.hero .hero-cta-slot.intro{min-height:0;margin-top:11px}
.hero .hero-cta-slot.intro .hero-cta-button{font-size:clamp(29px,7.6vw,36px);line-height:1.12}
  .hero .hero-cta-slot.intro .hero-cta-button.is-floating{font-size:clamp(29px,7.6vw,36px);line-height:1.12}
  .hero .hero-cta-slot.intro .hero-cta-button.is-floating:active{font-size:clamp(29px,7.6vw,36px);line-height:1.12}
}
.hero .hero-message > p.intro{font-size:clamp(22px,2.2vw,30px);line-height:1.48}
@media(max-width:620px){
.hero .hero-message > p.intro{font-size:clamp(21px,5.45vw,24px);line-height:1.48}
}
.hero .hero-message > .hero-closing-title{font-family:var(--font),sans-serif;font-size:clamp(36px,3.5vw,47px);font-weight:400;line-height:1.14;letter-spacing:-.018em;text-align:center;margin:10px auto 0}
.hero .hero-cta-slot.intro .hero-cta-button{text-underline-offset:.13em;text-decoration-thickness:1px}
.hero .hero-cta-slot.intro .hero-cta-button.is-floating{text-underline-offset:.13em;text-decoration-thickness:1px}
@media(max-width:620px){
.hero .hero-message > .hero-closing-title{font-size:clamp(30px,7.8vw,36px);line-height:1.15;margin-top:9px}
.hero .hero-cta-slot.intro .hero-cta-button{padding:4px 0}
}
@media(max-width:760px){

.credentials-inline-links{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;text-align:center;width:100%;max-width:100%;margin:20px auto}
.credentials-inline-links > span{display:block;align-self:center;text-align:center;max-width:100%;margin:0 auto}
 .credentials-inline-links .inline-popup-link{display:block;align-self:center;text-align:center;max-width:100%;margin:0 auto}
.credentials-inline-links .inline-popup-link{line-height:1.35}
}
@media(max-width:390px){
}
@media(prefers-reduced-motion:reduce){
}
@media (max-width:760px),
       (pointer:coarse) and (max-width:1200px),
       (max-width:1200px) and (max-height:640px){

}
@media(prefers-reduced-motion:reduce){
}

#topics .topics > .topic{justify-content: flex-start}
body > .popup{position:fixed;inset:0;z-index:2147482000;display:grid;place-items:center;padding:clamp(12px,3vh,30px);isolation:isolate;transform:none;visibility:visible}
body > .popup[hidden]{display:none}
body > .popup > .popup__backdrop{position:absolute;inset:0;z-index:0}
body > .popup > .popup__panel{position:relative;z-index:1;max-height:calc(100dvh - 2 * clamp(12px,3vh,30px));margin:auto;overflow-x:hidden;overflow-y:auto}
body > #credentials-popup .popup__panel .popup__header{position:relative;top:auto;padding:0 44px 8px;margin:0 auto 12px;z-index:2;text-align:center}
body > #akpp-popup .popup__panel .popup__header{position:relative;top:auto;padding:0 44px 8px;margin:0 auto 12px;z-index:2;text-align:center}
body > .popup .popup__header h3{text-align:center}
body > .popup .popup__header p{text-align:center}
body > .popup .popup__close{z-index:6}
@media(max-width:760px){
body > .popup{padding:10px}
body > .popup > .popup__panel{max-height:calc(100dvh - 20px);padding:18px 14px}
body > .popup .popup__header{padding:0 30px 8px}
}
#credentials-popup .popup__header{text-align:center;justify-content:center;width:100%;margin-left:auto;margin-right:auto}#credentials-popup .popup__header .eyebrow{text-align:center;justify-content:center;width:100%;margin-left:auto;margin-right:auto}
#credentials-popup .popup__header h3{text-align:center;justify-content:center;width:100%;margin-left:auto;margin-right:auto}#credentials-popup .popup__header p{text-align:center;justify-content:center;width:100%;margin-left:auto;margin-right:auto}
#credentials-popup .popup__header{box-sizing:border-box;padding:4px 46px 16px;max-width:none;background:transparent}
#credentials-popup .popup__header .eyebrow{display:flex;align-items:center}
#akpp-popup .popup__header .eyebrow{display:flex;justify-content:center;text-align:center;width:100%}
#credentials-popup .popup__panel > .popup-related-link{width:100%;display:flex;align-items:center;justify-content:center;margin:14px auto 2px;padding:14px 14px 4px;text-align:center}
#credentials-popup .popup__panel > .popup-related-link a{font-weight:400}
@media (max-width:760px){
#credentials-popup .popup__header{padding:3px 42px 12px}
#credentials-popup .popup__panel>.popup-related-link{padding:10px 4px 4px}
}
@media(min-width:800px){
#topics .section-head{max-width:none;width:100%}
#topics .section-head h2{max-width:none;width:100%;white-space:nowrap}
}
.hero .hero-closing-title .hero-signature{color:#7d8d69;font-weight:700;font-style:italic}
.hero .hero-closing-title .hero-signature em{color:#7d8d69;font-weight:700;font-style:italic}
.reviews-section>.eyebrow{margin:0 auto 20px}
#reviews .reviews-panel{padding-top:22px;padding-bottom:22px}
@media(max-width:620px){
.reviews-section>.eyebrow{margin-bottom:15px}
}
:is(#topics,#boundaries,#format,#faq,#journal,#reviews,#documents){padding-top:clamp(35px,3.5vw,54px);padding-bottom:clamp(35px,3.5vw,54px)}
#about{}
#contacts{}
:is(#topics,#boundaries,#format,#faq,#journal,#reviews,#documents) .section-head{margin-top:12px;margin-bottom:22px}
:is(#topics,#boundaries,#format,#faq,#journal,#reviews,#documents) .section-head p{line-height:1.48}
#about p{line-height:1.48}#topics .topic p{line-height:1.48}#format .numbered .topic p{line-height:1.48}
#journal p{line-height:1.48}#reviews p{line-height:1.48}#documents p{line-height:1.48}
#topics .topic{}
#format .numbered .topic{}
@media(max-width:720px){
:is(#topics,#boundaries,#format,#faq,#journal,#reviews,#documents){padding-top:32px;padding-bottom:32px}
#about{}
#contacts{}
:is(#topics,#boundaries,#format,#faq,#journal,#reviews,#documents) .section-head{margin-bottom:18px}
}
#boundaries .topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-rows:max-content;align-items:start;justify-items:stretch;gap:12px 16px;background:transparent;border:0}





@media(max-width:800px){
#boundaries .topics{grid-template-columns:minmax(0,1fr);gap:10px}
}

main .section > h2.section-heading{display:flex;justify-content:center;align-items:center;gap:clamp(9px,1.5vw,16px);width:100%;max-width:100%;margin:0 auto var(--space-heading);padding:0 6px;font-family:inherit;font-size:clamp(18px,1.6vw,24px);font-weight:600;line-height:1.35;letter-spacing:.055em;text-align:center;text-transform:uppercase;color:var(--ink)}
main #reviews > h2.section-heading{display:flex;justify-content:center;align-items:center;gap:clamp(9px,1.5vw,16px);width:100%;max-width:100%;margin:0 auto var(--space-heading);padding:0 6px;font-family:inherit;font-size:clamp(18px,1.6vw,24px);font-weight:600;line-height:1.35;letter-spacing:.055em;text-align:center;text-transform:uppercase;color:var(--ink)}
main .section > h2.section-heading::before{width:clamp(14px,2.3vw,28px);height:1px;flex:0 0 auto;background:currentColor}
main .section > h2.section-heading::after{width:clamp(14px,2.3vw,28px);height:1px;flex:0 0 auto;background:currentColor}
main :is(#topics,#boundaries,#format,#faq,#journal) > .section-head--single{display:block;width:100%;max-width:960px;margin:0 auto 16px;text-align:center}
main :is(#topics,#boundaries,#format,#faq,#journal) > .section-head--single > p{display:block;width:100%;max-width:910px;margin:0 auto;color:var(--muted);line-height:1.55;text-align:center}
main .section-afterword{margin:28px auto 0}
@media(max-width:620px){
main .section > h2.section-heading{font-size:clamp(16px,4.6vw,19px);gap:8px;margin-bottom:var(--space-heading)}
main .section-afterword{margin-top:22px}
main :is(#topics,#boundaries,#format,#faq,#journal) > .section-head--single{margin-bottom:14px}
}
html{font-family:"Golos Text",Arial,sans-serif}body{font-family:"Golos Text",Arial,sans-serif}button{font-family:"Golos Text",Arial,sans-serif}input{font-family:"Golos Text",Arial,sans-serif}select{font-family:"Golos Text",Arial,sans-serif}textarea{font-family:"Golos Text",Arial,sans-serif}
.hero-closing-title{letter-spacing:0}main h1{letter-spacing:0}main h2{letter-spacing:0}main h3{letter-spacing:0}.topic h3{letter-spacing:0}.section-afterword{letter-spacing:0}
#boundaries .topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:1px;border:1px solid var(--line);background:var(--line);overflow:hidden;border-radius:14px}
#boundaries .boundary-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;grid-row:auto;grid-column:auto;text-align:center;background:var(--bg);border:none;border-radius:0;margin:0}
#boundaries .boundary-card h3{font-size:clamp(20px,2vw,24px);font-weight:500;line-height:1.28;min-height:3.8em;margin:0 0 15px}
#boundaries .boundary-card p{font-size:16px;line-height:1.6;font-weight:400;margin:0;text-align:center}
#boundaries > .section-afterword{text-align:center}
#format ol.numbered{overflow:visible}
#format .numbered > .topic{overflow:visible}
#format .numbered .step-number{display:grid;place-items:center;box-sizing:border-box;width:56px;height:42px;min-width:56px;max-width:56px;min-height:42px;max-height:42px;border-radius:11px;border:1px solid #aab99f;background:var(--pale);font-weight:600;font-size:23px;line-height:1;letter-spacing:0;color:var(--green);grid-row:1;justify-self:center;align-self:center;margin:0}
#format .numbered>.topic{grid-template-rows:42px var(--card-heading,auto) 1fr}
#format .numbered>.topic h3{margin-top:12px}
#contacts h2.section-heading{display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;font-size:clamp(16px,2vw,21px);line-height:1.4;letter-spacing:1.3px;font-weight:600;text-transform:uppercase;margin:0 auto 26px}
#credentials-popup .popup__header{margin-bottom:25px}#akpp-popup .popup__header{margin-bottom:25px}
.popup__header .popup-title-plain{display:flex;align-items:center;justify-content:center;gap:11px;font-size:clamp(15px,2.2vw,19px);font-weight:600;line-height:1.4;text-transform:uppercase;letter-spacing:1.3px;margin:0;text-align:center}
footer .footer-signature{font-size:clamp(18px,1.8vw,23px);line-height:1.47}
footer .footer-copyright{font-size:13px}
@media(max-width:930px){
#boundaries .topics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
#boundaries .topics{grid-template-columns:1fr;grid-auto-rows:auto}
#boundaries .boundary-card{}
#boundaries .boundary-card h3{font-size:clamp(20px,5.5vw,24px);min-height:0;margin-bottom:12px}
#boundaries .boundary-card p{font-size:16px}
#format .numbered>.topic{grid-template-rows:42px auto 1fr}
#format .numbered>.topic::after{content:"↓";right:calc(50% - 10px);top:auto;bottom:-22px;transform:none;font-size:21px}#format .numbered>.topic:nth-child(3)::after{content:"↓";right:calc(50% - 10px);top:auto;bottom:-22px;transform:none;font-size:21px}
#format .numbered>.topic:nth-child(6)::after{content:none}
#contacts h2.section-heading{font-size:18px;gap:9px}
.popup__header .popup-title-plain{font-size:clamp(15px,4vw,18px);letter-spacing:.85px;gap:8px}
footer .footer-signature{font-size:19px}
}
html body #boundaries .topics > article.topic.boundary-card{box-sizing:border-box;align-self:stretch;justify-self:stretch;width:100%;margin:0;border:0}
html body #boundaries .topics > article.topic.boundary-card:nth-child(n){box-sizing:border-box;align-self:stretch;justify-self:stretch;width:100%;margin:0;border:0}
html body #boundaries .topics > article.topic.boundary-card h3{min-height:3.8em;margin:0 0 12px;align-self:stretch;align-items:center;justify-content:center}
html body #boundaries .topics > article.topic.boundary-card p{margin:0;align-self:stretch;text-align:center}
html body #format .numbered > li.topic{position:relative;overflow:visible}
html body #format .numbered > li.topic span.step-number{align-self:center;justify-self:center}
@media(max-width:620px){
html body #boundaries .topics > article.topic.boundary-card{}
 html body #boundaries .topics > article.topic.boundary-card:nth-child(n){}
html body #boundaries .topics > article.topic.boundary-card h3{min-height:0}
}
}/* SOURCE assets/design-system.css *//* PsyLipina v12.2.r — shared design tokens and content components. */        

 
 
:root {
  color-scheme: only light;
  --font-site: "Golos Text", Arial, sans-serif;
  --font: var(--font-site);
  --fixed-surface: #f6f4ee;
  --bg: var(--fixed-surface);
  --ink: #293c31;
  --muted: #667267;
  --green: #365943;
  --pale: #f0f4e9;
  --soft: var(--pale);
  --line: #c8d1c1;
  --surface: #e1ead5;
  --surface-hover: var(--fixed-surface);
  --radius-card: 14px;
  --radius-control: 10px;
  --radius-media: 8px;
  --space-section: clamp(28px, 3vw, 42px);
  --space-heading: 20px;
  --space-grid: 14px;
  --space-card: clamp(16px, 1.6vw, 20px);
  --text-body: 16px;
  --text-card: clamp(20px, 2vw, 24px);
  --text-section: clamp(18px, 1.6vw, 24px);
  --leading-body: 1.5;
  --leading-heading: 1.35;
  --heading-surface: var(--fixed-surface);
  --heading-section: var(--fixed-surface);
}

html{ font-family: var(--font-site); } body{ font-family: var(--font-site); } button{ font-family: var(--font-site); } input{ font-family: var(--font-site); } select{ font-family: var(--font-site); } textarea { font-family: var(--font-site); }
body { color: var(--ink); background: var(--bg); font-size: var(--text-body); line-height: var(--leading-body); }
body{ word-break: normal; overflow-wrap: normal; hyphens: none; } body :is(h1, h2, h3, h4, p, li, a, button, span, small, summary, label) { word-break: normal; overflow-wrap: normal; hyphens: none; }
.word-unbroken { white-space: nowrap; }/* Full-bleed section paint uses vw, which includes the scrollbar gutter.
   Clip only that excess paint at the main viewport; words are checked separately. */    
 
.home-page main { overflow-x: clip; }
.home-page { --space-section: clamp(18px, 1.8vw, 26px); --space-heading: 14px; }
button{ font-size: inherit; } input{ font-size: inherit; } select{ font-size: inherit; } textarea { font-size: inherit; }
a { color: var(--green); text-underline-offset: .22em; text-decoration-thickness: 1px; }
h1{ letter-spacing: 0; } h2{ letter-spacing: 0; } h3 { letter-spacing: 0; }
.nowrap { white-space: nowrap; }
.home-page .popup-related-link a { display: inline-block; }
.home-page a{ white-space: nowrap; }
.home-page .inline-popup-link{ white-space: nowrap; }
.home-page .document-heading-link{ white-space: nowrap; }
.home-page .policy-doc-link{ white-space: nowrap; }
.home-page .hero-cta-button { white-space: nowrap; }
.home-page .seo-related a { display: inline-block; vertical-align: baseline; }
:where(a, button, summary):focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }
.home-page .brand-flower{ opacity: 0; transition: opacity 550ms ease; } .home-page .brand-bud{ opacity: 0; transition: opacity 550ms ease; } .home-page .brand-bud-lower { opacity: 0; transition: opacity 550ms ease; }
.home-page .brand-open .brand-flower { opacity: 1; transition-duration: 760ms; transition-delay: 200ms; }
.home-page .brand-open .brand-bud { opacity: 1; transition-duration: 760ms; transition-delay: 340ms; }
.home-page .brand-open .brand-bud-lower { opacity: 1; transition-duration: 760ms; transition-delay: 280ms; }
.home-page .brand-bloom { transform-box: fill-box; transform-origin: center; transform: scale(.82) rotate(-8deg); transition: transform 760ms cubic-bezier(.2,.6,.3,1); }
.home-page .brand-open .brand-bloom { transform: scale(1) rotate(0deg); transition-delay: 200ms; }/* Shared section rhythm. The existing masthead and first-screen composition remain independent. */    

 
.home-page main > .section {  }
.home-page main > .section.wrap{
  
  margin-inline: auto;
  
}
.home-page .about-grid{
  
  margin-inline: auto;
  
}
.home-page .contacts-inner{
  
  margin-inline: auto;
  
}
.seo-page .wrap {
  
  margin-inline: auto;
  
}
.home-page #about{ background: var(--pale); } .home-page #contacts{ background: var(--pale); } .seo-page .section.soft { background: var(--pale); }
.home-page .section-heading{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  margin: 0 auto var(--space-heading);
  padding: 8px 10px;
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--ink);
  font-family: var(--font-site);
  font-size: var(--text-section);
  font-weight: 600;
  line-height: var(--leading-heading);
  letter-spacing: .035em;
  text-transform: uppercase;
  text-align: center;
  text-wrap: balance;
}
.home-page .about-portrait > .eyebrow{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  margin: 0 auto var(--space-heading);
  padding: 8px 10px;
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--ink);
  font-family: var(--font-site);
  font-size: var(--text-section);
  font-weight: 600;
  line-height: var(--leading-heading);
  letter-spacing: .035em;
  text-transform: uppercase;
  text-align: center;
  text-wrap: balance;
}
.seo-page .section h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  margin: 0 auto var(--space-heading);
  padding: 8px 10px;
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--ink);
  font-family: var(--font-site);
  font-size: var(--text-section);
  font-weight: 600;
  line-height: var(--leading-heading);
  letter-spacing: .035em;
  text-transform: uppercase;
  text-align: center;
  text-wrap: balance;
}
.home-page .section-heading::before{
  content: "";
  display: block;
  flex: 0 0 28px;
  width: 28px;
  height: 1px;
  background: currentColor;
}
.home-page .section-heading::after{
  content: "";
  display: block;
  flex: 0 0 28px;
  width: 28px;
  height: 1px;
  background: currentColor;
}
.home-page .about-portrait > .eyebrow::before{
  content: "";
  display: block;
  flex: 0 0 28px;
  width: 28px;
  height: 1px;
  background: currentColor;
}
.home-page .about-portrait > .eyebrow::after{
  content: "";
  display: block;
  flex: 0 0 28px;
  width: 28px;
  height: 1px;
  background: currentColor;
}
.seo-page .section h2::before{
  content: "";
  display: block;
  flex: 0 0 28px;
  width: 28px;
  height: 1px;
  background: currentColor;
}
.seo-page .section h2::after {
  content: "";
  display: block;
  flex: 0 0 28px;
  width: 28px;
  height: 1px;
  background: currentColor;
}
.home-page .section-head--single {
  display: block;
  width: 100%;
  max-width: 910px;
  margin: 0 auto 16px;
  text-align: center;
}
.home-page .section-head--single > p {
  max-width: none;
  margin: 0;
  color: var(--muted);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  text-align: center;
}
.home-page .section-afterword {
  max-width: 38ch;
  margin: 12px auto 0;
  padding: 0;
  color: var(--ink);
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 400;
  line-height: var(--leading-heading);
  letter-spacing: 0;
  text-align: center;
  text-wrap: balance;
}
.home-page #about p { line-height: var(--leading-body); text-align: center; }
.home-page .about-grid > div { text-align: center; }
.home-page .about-portrait img { border-radius: var(--radius-media); }
.home-page .qualifications { display: grid; gap: 10px; margin-top: 14px; border: 0; }
.home-page .qualification { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 3px; min-width: 0; margin: 0; padding: 0; border: 0; font-size: 16px; line-height: 1.4; text-align: center; }
.home-page .qualification + .qualification { padding-top: 10px; border-top: 1px solid var(--line); }
.home-page .qualification time { min-width: 56px; margin: 0; padding: 2px 10px; border-radius: 7px; background: var(--bg); font-size: 14px; font-weight: 500; line-height: 1.3; text-align: center; }
.home-page .qualification > span { min-width: 0; max-width: 100%; overflow-wrap:normal; }
.home-page .qualification strong { display: block; font-weight: 600; }
.home-page .qualification br { display: none; }
.home-page .about-grid > div > h2 { padding: 0; border: 0; background: transparent; text-align: center; text-wrap: balance; }/* One centered typographic composition for the introduction, action and closing phrase. */    

 
.home-page .hero-message { display: flex; flex-direction: column; align-items: center; justify-content: center; align-self: center; gap: 0; width: 100%; max-width: 540px; margin-inline: auto; text-align: center; }
.home-page .hero .hero-message > .intro { max-width: 35ch; margin: 0; color: var(--muted); font-size: clamp(18px, 1.8vw, 24px); line-height: 1.5; letter-spacing: 0; text-wrap: balance; }
.home-page .hero .hero-cta-slot { display: block; width: auto; max-width: 100%; height: auto; min-height: 0; margin: 10px 0 0; padding: 0; line-height: 1.35; }
.home-page .hero .hero-cta-button { position: static; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; margin: 0; padding: 6px 0; border: 0; border-radius: 0; background: transparent; color: var(--green); font-size: clamp(18px, 1.8vw, 24px); font-weight: 500; line-height: 1.35; text-align: center; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; box-shadow: none; }
.home-page .hero .hero-closing-title { width: 100%; max-width: 20ch; margin: 8px 0 0; color: var(--ink); font-size: clamp(30px, 3.1vw, 42px); font-weight: 400; line-height: 1.15; letter-spacing: 0; text-wrap: balance; }
.home-page .hero .hero-closing-title .hero-signature { display: inline; margin: 0; }
.home-page .hero-message > p.intro { font-family: Georgia, "Times New Roman", serif; font-size: clamp(20px, 2.1vw, 26px); font-style: italic; font-weight: 400; line-height: 1.4; }
.home-page .hero .hero-message { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.home-page .hero .hero-message > p.intro { margin: 0; max-width: 32ch; font-size: clamp(19px, 1.8vw, 23px); line-height: 1.4; }
.home-page .hero .hero-closing-title { margin: 0; }
.home-page .hero .hero-closing-title{ font-family: Georgia, "Times New Roman", serif; font-size: clamp(27px, 3vw, 34px); font-weight: 400; line-height: 1.2; letter-spacing: -.01em; }
.home-page .art .art-note-title { font-family: Georgia, "Times New Roman", serif; font-size: clamp(27px, 3vw, 34px); font-weight: 400; line-height: 1.2; letter-spacing: -.01em; }
.home-page .hero .hero-closing-title .hero-signature{ font-family: inherit; font-size: inherit; font-weight: 400; }
.home-page .hero .hero-closing-title .hero-signature em { font-family: inherit; font-size: inherit; font-weight: 400; }
.home-page .hero .hero-closing-title .hero-signature em { color: #7d8d69; font-style: italic; }
.home-page .hero .hero-cta-slot { display: block; margin: 0; }
.home-page .hero .hero-cta-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: 6px 0; border: 0; border-radius: 0; background: transparent; color: var(--green); font-family: var(--font-site); font-size: 18px; font-weight: 500; line-height: 1.35; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; box-shadow: none; }
.home-page .hero .hero-cta-button:hover { background: transparent; color: var(--ink); }
.home-page .art .art-note { inset: auto 16px 16px; display: flex; flex-direction: column; gap: 0; width: auto; max-width: none; margin: 0; padding: 14px 16px; font-size: 17px; line-height: 1.5; text-align: center; }
.home-page .art .art-note small { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 600; line-height: 1.35; letter-spacing: .08em; }
.home-page .art .art-note-title { width: fit-content; max-width: 100%; margin: 0 auto 2.15px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--ink); text-align: center; text-wrap: balance; }
.home-page .art-note-opening{ display: block; font-family: Georgia, "Times New Roman", serif; font-style: italic; text-wrap: balance; } .home-page .art-note-rest { display: block; font-family: Georgia, "Times New Roman", serif; font-style: italic; text-wrap: balance; }
.home-page .art .art-note-title em { color: #7d8d69; font: inherit; font-style: italic; }
.home-page .art-note-opening { margin: 0; }/* One card surface for all content blocks, with layouts chosen by their content. */    

 
.home-page .topics{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-flow: row;
  grid-auto-rows: auto;
  align-items: stretch;
  gap: var(--space-grid);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.home-page .document-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-flow: row;
  grid-auto-rows: auto;
  align-items: stretch;
  gap: var(--space-grid);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.home-page .topics > .topic{
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--surface);
  box-shadow: none;
}
.home-page .document-entry{
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--surface);
  box-shadow: none;
}
.home-page .reviews-panel{
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--surface);
  box-shadow: none;
}
.home-page .contact-quicklinks a{
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--surface);
  box-shadow: none;
}
.home-page .certificate-card{
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--surface);
  box-shadow: none;
}
.seo-page .panel{
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--surface);
  box-shadow: none;
}
.seo-page .cert {
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--surface);
  box-shadow: none;
}
.home-page .topics > .topic {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  align-content: start;
  align-self: stretch;
  justify-self: stretch;
  grid-column: auto;
  grid-row: auto;
  grid-template-rows: none;
  
  width: 100%;
  
  
  margin: 0;
  
  text-align: center;
}
.home-page .topic h3{
  display: block;
  align-self: stretch;
  min-height: 0;
  margin: 0;
  color: var(--ink);
  font-size: var(--text-card);
  font-weight: 500;
  line-height: var(--leading-heading);
  letter-spacing: 0;
  text-align: center;
  text-wrap: balance;
  hyphens: none;
  overflow-wrap:normal;
  word-break: normal;
}
.home-page .document-entry h3 {
  display: block;
  align-self: stretch;
  min-height: 0;
  margin: 0;
  color: var(--ink);
  font-size: var(--text-card);
  font-weight: 500;
  line-height: var(--leading-heading);
  letter-spacing: 0;
  text-align: center;
  text-wrap: balance;
  hyphens: none;
  overflow-wrap:normal;
  word-break: normal;
}
.home-page .topic p{
  max-width: 46ch;
  margin: 0 auto;
  color: var(--muted);
  font-size: var(--text-body);
  font-weight: 400;
  line-height: var(--leading-body);
  text-align: center;
}
.home-page .document-entry p{
  max-width: 46ch;
  margin: 0 auto;
  color: var(--muted);
  font-size: var(--text-body);
  font-weight: 400;
  line-height: var(--leading-body);
  text-align: center;
}
.home-page .reviews-copy p{
  max-width: 46ch;
  margin: 0 auto;
  color: var(--muted);
  font-size: var(--text-body);
  font-weight: 400;
  line-height: var(--leading-body);
  text-align: center;
}
.home-page .card-heading { box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; align-self: stretch; width: 100%; min-width: 0; padding: 8px 10px; border-radius: var(--radius-control); background: var(--heading-surface); }
.home-page .card-heading--step { gap: 8px; padding-block: 10px; }
.home-page .card-heading h3 { width: 100%; }/* Topic cards form a compact sequence around their existing 44px actions. */    
 
.home-page #topics .topics { row-gap: 10px; }
.home-page #topics .topics > .topic {   }
.home-page #topics .card-heading { padding-block: 6px; }
.home-page .publication-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-page .publication-cards > .topic {   }
.home-page .publication-cards .button { margin: auto auto 0; }
.home-page .document-list { grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; }
.home-page .document-entry { display: block; min-height: 0; padding: var(--space-card); text-align: center; }
.home-page .document-entry p { max-width: 80ch; margin-top: 12px; }
.home-page .document-entry h3 { padding: 10px 12px; border-radius: var(--radius-control); background: var(--heading-surface); }
.home-page .document-heading-link {
  display: inline;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--green);
  font: inherit;
  line-height: inherit;
  text-align: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
  cursor: pointer;
}
.home-page #reviews {  }
.home-page .reviews-panel { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; max-width: 860px; margin: 0 auto; padding: 14px 20px; }
.home-page .reviews-copy { min-width: 0; text-align: center; }
.home-page .reviews-copy p { max-width: 75ch; margin: 0 auto; line-height: 1.5; text-align: center; }
.home-page .reviews-panel .button { flex: 0 0 auto; }/* Consultation: arrows sit immediately beside each numbered rectangle. */    

 
.home-page .numbered { list-style: none; gap: 24px; }
.home-page .numbered > .topic { position: relative; overflow: visible; }
.home-page .numbered .step-number {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 60px;
  width: 60px;
  min-width: 60px;
  max-width: 60px;
  height: 60px;
  min-height: 60px;
  max-height: 60px;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: transparent url("images/step-frame.svg?v=277c1e21ac26") center / contain no-repeat;
  color: var(--green);
  font-size: 23px;
  font-weight: 600;
  line-height: 1;
}
.home-page .numbered .step-number::before{
  content: "→";
  position: absolute;
  top: 50%;
  color: var(--green);
  font: 400 25px/1 var(--font-site);
  transform: translateY(-50%);
  pointer-events: none;
}
.home-page .numbered .step-number::after {
  content: "→";
  position: absolute;
  top: 50%;
  color: var(--green);
  font: 400 25px/1 var(--font-site);
  transform: translateY(-50%);
  pointer-events: none;
}
.home-page .numbered .step-number::before { right: calc(100% + 8px); }
.home-page .numbered .step-number::after { left: calc(100% + 8px); }
.home-page .numbered > .topic:first-child .step-number::before{ content: none; }
.home-page .numbered > .topic:last-child .step-number::after{ content: none; }
.home-page .numbered > .topic:nth-child(n)::after { content: none; }/* The five existing contact channels keep their icons and destinations. */    

 
.home-page .contact-quicklinks { display: flex; flex-direction: column; align-items: center; gap: 14px; width: 100%; max-width: 680px; margin: 0 auto; padding: 0; border: 0; }
.home-page .contact-quicklinks::before{ content: none; } .home-page .contact-quicklinks::after { content: none; }
.home-page .contact-icon-actions { display: flex; align-items: center; justify-content: center; gap: 14px; }
.home-page .contact-icon-actions > a { position: relative; display: flex; align-items: center; justify-content: center; width: 76px; min-width: 76px; height: 76px; min-height: 76px; padding: 5px; text-decoration: none; }
.home-page .contact-icon { flex: 0 0 64px; width: 64px; height: 64px; }
.home-page .contact-label { min-width: 0; max-width: none; font-size: var(--text-body); line-height: 1.5; text-align: left; overflow-wrap: normal; word-break: normal; }
.home-page .contact-icon-actions .contact-label{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; } .home-page .contact-prefix { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.home-page .contact-value { display: inline-block; white-space: nowrap; }
.home-page #contacts .contact-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; justify-content: center; gap: 6px 20px; width: 100%; max-width: 560px; }
.home-page #contacts .contact-details > a { position: relative; display: inline-flex; grid-column: auto; grid-row: auto; justify-self: stretch; align-items: center; justify-content: center; gap: 8px; width: 100%; min-width: 0; min-height: 44px; margin: 0; padding: 4px 6px; border: 0; border-radius: var(--radius-control); background: transparent; text-decoration: none; }
.home-page #contacts .contact-details .contact-icon { flex-basis: 32px; width: 32px; height: 32px; }
.home-page #contacts .contact-details .contact-label { flex: 0 1 190px; width: 190px; min-width: 0; text-align: center; }
.home-page #contacts .contact-details .contact-value { width: 100%; text-align: center; }
.home-page #contacts .contact-details [data-contact-code] { cursor: pointer; }
.home-page #contacts .contact-details [data-contact-code]:not([data-revealed]) .contact-value { filter: blur(3px); user-select: none; }
.home-page .contact-reveal-hint { margin: -6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.4; text-align: center; }/* Quiet, consistent actions. The original prominent text CTA in the hero is preserved. */    

 
.home-page .button.light{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  max-width: 100%;
  padding: 10px 18px;
  border: 1px solid var(--green);
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--green);
  font-family: var(--font-site);
  font-size: var(--text-body);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  box-shadow: none;
  cursor: pointer;
} .seo-page .action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  max-width: 100%;
  padding: 10px 18px;
  border: 1px solid var(--green);
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--green);
  font-family: var(--font-site);
  font-size: var(--text-body);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  box-shadow: none;
  cursor: pointer;
}
.home-page .inline-popup-link { color: var(--green); border-color: var(--line); }/* Galleries share the site's surfaces; their scrolling and layer order are preserved. */    

 
.home-page .popup__panel { border-color: var(--line); border-radius: var(--radius-card); background: var(--surface); }
.home-page .popup__close { border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--pale); color: var(--green); }
.home-page .popup__header .popup-title-plain { font-size: var(--text-section); letter-spacing: .055em; line-height: var(--leading-heading); }
.home-page .certificate-card { border-radius: var(--radius-card); background: var(--surface); }
.home-page .certificate-card__thumb { border-color: var(--line); border-radius: var(--radius-media); }
.home-page .certificate-card__title { font-size: var(--text-body); font-weight: 500; line-height: var(--leading-body); }
.home-page .certificate-card__meta { border-color: var(--line); color: var(--muted); font-size: 14px; }
.seo-page .hero-text h1 { font-size: clamp(32px, 4.3vw, 48px); line-height: 1.15; font-weight: 400; }
.seo-page .hero-text h1 { margin-inline: auto; padding: 12px 14px; border-radius: var(--radius-control); background: var(--heading-section); text-align: center; text-wrap: balance; }
.seo-page .panel > h2 { padding: 10px 12px; border-radius: var(--radius-control); background: var(--heading-surface); text-wrap: balance; }
.seo-page .panel > h3{ padding: 0; border-radius: 0; background: transparent; text-wrap: balance; } .seo-page .cert h3 { padding: 0; border-radius: 0; background: transparent; text-wrap: balance; }
.seo-page .lead { color: var(--muted); font-size: clamp(18px, 2vw, 22px); line-height: var(--leading-body); }
.seo-page .kicker { color: var(--muted); font-size: 13px; letter-spacing: .055em; }
.seo-page .section {  }
.seo-page .grid{ gap: var(--space-grid); } .seo-page .cert-list{ gap: var(--space-grid); } .seo-page .cert-highlights { gap: var(--space-grid); }
.seo-page .panel {  }
.seo-page .cert { min-width: 0;  }
.seo-page .cert > div { min-width: 0; }
.seo-page .cert img { border-radius: var(--radius-media); }
.seo-page .cert h3 { font-size: var(--text-body); font-weight: 500; line-height: var(--leading-body); }
@media (max-width: 900px) {
  .seo-page .cert-list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 380px) {
  .seo-page .cert {  }
  .seo-page .cert small { font-size: 12px; line-height: 1.5; }
}
.seo-page .note { padding: var(--space-card); border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--surface); }
.seo-page .section p{ line-height: var(--leading-body); } .seo-page .panel li { line-height: var(--leading-body); }
.seo-page .footer { background: var(--bg); border-color: var(--line); color: var(--muted); }
.home-page .cookie-notice{ position: fixed; left: 50%; right: auto; bottom: 14px; display: flex; flex-direction: column; align-items: center; gap: 10px; width: min(680px, calc(100% - 28px)); max-height: calc(100dvh - 28px); margin: 0; padding: 14px 16px; overflow: auto; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--surface); color: var(--ink); text-align: center; box-shadow: 0 8px 24px #1f302d24; transform: translateX(-50%); } .seo-page .cookie { position: fixed; left: 50%; right: auto; bottom: 14px; display: flex; flex-direction: column; align-items: center; gap: 10px; width: min(680px, calc(100% - 28px)); max-height: calc(100dvh - 28px); margin: 0; padding: 14px 16px; overflow: auto; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--surface); color: var(--ink); text-align: center; box-shadow: 0 8px 24px #1f302d24; transform: translateX(-50%); }
.home-page .cookie-notice[hidden]{ display: none; } .seo-page .cookie[hidden] { display: none; }
.home-page .cookie-notice__text{ min-width: 0; width: 100%; text-align: center; } .seo-page .cookie > div:first-child { min-width: 0; width: 100%; text-align: center; }
.home-page .cookie-notice__text strong{ display: block; margin-bottom: 4px; font-size: 14px; font-weight: 600; line-height: 1.4; } .seo-page .cookie strong { display: block; margin-bottom: 4px; font-size: 14px; font-weight: 600; line-height: 1.4; }
.home-page .cookie-notice__text p{ margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; text-align: center; } .seo-page .cookie p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; text-align: center; }
.home-page .cookie-notice__actions{ display: grid; grid-template-columns: 1fr 1fr; flex: 0 0 auto; gap: 8px; width: min(320px, 100%); margin: 0 auto; } .seo-page .cookie-controls { display: grid; grid-template-columns: 1fr 1fr; flex: 0 0 auto; gap: 8px; width: min(320px, 100%); margin: 0 auto; }
.home-page .cookie-notice__actions button{ min-height: 44px; padding: 8px 12px; border: 1px solid var(--green); border-radius: var(--radius-control); font-family: var(--font-site); font-size: 13px; line-height: 1.4; } .seo-page .cookie button { min-height: 44px; padding: 8px 12px; border: 1px solid var(--green); border-radius: var(--radius-control); font-family: var(--font-site); font-size: 13px; line-height: 1.4; }
.home-page #analytics-preferences { display: inline-flex; align-items: center; min-height: 28px; margin-top: -2px; padding: 2px 8px; color: var(--muted); font-family: var(--font-site); font-size: 12px; font-weight: 400; line-height: 1.4; }
.home-page .seo-related { margin: 10px auto 0; padding: 8px 16px; line-height: 1.5; }
.home-page .seo-related p { margin: 0; }
.home-page footer { padding: 8px 0; }
.home-page footer .footer-row { gap: 4px; }
.home-page footer .footer-signature { font-family: Georgia, "Times New Roman", serif; font-size: clamp(21px, 2vw, 26px); font-style: italic; font-weight: 400; line-height: 1.4; text-wrap: balance; }/* Once on appearance: the cue moves the link without changing text layout. */    

 
.link-cue { display: inline-block; }
.home-page #about .inline-popup-link--akpp.link-cue { display: inline-block; }
@keyframes link-nudge {
  0%, 100% { transform: translateX(0); }
  35% { transform: translateX(2px); }
  70% { transform: translateX(-1px); }
}
@media (prefers-reduced-motion: no-preference) {
  .link-cue--played { animation: link-nudge 560ms ease-out 1; }
}

@media (hover: hover) {
  .home-page .button.light:hover{ background: var(--surface-hover); border-color: #9caa92; box-shadow: none; transform: none; } .seo-page .action:hover{ background: var(--surface-hover); border-color: #9caa92; box-shadow: none; transform: none; }
  .home-page .contact-quicklinks a:hover { background: var(--surface-hover); border-color: #9caa92; box-shadow: none; transform: none; }
}
@media (max-width: 930px) {
  .home-page .topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  :root { --space-heading: 18px; --text-section: clamp(17px, 4.6vw, 19px); --space-card: 14px; }
  .home-page .section-heading{ gap: 8px; } .home-page .about-portrait > .eyebrow{ gap: 8px; } .seo-page .section h2 { gap: 8px; }
  .home-page .section-heading::before{ flex-basis: 12px; width: 12px; } .home-page .section-heading::after{ flex-basis: 12px; width: 12px; }
  .home-page .about-portrait > .eyebrow::before{ flex-basis: 12px; width: 12px; } .home-page .about-portrait > .eyebrow::after{ flex-basis: 12px; width: 12px; }
  .seo-page .section h2::before{ flex-basis: 12px; width: 12px; } .seo-page .section h2::after { flex-basis: 12px; width: 12px; }
  .home-page .section-head--single { margin-bottom: 14px; }
  .home-page .section-afterword { margin-top: 12px; font-size: clamp(21px, 5.5vw, 25px); }
  .home-page .topics { grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; }
  .home-page #topics .topics { row-gap: 8px; }
  .home-page #topics .topics > .topic {   }
  .home-page .numbered { gap: var(--space-grid); }
  .home-page #contacts .contact-details { grid-template-columns: minmax(0, 1fr); max-width: 270px; gap: 4px; }
  .home-page .document-entry h3 { padding-inline: 0; font-size: 16px; }
  .home-page .reviews-panel { padding: 14px 18px; }
  .home-page .reviews-copy{ text-align: center; } .home-page .reviews-copy p { text-align: center; }
  .home-page .popup__header .popup-title-plain { font-size: 16px; }
  .home-page .cookie-notice{ display: block; bottom: 10px; width: calc(100% - 20px); padding: 12px 14px; } .seo-page .cookie { display: block; bottom: 10px; width: calc(100% - 20px); padding: 12px 14px; }
  .home-page .cookie-notice[hidden]{ display: none; } .seo-page .cookie[hidden] { display: none; }
  .home-page .cookie-notice__actions{ display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; } .seo-page .cookie-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
}
@media (max-width: 360px) {
  .home-page .hero .hero-closing-title{ font-size: 26px; } .home-page .art .art-note-title { font-size: 26px; }
  .home-page .art .art-note-title { margin-bottom: 2.7px; }
}/* The topic action sits beside its title; no separate action row below the copy. */    

 
.home-page #topics .topics { row-gap: 10px; }
.home-page #topics .topics > .topic {   }
.home-page #topics .card-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content minmax(0, 1fr);
  align-items: center;
  position: relative;
  gap: 0;
  min-width: 0;
  min-height: 44px;
  padding: 0 8px;
}
.home-page #topics .card-heading h3 {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  width: auto;
  min-width: 0;
  margin: 0;
  font-size: 20px;
  line-height: 1.35;
  white-space: nowrap;
  text-align: center;
}
.home-page #topics .topic-heading-leader {
  display: none;
}
.home-page #topics .topics > .topic { container-type: inline-size; }
.home-page #topics .topic > p { margin: 0 auto; text-align: center; }
@media (max-width: 620px) {
  .home-page #topics .topics { row-gap: 8px; }
  .home-page #topics .topics > .topic {   }
}
@media (max-width: 360px) {
  .home-page #topics .card-heading h3 { font-size: 18px; }
}
@media (max-width: 380px) {
}
/* Keep the title on the card axis even when the right-hand label is wider
   than its side column. Stagger only the label, without increasing the band. */
@container (max-width: 280px) {
  .home-page #topics .card-heading h3 { align-self: start; padding-top: 1px; }
}/* Stable milk surfaces keep the site's landmarks readable across palettes. */    

 
.home-page .art .art-note{
  background-color: var(--fixed-surface);
}
.home-page .qualification time{
  background-color: var(--fixed-surface);
}
.home-page .numbered .step-number{
  background-color: var(--fixed-surface);
}
.home-page .contact-icon-actions > a{
  background-color: var(--fixed-surface);
}
.home-page .certificate-card{
  background-color: var(--fixed-surface);
}
.home-page .certificate-card__meta{
  background-color: var(--fixed-surface);
}
.home-page .popup__panel{
  background-color: var(--fixed-surface);
}
.home-page .popup__header{
  background-color: var(--fixed-surface);
}
.home-page .popup__close{
  background-color: var(--fixed-surface);
}
.home-page .cookie-notice{
  background-color: var(--fixed-surface);
}
.seo-page .cookie {
  background-color: var(--fixed-surface);
}
.home-page .art .art-note { background-image: none; }/* Backgrounds belong to whole sections and card groups. Core surfaces stay milk. */    

 
.home-page main > .section{ background-color: var(--section-bg, var(--pale)); color: var(--ink); }
.seo-page main > .section { background-color: var(--section-bg, var(--pale)); color: var(--ink); }
.home-page .certificate-rail { color: var(--ink); }
.home-page main > .section p{ color: var(--ink); }
.seo-page main > .section p{ color: var(--ink); }
.seo-page main > .section li { color: var(--ink); }
.home-page .qualification time { color: var(--ink); }
.home-page .document-heading-arrow { color: var(--green); }
.home-page .certificate-card__title { background-color: var(--fixed-surface); color: var(--ink); }
.home-page footer{ background-color: var(--fixed-surface); } .seo-page .footer { background-color: var(--fixed-surface); }

.home-page main > section:not(.hero) .section-afterword {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  font-style: normal;
}
@media (max-width: 540px) {
}
.seo-page .hero-text > .kicker {
  width: 100%;
  margin: 0 auto 12px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .1em;
  text-wrap: balance;
}/* SOURCE assets/education.css *//* The home page shows the essentials; the same documents remain in one dialog. */        

 
 
.home-page .practice-prices {
  display: flex;
  justify-content: center;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 19px;
}
.home-page .practice-prices > span { white-space: nowrap; }
.home-page .practice-prices strong { font-weight: 600; }
.home-page .practice-duration { color: inherit; }
.home-page #about .about-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(25px, 4vw, 60px);
  
  margin-inline: auto;
  row-gap: 20px;
}
.home-page #about .about-eyebrow { grid-column: 1 / -1; margin: 0; }
.home-page #about .about-portrait { width: 100%; max-width: 530px; margin: 0 auto; }
.home-page #about .about-portrait img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.home-page #about .about-profile { display: flex; flex-direction: column; gap: 0; }
.home-page #about .about-profile > h2 { margin: 0 0 4px; }
.home-page #about .about-profile > p { margin: 0; }
.home-page #about .about-profile p {
  font-family: var(--font), sans-serif;
  font-size: var(--size-body);
  font-weight: 400;
  line-height: var(--leading-body);
  color: var(--ink);
}
.home-page #about .about-role { font-weight: 500; }
.home-page #about .about-session-facts { display: flex; flex-direction: column; gap: 0; margin: 0; }
.home-page #about .about-session-facts p { margin: 0; }
.home-page #about .credentials-inline-links { margin: 0; }
.home-page #about .credentials-inline-links button { min-height: 40px; white-space: nowrap; }
.home-page #about .about-profile .about-membership { margin-top: 0; }
.home-page #about .inline-popup-link--akpp { min-height: 0; padding: 0; line-height: inherit; }
.home-page #about .about-reviews { margin-top: 0; }
.home-page #about .about-reviews a { display: inline-block; white-space: nowrap; }
@media (max-width: 380px) {
  .home-page #about .credentials-inline-links button{ font-size: 14px; }
  .home-page #about .about-reviews a { font-size: 14px; }
}/* Reset the former full-card rail for this compact document component only. */    

 
#credentials-popup.education-dialog { padding: 18px; }
body > #credentials-popup.education-dialog .popup__panel {
  width: min(860px, 100%);
  max-height: calc(100dvh - 36px);
  padding: 24px;
  background: var(--fixed-surface);
  border-radius: 18px;
  touch-action: pan-y;
}
body > #credentials-popup.education-dialog .popup__header { margin: 0 0 14px; padding: 0 38px; }
#credentials-popup.education-dialog .popup__close {
  position: sticky;
  top: 0;
  right: auto;
  z-index: 9;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: -10px -10px -34px auto;
}
#credentials-popup.education-dialog .popup__header h3 { font-size: clamp(17px, 2.1vw, 22px); }
#credentials-popup.education-dialog .education-history .qualifications { margin: 0; gap: 0; }
#credentials-popup.education-dialog .education-history .qualification {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  justify-items: center;
  gap: 3px;
  margin: 0;
  padding: 8px 0;
  font-size: 16px;
  line-height: 1.45;
  text-align: center;
}
#credentials-popup.education-dialog .qualification + .qualification { border-top: 1px solid var(--line); }
#credentials-popup.education-dialog .qualification time { width: max-content; min-width: 0; padding: 2px 7px; font-size: 14px; }
#credentials-popup.education-dialog .qualification strong { display: block; font-size: inherit; line-height: inherit; }
#credentials-popup.education-dialog .qualification br { display: none; }
#credentials-popup.education-dialog .education-documents-label { margin: 15px 0 8px; text-align: center; }
#credentials-popup.education-dialog .education-documents-label h4 { margin: 0; font-size: 16px; font-weight: 500; }
#credentials-popup.education-dialog .education-documents-label p { margin: 3px 0 0; font-size: 13px; line-height: 1.4; color: var(--muted); }
.hint-pointer { display: none; }
@media (hover: hover) and (pointer: fine) { .hint-pointer { display: inline; } .hint-touch { display: none; } }
#credentials-popup.education-dialog .certificate-rail {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(69px, 1fr));
  grid-auto-columns: auto;
  grid-auto-flow: row;
  align-items: start;
  gap: 9px;
  max-height: 180px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scroll-snap-type: none;
  padding: 4px;
}
#credentials-popup.education-dialog .certificate-card {
  display: flex;
  min-width: 0;
  min-height: 0;
  height: auto;
  gap: 3px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 5px;
  background: var(--fixed-surface);
  box-shadow: none;
  cursor: default;
}
#credentials-popup.education-dialog .certificate-card__open {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  margin: 0;
  padding: 3px;
  appearance: none;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--fixed-surface);
  color: var(--ink);
  cursor: zoom-in;
}
#credentials-popup.education-dialog .certificate-card__open:is(:hover, :focus-visible, [aria-expanded="true"]) {
  border-color: var(--ink);
  outline: 1px solid var(--ink);
  outline-offset: 1px;
}
#credentials-popup.education-dialog .certificate-card__thumb { aspect-ratio: 1.35; width: 100%; border: 0; border-radius: 3px; background: transparent; }
#credentials-popup.education-dialog .certificate-card__thumb img { object-fit: contain; width: 100%; height: 100%; }
#credentials-popup.education-dialog .certificate-card__title{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
#credentials-popup.education-dialog .certificate-card__meta {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
#credentials-popup.education-dialog .certificate-card__year {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 10px;
  line-height: 1.3;
  text-align: center;
  color: var(--muted);
}
#credentials-popup.education-dialog .education-context { margin: 12px 0 0; font-size: 13px; line-height: 1.45; text-align: center; color: var(--muted); }
#credentials-popup.education-dialog .popup-related-link { margin-top: 10px; padding: 10px 0 0; font-size: 15px; }
#credentials-popup.education-dialog .popup-related-link a { display: inline-block; white-space: nowrap; }
.credential-preview[hidden] { display: none; }
.credential-preview {
  position: fixed;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  width: max-content;
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  z-index: 10;
  display: grid;
  box-sizing: border-box;
  padding: 54px 20px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--fixed-surface);
  color: var(--ink);
  box-shadow: 0 12px 38px rgb(20 40 28 / 20%);
}
.credential-preview[data-preview-mode="hover"] {
  inset: 50% auto auto 50%;
  width: max-content;
  transform: translate(-50%, -50%);
}
.credential-preview figure { display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 0; min-height: 0; margin: 0; }
.credential-preview img { display: block; width: auto; height: auto; max-width: min(860px, calc(100vw - 74px)); max-height: min(640px, calc(100dvh - 240px)); min-height: 0; object-fit: contain; }
.credential-preview figcaption { width: 0; min-width: 100%; font-size: 14px; line-height: 1.45; text-align: center; text-wrap: balance; }
.credential-preview__close { position: absolute; top: 8px; right: 10px; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 8px; background: var(--fixed-surface); color: var(--ink); font: inherit; font-size: 25px; cursor: pointer; }
@media (max-width: 800px) {
  .home-page #about .about-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .home-page #about .about-grid > figure.about-portrait { width: min(100%, 530px); max-width: 530px; }
  .home-page #about .about-profile > h2 { font-size: 28px; }
  body > #credentials-popup.education-dialog .popup__panel { max-height: calc(100dvh - 20px); padding: 18px 14px; }
  #credentials-popup.education-dialog { padding: 10px; }
  body > #credentials-popup.education-dialog .popup__header { padding: 0 40px; }
  #credentials-popup.education-dialog .education-history .qualification { gap: 3px; font-size: 14px; padding: 8px 0; }
  #credentials-popup.education-dialog .qualification time { font-size: 12px; }
  #credentials-popup.education-dialog .certificate-rail { grid-template-columns: repeat(auto-fill, minmax(57px, 1fr)); gap: 7px; max-height: 150px; }
  .credential-preview { padding: 54px 12px 14px; }
  .credential-preview img { max-width: calc(100vw - 58px); }
  .credential-preview figcaption { font-size: 13px; }
}/* SOURCE assets/related-materials.css *//* Whole links, centered into short, balanced rows. */        

 
 
.home-page .seo-related > p {
  max-inline-size: 88ch;
  margin-inline: auto;
  text-wrap: balance;
}

.home-page .seo-related a {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}

.home-page .seo-related > .related-materials {
  --related-materials-gap: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 4px;
}

.home-page .related-materials__row {
  display: flex;
  flex: 0 0 auto;
  justify-content: center;
  align-items: baseline;
  column-gap: var(--related-materials-gap);
  max-inline-size: 100%;
}

.home-page .related-materials__item{
  display: inline-flex;
  flex: 0 0 auto;
  align-items: baseline;
  white-space: nowrap;
}
.home-page .related-materials__label {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: baseline;
  white-space: nowrap;
}

@media (max-width: 600px) {
  .home-page .seo-related > .related-materials {
    --related-materials-gap: 12px;
  }
}/* SOURCE assets/marker-buttons.css *//* v13.2: real, stable CSS outlines.  No SVG masks, random tilt or overflow. */        

 
 
.home-page main > section:not(.hero) .button{
  position: relative;
  isolation: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  max-width: 100%;
  min-height: 44px;
  padding: 10px 20px;
  border: 1.5px solid var(--green);
  border-radius: 12px;
  background: transparent;
  color: var(--green);
  text-align: center;
  text-wrap: balance;
  text-decoration: none;
  transform: none;
  box-shadow: none;
  transition: background-color .18s ease, border-color .18s ease;
}
.seo-page main .action{
  position: relative;
  isolation: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  max-width: 100%;
  min-height: 44px;
  padding: 10px 20px;
  border: 1.5px solid var(--green);
  border-radius: 12px;
  background: transparent;
  color: var(--green);
  text-align: center;
  text-wrap: balance;
  text-decoration: none;
  transform: none;
  box-shadow: none;
  transition: background-color .18s ease, border-color .18s ease;
}
.home-page .cookie-notice__actions > button{
  position: relative;
  isolation: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  max-width: 100%;
  min-height: 44px;
  padding: 10px 20px;
  border: 1.5px solid var(--green);
  border-radius: 12px;
  background: transparent;
  color: var(--green);
  text-align: center;
  text-wrap: balance;
  text-decoration: none;
  transform: none;
  box-shadow: none;
  transition: background-color .18s ease, border-color .18s ease;
}
.seo-page .cookie-controls > button {
  position: relative;
  isolation: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  max-width: 100%;
  min-height: 44px;
  padding: 10px 20px;
  border: 1.5px solid var(--green);
  border-radius: 12px;
  background: transparent;
  color: var(--green);
  text-align: center;
  text-wrap: balance;
  text-decoration: none;
  transform: none;
  box-shadow: none;
  transition: background-color .18s ease, border-color .18s ease;
}
.home-page main > section:not(.hero) .button::before{ content: none; }
.seo-page main .action::before{ content: none; }
.home-page .cookie-notice__actions > button::before{ content: none; }
.seo-page .cookie-controls > button::before { content: none; }
.home-page main > section:not(.hero) .button:is(:hover,:focus-visible){
  border-color: var(--green);
  background: rgba(41,60,49,.055);
  color: var(--green);
}
.seo-page main .action:is(:hover,:focus-visible){
  border-color: var(--green);
  background: rgba(41,60,49,.055);
  color: var(--green);
}
.home-page .cookie-notice__actions > button:is(:hover,:focus-visible){
  border-color: var(--green);
  background: rgba(41,60,49,.055);
  color: var(--green);
}
.seo-page .cookie-controls > button:is(:hover,:focus-visible) {
  border-color: var(--green);
  background: rgba(41,60,49,.055);
  color: var(--green);
}
.home-page main > section:not(.hero) .button:focus-visible{ outline: 2px solid var(--green); outline-offset: 3px; }
.seo-page main .action:focus-visible{ outline: 2px solid var(--green); outline-offset: 3px; }
.home-page .cookie-notice__actions > button:focus-visible{ outline: 2px solid var(--green); outline-offset: 3px; }
.seo-page .cookie-controls > button:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.home-page .cookie-notice__actions > button{ flex: 1 1 auto; padding: 9px 14px; }
.seo-page .cookie-controls > button { flex: 1 1 auto; padding: 9px 14px; }
@media (prefers-reduced-motion: reduce) {
  .home-page main > section:not(.hero) .button{ transition: none; }
  .seo-page main .action{ transition: none; }
  .home-page .cookie-notice__actions > button{ transition: none; }
  .seo-page .cookie-controls > button { transition: none; }
}

/* In a horizontal masthead, derive the copy width from the available row,
   never from the previously wrapped copy's intrinsic width. */
@media (min-width: 761px) {
}/* SOURCE assets/text-links.css *//* Shared appearance for textual links, including dialog triggers. */        

 
 
.text-link-unified{
  font-weight: 400 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: .2em;
}
.text-link-unified strong{
  font-weight: 400 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: .2em;
}
.text-link-unified b {
  font-weight: 400 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: .2em;
}
.text-link-unified { text-transform: none; animation: none !important; }
.link-wave-word { display: inline-block; white-space: nowrap; position: relative; }
.link-wave-word::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: .03em;
  border-bottom: 1px solid currentColor;
  pointer-events: none;
}
.link-wave-letter { display: inline-block; }
.home-page #documents .document-entry > h3 {
  background: transparent;
  padding: 0;
  border-radius: 0;
}
.home-page #documents .document-heading-link { border-bottom: 0; }/* SOURCE assets/navigation-markers.css *//* Owner-approved quiet nav rings: paint only, no layout or line-spacing change. */        

 
 
html:has(body.home-page) {  }
@media (min-width: 761px) and (min-height: 641px) and (pointer: fine) {
}
@media (max-width: 760px), (pointer: coarse) and (max-width: 1200px), (max-width: 1200px) and (max-height: 640px) {
}/* SOURCE assets/layout-refine.css *//* PSY v13.r.1 — compact responsive refinements.
   Preserve all content, headings, native controls, SEO markup and original colors. */        

 
 
:root {
  --space-section: clamp(22px, 2.8vw, 36px);
  --space-heading: clamp(12px, 1.6vw, 18px);
}/* Reclaim section whitespace without disturbing the sticky header / hero geometry. */    
 
body.home-page main > section.section:not(.hero) {
  
}
body.home-page main > #about.section{
  
}
body.home-page main > #contacts.section {
  
}
body.home-page :is(#topics,#boundaries,#format,#faq,#journal,#reviews,#documents) > .section-heading {
  margin-bottom: 12px;
}
body.home-page main :is(#topics,#boundaries,#format,#faq,#journal) > .section-head--single {
  max-width: 860px;
  margin: 0 auto 14px;
}
body.home-page main :is(#topics,#boundaries,#format,#faq,#journal) > .section-head--single > p {
  line-height: 1.46;
}
body.home-page :is(#topics,#format,#journal) .topics {
  row-gap: 9px;
}
body.home-page #boundaries .topics {
  row-gap: 1px;
}
body.home-page :is(#topics,#boundaries,#format,#journal) .topics > .topic{
  
  
  
}
body.home-page :is(#topics,#boundaries,#format,#journal) .topics > .topic:nth-child(n) {
  
  
  
}
body.home-page :is(#topics,#boundaries,#format,#journal) .topic p {
  line-height: 1.48;
}
body.home-page #topics .topics > .topic {
   /* Keep the separate details link clear of body copy. */
}
body.home-page #topics .card-heading {
  margin-bottom: 3px;
}
body.home-page #about .qualifications { margin-top: 12px; gap: 7px; }
body.home-page #about .qualification { padding-block: 7px; gap: 10px; }
body.home-page #about .about-grid { gap: clamp(20px, 3vw, 40px); }
body.home-page #about p { margin-block: 8px; }/* Boundary cards remain a coherent 3/2/1-column grid with uniformly aligned titles. */    
 
html body.home-page #boundaries .topics {
  grid-auto-rows: 1fr;
}
html body.home-page #boundaries .topics > article.topic.boundary-card{
  
  
  
}
html body.home-page #boundaries .topics > article.topic.boundary-card:nth-child(n) {
  
  
  
}
html body.home-page #boundaries .topics > article.topic.boundary-card h3 {
  min-height: 2.55em;
  margin-bottom: 9px;
  line-height: 1.3;
}
html body.home-page #boundaries .topics > article.topic.boundary-card p {
  line-height: 1.5;
}
body.home-page main .section-afterword {
  margin-top: 16px;
  padding: 0;
}/* Six-step registration: preserve numbering, arrows and accessible reading order. */    
 
html body.home-page #format .numbered > li.topic {
  
  
  
}
html body.home-page #format .numbered > li.topic > p {
  margin-top: 6px;
  line-height: 1.48;
}
body.home-page #journal .publication-cards > .topic {
  
}
body.home-page #reviews .reviews-panel {
  padding-block: 18px;
}
body.home-page #documents .document-entry--simple {
  padding-block: 13px;
}
body.home-page #contacts .contact-quicklinks a {
  min-height: 59px;
  padding: 9px 11px;
}
body.home-page .seo-related {
  margin-top: 7px;
  padding-block: 8px;
}/* The signature is text only. No branch, contour, border or ring. */    
 
html body.home-page footer .footer-signature {
  width: auto;
  max-width: min(800px, 100%);
  margin: 9px auto 10px;
  padding: 0 16px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.home-page footer .footer-signature::before{
  content: none !important;
  display: none !important;
}
body.home-page footer .footer-signature::after{
  content: none !important;
  display: none !important;
}
body.home-page footer .footer-signature-decoration{
  content: none !important;
  display: none !important;
}
body.home-page .section-boundary-leaves {
  content: none !important;
  display: none !important;
}
body.home-page footer {
  padding-block: 15px 18px;
}
body.home-page footer .footer-row {
  gap: 8px;
}/* Secondary pages: same section rhythm while keeping their own grids and copy. */    
 
body.seo-page main > .section {
  
}
body.seo-page main > .hero-text {
  padding-block: clamp(20px, 2.8vw, 36px);
}
/* On mid-size screens, keep cards readable instead of growing vertical gaps. */
@media (min-width: 621px) and (max-width: 1024px) {
  body.home-page main > section.section:not(.hero) {  }
  body.home-page main > #about.section{  }
  body.home-page main > #contacts.section {  }
  body.home-page :is(#topics,#boundaries,#format,#journal) .topics > .topic{
    
  }
  body.home-page :is(#topics,#boundaries,#format,#journal) .topics > .topic:nth-child(n) {
    
  }
  body.home-page #topics .topics > .topic {  }
  html body.home-page #boundaries .topics > article.topic.boundary-card{  }
  html body.home-page #boundaries .topics > article.topic.boundary-card:nth-child(n) {  }
}
/* Phones, including narrow and landscape screens. */
@media (max-width: 620px) {
  :root { --space-section: 23px; --space-heading: 12px; }
  body.home-page main > section.section:not(.hero) {  }
  body.home-page main > #about.section{  }
  body.home-page main > #contacts.section {  }
  body.home-page :is(#topics,#boundaries,#format,#faq,#journal,#reviews,#documents) > .section-heading {
    margin-bottom: 9px;
  }
  body.home-page main :is(#topics,#boundaries,#format,#faq,#journal) > .section-head--single {
    margin-bottom: 12px;
  }
  body.home-page :is(#topics,#boundaries,#format,#journal) .topics > .topic{
    
    
  }
  body.home-page :is(#topics,#boundaries,#format,#journal) .topics > .topic:nth-child(n) {
    
    
  }
  body.home-page #topics .topics > .topic {  }
  html body.home-page #boundaries .topics {
    grid-auto-rows: auto;
  }
  html body.home-page #boundaries .topics > article.topic.boundary-card{
    
    
  }
  html body.home-page #boundaries .topics > article.topic.boundary-card:nth-child(n) {
    
    
  }
  html body.home-page #boundaries .topics > article.topic.boundary-card h3 {
    min-height: 0;
    margin-bottom: 7px;
  }
  html body.home-page #format .numbered > li.topic {
    
  }
  body.home-page #contacts .contact-quicklinks a { min-height: 54px; padding: 8px; }
  body.home-page main .section-afterword { margin-top: 13px; }
  body.home-page footer { padding-block: 12px 16px; }
  body.seo-page main > .section {  }
}
/* Avoid hidden content on extra-small screens and keyboard / reduced-motion modes. */
@media (max-width: 360px) {
  body.home-page main > section.section:not(.hero) {  }
  html body.home-page #boundaries .topics > article.topic.boundary-card{
    
  }
  html body.home-page #boundaries .topics > article.topic.boundary-card:nth-child(n) {
    
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}
@media print {
  body.home-page main > section.section:not(.hero){ break-inside: auto;  }
  body.seo-page main > .section { break-inside: auto;  }
  body.home-page .topic { break-inside: avoid; }
}/* SOURCE assets/v13.2.css *//* PSY v13.2 — targeted visual corrections, zero content/layout-order edits. */        

 
 

:root { --v13-compact-header-height: 95px; }
@media (max-width: 760px) { :root { --v13-compact-header-height: 180px; } }

/* Balanced 3 x 2 navigation on desktop, in the existing DOM order. */
@media (min-width: 761px) {
}
/* On narrow desktops use two rows rather than allowing orphan items. */
@media (max-width: 760px) {
}/* One italic family/weight — the exact reference is .hero-message > p.intro. */    

 
.home-page em{
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
}
.seo-page em{
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
}
.home-page .art-note-opening{
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
}
.home-page .art-note-rest {
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
}/* No JS-calculated SVG ovals: simple headings inside the existing cards. */    

 
.home-page main :is(#topics,#boundaries,#format,#journal) .card-heading{
  box-sizing: border-box;
  width: 100%;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.home-page main .document-entry h3 {
  box-sizing: border-box;
  width: 100%;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.home-page main :is(#topics,#boundaries,#format,#journal) .card-heading h3 {
  max-width: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: var(--text-card);
  line-height: 1.28;
  text-wrap: balance;
  text-align: center;
}/* The card's existing details link retains its bottom position without DOM surgery. */    
 
.home-page #topics .card-heading { display: contents; }/* Boundaries: consistent, compact rows, not a forced equal height across the grid. */    

 
html body.home-page #boundaries .topics {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  grid-auto-rows: auto;
  align-items: stretch;
  gap: 12px;
}
html body.home-page #boundaries .topics > article.topic.boundary-card{
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  
  
  
  
}
html body.home-page #boundaries .topics > article.topic.boundary-card:nth-child(n) {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  
  
  
  
}
html body.home-page #boundaries .topics > article.topic.boundary-card .card-heading {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 2.65em;
  margin: 0;
  padding: 0;
}
html body.home-page #boundaries .topics > article.topic.boundary-card h3 {
  min-height: 0;
  margin: 0;
  padding: 0;
  line-height: 1.28;
}
html body.home-page #boundaries .topics > article.topic.boundary-card p {
  margin: 0 auto;
  padding: 0;
  line-height: 1.5;
}/* Steps: numbered wreaths belong to each card; arrows are attached to badges in finish CSS. */    

 
html body.home-page #format .numbered {
  gap: 16px 22px;
  align-items: stretch;
}
html body.home-page #format .numbered > li.topic {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  
  
  
  overflow: visible;
}
html body.home-page #format .numbered > li.topic > .card-heading--step {
  display: flex;
  position: static;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  width: 100%;
  min-height: 0;
  padding: 0;
  margin: 0;
  background: transparent;
}
html body.home-page #format .numbered > li.topic .step-number {
  position: static;
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  max-height: 40px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: transparent url('images/step-frame.svg?v=277c1e21ac26') center/contain no-repeat;
  color: var(--green);
  font: 600 16px/1 var(--font-site);
  transform: none;
  pointer-events: none;
}
html body.home-page #format .numbered > li.topic .step-number::before{ content: none; }
html body.home-page #format .numbered > li.topic .step-number::after { content: none; }
html body.home-page #format .numbered > li.topic > p { margin: 0 auto; }
html body.home-page #format .numbered > li.topic::before { content: none; }
@media(max-width: 620px) {
  html body.home-page #format .numbered > li.topic::after { content: none !important; }
}/* Publications: restored visible outlines, steady title spacing and equal button baseline. */    

 
html body.home-page #journal .publication-cards > .topic {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  
  
}
html body.home-page #journal .publication-cards > .topic .card-heading {
  min-height: 2em;
  display: flex;
  align-items: center;
  justify-content: center;
}
html body.home-page #journal .publication-cards > .topic .button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 178px;
  max-width: 100%;
  min-height: 46px;
  margin: auto auto 0;
  padding: 10px 16px;
  border: 1.5px solid var(--green);
  border-radius: 12px;
  background: transparent;
  color: var(--green);
  text-decoration: none;
  box-shadow: none;
}
html body.home-page #journal .publication-cards > .topic .button::before { content: none; }/* Scroll targets must clear the actual sticky menu, not disappear behind it. */    

 
html:has(body.home-page) {  }
.home-page :is(#about,#topics,#boundaries,#format,#faq,#journal,#reviews,#documents,#contacts) { scroll-margin-top: var(--v13-scroll-offset,130px); }
.seo-page .panel{ min-width: 0; } .seo-page .cert { min-width: 0; }

@media(max-width: 1024px) {
  html body.home-page #boundaries .topics { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width: 620px) {
  html body.home-page #boundaries .topics { grid-template-columns: minmax(0,1fr); }
  html body.home-page #boundaries .topics > article.topic.boundary-card .card-heading { min-height: 0; }
  html body.home-page #boundaries .topics > article.topic.boundary-card{   }
  html body.home-page #boundaries .topics > article.topic.boundary-card:nth-child(n) {   }
  html body.home-page #format .numbered > li.topic {  }
  html body.home-page #journal .publication-cards > .topic {  }
}
@media(prefers-reduced-motion:reduce){
  .home-page main .button{ transition: none; }.seo-page main .action { transition: none; }
}

/* Subpage navigation: deterministic rows instead of uneven flex wrapping. */
@media (max-width: 900px) {
}
@media (max-width: 620px) {
}
@media (min-width: 901px) {
}/* SOURCE assets/v13.2-finish.css *//* PSY v13.2 final refinement — approved visual repairs. */        

 
 
:root { --psy-header-fixed: #edf0e7; --psy-ui-font: "Golos Text", Arial, sans-serif; --psy-italic-font: Georgia, "Times New Roman", serif; }
/* Two balanced justified rows by text width, instead of six centered table cells. */
@media(min-width:761px){
}
/* On phones preserve balanced two-column nav, no orphan links. */
@media(max-width:760px){
}/* Shared italic identity — reference is the first introductory paragraph. */    
 
html body.home-page :is(.hero-message>p.intro,.hero-signature em,.art-note-title em,.art-note-opening,.art-note-rest){
 font-family:var(--psy-italic-font)!important;font-weight:400!important;font-style:italic!important;
 font-synthesis:none;
}
html body.home-page em{
 font-family:var(--psy-italic-font)!important;font-weight:400!important;font-style:italic!important;
 font-synthesis:none;
}html body.seo-page em {
 font-family:var(--psy-italic-font)!important;font-weight:400!important;font-style:italic!important;
 font-synthesis:none;
}/* Editorial hierarchy; remove inconsistent paragraph spacing in biography. */    
 
html body.home-page #about .about-profile{font-family:var(--psy-ui-font);font-size:clamp(15px,1.35vw,18px);line-height:1.55;}
html body.home-page #about .about-profile>p{
 font-size:inherit;line-height:1.55;letter-spacing:normal;
}
html body.home-page #about .about-profile .about-session-facts>p{
 font-size:inherit;line-height:1.55;letter-spacing:normal;
}
html body.home-page #about .about-profile .practice-prices{
 font-size:inherit;line-height:1.55;letter-spacing:normal;
}
html body.home-page #about .about-profile>p {margin:0 0 11px;}
html body.home-page #about .about-profile>h2 {margin-bottom:12px;line-height:1.18;}
html body.home-page #about .about-profile .about-session-facts{margin:8px 0 10px;}
html body.home-page #about .about-profile .about-session-facts>p{margin:0 0 8px;}
html body.home-page #about .about-profile :is(.credentials-inline-links,.about-reviews){margin-bottom:7px;}/* Keep headings, links and descriptions occupying full width of their own grid rows. */    
 
html body.home-page #topics .topics>.topic>p {grid-row:3;grid-column:1;width:100%!important;max-width:100%!important;min-width:0;justify-self:stretch!important;align-self:start!important;text-align:center!important;margin:0!important;transform:none!important;}
html body.home-page #topics .topic .topic-heading-leader {display:none!important;}/* Topics: fixed rows: title / details / copy, equal anchor baseline within each row. */    
 
html body.home-page #topics .topics {align-items:stretch;grid-auto-rows:1fr;gap:12px;}
html body.home-page #topics .topics>.topic{
 display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:34px 45px minmax(0,1fr);
 align-items:start;justify-items:stretch;
 overflow:hidden;
}
html body.home-page #topics .topics>.topic:nth-child(n){
 display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:34px 45px minmax(0,1fr);
 align-items:start;justify-items:stretch;
 overflow:hidden;
}
html body.home-page #topics .topic>.card-heading {display:contents!important;}
html body.home-page #topics .topic>.card-heading>h3{
 grid-row:1;display:block;min-height:0;margin:0;padding:0;font-family:var(--psy-ui-font);
 font-size:clamp(17px,1.65vw,22px);font-weight:500;line-height:1.3;text-align:center;white-space:nowrap;
}
html body.home-page #topics .topic>p{grid-row:3;align-self:start;margin:0;line-height:1.48;}/* All numbered cards: badges placed inside their top-left corners with no additional heading row. */    
 
html body.home-page #format .numbered>li.topic{
 position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
 overflow:visible;
}
html body.home-page #format .numbered>li.topic:nth-child(n){
 position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
 overflow:visible;
}
html body.home-page #format .numbered>li.topic>.card-heading--step{
 position:static;display:flex;align-items:center;justify-content:center;flex-direction:row;
 width:100%;min-height:36px;margin:0;padding:0 9px 0 30px;
}
html body.home-page #format .numbered>li.topic .step-number{
 position:absolute;top:11px;left:11px;display:grid;place-items:center;z-index:2;
 width:31px;height:31px;min-width:31px;max-width:31px;min-height:31px;max-height:31px;
 margin:0;padding:0;font-size:14px;background-size:contain;
}
html body.home-page #format .numbered>li.topic>.card-heading--step h3{
 font-family:var(--psy-ui-font);font-weight:500;line-height:1.3;
 font-size:clamp(14px,1.28vw,18px);white-space:nowrap;text-wrap:nowrap;
 margin:0;text-align:center;
}
html body.home-page #boundaries .boundary-card .card-heading h3 {
 font-family:var(--psy-ui-font);font-weight:500;line-height:1.3;
 font-size:clamp(14px,1.28vw,18px);white-space:nowrap;text-wrap:nowrap;
 margin:0;text-align:center;
}
html body.home-page #format .numbered>li.topic>p {margin:0;text-align:center;}
/* Card headings in a single line when layout permits, never tiny text. */
@media(max-width:620px){
 html body.home-page #topics .topics>.topic {grid-template-rows:auto 41px minmax(0,1fr);}
 html body.home-page #topics .topic>.card-heading>h3{font-size:clamp(14px,4vw,18px);}
 html body.home-page #boundaries .boundary-card .card-heading h3{font-size:clamp(14px,4vw,18px);}
 html body.home-page #format .numbered>li.topic>.card-heading--step h3{font-size:clamp(14px,4vw,18px);}
 html body.home-page #format .numbered>li.topic>.card-heading--step {padding-right:18px;}
}/* Conditions documents: secondary link scale; descriptions preserved. */    
 
html body.home-page #documents .document-entry--simple .document-heading-link{
 font-size:clamp(15px,1.55vw,18px);font-weight:400;line-height:1.4;
}
html body.home-page #documents .document-entry--simple h3{font-size:inherit;}/* Clickable education history: four matching buttons, framed by rules. */    
 
html body.home-page #credentials-popup.education-dialog .education-history .qualifications{
 border-top:1px solid var(--line);border-bottom:1px solid var(--line);
 padding-block:6px;
}
#credentials-popup.education-dialog .education-history .qualifications {
 border-top:1px solid var(--line);border-bottom:1px solid var(--line);
 padding-block:6px;
}
#credentials-popup.education-dialog .education-history .qualification{padding:0;margin:0;}
#credentials-popup.education-dialog .education-history .qualification+.qualification{border-top:1px solid var(--line);}
#credentials-popup.education-dialog .qualification-open{
 appearance:none;border:0;background:transparent;color:var(--ink);width:100%;padding:11px 10px;
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
 font:inherit;text-align:center;cursor:pointer;transition:background .18s ease;
}
#credentials-popup.education-dialog .qualification-open:where(:hover,:focus-visible){background:rgba(41,60,49,.07);outline-offset:-2px;}
#credentials-popup.education-dialog .qualification-open time{color:var(--muted);}
#credentials-popup.education-dialog .qualification-open strong{font-weight:600;}
#credentials-popup.education-dialog .qualification-open span{line-height:1.5;}/* Turn hovering into a subtle visual hint only; document opens by clicking. */    
 
#credentials-popup .certificate-card__open:hover{outline:1px solid var(--green);outline-offset:1px;}/* Uniform center alignment for identical text blocks. */    
 
html body.home-page #journal .publication-cards>.topic{text-align:center;}
html body.home-page #documents .document-entry--simple{text-align:center;}/* v13.2 acceptance fix: one-column topic-card grid. Older rules placed
   headings into implicit column 2, squeezing and misaligning the description. */    

 
html body.home-page #topics .topics > .topic {
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:stretch!important;
}
html body.home-page #topics .topics > .topic .card-heading > h3 {
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  max-width:none!important;
  justify-self:stretch!important;
  text-align:center!important;
}
html body.home-page #topics .topics > .topic > p {
  grid-column:1!important;
  grid-row:3!important;
  width:100%!important;
  max-width:none!important;
  justify-self:stretch!important;
  text-align:center!important;
}/* v13.2 acceptance fix: the arrow belongs NEXT TO the corner wreath number,
   never between cards. Last step has no forward arrow. */    
 
html body.home-page #format .numbered > li.topic::after {
  content:none!important;
  display:none!important;
  background:none!important;
  mask:none!important;
  -webkit-mask:none!important;
}
html body.home-page #format .numbered > li.topic .step-number {
  background:#f6f4ee url('images/step-frame.svg?v=277c1e21ac26') center/contain no-repeat!important;
  overflow:visible!important;
}
html body.home-page #format .numbered > li.topic .step-number::before {
  content:none!important;
}
html body.home-page #format .numbered > li.topic:not(:last-child) .step-number::after {
  content:'→'!important;
  display:block!important;
  position:absolute!important;
  top:50%!important;
  right:auto!important;
  left:calc(100% + 4px)!important;
  bottom:auto!important;
  width:19px!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:#214a34!important;
  font:500 20px/1 Arial,sans-serif!important;
  text-align:center!important;
  transform:translateY(-50%)!important;
  mask:none!important;
  -webkit-mask:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
}
html body.home-page #format .numbered > li.topic:last-child .step-number::after {
  content:none!important;
  display:none!important;
}/* v14 current rules *//* PSY v14 — intentionally small, component-scoped rules and shared design tokens.
   See CHANGES in separately supplied technical passport. */        

 
 
:root{--v14-green:#214a34;--v14-header:#EDF0E7;--v14-paper:#f6f4ee;--v14-card:#e1e8d8;--v14-font:"Golos Text",Arial,sans-serif;--v14-italic:Georgia,"Times New Roman",serif;--v14-card-title:clamp(22px,2vw,30px)}
[hidden]{display:none!important}.v14-viewer[hidden]{display:none!important}.page-dock__top[hidden]{display:none!important}
html{scroll-behavior:smooth;}
body{overflow-x:clip}
:where(#about,#topics,#boundaries,#format,#faq,#journal,#contacts,#reviews,#documents){scroll-margin-top:145px}/* Stylistic unification of existing italic text without changing copy. */    
 
html body.home-page :is(.hero-message>p.intro,.art-note-opening,.art-note-rest){font:italic 400 clamp(20px,2.18vw,32px)/1.48 var(--v14-italic)!important;letter-spacing:normal!important}
html body.home-page .art-note{padding:16px 18px}
html body.home-page .art-note :is(.art-note-opening,.art-note-rest){display:block;text-align:center}/* Booking CTA: permanent but restrained underline pulse; no flashing text or layout shift. */    
 
html body.home-page .hero-cta-button{position:relative;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:6px;animation:v14-cta-underline 3.6s ease-in-out infinite;}
@keyframes v14-cta-underline{0%,100%{text-decoration-color:rgba(33,74,52,.35);text-shadow:none}50%{text-decoration-color:#214a34;text-shadow:0 0 .55px rgba(33,74,52,.3)}}/* Topic cards: small accessible text link at upper-right; not a button. */    
 
html body.home-page #topics .topics>.topic{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow:visible}
html body.home-page #topics .topics>.topic:nth-child(n){position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow:visible}
html body.home-page #topics .topic>.card-heading{display:block!important;margin:0!important;min-height:0!important;}
html body.home-page #topics .topic>.card-heading>h3{display:block;position:static;grid-row:auto;grid-column:auto;font:500 var(--v14-card-title)/1.24 var(--v14-font);white-space:normal;max-width:none;width:auto;margin:0;text-align:center}
html body.home-page #topics .topic>p{position:static;display:block;grid-row:auto;grid-column:auto;margin:0!important;width:100%;max-width:none;text-align:center}
html body.home-page :is(#boundaries,#format,#journal) .topic .card-heading h3{font:500 var(--v14-card-title)/1.26 var(--v14-font);text-align:center;white-space:normal;text-wrap:balance;overflow-wrap:normal}
html body.home-page #format .numbered>li.topic>.card-heading--step h3{font:500 var(--v14-card-title)/1.26 var(--v14-font);text-align:center;white-space:normal;text-wrap:balance;overflow-wrap:normal}
html body.home-page #boundaries .boundary-card .card-heading h3{font:500 var(--v14-card-title)/1.26 var(--v14-font);text-align:center;white-space:normal;text-wrap:balance;overflow-wrap:normal}
html body.home-page #format .numbered>li.topic>.card-heading--step{padding-inline:40px 10px;min-height:44px;}
html body.home-page #format .numbered>li.topic{}/* Increase distance between three contact icons without changing icon dimensions. */    
 
html body.home-page #contacts .contact-icon-actions{column-gap:clamp(22px,3.4vw,56px);justify-content:center}/* Condense the secondary documents section. */    
 
html body.home-page #documents .document-list{gap:10px}
html body.home-page #documents .document-entry--simple{padding:12px 18px;min-height:0;gap:5px}
html body.home-page #documents .document-entry--simple :is(.document-heading-link,p){font:400 clamp(15px,1.25vw,18px)/1.45 var(--v14-font);margin:0}
html body.home-page #documents .document-entry--simple h3{margin:0}/* Shared end-of-page related links */    
 
.v14-related{width:100%;max-width:1300px;margin:0 auto;text-align:center;background:transparent;padding:25px 24px 30px}.home-page .seo-related{width:100%;max-width:1300px;margin:0 auto;text-align:center;background:transparent;padding:25px 24px 30px}
.v14-related__heading{display:flex;align-items:center;justify-content:center;gap:20px;font:650 clamp(18px,1.7vw,25px)/1.3 var(--v14-font);letter-spacing:.06em;text-transform:uppercase;color:var(--v14-green);margin:0 0 18px}
.v14-related__heading::before{content:"";width:35px;height:1px;background:currentColor;opacity:.7}.v14-related__heading::after{content:"";width:35px;height:1px;background:currentColor;opacity:.7}
.v14-related__links{display:flex;flex-wrap:wrap;justify-content:center;gap:9px 22px;max-width:1200px;margin:auto}
.v14-related__links a{font:400 clamp(15px,1.35vw,19px)/1.6 var(--v14-font);color:var(--v14-green);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}/* Approved twig motif, not a border or frame. */    
 
.v14-footer-branch{position:relative;margin:0 auto 13px;max-width:950px;height:32px;display:flex;align-items:center;justify-content:center;background:url('images/signature-twig.svg?v=e0bc27446b7d') center/170px 32px no-repeat}
.v14-footer-branch::before{content:"";flex:1;border-top:1px solid #bbcab6;max-width:calc(50% - 106px)}.v14-footer-branch::after{content:"";flex:1;border-top:1px solid #bbcab6;max-width:calc(50% - 106px)}
.v14-footer-branch::before{margin-right:188px}
.v14-footer-branch::after{position:absolute;right:0;width:calc(50% - 106px)}
.v14-footer-branch--main{background-image:url('images/signature-twig-main.svg');background-size:270px 45px;height:48px;max-width:1050px}
.v14-footer-branch--main::before{margin-right:298px;max-width:calc(50% - 158px)}
.v14-footer-branch--main::after{width:calc(50% - 158px)}/* Inner pages: same paper surface, centered text and tidy, responsive grid. */    
 
html body.seo-page{background:var(--v14-paper);color:#293c31;font-family:var(--v14-font)}
html body.seo-page :is(main,.hero-text,.section,.panel,.note,.cert,.cert-group){min-width:0;}
html body.seo-page main{background:var(--v14-paper)}
html body.seo-page main section{background:var(--v14-paper)}
html body.seo-page .wrap{margin-inline:auto}
html body.seo-page :is(.hero-text,.section){text-align:center}
html body.seo-page .hero-text :is(h1,p,.lead){max-width:980px;margin-left:auto;margin-right:auto;text-align:center}
html body.seo-page .hero-text p:not(.lead){margin-top:13px}
html body.seo-page .hero-text h1{margin-top:12px}
html body.seo-page .section h2{font-size:clamp(30px,2.5vw,39px);font-weight:500}
html body.seo-page :is(.panel,.note,.cert){background:#e2e9da;border-color:#ccd6c8}
html body.seo-page .panel{text-align:center}
html body.seo-page .panel ul{list-style-position:inside;padding-left:0;max-width:900px;margin-inline:auto;text-align:center}
html body.seo-page .note{border-left:1px solid var(--line);border-radius:12px;text-align:center}
html body.seo-page .cert{text-align:left}
html body.seo-page .cert-list{max-width:1180px;margin-inline:auto}
html body.seo-page .cert h3{font-size:clamp(19px,1.55vw,24px);font-weight:600}
html body.seo-page .cert small{font-size:clamp(15px,1.12vw,18px);line-height:1.45}
html body.seo-page .cert__open{appearance:none;display:block;flex:0 0 auto;cursor:zoom-in;background:none;border:0;padding:0;margin:0;}
html body.seo-page .cert__open:focus-visible{outline:3px solid var(--v14-green);outline-offset:4px}
html body.seo-page .cert__open img{display:block;width:clamp(120px,11vw,180px);height:auto;aspect-ratio:4/3;object-fit:contain;}
html body.seo-page .footer{background:var(--v14-paper);padding:24px 0 20px;font-size:clamp(15px,1.1vw,17px)}
html body.seo-page .footer .wrap{max-width:1050px}
html body.seo-page .footer p{margin:4px auto}
html body.seo-page .page-dock{background:var(--v14-paper);min-height:48px;gap:5px 20px}
html body.seo-page .page-dock__top{cursor:pointer}
html body.seo-page .page-dock__action{width:auto;min-width:126px;padding:7px 22px}/* Standalone document modal shared by homepage & inner education listings. */    
 
.v14-viewer{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:clamp(10px,3vw,30px);background:rgba(27,40,33,.67);overscroll-behavior:contain}
.v14-viewer__panel{position:relative;width:min(97vw,1250px);max-height:calc(100dvh - 20px);display:flex;flex-direction:column;align-items:center;overflow:auto;background:var(--v14-paper);border:1px solid #cbd4c8;border-radius:20px;box-shadow:0 20px 55px #15261c55;padding:clamp(22px,3vw,34px)}
.v14-viewer__panel figure{width:100%;margin:0;text-align:center}
.v14-viewer__panel img{display:block;max-width:100%;max-height:calc(100dvh - 155px);width:auto;height:auto;margin:auto;object-fit:contain;cursor:zoom-out;touch-action:pan-y pinch-zoom}
.v14-viewer__panel figcaption{max-width:900px;margin:11px auto 0;text-align:center;font:400 clamp(15px,1.4vw,19px)/1.5 var(--v14-font)}
.v14-viewer__close{position:sticky;z-index:2;top:0;align-self:flex-end;display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #cdd7c8;background:var(--v14-paper);border-radius:10px;font-size:29px;color:var(--v14-green);cursor:pointer;}
.v14-viewer-open{overflow:hidden}
@media(max-width:760px){
 html body.home-page #topics .topics>.topic{}
 html body.home-page #format .numbered>li.topic>.card-heading--step{padding-left:48px}
 html body.home-page #contacts .contact-icon-actions{column-gap:clamp(14px,4vw,30px)}
 html body.seo-page .cert{text-align:center}
 html body.seo-page .cert__open{margin:0 auto 12px}
 html body.seo-page .footer{padding:18px 0}
 html body.seo-page .page-dock{gap:4px 8px;padding:5px 8px}
 html body.seo-page .page-dock__action{min-width:0;padding:6px 17px;font-size:13px}
 .v14-related__links{gap:6px 16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html body.home-page .hero-cta-button{animation:none;text-decoration-color:var(--v14-green)}}/* v14 audit correction: the mini-link is anchored to the CARD, not its heading. */    

 
html body.home-page #topics .topics>.topic>.card-heading{position:static!important;}/* PSY v14.1: accepted repairs, component-scoped; never change content geometry elsewhere. */    


 
:root{--psy-card-1:#e1ead5;--psy-card-2:#dce4d4;--psy-card-3:#d5e1d7;--psy-logo-ink:#2f5844}/* #3 intro is the baseline for the second italic passage; never resize slogans. */    
 
html body.home-page .hero-message>p.intro{
 font-family:Georgia,'Times New Roman',serif!important;font-style:italic!important;font-weight:400!important;
 font-size:clamp(19px,1.70vw,27px)!important;line-height:1.42!important;letter-spacing:normal!important;
}
html body.home-page .art-note .art-note-opening{
 font-family:Georgia,'Times New Roman',serif!important;font-style:italic!important;font-weight:400!important;
 font-size:clamp(19px,1.70vw,27px)!important;line-height:1.42!important;letter-spacing:normal!important;
}
html body.home-page .art-note .art-note-rest{
 font-family:Georgia,'Times New Roman',serif!important;font-style:italic!important;font-weight:400!important;
 font-size:clamp(19px,1.70vw,27px)!important;line-height:1.42!important;letter-spacing:normal!important;
}/* #4 small informational links sit above lower right border, not in heading layout. */    
 
html body.home-page #topics .topics>.topic{position:relative!important;justify-content:flex-start}
html body.home-page #topics .topics>.topic>.card-heading{position:static!important;min-height:0!important}/* #5-6 long headings use a two-column grid on desktop and a single column on mobile. */    
 
html body.home-page #boundaries .topics{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
html body.home-page #format .numbered{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
html body.home-page #boundaries .boundary-card h3{
 font-size:clamp(21px,2.05vw,30px)!important;line-height:1.3!important;white-space:nowrap!important;
 text-wrap:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;
}
html body.home-page #format .numbered>li.topic .card-heading--step h3{
 font-size:clamp(21px,2.05vw,30px)!important;line-height:1.3!important;white-space:nowrap!important;
 text-wrap:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;
}
html body.home-page #format .numbered>li.topic .card-heading--step{
 position:static!important;width:100%!important;padding:0 26px!important;min-height:40px!important;
 display:flex!important;align-items:center;justify-content:center;text-align:center;
}
html body.home-page #format .numbered>li.topic .card-heading--step:nth-child(n){
 position:static!important;width:100%!important;padding:0 26px!important;min-height:40px!important;
 display:flex!important;align-items:center;justify-content:center;text-align:center;
}
html body.home-page #format .numbered>li.topic{position:relative!important;}
html body.home-page #format .numbered>li.topic .step-number{
 position:absolute!important;left:12px!important;top:12px!important;flex:none!important;
}
html body.home-page #format .numbered>li.topic .step-number::after{content:none!important;display:none!important}
html body.home-page #format .numbered>li.topic::after{content:none!important;display:none!important}/* #8 centrally aligned documents, consistent internal spacing. */    
 
html body.home-page #documents .document-entry--simple{
 display:flex;flex-direction:column;justify-content:center;align-items:center;
 padding:16px 18px!important;gap:9px!important;text-align:center!important;
}
html body.home-page #documents .document-entry--simple :is(h3,p,.document-heading-link){
 display:block;text-align:center!important;margin-inline:auto!important;max-width:100%;
}/* #9 old subordinate footer link line, NOT a standalone heading. */    
 
html body.home-page .seo-related{padding:12px 18px!important;max-width:1250px} .v14-related{padding:12px 18px!important;max-width:1250px}
html body.home-page .seo-related .v14-related__heading{
 display:inline!important;margin:0 .6em 0 0!important;font:400 clamp(15px,1.25vw,18px)/1.65 var(--v14-font)!important;
 letter-spacing:normal!important;text-transform:none!important;color:#627365!important;white-space:nowrap;
}
.v14-related .v14-related__heading{
 display:inline!important;margin:0 .6em 0 0!important;font:400 clamp(15px,1.25vw,18px)/1.65 var(--v14-font)!important;
 letter-spacing:normal!important;text-transform:none!important;color:#627365!important;white-space:nowrap;
}
html body.home-page .seo-related .v14-related__heading::before{content:none!important;display:none!important}
html body.home-page .seo-related .v14-related__heading::after{content:none!important;display:none!important}
.v14-related .v14-related__heading::before{content:none!important;display:none!important}
.v14-related .v14-related__heading::after{content:none!important;display:none!important}
html body.home-page .seo-related .v14-related__links{display:inline!important;max-width:none!important;margin:0!important}
.v14-related .v14-related__links{display:inline!important;max-width:none!important;margin:0!important}
html body.home-page .seo-related .v14-related__links a{display:inline-block!important;font:400 clamp(15px,1.25vw,18px)/1.65 var(--v14-font)!important;margin:0 .45em;white-space:normal}
.v14-related .v14-related__links a{display:inline-block!important;font:400 clamp(15px,1.25vw,18px)/1.65 var(--v14-font)!important;margin:0 .45em;white-space:normal}/* #10 truly horizontal divider with a short central leaf mark. */    
 
.v14-footer-branch:not(.v14-footer-branch--main){
 position:relative!important;width:min(96%,950px)!important;max-width:950px;height:32px!important;
 margin:0 auto 12px!important;background:url('images/signature-twig.svg?v=e0bc27446b7d') center center / 52px 30px no-repeat!important;
}
.v14-footer-branch:not(.v14-footer-branch--main)::before{
 position:absolute!important;top:50%!important;width:calc(50% - 35px)!important;height:0!important;
 border:0!important;border-top:1px solid #aebfb0!important;max-width:none!important;margin:0!important;
}
.v14-footer-branch:not(.v14-footer-branch--main)::after{
 position:absolute!important;top:50%!important;width:calc(50% - 35px)!important;height:0!important;
 border:0!important;border-top:1px solid #aebfb0!important;max-width:none!important;margin:0!important;
}
.v14-footer-branch:not(.v14-footer-branch--main)::before{left:0!important}
.v14-footer-branch:not(.v14-footer-branch--main)::after{right:0!important}/* #11 exactly one line for the cookie privacy policy and similarly composed buttons. */    
 
html body .policy-doc-link{border:0!important;border-bottom:0!important;text-decoration:underline!important;
 text-decoration-thickness:1px!important;text-underline-offset:3px!important;box-shadow:none!important}/* #13-14 independent monochrome partner vector graphics; icon remains a link's child. */    
 
.brand-inline-logo{display:inline-block;vertical-align:middle;width:auto;height:1.15em;max-width:min(100%,140px);object-fit:contain;filter:none;margin-inline:3px}
.brand-inline-logo--becbt{height:2.1em;max-width:175px}
#journal .button .brand-inline-logo{max-width:120px}#reviews .button .brand-inline-logo{max-width:120px}/* #15 strict viewport-constrained modal. No initial panel scrolling. */    
 
.v14-viewer{padding:clamp(6px,1.2vmin,14px)!important;overflow:hidden!important}
.v14-viewer__panel{
 box-sizing:border-box;width:min(96vw,1250px)!important;
 height:auto!important;max-height:calc(100dvh - 16px)!important;
 display:flex!important;flex-direction:column!important;overflow:hidden!important;
 padding:clamp(8px,1.2vmin,16px)!important;
}
.v14-viewer__panel .v14-viewer__close{position:absolute!important;top:8px;right:9px;width:40px;min-width:40px;min-height:40px;z-index:3}
.v14-viewer__panel figure{
 height:auto!important;min-height:0;max-height:calc(100dvh - 48px)!important;
 width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
 gap:7px;margin:0!important;padding:40px 3px 2px;
}
.v14-viewer__panel img{
 display:block!important;max-width:100%!important;max-height:calc(100dvh - 172px)!important;
 height:auto!important;width:auto!important;min-height:0!important;min-width:0!important;
 object-fit:contain!important;flex:0 1 auto;
}
.v14-viewer__panel figcaption{
 flex:0 0 auto;max-height:calc(100dvh - 125px);overflow:hidden;
 margin:0 auto!important;text-align:center;line-height:1.3!important;
 font-size:clamp(12px,1.15vw,17px)!important;
}
@media(max-width:900px){
 html body.home-page #boundaries .topics{grid-template-columns:1fr!important}html body.home-page #format .numbered{grid-template-columns:1fr!important}
 html body.home-page #boundaries .boundary-card h3{font-size:clamp(16px,3.4vw,25px)!important}
 html body.home-page #format .numbered>li.topic .card-heading--step h3{font-size:clamp(16px,3.4vw,25px)!important}
}
@media(max-width:450px){
 html body.home-page #boundaries .boundary-card h3{font-size:clamp(15px,4.6vw,19px)!important}html body.home-page #format .numbered>li.topic .card-heading--step h3{font-size:clamp(15px,4.6vw,19px)!important}
 html body.home-page #format .numbered>li.topic .card-heading--step{padding:0 14px 0 30px!important}
 .v14-viewer__panel img{max-height:calc(100dvh - 150px)!important}
}
@media(prefers-reduced-motion:reduce){}
html body.home-page .hero .art .art-note :is(.art-note-opening,.art-note-rest){
 font:italic 400 clamp(19px,1.7vw,27px)/1.42 Georgia,'Times New Roman',serif!important;
 text-align:center!important;letter-spacing:normal!important;
}
html body.home-page #format .numbered>li.topic .card-heading--step h3{
 height:auto!important;min-height:0!important;max-height:none!important;
 padding:0!important;margin:0 auto!important;line-height:1.30!important;
}
@media(max-width:450px){
 html body.home-page #format .numbered>li.topic .card-heading--step{padding:0 8px 0 16px!important}
 html body.home-page #format .numbered>li.topic .step-number{width:26px!important;height:26px!important;min-width:26px!important;max-width:26px!important;min-height:26px!important;max-height:26px!important;font-size:12px!important;left:8px!important;top:8px!important}
}/* Inline footer link run: wrap by whole anchors even at a 320px viewport. */    
 
html body.home-page .seo-related .v14-related__links{display:contents!important}
html body.seo-page .v14-related .v14-related__links{display:contents!important}
@media(max-width:450px){
 html body.home-page .seo-related{padding-inline:10px!important}html body.seo-page .v14-related{padding-inline:10px!important}
}
@media(max-width:760px){
}
@media(max-width:370px){}/* Portrait should match the adjacent text column, rather than dominating the section. */    
 
html body.home-page #about .about-grid{align-items:center!important;}
html body.home-page #about .about-portrait{width:100%!important;max-width:420px!important;margin:0 auto!important;align-self:center!important;}
html body.home-page #about .about-portrait img{width:100%!important;max-height:525px!important;height:auto!important;object-fit:cover!important;object-position:center top!important;}/* Shared compact rhythm for content cards; reserve only the space actually needed. */    
 
html body.home-page #topics .topics>.topic{}
html body.home-page #boundaries .topics>.topic{}
html body.home-page #format .numbered>li.topic{}
html body.home-page #format .numbered>li.topic .card-heading--step{min-height:38px!important;}
html body.home-page #boundaries .topics>.topic h3{margin-top:0!important;margin-bottom:0!important;}html body.home-page #format .numbered>li.topic h3{margin-top:0!important;margin-bottom:0!important;}/* Inline logos and adjacent text should share the same baseline visually. */    
 
html body .brand-inline-logo{vertical-align:middle!important;height:1em!important;margin:0 3px!important;object-fit:contain!important;position:relative;top:-1px;}
html body .brand-inline-logo--becbt{height:1.45em!important;}
html body a.button:has(> .brand-inline-logo){display:inline-flex!important;align-items:center!important;justify-content:center!important;column-gap:3px!important;}html body button.button:has(> .brand-inline-logo){display:inline-flex!important;align-items:center!important;justify-content:center!important;column-gap:3px!important;}/* Footer: one strictly level rule + original approved SMALL middle twig. */    
 
html body.home-page .v14-footer-branch--main{position:relative!important;display:block!important;width:min(96%,950px)!important;max-width:950px!important;height:32px!important;margin:0 auto 12px!important;background:url('images/signature-twig.svg?v=e0bc27446b7d') center center/52px 30px no-repeat!important;}
html body.home-page .v14-footer-branch--main::before{content:''!important;position:absolute!important;top:50%!important;height:0!important;width:calc(50% - 35px)!important;max-width:none!important;border:0!important;border-top:1px solid #aebfb0!important;margin:0!important;}html body.home-page .v14-footer-branch--main::after{content:''!important;position:absolute!important;top:50%!important;height:0!important;width:calc(50% - 35px)!important;max-width:none!important;border:0!important;border-top:1px solid #aebfb0!important;margin:0!important;}
html body.home-page .v14-footer-branch--main::before{left:0!important;}html body.home-page .v14-footer-branch--main::after{right:0!important;}
@media(prefers-reduced-motion:reduce){}


@media(max-width:760px){
}
