.certification-shell{max-width:1120px;margin:0 auto;padding:110px 32px 48px}.certification-shell *{min-width:0}.certification-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:28px;color:var(--muted);font:400 12px/1.65 var(--sans)}.certification-breadcrumbs a,.certification-text-link,.certification-sources a{text-underline-offset:4px}.certification-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr);gap:48px;align-items:center}.certification-kicker{margin:0 0 14px;color:var(--muted);font:600 11px/1.55 var(--sans);letter-spacing:.1em;text-transform:uppercase}.certification-hero h1{margin:0 0 20px;font:400 clamp(32px,3.1vw,42px)/1.16 var(--serif);letter-spacing:-.02em;text-wrap:balance}.certification-lead{color:var(--ink);font-size:18px;line-height:1.65}.certification-hero p:not(.certification-kicker){max-width:64ch}.certification-hero p:not(.certification-lead):not(.certification-kicker){font-size:15px;line-height:1.8;color:var(--ink-soft)}.certification-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:24px}.certification-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);font:600 14px/1.45 var(--sans);text-align:center;text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-touch-callout:none}.certification-button--primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.certification-button--primary:hover{background:var(--ink-deep)}.certification-text-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font:600 14px/1.6 var(--sans);overflow-wrap:anywhere}.certification-portrait{margin:0;justify-self:end;max-width:310px}.certification-portrait-frame{position:relative;width:100%;aspect-ratio:4/4.5;overflow:hidden;border-radius:24px;background:var(--sage)}.certification-portrait-frame img{position:absolute;bottom:0;left:0;display:block;width:100%;height:128%;object-fit:cover;object-position:50% 100%;user-select:none;-webkit-user-drag:none}.certification-portrait figcaption{padding:12px 4px 0;font:400 12px/1.7 var(--sans);color:var(--muted)}.certification-boundary{margin:28px 0 0;padding:15px 18px;border-left:2px solid var(--sage-deep);background:var(--sage);font:400 13px/1.75 var(--sans);color:var(--ink-soft)}.certification-section{padding:34px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}.certification-heading h2,.certification-contact h2{margin:0;font:400 clamp(25px,2.5vw,30px)/1.25 var(--serif);letter-spacing:-.015em;text-wrap:balance}.certification-heading p{max-width:76ch;margin:15px 0 0;font-size:15px;line-height:1.75;color:var(--ink-soft)}.certification-section-body{margin-top:24px}.certification-section--split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr);gap:44px}.certification-section--split .certification-section-body{margin-top:0}.certification-cards,.certification-steps,.certification-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;list-style:none;padding:0;margin:0}.certification-cards article{padding:23px 21px;border-radius:20px;background:var(--ivory)}.certification-cards article:nth-child(2){background:var(--sage)}.certification-cards article:nth-child(3){background:var(--sand)}.certification-shell h3{margin:0 0 11px;font:400 23px/1.27 var(--serif);letter-spacing:-.01em}.certification-cards p,.certification-steps p,.certification-route p{margin:0;font-size:14px;line-height:1.8;color:var(--ink-soft)}.certification-steps li,.certification-route li{padding-left:18px;border-left:2px solid var(--sage-deep)}.certification-steps h3,.certification-route h3{font-size:22px}.certification-list{list-style:none;margin:0;padding:0}.certification-list li{padding-bottom:17px;margin-bottom:17px;border-bottom:1px solid var(--line)}.certification-list li:last-child{padding-bottom:0;margin-bottom:0;border:0}.certification-list h3{font:600 15px/1.65 var(--sans);margin-bottom:5px}.certification-list p,.certification-copy p,.certification-section--split>div>p{margin:0;font-size:15px;line-height:1.8;color:var(--ink-soft)}.certification-copy p+p{margin-top:15px}.certification-note{margin:22px 0 0;color:var(--muted);font:400 13px/1.8 var(--sans)}.certification-faq details{border-bottom:1px solid var(--line)}.certification-faq details:first-child{border-top:1px solid var(--line)}.certification-faq summary{position:relative;display:block;padding:17px 28px 17px 0;cursor:pointer;font:600 15px/1.65 var(--sans);list-style:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.certification-faq summary::-webkit-details-marker{display:none}.certification-faq summary::after{content:"";position:absolute;right:5px;top:24px;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .18s ease}.certification-faq details[open]>summary::after{transform:rotate(225deg)}.certification-faq details>div{padding:0 12px 16px 0}.certification-faq p{margin:0;font:400 14px/1.8 var(--sans);color:var(--ink-soft)}.certification-sources{list-style:none;padding:0;margin:14px 0 0}.certification-sources li{margin:0 0 8px}.certification-sources a{display:inline-flex;align-items:center;min-height:40px;font-size:14px;line-height:1.65}.certification-contact{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr);gap:28px;align-items:center;margin-top:34px;padding:28px;border-radius:24px;background:var(--sage)}.certification-contact p{margin-bottom:0;font-size:15px;line-height:1.75}.certification-contact .certification-actions{margin-top:0}.certification-shell :focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(max-width:1024px){.certification-shell{padding:108px 24px 40px}.certification-hero{gap:30px}.certification-section--split{gap:28px}.certification-cards,.certification-steps,.certification-route{gap:16px}.certification-cards article{padding:22px 18px}}
@media(max-width:800px){.certification-hero{grid-template-columns:1fr;gap:24px}.certification-portrait{justify-self:center;max-width:290px}.certification-portrait-frame img{height:130%}.certification-section--split{grid-template-columns:1fr;gap:22px}.certification-cards{grid-template-columns:1fr;gap:14px}.certification-steps,.certification-route{grid-template-columns:1fr;gap:22px}.certification-contact{grid-template-columns:1fr;gap:20px}}
@media(max-width:640px){.certification-shell{padding:100px 18px 30px}.certification-breadcrumbs{margin-bottom:22px;font-size:11px}.certification-hero h1{font-size:clamp(28px,7.7vw,30px);line-height:1.18;text-align:center}.certification-kicker{text-align:center;font-size:10px}.certification-lead{font-size:17px}.certification-actions{justify-content:center;gap:8px 16px;margin-top:20px}.certification-hero .certification-button,.certification-contact .certification-button{width:100%}.certification-portrait{max-width:270px}.certification-portrait-frame{border-radius:20px}.certification-boundary{margin-top:24px;padding:13px 15px;font-size:12px}.certification-section{padding:28px 0;scroll-margin-top:100px}.certification-heading h2,.certification-contact h2{font-size:26px;text-align:center}.certification-section-body{margin-top:20px}.certification-cards article{padding:22px 19px;border-radius:18px}.certification-shell h3{font-size:22px}.certification-list h3{font-size:15px}.certification-steps li,.certification-route li{padding-left:16px}.certification-contact{margin-top:28px;padding:23px 18px;border-radius:20px;gap:16px}.certification-sources a{font-size:13px}}
@media(max-width:360px){.certification-shell{padding-right:14px;padding-left:14px}.certification-hero h1{font-size:28px}.certification-heading h2,.certification-contact h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.certification-faq summary::after{transition:none}}
.certification-shell{font-size:16px;line-height:1.7}.certification-breadcrumbs{font-size:15px;line-height:1.6}.certification-breadcrumbs a{display:inline-flex;align-items:center;min-height:44px}.certification-button,.certification-text-link{font-size:16px;line-height:1.5}.certification-portrait figcaption,.certification-boundary,.certification-note{font-size:15px;line-height:1.7}.certification-hero p:not(.certification-lead):not(.certification-kicker),.certification-heading p,.certification-cards p,.certification-steps p,.certification-route p,.certification-list p,.certification-copy p,.certification-section--split>div>p,.certification-faq p,.certification-contact p{font-size:16px;line-height:1.7}.certification-list h3{font-size:16px}.certification-sources a{min-height:44px;font-size:15px;overflow-wrap:anywhere}.certification-faq summary{min-height:44px;font-size:16px}
@media screen {
  html[data-theme="dark"] .certification-button { color: var(--ink); border-color: var(--line); background: var(--surface); }
  html[data-theme="dark"] .certification-button:hover { color: var(--ink-deep); border-color: var(--action); background: var(--surface-hover); }
  html[data-theme="dark"] .certification-button--primary { color: var(--on-action); border-color: var(--action); background: var(--action); }
  html[data-theme="dark"] .certification-button--primary:hover { color: var(--on-action); border-color: var(--ink-deep); background: var(--ink-deep); }
  html[data-theme="dark"] .certification-shell :focus-visible { outline: 3px solid var(--action); outline-offset: 4px; }
}
/* Keep mobile breadcrumbs 9px below the 61px shared header. Safe-area space is owned by the shell. */
@media screen and (max-width:1280px) {
  .certification-shell { padding-top: 70px; }
}
