/* English guide additions; existing clinic layout and typography stay in place. */
/* Published article index: compact gallery cards, scoped away from article bodies. */
.snu-article-gallery { max-width:1120px; padding-block:66px 90px; }
.snu-article-gallery .aeo-lead { margin-bottom:0; }
.snu-article-gallery .aeo-card-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 26px; margin-top:36px; }
.snu-article-gallery .aeo-card { min-width:0; max-width:none; display:flex; flex-direction:column; border:1px solid #e5ded7; border-radius:8px; padding:0 20px 22px; background:#fff; }
.snu-article-gallery .aeo-card > a:first-child { display:block; margin:0 -20px 18px; border-radius:7px 7px 0 0; background:#f6f3ef; }
.snu-article-gallery .aeo-card-image { width:100%; height:180px; max-height:none; margin:0; object-fit:contain; border-radius:7px 7px 0 0; }
.snu-article-gallery .aeo-card .aeo-card-meta { margin:0 0 10px; font-size:12px; letter-spacing:.02em; }
.snu-article-gallery .aeo-card-title { font-size:21px; line-height:1.4; margin:0 0 12px; overflow-wrap:break-word; }
.snu-article-gallery .aeo-card > p:not(.aeo-card-meta) { font-size:15px; line-height:1.65; margin:0 0 20px; }
.snu-article-gallery .aeo-card > a:last-child { align-self:flex-start; margin-top:auto; font-size:14px; line-height:1.7; }
.snu-article-gallery .aeo-card:focus-within { border-color:#b1805d; }
@media (max-width:1000px) {
 .snu-article-gallery .aeo-card-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 22px; }
}
@media (max-width:600px) {
 .snu-article-gallery { padding-block:40px 65px; }
 .snu-article-gallery .aeo-card-list { grid-template-columns:minmax(0,1fr); gap:24px; margin-top:28px; }
 .snu-article-gallery .aeo-card-image { height:170px; }
 .snu-article-gallery .aeo-card-title { font-size:21px; }
}
.snu-guide .answer-section { margin-bottom:38px; padding-bottom:25px; border-bottom:1px solid #e5ded7; }
.snu-guide .answer-section:first-child h2 { margin-top:0; }
.snu-guide .answer-sources { font-size:13px!important; line-height:1.65!important; color:#6b625a; margin-top:20px!important; }
.snu-guide .hub-topic { border-top:1px solid #e5ded7; padding:16px 0 8px; }
.snu-guide .hub-topic h3 { margin:0 0 10px; font-size:22px; }
.snu-guide .hub-topic h3 a { display:flex; gap:16px; justify-content:space-between; text-decoration:none; }
.snu-guide .hub-topic h3 a:hover { text-decoration:underline; }
.snu-guide .hub-topic p { font-size:16px; }
.snu-guide .hub-extra { margin:14px 0 0; }
.snu-guide .hub-clinic h2 { font-size:27px; }
.snu-guide .clinic-article { margin:0 0 40px; padding:0; border:0; }
.snu-guide .clinic-article summary { cursor:pointer; font-size:18px; line-height:1.5; color:#8d6042; }
.snu-guide .clinic-article .aeo-article { width:100%; margin:28px 0 0; padding:0; box-shadow:none; border:0; }
.snu-guide .clinic-article .aeo-article-header h2 { font-size:28px; }
.snu-guide .clinic-article img { max-width:100%; height:auto; }
.snu-guide .clinic-article .aeo-toc { position:static; }
.snu-guide .clinic-article .aeo-meta { margin:0 0 28px; padding:16px 20px; background:#f7f3ef; border-left:2px solid #c8ab96; }
.snu-guide .clinic-article .aeo-meta p { margin:3px 0; font-size:13px; line-height:1.65; }
.snu-guide .clinic-source-section { margin:0 0 36px; }
.snu-guide .clinic-source-section h2, .snu-guide .guide-anchor { scroll-margin-top:115px; }
.snu-guide .clinic-article .aeo-content { width:100%; max-width:none; }
.snu-guide .clinic-article .aeo-photo { margin:26px 0; }
.snu-guide .clinic-article .aeo-photo img { display:block; width:100%; height:auto; max-width:680px; }
.snu-guide .clinic-article table { display:block; width:100%; overflow-x:auto; margin:24px 0; font-size:15px; line-height:1.65; }
.snu-guide .clinic-article th, .snu-guide .clinic-article td { min-width:130px; padding:12px; vertical-align:top; }
.snu-guide .guide-toc .aeo-toc { margin:0; padding:0; border:0; background:transparent; }
.snu-guide .guide-toc .aeo-toc ol { list-style:none; padding:0; }
.snu-guide .additional-toc { margin-top:24px; }
.snu-guide .article-additions { padding-top:30px; border-top:1px solid #d9cec4; scroll-margin-top:115px; }
.snu-guide .draft-review-note { font-size:14px!important; line-height:1.65!important; color:#6b625a; margin:0 0 30px; }
.snu-guide .topic-content p, .snu-guide .topic-content a { overflow-wrap:anywhere; }
.snu-guide .answer-section h2, .snu-guide .hub-group h2, .snu-guide .hub-clinic h2 { scroll-margin-top:140px; }
.snu-guide, .snu-guide-entry, .snu-guide-related { --guide-ink:#39332e; --guide-muted:#6b625a; --guide-accent:#8d6042; --guide-line:#e5ded7; --guide-paper:#f6f3ef; box-sizing:border-box; color:var(--guide-ink); }
.snu-guide *, .snu-guide-entry *, .snu-guide-related * { box-sizing:border-box; }
.snu-guide a:focus-visible, .snu-guide-entry a:focus-visible, .snu-guide-related a:focus-visible { outline:2px solid #8d6042; outline-offset:5px; }
.snu-guide { max-width:1200px; padding:62px 0 100px; }
.snu-guide .guide-crumb { color:var(--guide-muted); font-size:14px; margin-bottom:34px; }
.snu-guide .guide-crumb a { text-decoration:underline; text-underline-offset:4px; }
.snu-guide .guide-nav-row { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:14px 24px; margin-bottom:34px; }
.snu-guide .guide-nav-row .guide-crumb { margin:0; }
.snu-guide .guide-article-link { color:var(--guide-accent); font-size:15px; line-height:1.6; text-decoration:underline; text-underline-offset:5px; }
.snu-guide .guide-hero { display:grid; grid-template-columns:1.45fr 1fr; gap:48px; align-items:center; padding-bottom:50px; }
.snu-guide .guide-kicker, .snu-guide-entry .guide-kicker { color:var(--guide-accent); font-size:13px; letter-spacing:.12em; text-transform:uppercase; font-weight:500; margin:0 0 18px; }
.snu-guide h1 { font-size:clamp(34px,3.6vw,49px); line-height:1.18; letter-spacing:-.025em; font-weight:500; margin:0 0 22px; }
.snu-guide .guide-lead { font-size:19px; line-height:1.65; color:var(--guide-muted); margin:0; }
.snu-guide .guide-hero figure { margin:0; }
.snu-guide .guide-hero img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:2px; }
.snu-guide figcaption { color:var(--guide-muted); font-size:13px; margin-top:10px; }
.snu-guide .guide-location { border-top:1px solid var(--guide-line); margin-top:24px; padding-top:18px; font-size:14px; color:var(--guide-muted); }
.snu-guide .guide-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:66px; align-items:start; border-top:1px solid var(--guide-line); padding-top:46px; }
.snu-guide .guide-toc { position:sticky; top:138px; }
.snu-guide .guide-toc h2 { font-size:15px; font-weight:500; margin:0 0 16px; }
.snu-guide .guide-toc ol { list-style:none; padding:0; margin:0; }
.snu-guide .guide-toc li { border-bottom:1px solid var(--guide-line); }
.snu-guide .guide-toc a { display:flex; gap:12px; align-items:baseline; padding:11px 0; font-size:14px; line-height:1.5; color:var(--guide-muted); }
.snu-guide .guide-toc a:hover { color:var(--guide-accent); }
.snu-guide .guide-toc span { color:var(--guide-accent); font-size:12px; }
.snu-guide .guide-sections { min-width:0; }
.snu-guide .guide-section { scroll-margin-top:140px; padding:0 0 43px; margin:0 0 40px; border-bottom:1px solid var(--guide-line); }
.snu-guide .guide-number { color:var(--guide-accent); font-size:13px; letter-spacing:.1em; display:block; margin-bottom:12px; }
.snu-guide h2 { font-size:clamp(26px,2.5vw,33px); line-height:1.3; letter-spacing:-.015em; font-weight:500; margin:0 0 19px; }
.snu-guide h3 { font-size:20px; line-height:1.4; font-weight:500; margin:28px 0 12px; }
.snu-guide .guide-sections p, .snu-guide .guide-sections li { font-size:17px; line-height:1.8; }
.snu-guide .guide-sections p { margin:0 0 17px; }
.snu-guide .guide-sections ul { padding-left:22px; margin:18px 0; list-style:disc; }
.snu-guide .guide-sections li { list-style:inherit; margin:7px 0; }
.snu-guide .guide-answer { background:var(--guide-paper); padding:22px 25px; border-left:2px solid #b1805d; }
.snu-guide .guide-sections a { color:var(--guide-accent); text-decoration:underline; text-underline-offset:4px; }
.snu-guide .guide-table { width:100%; border-collapse:collapse; table-layout:fixed; margin:23px 0; text-align:left; font-size:15px; line-height:1.65; }
.snu-guide .guide-table th, .snu-guide .guide-table td { padding:15px 16px; border-bottom:1px solid var(--guide-line); vertical-align:top; overflow-wrap:break-word; }
.snu-guide .guide-table th { background:var(--guide-paper); font-weight:500; }
.snu-guide .guide-table th:first-child { width:31%; }
.snu-guide .guide-readmore { margin-top:24px!important; font-size:15px!important; }
.snu-guide .guide-visit { background:var(--guide-paper); padding:30px; margin-top:20px; }
.snu-guide .guide-visit h2 { font-size:28px; }
.snu-guide .guide-sources { margin-top:34px; color:var(--guide-muted); }
.snu-guide .guide-sources h2 { font-size:18px; }
.snu-guide .guide-sources li { font-size:14px; line-height:1.65; }
.snu-guide-entry { max-width:1200px; width:90%; margin:70px auto; background:#f6f3ef; padding:42px 46px; display:flex; align-items:center; gap:46px; font-family:"Jost","Roboto",sans-serif; text-align:left; }
.snu-guide-entry > div { flex:1; min-width:0; }
.snu-guide-entry h2 { font-family:inherit; font-size:clamp(27px,2.6vw,36px); line-height:1.25; font-weight:500; margin:0 0 15px; }
.snu-guide-entry p { font-size:17px; line-height:1.7; margin:0; color:var(--guide-muted); }
.snu-guide-entry a, .snu-guide .guide-visit .guide-button { background:#8d6042; color:#fff; display:inline-block; padding:15px 23px; border-radius:28px; font-size:15px; font-weight:500; line-height:1.5; text-align:center; text-decoration:none; }
.snu-guide-entry a { max-width:310px; }
.snu-guide-entry a:hover, .snu-guide .guide-visit .guide-button:hover { background:#5a514b; }
.aeo-main > .snu-guide-entry { width:100%; margin:38px 0 12px; }
.snu-guide-related { padding:25px 28px; margin:35px 0; background:#f6f3ef; border-left:2px solid #b1805d; }
.snu-guide-related h2 { font-size:23px; line-height:1.35; font-weight:500; margin:0 0 10px; }
.snu-guide-related p { font-size:16px; line-height:1.7; margin:0 0 12px; }
.snu-guide-related a { color:#8d6042; text-decoration:underline; text-underline-offset:4px; font-size:16px; }
.snu-guide-related ul { list-style:none!important; padding:0!important; margin:14px 0 24px!important; }
.snu-guide-related li { list-style:none!important; margin:10px 0; }
.snu-guide-related .snu-back-guide { display:inline-block; padding-top:14px; border-top:1px solid #ddd0c6; }
.snu-guide .topic-header { padding:0 0 38px; max-width:850px; }
.snu-guide .topic-header h1 { max-width:850px; margin-bottom:22px; }
.snu-guide .topic-content h2 { margin-top:42px; scroll-margin-top:140px; }
.snu-guide .topic-content > .guide-answer { margin-bottom:34px; }
.snu-guide .topic-summary { padding-bottom:28px; margin-bottom:30px; }
.snu-guide .topic-summary h2 { font-size:28px; margin-bottom:12px; }
.snu-guide .topic-summary h2 a { color:inherit; text-decoration:none; }
.snu-guide .topic-summary h2 a:hover { color:var(--guide-accent); }
.snu-guide .topic-summary .topic-read { font-size:15px; display:inline-block; padding:4px 0; }
.snu-guide .guide-toc .topic-back { margin-top:25px; padding-top:18px; border-top:1px solid var(--guide-line); }
.snu-guide a:focus-visible { outline:2px solid #8d6042; outline-offset:4px; }
.snu-treatment-links { scroll-margin-top:120px; margin-top:46px; padding-top:26px; border-top:1px solid #e5ded7; display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:15px 32px; text-align:left; font-family:"Jost","Roboto",sans-serif; }
.snu-treatment-links .snu-related-label { font-size:13px; color:#766c63; letter-spacing:.06em; text-transform:uppercase; }
.snu-treatment-links > div { display:flex; flex-wrap:wrap; gap:15px 32px; }
.snu-treatment-links a { color:#8d6042; font-size:16px; font-weight:500; line-height:1.7; text-decoration:underline; text-underline-offset:6px; text-decoration-color:#c8ab96; }
.snu-treatment-links a span { display:inline-block; margin-left:4px; }
.smile_pro .snu-treatment-links a { color:#2e241d; text-decoration-color:#62472f; }
.smile_pro .snu-treatment-links .snu-related-label { color:#3e3027; }
.snu-patient-guide-hub { width:90%; max-width:1200px; margin:0 auto; padding:90px 0 80px; font-family:"Jost","Roboto",sans-serif; color:#39332e; text-align:left; scroll-margin-top:120px; }
.snu-patient-guide-hub *, .snu-treatment-links * { box-sizing:border-box; font-family:inherit; }
.snu-patient-guide-hub .snu-hub-kicker { font-size:13px; line-height:1.6; font-weight:500; letter-spacing:.13em; color:#8d6042; text-transform:uppercase; margin:0 0 17px; }
.snu-patient-guide-hub h2 { font-size:clamp(30px,3vw,42px); line-height:1.25; font-weight:500; letter-spacing:-.025em; margin:0 0 16px; }
.snu-patient-guide-hub .snu-hub-intro > p:last-child { font-size:18px; line-height:1.7; color:#6b625a; margin:0; }
.snu-patient-guide-hub .snu-hub-topics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; margin:42px 0 32px; }
.snu-patient-guide-hub article { border-top:1px solid #d9cec4; padding-top:23px; }
.snu-patient-guide-hub .snu-hub-number { color:#9d7559; font-size:13px; letter-spacing:.08em; }
.snu-patient-guide-hub h3 { font-size:25px; line-height:1.35; font-weight:500; margin:14px 0 12px; }
.snu-patient-guide-hub article p { font-size:16px; line-height:1.75; color:#6b625a; margin:0 0 23px; min-height:56px; }
.snu-patient-guide-hub article ul { margin:0; padding:0; list-style:none; }
.snu-patient-guide-hub article li { list-style:none; margin:0 0 12px; }
.snu-patient-guide-hub article a { display:inline-flex; align-items:baseline; gap:12px; font-size:16px; line-height:1.65; color:#8d6042; text-decoration:underline; text-underline-offset:5px; text-decoration-color:#c8ab96; }
.snu-patient-guide-hub article a span { flex-shrink:0; text-decoration:none; }
.snu-patient-guide-hub .snu-hub-all { display:inline-flex; align-items:center; gap:18px; padding:12px 0; color:#5a514b; font-size:15px; line-height:1.6; border-bottom:1px solid #bfa18c; }
.snu-patient-guide-hub a:hover, .snu-treatment-links a:hover { color:#39332e; text-decoration-color:#39332e; }
.snu-patient-guide-hub a:focus-visible, .snu-treatment-links a:focus-visible { outline:2px solid #8d6042; outline-offset:5px; }
@media(min-width:1200px) {
 .snu-guide { width:calc(100% - 340px); max-width:1100px; }
}
@media(max-width:1199px) {
 .aeo-inquiry { bottom:26px; }
}
@media(max-width:900px) {
 .snu-guide .guide-hero { gap:30px; grid-template-columns:1.2fr 1fr; }
 .snu-guide .guide-layout { grid-template-columns:210px minmax(0,1fr); gap:30px; }
 .snu-guide-entry { padding:32px; gap:28px; }
}
@media(max-width:640px) {
 .snu-guide .topic-content h2 { margin-top:30px; scroll-margin-top:105px; }
 .snu-guide .topic-header { padding-bottom:28px; }
 .snu-topic .guide-toc ol { display:block!important; }
 .snu-treatment-links { justify-content:flex-start; margin-top:30px; padding-top:22px; gap:14px; scroll-margin-top:110px; }
 .snu-treatment-links > div { flex-direction:column; gap:16px; width:100%; }
 .snu-patient-guide-hub { padding:50px 0 48px; scroll-margin-top:95px; }
 .snu-patient-guide-hub .snu-hub-intro > p:last-child { font-size:17px; }
 .snu-patient-guide-hub .snu-hub-topics { grid-template-columns:1fr; gap:25px; margin:30px 0 20px; }
 .snu-patient-guide-hub article { padding-top:20px; }
 .snu-patient-guide-hub article p { min-height:0; margin-bottom:18px; }
 .snu-patient-guide-hub h3 { margin-top:10px; }
 .snu-guide { padding-top:34px; padding-bottom:65px; width:90%; }
 .snu-guide .guide-crumb { margin-bottom:25px; }
 .snu-guide .guide-hero { display:flex; flex-direction:column; gap:26px; align-items:stretch; padding-bottom:30px; }
 .snu-guide h1 { font-size:35px; }
 .snu-guide .guide-hero img { aspect-ratio:16/10; }
 .snu-guide .guide-lead { font-size:17px; }
 .snu-guide .guide-layout { display:block; padding-top:27px; }
 .snu-guide .guide-toc { position:static; margin-bottom:40px; }
 .snu-guide .guide-toc ol { display:grid; grid-template-columns:1fr 1fr; column-gap:20px; }
 .snu-guide .guide-toc a { font-size:13px; gap:7px; }
 .snu-guide .guide-section { scroll-margin-top:100px; padding-bottom:28px; margin-bottom:30px; }
 .snu-guide .guide-answer { padding:18px; }
 .snu-guide .guide-table th, .snu-guide .guide-table td { padding:12px 9px; font-size:14px; }
 .snu-guide .guide-visit { padding:24px 20px; }
 .snu-guide-entry { display:block; padding:28px 24px; margin:42px auto; }
 .snu-guide-entry a { margin-top:23px; max-width:none; }
}
