/* Shared Sage Dad presentation. Public pages only; no workflow changes. */
:root{--sd-width:1200px;--sd-gutter:clamp(20px,4vw,48px);--sd-space:clamp(36px,5vw,64px);--sd-line:#cbd0c1;--sd-sans:Arial,Helvetica,sans-serif;--sd-serif:Georgia,'Times New Roman',serif}
body.sd-unified{margin:0;font-family:var(--sd-sans);font-size:16px;line-height:1.65}
.sd-unified *, .sd-unified *:before,.sd-unified *:after{box-sizing:border-box}
.sd-unified :is(h1,h2,h3,h4){font-family:var(--sd-serif);font-weight:400;line-height:1.18;letter-spacing:-.025em;overflow-wrap:break-word}
.sd-unified h1{font-size:clamp(38px,4.7vw,60px)}
.sd-unified h2{font-size:clamp(28px,3vw,38px)}
.sd-unified h3,.sd-unified h4{font-size:24px}
.sd-unified p{line-height:1.65}
.sd-unified :is(.eyebrow,.kicker,.journey-eyebrow){font:700 12px/1.5 var(--sd-sans);letter-spacing:.1em}
.sd-unified :is(.lede,.hero-intro,.intro){font-size:18px;line-height:1.65}
.sd-unified :is(.fine,.access-note,figcaption){font-size:14px;line-height:1.55}
.sd-unified :is(input,select,textarea){font-family:var(--sd-sans);font-size:16px;max-width:100%}
.sd-unified :is(.button,.primary-action,.light-action,.outline-action,.plain-link){font-family:var(--sd-sans);font-size:14px;line-height:1.5;white-space:normal}
.sd-unified :is(img,svg,video){max-width:100%}
.sd-unified :is(.home-width,.room-width,.room-hero,.room-modes,.detail-main,.shop-hero,.shop-layout,.store,.tsd-content.wrap){width:100%;max-width:var(--sd-width);margin-inline:auto;padding-inline:var(--sd-gutter)}
.sd-unified .tsd-content.wrap{padding-block:0}
.sd-unified :is(.home-width,.room-width,.room-hero,.shop-layout,.detail-main,.hero,.split,.intro-grid)>*{min-width:0}
.sd-unified :is(.section,.store-section,.room-collections,.room-grownups,.family-world,.home-story,.more-from-rob){padding-block:var(--sd-space)}
.sd-unified :is(.section,.store-section,.room-collections,.home-story,.more-from-rob){border-top:1px solid var(--sd-line)}
.sd-unified :is(.hero,.shop-hero,.room-hero){padding-top:var(--sd-space);padding-bottom:var(--sd-space)}
/* The same shell on every subsite, insulated from local nav/heading rules. */
body.sd-unified .sd-header{display:flex;position:relative;z-index:5;align-items:center;flex-wrap:wrap;gap:16px 24px;width:100%;max-width:none;margin:0;min-height:96px;padding:20px max(var(--sd-gutter),calc((100% - var(--sd-width))/2 + var(--sd-gutter)));background:#f4eddf;color:#183829;border:0;border-bottom:1px solid #cbd0c1;font:14px/1.5 var(--sd-sans)}
.sd-header .tsd-brand{display:flex;align-items:center;gap:12px;flex-shrink:0;color:inherit;text-decoration:none}
.sd-header .tsd-brand-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid #183829;border-radius:50%;font:italic 28px/1 var(--sd-serif)}
.sd-header .tsd-brand strong{display:block;font:700 14px/1.3 var(--sd-sans);letter-spacing:.05em;text-transform:uppercase}
.sd-header .tsd-brand small{display:block;margin-top:5px;font:10px/1.4 var(--sd-sans);letter-spacing:.08em;text-transform:uppercase}
.sd-header .tsd-primary-nav{display:flex;flex:1;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:4px 18px;margin:0;padding:0}
body.sd-unified :is(.sd-header,.sd-footer) .tsd-primary-nav a{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:8px 0;border:0;border-bottom:2px solid transparent;font:600 13px/1.5 var(--sd-sans);letter-spacing:0;text-transform:none;color:inherit;text-decoration:none;white-space:normal}
.sd-header .tsd-primary-nav a[aria-current=page]{border-bottom-color:#914624!important;color:#813e21!important}
.sd-header .tsd-field-notes{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid #66745c;color:inherit;font:600 13px/1.5 var(--sd-sans);text-transform:none;letter-spacing:0;white-space:nowrap;text-decoration:none}
body.sd-unified .sd-footer{display:grid;grid-template-columns:1fr 2fr;gap:40px;width:100%;max-width:none;margin:56px 0 0;padding:48px max(var(--sd-gutter),calc((100% - var(--sd-width))/2 + var(--sd-gutter)));background:#183829;color:#f4eddf;border:0;text-align:left;font:14px/1.6 var(--sd-sans)}
.sd-footer .tsd-footer-brand strong{font:700 14px/1.5 var(--sd-sans);letter-spacing:.06em;text-transform:uppercase}
.sd-footer .tsd-footer-brand p{font:20px/1.5 var(--sd-serif);margin:16px 0}
.sd-footer .tsd-footer-brand small{display:block;font:12px/1.6 var(--sd-sans);letter-spacing:0;text-transform:none;color:#d4ddcf}
.sd-footer .tsd-primary-nav,.sd-footer .tsd-footer-more{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:4px 20px;padding:0;margin:0}
.sd-footer .tsd-footer-more{margin-top:16px;padding-top:16px;border-top:1px solid #5c705f}
.sd-footer .tsd-footer-more a{font:14px/1.6 var(--sd-sans);color:#e4e7db;min-height:36px;padding:6px 0;margin:0;text-decoration:underline;text-underline-offset:4px}
/* Homepage: readable copy and block-level adult-content note. */
.sd-home :is(.front-bread-copy>p,.front-prices,.front-elf>p,.family-intro>p,.activity-choices p,.path-small p,.family-newsletter p,.story-intro>p){font-size:16px!important;line-height:1.65!important}
.sd-home :is(.front-bread-copy .fulfillment,.front-elf .elf-detail,.family-newsletter .access-note){font-size:14px!important}
.sd-home :is(.arrival h1){font-size:clamp(38px,4.7vw,60px);line-height:1.12}
.sd-home :is(.front-bread h2,.front-elf h2,.family-intro h2,.home-story h2){font-size:clamp(30px,3.2vw,40px);line-height:1.15}
.sd-home :is(.family-subhead h3,.family-books h3,.family-newsletter h3,.activity-choices h4){font-size:24px}
.sd-home .more-from-rob{grid-template-columns:1fr 2fr;gap:32px}
.sd-home .more-from-rob h2{font-size:28px}
.sd-home .more-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.sd-home .more-links>a{display:block;min-width:0;font-size:16px}
.sd-home .more-links>a>strong{display:block;font-size:20px;line-height:1.4;margin-bottom:12px}
.sd-home .more-links>a>span{display:block;font-size:16px;line-height:1.65}
.sd-home .more-links .ip-content-note{display:block;margin:20px 0 0;padding:14px 16px;font:14px/1.6 var(--sd-sans);background:#eae5d9;border-left:3px solid #8b443b}
.sd-home .more-links .ip-content-note strong{display:inline;font:700 14px/1.6 var(--sd-sans);text-decoration:none;margin:0}
.sd-home #main-content>section[style]{max-width:var(--sd-width)!important;margin:0 auto!important;padding:var(--sd-space) var(--sd-gutter)!important;border-top:1px solid var(--sd-line)}
/* Activity feature and detail pages: minmax prevents intrinsic image widths expanding columns. */
.sd-activities .daily-word-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;margin:0 auto;padding-block:var(--sd-space);border-block:1px solid var(--sd-line)}
.sd-activities .daily-word-feature>*{min-width:0}
.sd-activities .daily-word-feature h2{font:400 clamp(28px,3vw,38px)/1.18 var(--sd-serif)}
.sd-activities .daily-word-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}
.sd-activities .daily-word-cards>a{display:block;min-width:0}
.sd-activities .daily-word-cards img{display:block;width:100%;height:auto}
.sd-activities .daily-library-link{grid-column:1/-1}
.sd-activities .detail-main{padding-block:36px 64px}
.sd-activities .detail-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:48px}
.sd-activities .detail-top img{width:100%;height:auto;max-width:420px}
.sd-activities :is(.activity-details,.foundation-plan){padding-block:28px;border-top:1px solid var(--sd-line);margin-top:24px}
/* Subsite outer edges match; reading columns and game boards remain purpose-sized. */
.sd-daily-puzzles main{width:100%;max-width:var(--sd-width);margin:auto;padding:0 var(--sd-gutter)}
.sd-daily-puzzles .game-shell{max-width:100%;margin:0 auto}
.sd-daily-puzzles .weave-row{grid-template-columns:minmax(70px,120px) minmax(0,1fr) minmax(70px,120px)}
.sd-daily-puzzles .letter-boxes{max-width:100%;gap:clamp(2px,.5vw,5px)}
.sd-daily-puzzles .letter-boxes input{width:39px;max-width:12%;font-size:21px}
.sd-computer-lab main> :is(section,.promise){width:100%;max-width:var(--sd-width);margin-inline:auto;padding-inline:var(--sd-gutter)}
.sd-computer-lab main>section{padding-block:var(--sd-space)}
.sd-computer-lab main>section+section{border-top:1px solid var(--sd-line)}
.sd-games #sm99-game>.wrap{width:100%;max-width:var(--sd-width);padding-inline:var(--sd-gutter);margin-inline:auto}
.sd-games #sm99-game>.band{padding-block:var(--sd-space);border-top:1px solid var(--sd-line)}
.sd-stocking-pages :is(.band,.order){padding-block:var(--sd-space);border-top:1px solid var(--sd-line)}
.sd-stocking-pages .order{padding-inline:24px}
.sd-unified :is(.narrow,.article){max-width:760px}
@media(max-width:1100px){body.sd-unified .sd-header .tsd-primary-nav{order:3;flex-basis:100%;justify-content:flex-start;gap:4px 22px}.sd-header .tsd-field-notes{margin-left:auto}}
@media(max-width:760px){body.sd-unified .sd-footer{grid-template-columns:1fr;gap:28px}.sd-home .more-from-rob,.sd-home .more-links,.sd-activities .daily-word-feature,.sd-activities .detail-top{grid-template-columns:minmax(0,1fr);gap:28px}.sd-activities .daily-word-cards{gap:12px}.sd-home .front-bread{grid-template-columns:1fr}.sd-home .front-photo{height:240px;min-height:240px}.sd-home .front-bread-copy{padding:24px}.sd-home .family-books .path-small{grid-template-columns:minmax(0,1fr) 100px}.sd-daily-puzzles .hero{gap:20px}.sd-daily-puzzles .hero-art{max-width:35%}.sd-daily-puzzles .game-shell{padding:20px 16px}.sd-daily-puzzles .weave-row{gap:8px}.sd-unified .detail-top figure{margin-inline:0}.sd-header .tsd-brand small{font-size:9px}.sd-header .tsd-field-notes{font-size:12px;padding:8px 10px}.sd-unified :is(.intro-grid,.membership){gap:28px}}
@media(max-width:480px){.sd-daily-puzzles .weave-row{grid-template-columns:1fr 1fr}.sd-daily-puzzles .weave-row .link-form{grid-column:1/-1;grid-row:2}.sd-daily-puzzles .games{grid-template-columns:1fr}.sd-daily-puzzles .hero-art{display:none}.sd-daily-puzzles .letter-boxes input{max-width:11%;height:44px}.sd-header .tsd-brand strong{font-size:12px}.sd-header .tsd-brand-mark{width:36px;height:36px}.sd-header .tsd-brand{gap:8px}}
@media print{.sd-header,.sd-footer{display:none!important}}
/* Keep local hero styles within the shared type scale. */
body.sd-unified :is(.hero,.room-hero,.shop-hero,.store-hero,.book-hero,.fd-intro) h1{font-size:clamp(38px,4.7vw,60px);line-height:1.15}
.sd-unified .activity-tools,.sd-unified .room-subnav{padding-inline:max(var(--sd-gutter),calc((100% - var(--sd-width))/2 + var(--sd-gutter)))}
.sd-bread :is(.bread-ingredients,.bread-care){width:100%;max-width:var(--sd-width);margin-inline:auto;padding:var(--sd-space) var(--sd-gutter);border-top:1px solid var(--sd-line)}
.sd-activities main>.hero,.sd-activities main>.section>.wrap{width:100%;max-width:var(--sd-width);margin-inline:auto;padding-inline:var(--sd-gutter)}
.sd-games #sm99-game .hero>.wrap{width:100%;max-width:var(--sd-width);margin-inline:auto;padding-inline:var(--sd-gutter)}
body.sd-games #sm99-game .hero h1{font-size:clamp(38px,4.7vw,60px);line-height:1.15}
.sd-unified .journey-main{width:100%;max-width:var(--sd-width);margin-inline:auto;padding-inline:var(--sd-gutter)}
.sd-unified main>.journey-invite{max-width:1104px;margin-inline:auto}
.sd-unified .journey-main>.journey-invite{width:100%;max-width:100%}
@media(max-width:1200px){.sd-unified main>.journey-invite{margin-inline:var(--sd-gutter)}.sd-unified .journey-main>.journey-invite{margin-inline:0}}
/* Shared reading scale; game tiles, prices and illustration lettering keep their own sizing. */
.sd-unified main p:not(.eyebrow):not(.kicker):not(.journey-eyebrow):not(.computer-symbol):not(.price):not(.subline):not(.signature):not(.word-anchor){font-size:16px;line-height:1.65}
.sd-unified main :is(p.fine,p.access-note,p.journey-fine,p.meta,p.hero-note,p.daily-word-free){font-size:14px}
.sd-unified main :is(p.lede,p.hero-intro,p.intro){font-size:18px}
.sd-unified main :is(.card,.activity-card,.collection-card,.fd-card,.pair-card) :is(h2,h3){font-size:24px;line-height:1.2}
.sd-footer #tsd-privacy-controls{grid-column:1/-1;margin:0;padding-top:20px;border-top:1px solid #5c705f;font-size:14px}
.sd-footer #tsd-privacy-controls>a[href="/privacy/"]{display:none}
