/* Homepage — composed editorial surfaces, isolated from legacy templates. */
.studio-home { color:var(--studio-ink); background:var(--studio-paper); }
.studio-home h1,.studio-home h2,.studio-home h3 { margin:0; color:inherit; font-family:"Geist",system-ui,sans-serif; font-weight:500; letter-spacing:-.045em; }
.studio-home p { margin:0; }
.studio-home a { color:inherit; text-decoration:none; }
.studio-home em { font-family:"Source Serif 4",Georgia,serif; font-weight:400; }
.sh-hero { display:grid; grid-template-columns:1.25fr 1fr; gap:66px; align-items:center; padding-top:60px; padding-bottom:58px; }
.sh-note { display:flex; align-items:center; gap:10px; font-size:12px; color:var(--studio-muted); margin-bottom:24px!important; }
.sh-note__leaf { width:22px; height:24px; flex:0 0 22px; color:var(--studio-accent); }
.studio-home h1 { font-size:clamp(52px,5.4vw,78px); line-height:1.035; letter-spacing:-.058em; font-weight:500; }
.studio-home h1 em { color:var(--studio-green); letter-spacing:-.055em; white-space:nowrap; }
.sh-hero__lede { margin-top:26px!important; max-width:430px; color:var(--studio-muted); font-size:16px; line-height:1.75; }
.sh-actions { display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin-top:30px; }
.sh-button { display:inline-flex; align-items:center; justify-content:space-between; gap:27px; padding:15px 22px; border:1px solid var(--studio-green); border-radius:4px; background:var(--studio-green); color:#fff!important; min-height:52px; font-size:14px; font-weight:500; transition:background .2s,transform .2s; }
.sh-button:hover { background:#193e30; transform:translateY(-2px); }
.sh-button span { font-size:22px; line-height:1; }
.sh-text-link { display:inline-flex; align-items:center; gap:22px; min-height:44px; font-size:13px; font-weight:550; }
.sh-text-link>span { font-size:21px; line-height:1; transition:transform .2s; }
a:hover .sh-text-link>span,.sh-text-link:hover>span { transform:translate(2px,-2px); }
.sh-hero__footnote { display:flex; align-items:center; gap:8px; margin-top:28px; color:var(--studio-muted); font-size:10px; letter-spacing:.01em; }
.sh-small-mark { display:inline-grid; place-items:center; border:1px solid #91a48a; width:15px; height:15px; border-radius:50%; font-size:9px; color:var(--studio-green); }
.sh-feature { display:block; border-radius:7px; overflow:hidden; background:#f0f2e8; align-self:stretch; transition:box-shadow .25s; }
.sh-feature:hover { box-shadow:0 10px 30px #172e280c; }
.sh-feature__art { position:relative; background:#ebefe2; padding-top:30px; overflow:hidden; }
.sh-feature__caption { position:absolute; top:26px; left:28px; color:#53694d; font-size:9px; letter-spacing:.13em; font-weight:600; }
.sh-feature__art svg { display:block; width:100%; height:300px; transition:transform .5s ease; }
.sh-feature:hover .sh-feature__art svg { transform:translateY(-4px); }
.sh-feature__edition { position:absolute; left:28px; bottom:14px; color:#637558; font-size:10px; }
.sh-feature__body { display:flex; justify-content:space-between; gap:15px; align-items:center; background:#e2e9d8; padding:24px 28px; }
.sh-category { display:block; color:var(--studio-muted); font-size:11px; font-weight:500; margin-bottom:10px; }
.sh-feature h2 { font-size:26px; line-height:1.16; letter-spacing:-.04em; }
.sh-round-arrow { display:grid; place-items:center; width:42px; height:42px; border:1px solid #acbda2; border-radius:50%; font-size:22px; flex-shrink:0; transition:background .2s; }
.sh-feature:hover .sh-round-arrow { background:#c9d8bc; }
.sh-search { border-top:1px solid var(--studio-line); border-bottom:1px solid var(--studio-line); display:grid; grid-template-columns:1fr 1.75fr; align-items:center; gap:40px; padding-block:24px; }
.sh-search>div { display:flex; align-items:center; gap:20px; }
.sh-search__index { font-size:11px; color:#83927f; letter-spacing:.06em; }
.sh-search label { font-size:16px; letter-spacing:-.3px; }
.sh-search form { display:flex; align-items:center; gap:13px; background:#fff; border:1px solid #d6ded1; border-radius:4px; padding:5px 5px 5px 16px; }
.sh-search form>svg { width:19px; height:19px; flex-shrink:0; color:#5f6c64; }
.sh-search input { width:100%; min-width:0; border:0; background:transparent; padding:10px 0; color:var(--studio-ink); font:inherit; font-size:13px; box-shadow:none; }
.sh-search input::placeholder { color:#7c877e; }
.sh-search button { display:flex; align-items:center; gap:17px; border:0; border-radius:3px; background:#eff2eb; color:var(--studio-ink); font:inherit; font-size:12px; min-height:44px; padding:10px 17px; cursor:pointer; }
.sh-search button:hover { background:#dfe7d8; }
.sh-topics { padding-block:58px 24px; scroll-margin-top:24px; }
.sh-topics__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--studio-line); }
.sh-topics__grid>a { position:relative; padding:23px 30px 24px 0; margin-right:24px; border-bottom:1px solid var(--studio-line); transition:color .18s; }
.sh-topics__grid h3 { font-size:18px; line-height:1.35; letter-spacing:-.025em; }
.sh-topics__grid p { margin-top:8px; font-size:12px; line-height:1.65; color:var(--studio-muted); }
.sh-topics__grid>a>span { position:absolute; right:0; top:23px; color:var(--studio-green); transition:transform .18s; }
.sh-topics__grid>a:hover h3 { text-decoration:underline; text-underline-offset:4px; }
.sh-topics__grid>a:hover>span { transform:translateX(3px); }
.sh-topics__help { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px 25px; padding-top:22px; font-size:12px; color:var(--studio-muted); }
.sh-topics__help a { color:var(--studio-green); text-decoration:underline; text-underline-offset:4px; display:inline-block; padding-block:10px; }
.sh-tools { padding-block:58px 80px; }
.sh-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; margin-bottom:36px; }
.sh-kicker { font-size:12px; color:var(--studio-muted); margin-bottom:12px!important; }
.sh-section-head h2 { font-size:40px; line-height:1.12; }
.sh-tools__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--studio-line); }
.sh-tool { padding:26px 28px 8px; border-right:1px solid var(--studio-line); transition:background .2s; }
.sh-tool:first-child { padding-left:0; } .sh-tool:last-child { border-right:0; padding-right:0; }
.sh-tool__top { display:flex; justify-content:space-between; align-items:center; margin-bottom:27px; }
.sh-tool__top svg { width:41px; height:41px; color:#52724f; }
.sh-tool__top>span { font-size:11px; color:#7b8b78; }
.sh-tool h3 { font-size:23px; letter-spacing:-.035em; line-height:1.25; }
.sh-tool p { color:var(--studio-muted); font-size:13px; line-height:1.7; margin-top:13px; max-width:280px; min-height:66px; }
.sh-tool__cta { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:44px; margin-top:12px; font-size:12px; font-weight:550; }
.sh-tool__cta>span { font-size:22px; transition:transform .2s; }
.sh-tool:hover .sh-tool__cta>span { transform:translate(3px,-3px); }
.sh-tool:hover h3 { color:var(--studio-green); }
.sh-life { padding:68px 0; background:#203d31; color:#f4f3e8; }
.sh-life__grid { display:grid; grid-template-columns:1fr 1.05fr; gap:90px; align-items:center; }
.sh-life .sh-kicker { color:#b8c9ae; }
.sh-life h2 { font-size:44px; line-height:1.1; letter-spacing:-.04em; }
.sh-life h2 em { color:#ccd8ba; }
.sh-life__intro>p:not(.sh-kicker) { max-width:340px; font-size:14px; color:#c0cdbd; line-height:1.7; margin-top:22px; }
.sh-life .sh-text-link { color:#f4f3e8; margin-top:20px; }
.sh-life__links a { display:flex; align-items:center; gap:20px; padding:22px 0; border-bottom:1px solid #ffffff24; }
.sh-life__links a:first-child { border-top:1px solid #ffffff24; }
.sh-life__number { color:#b7c7aa; font-size:10px; align-self:flex-start; padding-top:6px; }
.sh-life__links h3 { font-size:20px; letter-spacing:-.025em; }
.sh-life__links p { color:#bdcbb5; font-size:12px; margin-top:4px; }
.sh-life__arrow { margin-left:auto; color:#dce4cf; font-size:25px; transition:transform .2s; }
.sh-life__links a:hover .sh-life__arrow { transform:translate(3px,-3px); }
.sh-life :focus-visible { outline-color:#e7c39c; }
.sh-reading { padding-block:85px; }
.sh-reading__grid { display:grid; grid-template-columns:1fr 1.05fr; gap:64px; }
.sh-story__art { background:#efe9df; border-radius:5px; overflow:hidden; }
.sh-story__art svg { display:block; width:100%; height:235px; transition:transform .5s; }
.sh-story:hover .sh-story__art svg { transform:rotate(-2deg) scale(1.03); }
.sh-story__content { padding-top:22px; }
.sh-story h3 { font-size:29px; line-height:1.18; max-width:430px; }
.sh-story p { font-size:14px; color:var(--studio-muted); line-height:1.6; margin-top:14px; max-width:400px; }
.sh-story .sh-text-link { margin-top:14px; }
.sh-story-row { display:block; position:relative; padding:24px 36px 25px 0; border-top:1px solid var(--studio-line); }
.sh-story-row:last-child { border-bottom:1px solid var(--studio-line); }
.sh-story-row h3 { font-size:24px; line-height:1.2; letter-spacing:-.035em; max-width:440px; }
.sh-story-row p { font-size:13px; color:var(--studio-muted); margin-top:12px; max-width:410px; }
.sh-story-row>span:last-child { position:absolute; right:0; top:50%; font-size:25px; color:var(--studio-green); transition:transform .2s; }
.sh-story-row:hover>span:last-child { transform:translate(3px,-3px); }
.sh-approach { display:grid; grid-template-columns:60px 1fr auto; gap:30px; align-items:center; border-top:1px solid var(--studio-line); padding-block:44px 64px; }
.sh-approach__mark { font:60px "Source Serif 4",Georgia,serif; color:#a96745; align-self:flex-start; }
.sh-approach h2 { font-size:30px; line-height:1.15; }
.sh-approach h2 em { color:#59734e; }
.sh-approach p { margin-top:16px; max-width:530px; font-size:13px; line-height:1.75; color:var(--studio-muted); }
@media(max-width:1100px) { .sh-hero { gap:35px; grid-template-columns:1.2fr 1fr; } .studio-home h1 { font-size:64px; } .sh-feature__art svg { height:285px; } .sh-life__grid { gap:50px; } }
@media(max-width:850px) { .sh-hero { gap:30px; padding-top:40px; } .studio-home h1 { font-size:51px; } .sh-hero__lede { font-size:14px; } .sh-actions { gap:12px; } .sh-button { padding:13px 16px; } .sh-feature__body { padding:22px; } .sh-feature h2 { font-size:24px; } .sh-search { grid-template-columns:1fr; gap:16px; } .sh-tools { padding-block:55px; } .sh-tool { padding-inline:20px; } .sh-tool h3 { font-size:21px; } .sh-life h2 { font-size:38px; } .sh-life__links h3 { font-size:18px; } .sh-reading__grid { gap:35px; } }
@media(max-width:640px) {
 .sh-topics { padding-top:36px; } .sh-topics__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
 .sh-topics__grid>a { margin-right:0; padding:18px 16px 18px 0; } .sh-topics__grid h3 { font-size:17px; } .sh-topics__grid p { font-size:12px; } .sh-topics__grid>a>span { top:19px; }
 .sh-topics__help { display:block; } .sh-topics__help p { margin-bottom:2px; }
 .sh-hero { grid-template-columns:1fr; gap:30px; padding-top:34px; padding-bottom:32px; }
 .studio-home h1 { font-size:clamp(43px,10.5vw,65px); } .sh-note { margin-bottom:22px!important; font-size:11px; }
 .sh-hero__lede { margin-top:22px!important; font-size:15px; max-width:420px; } .sh-actions { margin-top:22px; gap:19px; }
 .sh-hero__footnote { margin-top:22px; font-size:9px; } .sh-feature__art svg { height:235px; } .sh-feature__art { padding-top:25px; }
 .sh-feature__caption { top:22px; left:22px; } .sh-feature__edition { left:22px; } .sh-feature__body { padding:22px; }
 .sh-feature h2 { font-size:27px; } .sh-search { padding-block:22px; gap:16px; } .sh-search label { font-size:15px; }
 .sh-search form { gap:8px; padding-left:10px; } .sh-search input { font-size:16px; } .sh-search input::placeholder { font-size:12px; }
 .sh-search button { padding-inline:12px; } .sh-search button span { display:none; }
 .sh-section-head { display:block; margin-bottom:24px; } .sh-section-head h2 { font-size:33px; } .sh-section-head>.sh-text-link { margin-top:10px; }
 .sh-tools__grid { grid-template-columns:1fr; } .sh-tool,.sh-tool:first-child,.sh-tool:last-child { border-right:0; border-bottom:1px solid var(--studio-line); padding:25px 0 19px; }
 .sh-tool__top { margin-bottom:16px; } .sh-tool h3 { font-size:24px; } .sh-tool p { min-height:0; max-width:none; font-size:14px; } .sh-tool__cta { margin-top:7px; }
 .sh-life { padding-block:45px; } .sh-life__grid { grid-template-columns:1fr; gap:28px; } .sh-life h2 { font-size:39px; } .sh-life__links a { gap:15px; padding-block:21px; }
 .sh-life__links h3 { font-size:20px; } .sh-life__links p { font-size:12px; max-width:235px; }
 .sh-reading { padding-block:52px; } .sh-reading__grid { grid-template-columns:1fr; gap:30px; } .sh-story__art svg { height:220px; } .sh-story h3 { font-size:28px; }
 .sh-story-row h3 { font-size:25px; } .sh-approach { grid-template-columns:1fr; gap:15px; padding-block:35px 45px; } .sh-approach__mark { display:none; } .sh-approach h2 { font-size:30px; }
}
