/* Shared reading and layout rules, 19 October 2026.
   Keep the original artwork. Make light, type and spacing do the work. */
:root{font-size:16px;--reading-muted:#52616a;--reading-gold:#775b29}
.community-copy{max-width:65ch;font-size:1.0625rem;line-height:1.7;margin:0 0 28px}
.registration-status{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.registration-status strong{display:block;margin-bottom:8px}
#make-dedication:disabled{opacity:.5;cursor:not-allowed}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:1rem;line-height:1.6}
p{line-height:1.65}
button,input,select,textarea{font:inherit}
a,button,summary,input,select{scroll-margin-block:24px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.eyebrow,.small-label{font-size:.875rem;line-height:1.6;letter-spacing:.03em}
.small-label,.muted,.closing-note,.story-direction,.story-follow>span,.evidence-note,.form-note{color:var(--reading-muted)}
.hero-description,.why-heading>p,.approach-intro p,.audience-lead>p,.standards-layout>div>p,.research-intro,.research-split>p,.research-split>div>p:not(.eyebrow){font-size:1.0625rem;line-height:1.7}
.care-step small,.evidence-list details>p,.creative-notes p,.research-disclosure p,.pathway p,.evidence-grid p,.privacy-preview p{font-size:1rem;line-height:1.65}
.button,.line-link,.round-link,.hero-text-link,.copy-dedication,.audience-tabs button,.evidence-list summary,.research-disclosure summary,.social-tabs button,.text-button,.sample-button,.privacy-preview summary,.back-link{font-size:1rem;line-height:1.5}
.button{min-height:48px;gap:24px}
.line-link,.hero-text-link,.text-button,.sample-button,.back-link,.evidence-grid a{min-height:44px}
.header{position:relative;height:auto;min-height:120px;background:var(--deep);padding:18px 5vw;gap:24px}
.brand-sub{font-size:.875rem;line-height:1.4;letter-spacing:.05em;margin-left:0;width:100%;text-align:center;white-space:normal}
.brand{gap:8px;max-width:225px}
.nav{font-size:1rem;gap:26px}
.nav a{min-height:44px;display:flex;align-items:center}
.studio-link span{margin-left:12px}
.hero{height:auto;min-height:740px;max-height:none}
.hero-image{object-position:68% 50%;animation:none}
.hero-shade{background:linear-gradient(90deg,rgba(20,37,46,.75),rgba(20,37,46,.66) 36%,rgba(20,37,46,.12) 57%,transparent 72%)}
.hero-content{padding:84px 6.4vw 175px;max-width:810px}
.hero h1{font-size:clamp(90px,10vw,148px)}
.hero-description{color:var(--ivory);max-width:440px}
.hero-actions{flex-wrap:wrap;gap:24px 32px}
.hero-text-link{max-width:none}
.round-link small{font-size:.875rem;opacity:1;line-height:1.5;color:var(--champagne)}
.play-circle{flex-shrink:0;width:52px;height:52px}
.hero-bottom{bottom:0;left:0;right:0;padding:22px 6.4vw;background:var(--deep);font-size:.875rem;letter-spacing:.03em;align-items:center;gap:24px}
.hero-bottom>a{min-height:44px}
.hero-bottom>span{font-size:.875rem;color:var(--ivory)}
.concept-tag{top:22px;right:24px;writing-mode:horizontal-tb;padding:7px 12px;background:var(--deep);font-size:.875rem;opacity:1;letter-spacing:.06em;line-height:1.5}
.concept-tag span{margin:0 0 0 16px}
.section-top{align-items:flex-start;gap:24px;flex-wrap:wrap}
.section-top .small-label{text-align:right}
.bond-image{padding-bottom:50px}
.bond-image img{max-height:calc(100% - 50px)}
.bond-image:after{bottom:50px}
.bond-image figcaption{font-size:.875rem;line-height:1.5;gap:16px;flex-wrap:wrap}
.image-caption{bottom:86px}
.care-step b{font-size:1.0625rem;line-height:1.5}
.care-step i,.step-number{color:var(--reading-gold)}
.audience-tabs button{min-width:0;align-items:center;color:var(--reading-muted)}
.audience-lead .eyebrow{font-size:.875rem;color:var(--reading-gold)}
.memory-options label{font-size:1rem;line-height:1.5;min-height:44px}
.memory-options input{width:20px;height:20px;flex-shrink:0}
#dog-name::placeholder{color:#5b6870;opacity:1}
.dedication-card{transform:none}
.dedication-sign{flex-wrap:wrap;gap:18px}
.dedication-sign small{font-size:.875rem;letter-spacing:.05em}
.copy-status{position:static;display:block;font-size:.875rem;line-height:1.5;min-height:0}
.copy-status:not(:empty){padding:0 0 16px}
.standard-seal>div{font-size:.875rem;letter-spacing:.06em}
.standard-seal small{font-size:1.25rem;line-height:1.4}
.studio .small-label,.studio-intro p,.studio-materials>div>p:last-child,.creative-notes p{color:#e6e7e1}
.studio-intro p{max-width:390px}
.campaign{height:490px}
.campaign-door img{filter:none}
.campaign-meta{font-size:.875rem;line-height:1.5;left:24px;right:24px;letter-spacing:.06em}
.campaign-title{right:40px}
.campaign-title small{font-size:1rem;line-height:1.6;max-width:100%;opacity:1}
.campaign-type{font-size:clamp(50px,4.5vw,70px);top:110px}
.campaign-turn .campaign-title{font-size:36px}
.studio-materials{align-items:stretch}
.download-card{min-height:280px;display:flex;flex-direction:column}
.download-card>span{font-size:.875rem;line-height:1.5;letter-spacing:.04em}
.download-card>small{font-size:1rem;line-height:1.5;margin-top:auto;gap:18px}
.creative-notes summary{min-height:56px}
footer{flex-wrap:wrap;align-items:center}
footer>p,footer>div{font-size:.875rem;line-height:1.7}
footer>div{flex-wrap:wrap;gap:12px 24px}
footer button,footer>div>a{font-size:1rem;min-height:44px;display:inline-flex;align-items:center}
footer p span{color:var(--reading-muted)}
.story-image>span{font-size:.875rem;line-height:1.5;max-width:calc(100% - 80px)}
.story-image img{filter:brightness(.9)}
.story-image:after{content:'';position:absolute;inset:0;background:linear-gradient(#25374099,transparent 30%,transparent 45%,#253740cc);pointer-events:none}
.story-image>span,.story-image-copy{z-index:1}
.story-content{padding-top:72px}
.story-copy,.story-direction,.story-follow{font-size:1rem;line-height:1.65}
.story-note{font-size:.875rem;line-height:1.5;color:var(--reading-muted)}
.close-dialog{width:48px;height:48px}
.story-dots button{height:44px;min-width:44px}
.story-dots button:after{top:21px}
.story-controls{font-size:1rem;flex-wrap:wrap}
.story-controls button{min-width:44px;height:48px}
#story-play{font-size:1rem}
.research-header{height:auto;min-height:120px;gap:28px}
.research-hero .hero-actions{max-width:100%}
.research-status{font-size:.875rem;line-height:1.6;letter-spacing:.06em;flex-wrap:wrap}
.research-nav{font-size:1rem;flex-wrap:wrap;gap:8px 28px;padding-block:12px}
.research-nav a{display:flex;align-items:center;min-height:44px}
.country-line{font-size:1rem;line-height:1.6;flex-wrap:wrap}
.paper-type{font-size:.875rem;line-height:1.6;min-height:0;color:var(--reading-gold)}
.evidence-grid a{font-size:1rem;line-height:1.5;gap:16px}
.application-layout aside li{font-size:1rem;line-height:1.5;color:var(--reading-muted)}
.application-layout aside>p,.application-layout aside .application-aside-note{font-size:1rem;line-height:1.65}
#interest-form label,#interest-form .check,#review-values,.review-message{font-size:1rem;line-height:1.6}
#interest-form label span:not(.check span){font-size:.875rem;color:var(--reading-muted)}
#interest-form input:not([type=checkbox]),#interest-form select{font-size:1rem;min-height:48px;max-width:100%}
#interest-form .check input{width:20px;height:20px}
#interest-form .check{min-height:44px}
.form-note,.evidence-note,.preview-notice>b,.social-foot{font-size:.875rem;line-height:1.6}
.preview-notice>p,.privacy-preview p,.pack-download p:last-child{font-size:1rem;line-height:1.65}
#review-values dt{color:var(--reading-muted)}
#review-values>div{font-size:1rem}
.social-tabs{gap:20px;flex-wrap:wrap}
.social-tabs button{min-height:48px;padding-block:14px}
.social-foot{flex-wrap:wrap}
#copy-social{font-size:1rem;min-height:48px;white-space:normal}
.pack-download{flex-wrap:wrap}
.outreach-section .research-split p{color:var(--ivory)}
.pathway,.evidence-grid,.why-layout,.audience-panel,.standards-layout,.application-layout{min-width:0}
.pathway>*,.evidence-grid>*,.why-layout>*,.audience-panel>*,.standards-layout>*,.application-layout>*,.form-row>*{min-width:0}

@media(max-width:1100px){
  .header .nav{display:none}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;border:1px solid #ffffff80;background:transparent;width:48px;height:48px;padding:12px;z-index:32;flex-shrink:0}
  .menu-toggle span{width:22px;height:2px;background:var(--ivory);transition:transform .3s}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
  .mobile-nav{position:fixed;z-index:19;inset:0;background:var(--deep);padding:135px 7vw 40px;color:var(--ivory);overflow-y:auto}
  .menu-open .header{position:fixed;top:0}
  .mobile-nav a{display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:Editorial,Georgia,serif;font-size:clamp(27px,5vw,38px);line-height:1.3;min-height:60px;padding:18px 0;border-bottom:1px solid #ffffff40}
  .mobile-nav a>span{font-family:Sans,Arial,sans-serif;font-size:1rem;color:var(--champagne)}
  .mobile-nav p{font-size:1rem;line-height:1.6;margin-top:28px;opacity:1}
  .campaign-grid{grid-template-columns:1fr 1fr}
  .campaign-turn{grid-column:1/-1;height:430px}
  .campaign-turn .campaign-type{font-size:72px;top:88px}
  .campaign-turn .campaign-title{left:55%;bottom:48px}
  .evidence-grid{grid-template-columns:1fr}
  .evidence-grid article{padding:28px}
  .research-split{grid-template-columns:1fr;gap:24px}
}

@media(max-width:760px){
  .header{min-height:108px;padding:16px 6vw}
  .brand{max-width:190px}
  .brand-logo{width:176px}
  .brand-sub{font-size:.875rem;margin-left:0}
  .hero{height:auto;min-height:0;max-height:none;background:var(--ivory);color:var(--ink);display:flex;flex-direction:column}
  .hero-image{position:relative;inset:auto;width:100%;height:clamp(300px,48svh,460px);object-position:72% 45%;transform:none;order:0}
  .hero-shade{display:none}
  .hero-content{padding:38px 7vw 36px;max-width:none;width:100%;order:1}
  .hero h1{font-size:clamp(64px,17vw,110px);line-height:.98}
  .hero h1 em{color:var(--slate)}
  .hero-kicker{color:var(--ink);font-size:.875rem;gap:10px;letter-spacing:.05em;margin-bottom:24px;align-items:center}
  .tiny-line{width:22px;flex-shrink:0}
  .hero-description{color:var(--ink);font-size:1.0625rem;margin-top:26px;max-width:40ch}
  .hero-actions{margin-top:26px;align-items:flex-start;gap:22px;flex-direction:column}
  .round-link{font-size:1rem;gap:14px}
  .round-link small{font-size:.875rem;color:var(--reading-muted)}
  .play-circle{width:48px;height:48px;border-color:var(--slate)}
  .hero-text-link{font-size:1rem;max-width:none;border-color:var(--slate);padding-block:10px}
  .hero-bottom{position:relative;inset:auto;order:2;padding:22px 7vw;background:var(--ivory);color:var(--ink);border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:16px;font-size:.875rem}
  .hero-bottom>span{color:var(--ink);font-size:.875rem;text-align:left}
  .hero-bottom b{color:var(--ink)}
  .scroll-line{background:#34485355}
  .scroll-line:after{background:var(--slate)}
  .concept-tag{position:static;order:3;font-size:.875rem;padding:14px 7vw;background:var(--champagne);color:var(--slate);writing-mode:horizontal-tb;display:flex;justify-content:space-between;gap:16px}
  .concept-tag span{margin:0}
  .section-top{gap:15px}
  .section-top .small-label{display:none}
  .bond-image{min-height:470px;padding-bottom:68px}
  .bond-image img{max-height:calc(100% - 68px)}
  .bond-image:after{bottom:68px}
  .bond-image figcaption{font-size:.875rem;line-height:1.5;gap:8px;flex-direction:column}
  .image-caption{bottom:100px;left:24px}
  .audience-tabs button{font-size:1rem;line-height:1.5;padding-right:12px}
  .audience-tabs button:nth-child(2){padding-left:16px}
  .care-step{gap:14px}
  .dedication-workspace{padding:0}
  .dedication-card{padding:28px 24px 0}
  .dedication-sign{flex-direction:column;align-items:flex-start}
  .evidence-list details>p{padding-left:0;padding-right:0}
  .studio .section-top{align-items:flex-start;flex-direction:column}
  .studio-status{font-size:.875rem;letter-spacing:.06em}
  .campaign-grid,.studio-materials{grid-template-columns:1fr}
  .campaign{height:490px}
  .campaign-turn{grid-column:auto;height:510px}
  .campaign-turn .campaign-type{font-size:68px;top:110px}
  .campaign-turn .campaign-title{left:24px;right:42px;bottom:34px}
  .campaign-meta{font-size:.875rem;line-height:1.5}
  .campaign-title{font-size:42px}
  .campaign-title small{font-size:1rem;max-width:100%}
  .download-card{padding:26px;min-height:280px}
  .download-card>b{font-size:42px}
  .download-card>span{font-size:.875rem}
  .download-card>small{font-size:1rem}
  .closing h2{font-size:clamp(46px,12vw,72px)}
  footer{gap:24px}
  footer>p{font-size:.875rem}
  footer>div{font-size:.875rem;justify-content:flex-start;gap:10px 24px}
  .story-image{height:360px;min-height:360px;max-height:none}
  .story-image-copy{font-size:40px;line-height:1.1;bottom:30px;max-width:calc(100% - 50px)}
  .story-content{padding:32px 24px 24px}
  .story-direction{min-height:0}
  .story-controls{gap:8px}
  #story-play{margin-left:0}
  .research-header{min-height:108px;padding:16px 7vw;gap:16px;flex-wrap:wrap}
  .back-link{font-size:1rem;gap:8px}
  .research-hero{padding-top:42px}
  .research-hero .eyebrow{font-size:.875rem;max-width:none}
  .research-hero h1{font-size:clamp(40px,10.4vw,64px)}
  .research-hero .hero-actions{gap:20px}
  .research-hero .button{font-size:1rem;width:100%}
  .research-nav{overflow:visible;white-space:normal;display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;font-size:1rem}
  .research-status{font-size:.875rem}
  .pathway{grid-template-columns:1fr;gap:28px}
  .pathway h3{font-size:28px}
  .research-split h2{font-size:clamp(34px,9vw,46px)}
  .application-layout aside ol{display:block}
  .application-layout aside li{width:100%;font-size:1rem;display:flex;align-items:baseline;gap:16px}
  .application-layout aside li:before{display:inline-block;margin:0}
  #review-values>div{grid-template-columns:1fr;gap:4px;font-size:1rem}
  #interest-review{padding:24px}
  .social-tabs{gap:8px 20px}
  #social-copy{font-size:1rem}
  .research-page footer>div{font-size:.875rem}
}
@media(max-width:370px){
  .concept-tag{flex-direction:column;gap:4px}
  .hero-kicker{flex-wrap:wrap}
  .audience-tabs{flex-direction:column}
  .audience-tabs button:nth-child(2){padding-left:0}
  .button{width:100%;padding-inline:18px;gap:16px}
  .social-tabs{flex-direction:column;align-items:stretch}
  .social-tabs button{text-align:left}
}
