/* Mobile layout; desktop branding and navigation are preserved. */
@media(max-width:800px){
 html{scroll-padding-top:88px}body{overflow-wrap:break-word}main,section,article,aside,form,.header-tools{min-width:0}img{max-width:100%}
 header,body:has(.detail-page) header{height:88px;min-height:88px;padding:0 16px;flex-wrap:nowrap;gap:8px}header .official-logo{width:78px;height:78px}header .brand{flex-shrink:0}header .header-tools{margin-left:auto;margin-right:0;gap:6px}header .parent-link{display:none}header .language-label>span{display:none}header .language-label select{font-size:16px;width:108px;max-width:108px;min-height:44px;padding:8px 4px}header .menu{min-height:44px;min-width:74px;padding:8px;font-size:14px;flex-shrink:0}
 header nav,body:has(.detail-page) header nav{display:none;position:absolute;top:88px;left:0;right:0;width:100%;margin:0;padding:12px 16px 20px;max-height:calc(100dvh - 88px);overflow-y:auto;box-shadow:0 12px 20px #123d2d1a;background:#fff;flex-wrap:nowrap}
 header nav.open,body:has(.detail-page) header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}header nav a,body:has(.detail-page) header nav a{font-size:16px;min-height:46px;padding:10px 12px;line-height:1.5}
 .hero{height:auto;min-height:0;max-height:none}.hero-content{padding:56px 20px 38px}.hero h1,html[lang=en] .hero h1{font-size:clamp(38px,10vw,58px);line-height:1.15;letter-spacing:-.035em}.hero p:not(.eyebrow){font-size:16px}.hero .eyebrow{font-size:11px;letter-spacing:1.4px}.hero-foot{position:relative;left:auto;right:auto;margin:0 20px;padding:18px 0;gap:16px;flex-wrap:wrap;letter-spacing:1px}.hero-foot span:first-child{max-width:none}.hero-link{margin:20px 0 0;min-height:44px;padding:8px 0;font-size:15px}
 .section{padding:52px 20px}.section h2{font-size:clamp(30px,8vw,40px);line-height:1.2}.lead{font-size:18px}.section-head{gap:16px;margin-bottom:28px}.section-head>p{font-size:16px}.eyebrow{font-size:11px;letter-spacing:1.7px;margin-bottom:20px}
 .content-cards,.service-grid,.tree-grid,.six-steps{grid-template-columns:1fr;gap:20px}.six-steps{padding-left:0}.service-card,.content-card{padding:20px}.service-card h3,.content-card h3,.tree-card h3{font-size:24px}.service-card p,.tree-card p,.content-card p{font-size:16px}.service-card{min-height:0}.service-image,.content-card img{height:220px}.tree-card img{height:280px}.filters{gap:8px}.filters button{font-size:14px;min-height:44px;padding:10px 14px}.tree-card button,.tree-card>a,.content-card a{font-size:16px;min-height:44px;display:inline-flex;align-items:center}.button{min-height:48px;font-size:15px;padding:14px 20px;max-width:100%;gap:16px;white-space:normal}.values{flex-wrap:wrap}.approach-text{padding:44px 20px}.approach-photo{min-height:280px}.about-landscape img{height:250px}.landscape-story img{height:260px}.landscape-close{padding:26px 20px}.landscape-close>p{font-size:24px}
 .contact{gap:24px}.contact dl{grid-template-columns:1fr;gap:6px;font-size:16px;margin:25px 0}.contact dd{margin-bottom:14px;overflow-wrap:anywhere}.contact form{padding:24px 18px;border-radius:3px 24px 3px 3px}.form-row{grid-template-columns:1fr;gap:0}label{font-size:15px}input,select,textarea{font-size:16px;min-height:48px}textarea{min-height:140px}.contact-card{margin:24px 20px}.detail-page>h1,.detail-page>.lead,.detail-page>p{margin-left:20px;margin-right:20px}.detail-page>h1{font-size:36px}.nature-intro{padding:32px 20px}.detail-page .nature-intro h1{font-size:36px;line-height:1.2}.nature-hero .content-image,.nature-hero .content-image img,.nature-hero .content-image>.image-frame{height:280px;min-height:0}.detail-layout{padding:44px 20px;gap:24px}.detail-layout article>section{padding-left:0;padding-top:40px}.detail-layout article>section:before{top:0}.detail-layout p{font-size:16px;line-height:1.8}.detail-layout aside{padding:24px}.detail-end{padding:48px 20px}dialog{max-height:calc(100dvh - 32px);overflow-y:auto;padding:48px 22px 24px}dialog h2{font-size:30px}#close-detail{min-width:44px;min-height:44px}
 footer{padding:28px 20px}footer .footer-brand-row{flex-direction:column;gap:12px}footer .footer-brand-logo{flex-basis:auto}footer .footer-slogan{font-size:30px}footer .footer-membership{font-size:9px;letter-spacing:2px}summary{min-height:48px;font-size:16px}.image-note,.muted{font-size:13px}
}
@media(min-width:601px) and (max-width:800px){.service-grid,.tree-grid,.content-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:359px){header,body:has(.detail-page) header{padding:0 10px;gap:5px}header .official-logo{width:68px;height:68px}header .language-label select{width:100px;max-width:100px}.hero-content{padding-top:40px}.hero h1{font-size:36px}.section{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card:hover,.value-visual:hover{transform:none}}

/* Compact reading rhythm on phones and tablets. */
@media(max-width:800px){
 body{line-height:1.5}
 p,.lead,.hero p:not(.eyebrow),.nature-intro .lead,.detail-layout p,.detail-layout aside p,.content-card p,.service-card p,.tree-card p,.value-visual p,.six-steps span{line-height:1.5}
 p{margin-bottom:14px}.lead{margin-bottom:16px}
 h1,h2,h3,.section h2,.detail-page .nature-intro h1{line-height:1.18}
 .section h2,.detail-layout h2{margin-bottom:18px}
 .hero h1{line-height:1.1;margin-bottom:20px}
 .hero .eyebrow,.eyebrow{margin-bottom:14px}
 .hero-content{padding-top:40px;padding-bottom:28px}
 .hero .button{margin-top:10px}.hero-link{margin-top:12px}
 .section{padding-top:38px;padding-bottom:38px}
 .section-head{gap:10px;margin-bottom:22px}
 .content-cards,.service-grid,.tree-grid,.six-steps{gap:16px}
 .content-card h3,.service-card h3{margin-bottom:10px}
 .content-card p:last-of-type,.service-card p{margin-bottom:10px}
 .six-steps li{padding:18px}.six-steps b{margin:8px 0;font-size:19px;line-height:1.3}
 .values{margin-top:20px;padding-top:16px}.filters{margin-bottom:20px}
 .landscape-close>p{margin-bottom:14px}.landscape-close>span{margin-bottom:18px;line-height:1.5}
 .nature-intro{padding-top:26px;padding-bottom:26px}.nature-intro .eyebrow{margin-top:20px}
 .detail-page .nature-intro h1{margin:16px 0 18px}
 .detail-layout{padding-top:34px;padding-bottom:34px}
 .detail-layout article>section{padding-bottom:22px;margin-bottom:24px}
 .detail-end{padding-top:36px;padding-bottom:36px}.detail-end p{margin-bottom:20px}
 .contact dl{margin:18px 0;gap:4px}.contact dd{margin-bottom:10px;line-height:1.45}
 form h3{margin-bottom:20px}label{margin-bottom:14px}details{padding:16px 0}details p{margin-top:10px;margin-bottom:0}
 footer .footer-slogan{line-height:1.2;margin-bottom:10px}
}

@media(max-width:800px){.section p,.about p,.partners p,.contact p,.section-head>p,.approach li span{line-height:1.5}.lead,.nature-intro .lead{line-height:1.5!important;font-size:18px!important}}
