.sh-page { padding-top:32px; }
.sh-hero { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:60px; align-items:center; padding:16px 0 38px; }
.sh-page h1 { max-width:850px; }
.sh-page .sh-byline { font-size:12px; color:var(--st-muted); margin:0 0 26px; }
.sh-byline span { margin:0 8px; }
.sh-cover { position:relative; overflow:hidden; padding:30px 28px; background:#183f38; color:#f6f8ed; border-radius:16px; min-height:340px; display:flex; flex-direction:column; }
.sh-cover::after { content:''; position:absolute; width:220px; height:220px; border:1px solid #739889; border-radius:50%; right:-140px; top:110px; box-shadow:0 0 0 35px #ffffff07,0 0 0 70px #ffffff07; }
.sh-cover > span { font-size:10px; letter-spacing:1.3px; line-height:1.7; }
.sh-cover strong { font-size:68px; font-weight:650; letter-spacing:-4px; line-height:1.15; }
.sh-cover > span:first-child { margin-bottom:18px; }
.sh-cover > span:last-child { margin-top:18px; color:#c2d7cb; }
.sh-cover-line { display:flex; align-items:center; gap:14px; font-size:30px; color:#b5d883; height:45px; }
.sh-cover-line i { width:5px; height:5px; border-radius:50%; background:currentColor; }
.sh-science-nav { display:flex; flex-wrap:wrap; gap:8px; border-block:1px solid var(--st-line); padding:14px 0; margin-bottom:54px; }
.sh-science-nav a,.sh-science-nav > span { padding:8px 16px; border-radius:6px; font-size:13px; text-decoration:none; }
.sh-science-nav > span { background:#183f38; color:#fff; }
.sh-science-nav a:hover { background:#e7eee6; }
.sh-section { margin:0 0 64px; scroll-margin-top:30px; }
.sh-section-heading { max-width:850px; margin-bottom:30px; }
.sh-page .sh-section-heading > p:last-child { color:var(--st-muted); }
.sh-timeline { list-style:none; padding:0; margin:0; position:relative; }
.sh-timeline::before { content:''; position:absolute; top:20px; bottom:30px; left:108px; width:1px; background:#c9d9cf; }
.sh-event { display:grid; grid-template-columns:90px minmax(0,1fr); column-gap:44px; position:relative; margin:0 0 14px; }
.sh-event::before { content:''; position:absolute; left:104px; top:27px; width:9px; height:9px; border:2px solid #f6f8f4; border-radius:50%; background:#397765; }
.sh-year { padding-top:19px; font-size:17px; font-weight:700; letter-spacing:-.3px; }
.sh-event-card { padding:24px; border:1px solid var(--st-line); background:#fff; border-radius:12px; display:flex; gap:28px; justify-content:space-between; align-items:center; }
.sh-page .sh-event-card h3 { font-size:19px; line-height:1.35; font-weight:700; margin:0 0 10px; color:var(--st-ink); }
.sh-page .sh-event-card p { margin:0; color:var(--st-muted); font-size:15px; }
.sh-event-card a { display:inline-block; margin-top:12px; font-size:13px; font-weight:650; }
.sh-event-card img { flex:none; width:108px; height:108px; object-fit:contain; border-radius:8px; background:#f6f7f4; }
.sh-era { position:relative; display:flex; align-items:center; gap:24px; padding:26px 0 22px; background:#f6f8f4; }
.sh-era > span { min-width:110px; font-size:13px; font-weight:700; color:var(--st-accent); }
.sh-page .sh-era h3 { font-size:20px; font-weight:700; margin:0; color:var(--st-ink); }
.sh-event--ours .sh-event-card { background:#eaf1e8; border-color:#cbdccf; }
.sh-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.sh-product { display:flex; flex-direction:column; background:#fff; border:1px solid var(--st-line); border-radius:14px; padding:26px; }
.sh-product-logo { min-height:82px; display:flex; align-items:center; margin-bottom:22px; }
.sh-product-logo img { width:auto; height:auto; max-width:100%; max-height:64px; object-fit:contain; object-position:left; }
.sh-page .sh-product-tag { font-size:11px; font-weight:700; color:var(--st-accent); letter-spacing:.2px; margin:0 0 8px; }
.sh-page .sh-product h3 { font-size:23px; font-weight:700; margin:0 0 14px; color:var(--st-ink); }
.sh-page .sh-product > p:not(.sh-product-tag) { font-size:14px; color:var(--st-muted); }
.sh-product-links { margin-top:auto; display:flex; flex-wrap:wrap; gap:12px 20px; padding-top:10px; }
.sh-product-links a { font-size:13px; font-weight:700; }
.sh-evidence { display:grid; grid-template-columns:60px minmax(0,1fr); gap:22px; background:#e9eee0; border-radius:14px; padding:34px; margin-bottom:64px; }
.sh-evidence > span { font-size:42px; color:var(--st-accent); line-height:1.2; }
.sh-evidence p { max-width:940px; }
.sh-evidence a { font-weight:650; font-size:14px; }
.sh-practice { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.sh-practice > a { display:flex; flex-direction:column; padding:30px; background:#fff; border:1px solid var(--st-line); border-radius:14px; text-decoration:none; transition:border-color .15s; }
.sh-practice > a:hover { border-color:var(--st-accent); }
.sh-practice-symbol { display:flex; align-items:center; justify-content:center; align-self:flex-start; min-width:100px; height:72px; padding:0 14px; background:#edf2e7; border-radius:8px; font-size:28px; font-weight:700; margin-bottom:22px; }
.sh-practice > a:nth-child(2) .sh-practice-symbol { color:#9d4b65; background:#f6eaf0; }
.sh-page .sh-practice h3 { font-size:24px; font-weight:700; margin:0 0 12px; color:var(--st-ink); }
.sh-page .sh-practice p { color:var(--st-muted); }
.sh-link { margin-top:auto; font-size:14px; font-weight:700; }
.sh-all-theories { margin:22px 0 0!important; font-size:14px; font-weight:650; }
.sh-page .st-final .st-primary { display:inline-flex; color:#fff; text-decoration:none; }
@media(max-width:900px) { .sh-hero { grid-template-columns:minmax(0,1fr) 200px; gap:28px; } .sh-cover { padding:25px 20px; } .sh-cover strong { font-size:58px; } .sh-products { grid-template-columns:1fr; } .sh-product-logo { min-height:65px; margin-bottom:14px; } }
@media(max-width:600px) { .sh-page { padding:24px 16px 48px; } .sh-hero { grid-template-columns:1fr; gap:0; padding:0 0 26px; } .sh-cover { display:none; } .sh-science-nav { margin-bottom:34px; gap:3px; } .sh-science-nav a,.sh-science-nav > span { padding:8px 10px; font-size:12px; } .sh-event { grid-template-columns:1fr; gap:8px; padding-left:22px; margin-bottom:24px; } .sh-timeline::before { left:4px; } .sh-event::before { left:0; top:10px; } .sh-year { padding:0; font-size:16px; } .sh-event-card { padding:20px; gap:16px; flex-wrap:wrap; } .sh-event-card img { width:80px; height:80px; } .sh-era { flex-wrap:wrap; gap:8px; padding:24px 0 20px; } .sh-era > span { width:100%; } .sh-section { margin-bottom:44px; scroll-margin-top:90px; } .sh-evidence { grid-template-columns:1fr; padding:24px; gap:8px; margin-bottom:44px; } .sh-evidence > span { font-size:30px; } .sh-practice { grid-template-columns:1fr; } .sh-practice > a { padding:24px; } .sh-page .sh-byline { display:flex; flex-wrap:wrap; gap:4px; } }
.sh-product-logo a { display:inline-flex; max-width:100%; border-radius:6px; transition:opacity .15s; }
.sh-product-logo a:hover { opacity:.8; }
.sh-cta { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) 340px; align-items:center; gap:40px; padding:44px 48px; margin-top:54px; border-radius:20px; overflow:hidden; background:#183f38; color:#f8f8ec; }
.sh-page .sh-cta h2 { font-size:clamp(28px,3vw,38px); max-width:640px; margin-bottom:18px; }
.sh-page .sh-cta p { max-width:620px; color:#d2e3d7; }
.sh-page .sh-cta .st-eyebrow { color:#b5d883; }
.sh-page .sh-cta .st-primary { display:inline-flex; align-items:center; gap:24px; margin-top:8px; padding:14px 22px; background:#e9f2cd; color:#183f38; border-color:#e9f2cd; text-decoration:none; border-radius:8px; font-weight:750; }
.sh-page .sh-cta .st-primary:hover { background:#f4f7e6; }
.sh-cta-art { position:relative; display:grid; place-items:center; min-width:0; }
.sh-cta-art::before { content:''; position:absolute; width:320px; height:320px; border-radius:50%; background:#e3edce; box-shadow:0 0 0 24px #ffffff08,0 0 0 48px #ffffff05; z-index:-1; }
.sh-cta-art img { display:block; width:100%; max-width:340px; height:auto; transform:rotate(-7deg); }
@media(max-width:900px) { .sh-cta { grid-template-columns:minmax(0,1fr) 240px; gap:22px; padding:36px; } .sh-cta-art::before { width:220px; height:220px; } }
@media(max-width:600px) { .sh-cta { grid-template-columns:1fr; padding:28px 24px; margin-top:36px; gap:28px; } .sh-cta-art { grid-row:1; max-width:180px; justify-self:center; } .sh-cta-art::before { width:160px; height:160px; box-shadow:0 0 0 15px #ffffff08; } .sh-page .sh-cta .st-primary { width:100%; justify-content:center; } }
