/* SOURCE assets/seo.css */     
:root{--ink:#274437;--muted:#5a6b5d;--bg:#f6f4ef;--soft:#e7ecdf;--line:#bfccb9;--green:#345c46}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font-family:"Segoe UI",Arial,sans-serif;font-size:18px;line-height:1.62}a{color:var(--green);text-underline-offset:.22em}button{font:inherit}.wrap{margin:0 auto;padding:0 24px}.breadcrumb{padding-top:20px;font-size:14px;color:var(--muted)}.breadcrumb a{color:inherit}.hero-text{padding:30px 0 35px}.kicker{text-transform:uppercase;font-size:13px;letter-spacing:.15em;font-weight:700;color:#667b63;margin:0 0 12px}.hero-text h1{font-weight:400;line-height:1.1;font-size:clamp(35px,4.3vw,57px);letter-spacing:-.025em;max-width:940px;margin:0 0 20px}.lead{font-size:clamp(19px,2.1vw,23px);color:#526a5d;max-width:850px;line-height:1.58;margin:0}.action{margin:24px 0 0;display:inline-block;padding:13px 23px;border-radius:10px;background:var(--green);color:white;text-decoration:none;font-size:19px}.section{padding:35px 0}.section.soft{background:var(--soft)}.section h2{font-size:clamp(28px,3vw,36px);font-weight:400;margin:0 0 18px;line-height:1.22}.section p{margin:0 0 14px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.panel{background:#f8f7f3;border:1px solid var(--line);border-radius:13px;}.panel ul{padding-left:21px;margin:0}.panel li+li{margin-top:13px}.education-links{font-size:17px;color:var(--muted);margin-top:25px}.muted{color:var(--muted)}.note{padding:20px 24px;border-left:3px solid #91a28b;background:#f1f2eb;border-radius:0 12px 12px 0}.related{display:flex;flex-wrap:wrap;gap:9px 20px}.related a{font-size:16px}.footer{background:#e7ecdf;border-top:1px solid var(--line);padding:28px 0;text-align:center;font-size:15px}.footer p{margin:5px auto}.cookie{position:fixed;z-index:99;left:20px;right:20px;bottom:20px;padding:18px 20px;display:flex;align-items:center;gap:20px;justify-content:space-between;background:#faf9f4;border:1px solid #bdc7b5;border-radius:15px;box-shadow:0 15px 45px #122a191f}.cookie[hidden]{display:none}.cookie p{font-size:14px;margin:4px 0 0}.cookie-controls{display:flex;gap:10px;flex-shrink:0}.cookie button{font-size:14px;border:1px solid #345c46;border-radius:8px;padding:9px 12px;cursor:pointer;background:transparent;color:var(--ink)}.cookie button.primary{background:var(--green);color:white}.cert-group{margin-bottom:36px}.cert-group h2{font-weight:400}.cert-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cert{background:#f8f7f3;border:1px solid #c6d0c1;border-radius:12px;display:flex;}.cert img{width:135px;height:auto;aspect-ratio:4/3;object-fit:contain;align-self:flex-start;border-radius:4px;background:white}.cert h3{font-size:16px;font-weight:700;margin:0 0 8px;line-height:1.45}.cert small{color:var(--muted)}.cert-highlights{display:flex;flex-wrap:wrap;gap:12px}.cert-highlights .cert{max-width:100%}
@media(max-width:900px){.hero-text{padding:24px 0 32px}.grid{grid-template-columns:1fr}.cert-list{grid-template-columns:1fr}}
@media(max-width:540px){.wrap{padding:0 17px}.breadcrumb{padding-top:16px}.section{padding:26px 0}.panel{}.cookie{left:10px;right:10px;bottom:10px;display:block}.cookie-controls{margin-top:12px}.cert{display:block}.cert img{display:block;width:min(100%,230px);margin:0 auto 12px}.cert h3{text-align:center}.cert small{display:block;text-align:center}.hero-text h1{font-size:clamp(34px,8.6vw,47px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}/* 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/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/page-dock.css *//* Inner-page navigation only. Its measured height is reserved below the footer. */        

 
 
:root { --page-dock-clearance: calc(57px + env(safe-area-inset-bottom, 0px)); }
html:has(body.seo-page) {
  scroll-padding-bottom: calc(var(--page-dock-clearance) + var(--page-cookie-overlay, 0px) + 16px);
}
body.seo-page { padding-bottom: var(--page-dock-clearance); }

.seo-page .page-dock {
  position: fixed;
  z-index: 100;
  inset: auto 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 16px;
  box-sizing: border-box;
  margin: 0;
  padding: 6px max(18px, env(safe-area-inset-right, 0px)) calc(6px + env(safe-area-inset-bottom, 0px)) max(18px, env(safe-area-inset-left, 0px));
  border-top: 1px solid var(--line);
  background: var(--fixed-surface, #f6f4ee);
  color: var(--green);
}
.seo-page .page-dock__action {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
  box-sizing: border-box;
  width: 180px;
  max-width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 8px 30px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--green);
  font-family: var(--font-site);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  overflow: visible;
}
.seo-page .page-dock__action:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }/* Cookies stay above the dock, including on devices with a bottom safe area. */    

 
.seo-page .cookie {
  bottom: calc(var(--page-dock-clearance) + 12px);
  max-height: calc(100dvh - var(--page-dock-clearance) - 28px);
}/* 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) {
}/* 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)}}/* 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}
}
