html{scroll-padding-top:24px}
body{overflow-x:visible}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid #a96a2a;outline-offset:4px}
[hidden]{display:none!important}
.skip-link{position:absolute;left:16px;top:-100px;padding:12px 20px;background:#133d31;color:#fff;z-index:99}
.skip-link:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.mobile-menu{display:none}
.editorial-image{margin:0}
.editorial-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.editorial-image figcaption{font:12px/1.6 var(--sans,Arial,sans-serif);color:#46594b;margin:12px 0 0}
.editorial-image figcaption a{text-decoration:underline;text-underline-offset:3px}
.care-grid .editorial-image{grid-column:1/-1;margin-top:20px}
.care-grid .editorial-image img{aspect-ratio:2.6/1}
.detail-row{grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding:46px 0}
.detail-visual{min-width:0}
.detail-row h2{font-size:34px}
.detail-row ul,.detail-row p{font-size:16px;line-height:1.8}
.detail-note{font-size:14px;line-height:1.8;color:#46594b;max-width:900px}
.smart-link{display:inline-block;margin-top:20px;padding:10px 0;font-size:14px;text-decoration:underline;text-underline-offset:5px}
.smart-tile{display:flex;flex-direction:column}
.smart-tile h3{margin-top:0}
.smart-link{margin-top:auto}
.smart-tile p{padding-bottom:16px}
.smart-tile p,.audience p,.faq-studio details p{font-size:15px}
.credits-link{font-size:13px;text-align:center;margin:22px auto 0}
.concept-study{margin:60px 0}
.concept-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}
.credits-page{margin:0;background:#f9f8f4;color:#263c32;font:16px/1.8 system-ui,sans-serif}
.credits-page main{max-width:800px;margin:60px auto;padding:0 24px}
.credits-page h1,.credits-page h2{font-family:Georgia,serif;font-weight:400}
.credits-page a{color:#133d31}
.file-note,.hero-note,.form-note,.field-tip,.footer-note,.photo-tag{color:#4b5a50}
.file-note,.field-tip,.hero-note,.visual-legal{font-size:13px;line-height:1.7}
.photo-tag{font-size:12px;background:rgba(249,248,244,.96)}
.form-panel input,.form-panel textarea,.form-panel select{font-size:16px}
.preview-banner{margin:0;padding:9px 20px;background:#173d31;color:#fff;text-align:center;font:12px/1.5 system-ui,sans-serif}
@media(max-width:950px){
 .mobile-menu{display:block;position:relative}
 .mobile-menu summary{cursor:pointer;font-size:14px;padding:14px 8px;min-height:44px;color:#133d31}
 .mobile-menu div{position:absolute;right:0;top:100%;width:min(310px,85vw);background:#f9f8f4;padding:18px;box-shadow:0 10px 25px #133d3128;border:1px solid #d5d8cd;z-index:20}
 .mobile-menu a{display:block;padding:12px 4px;text-decoration:none;font-size:15px;border-bottom:1px solid #d5d8cd}
 .detail-row{grid-template-columns:1fr;gap:28px}
 .detail-visual{max-width:700px}
 header nav{gap:12px}
}
@media(max-width:660px){
 header .brand{width:90px;flex-shrink:0}
 header .brand img{width:88px}
 header nav>.btn{font-size:12px;padding:13px 12px;min-height:44px}
 header .container{width:calc(100% - 28px)}
 .hero-note{line-height:1.6}
 .care-grid .editorial-image img{aspect-ratio:4/3}
 .concept-pair{grid-template-columns:1fr}
 .detail-row h2{font-size:29px}
 .smart-tile p,.audience p{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
}
