*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#f4f5ef;color:#173c35;font:17px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-wrap:break-word}
a{color:inherit;text-underline-offset:4px}
a:focus-visible,button:focus-visible{outline:3px solid #b65023;outline-offset:5px}
header,main,footer{width:min(1200px,calc(100% - 64px));margin-inline:auto;min-width:0}
header{display:flex;justify-content:space-between;align-items:center;gap:20px 32px;padding:24px 0;border-bottom:1px solid #d5ded5;flex-wrap:wrap}
header>a{background:#172b43;border-radius:10px;padding:12px 16px;display:inline-flex;max-width:100%;flex-shrink:0}
header img{display:block;width:184px;max-width:100%;height:auto}
nav{display:flex;gap:12px 22px;flex-wrap:wrap;min-width:0}
nav a{text-decoration:none;font-size:14px;padding-block:8px}
main{padding:clamp(32px,5vw,64px) 0 64px}
.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#5b766d}
h1{font-size:clamp(40px,5.4vw,80px);line-height:1.06;letter-spacing:-.055em;margin:20px 0;text-wrap:balance}
h2{font-size:clamp(24px,3vw,28px);line-height:1.25;letter-spacing:-.03em;margin:40px 0 14px}
h3{font-size:20px;line-height:1.35}
p{max-width:760px}
.lead{font-size:clamp(18px,1.6vw,21px);max-width:620px;color:#506960}
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,72px);align-items:center}
.hero>*{min-width:0}
.hero figure{margin:0;display:flex;flex-direction:column;align-items:center}
.hero img{display:block;width:auto;height:auto;max-width:100%;max-height:min(68svh,680px);object-fit:contain;border-radius:20px;background:#070b14}
.hero figcaption{max-width:36ch;text-align:center}
.store{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}
.store button{max-width:100%;border:1px solid #bccac1;background:#e3e9df;color:#586b62;border-radius:12px;padding:12px 18px;text-align:left;font:600 16px system-ui}
.store small{display:block;font-size:11px;font-weight:400;margin-top:3px;line-height:1.5}
.note{font-size:14px;color:#5b7065}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:48px 0}
.cards article{padding:20px 16px;border-top:1px solid #b9cbbd;min-width:0}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.gallery figure{margin:0;min-width:0;text-align:center}
.gallery img{display:block;width:auto;height:auto;max-width:100%;max-height:560px;object-fit:contain;margin-inline:auto;border-radius:16px;background:#070b14}
figcaption{font-size:13px;color:#5b7065;margin-top:12px;line-height:1.6}
.paper{width:min(100%,78ch);margin-inline:auto;min-width:0}
.paper h1{font-size:clamp(36px,5vw,64px)}
.paper p{max-width:none}
.paper section{scroll-margin-top:24px}
.paper a,.notice a{overflow-wrap:anywhere}
.paper section+section{border-top:1px solid #cbd7cc;margin-top:48px;padding-top:28px}
.notice{background:#e7ecdf;border-left:3px solid #768e65;padding:18px 22px;margin:28px 0;min-width:0}
.language{display:flex;gap:20px;margin-bottom:28px}
li{margin:10px 0}
ul{padding-left:24px}
footer{border-top:1px solid #cbd7cc;padding:24px 0 32px;display:flex;gap:12px 24px;flex-wrap:wrap;align-items:center;font-size:13px}
footer span{margin-right:auto}
footer a{padding-block:6px;overflow-wrap:anywhere}
.contact{font-size:clamp(16px,3vw,24px);overflow-wrap:anywhere}
.divider{border-top:1px solid #cbd7cc;margin:48px 0}
@media(max-width:800px){
 header,main,footer{width:calc(100% - 40px)}
 .hero{grid-template-columns:minmax(0,1fr);gap:28px}
 .hero>div{max-width:640px}
 .hero figure{width:100%;max-width:360px;margin-inline:auto}
 .hero img{max-height:560px;max-height:min(78svh,560px)}
 .cards{gap:16px;margin:36px 0}
 .cards article{padding-inline:0}
 .gallery{gap:16px}
 h1{font-size:clamp(40px,8vw,64px)}
}
@media(max-width:520px){
 header{gap:12px;padding:18px 0;align-items:flex-start}
 header>a{padding:10px 14px}
 header img{width:164px}
 nav{gap:8px 18px}
 main{padding:28px 0 40px}
 .store{gap:10px;margin:24px 0}
 .store button{flex:1 1 145px;padding:12px}
 .cards{grid-template-columns:minmax(0,1fr);gap:0;margin:32px 0}
 .cards article{padding:20px 0}
 .gallery{grid-template-columns:minmax(0,1fr);gap:28px}
 .gallery img{max-height:560px;max-height:min(78svh,560px)}
 .notice{padding:16px}
 footer{gap:8px 20px}
 footer span{flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
