
:root{--washi:#f4efe6;--ink:#23211d;--sub:#6f6a60;--vermil:#b0432e;--navy:#26354b;
--serif:"Playfair Display",Georgia,"Times New Roman",serif;
--sans:"Inter",system-ui,-apple-system,"Helvetica Neue",sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);color:var(--ink);background:#fbf9f4;line-height:1.85;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
.nav{background:var(--navy);color:var(--washi);padding:16px 24px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:5}
.nav .logo{font-weight:800;letter-spacing:.22em;color:var(--washi);text-decoration:none;font-family:var(--sans)}
.nav .tag{font-size:12px;color:#cdbcae}
.navr{display:flex;align-items:center;gap:14px}
.lang{display:flex;gap:10px;font-size:12px;font-family:var(--sans)}
.lang a{color:#cdbcae;text-decoration:none;opacity:.85}
.lang a:hover{opacity:1;text-decoration:underline}
.lang b{color:var(--washi)}
@media(max-width:640px){.nav .tag{display:none}}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.hero{background:linear-gradient(160deg,#26354b,#16202c);color:var(--washi);text-align:center;padding:84px 20px}
.hero h1{font-family:var(--serif);font-weight:600;font-size:50px;line-height:1.12;margin-bottom:16px}
.hero p{color:#cdbcae;font-size:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px;padding:44px 0}
.card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.07);text-decoration:none;display:block;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(0,0,0,.12)}
.card img{width:100%;aspect-ratio:1/1;object-fit:cover}
.card .c{padding:18px}
.card .cat{font-size:11px;letter-spacing:.12em;color:var(--vermil);text-transform:uppercase;font-weight:600}
.card h2{font-family:var(--serif);font-weight:600;font-size:22px;margin:7px 0 9px;line-height:1.3}
.card p{font-size:13px;color:var(--sub)}

/* ===== Article (editorial / magazine) ===== */
article{max-width:680px;margin:0 auto;padding:44px 22px 10px}
article .cat{font-size:12px;letter-spacing:.14em;color:var(--vermil);text-transform:uppercase;font-weight:600}
article h1{font-family:var(--serif);font-weight:700;font-size:46px;line-height:1.14;letter-spacing:-.01em;margin:12px 0 22px}
article .hero-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px;margin-bottom:14px;box-shadow:0 8px 28px rgba(0,0,0,.10)}
article .lead{font-size:23px;line-height:1.6;color:#39362f;margin:0 0 26px}
article p{margin:0 0 26px;font-size:20px;line-height:1.85}
article h2{font-family:var(--serif);font-weight:600;font-size:31px;line-height:1.22;color:var(--navy);margin:50px 0 16px}
article h3{font-family:var(--serif);font-weight:600;font-size:23px;color:var(--navy);margin:34px 0 10px}
article ul{margin:0 0 26px 4px;list-style:none}
article li{position:relative;padding-left:24px;margin-bottom:12px;font-size:20px;line-height:1.7}
article li::before{content:"";position:absolute;left:2px;top:13px;width:7px;height:7px;border-radius:50%;background:var(--vermil)}
article blockquote{font-family:var(--serif);font-style:italic;font-weight:500;font-size:28px;line-height:1.42;color:var(--vermil);margin:42px 0;padding:6px 0 6px 26px;border-left:4px solid var(--vermil)}
figure.inline{margin:38px 0}
figure.inline img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;box-shadow:0 6px 22px rgba(0,0,0,.10);display:block}
figure.inline figcaption{font-size:13px;color:var(--sub);text-align:center;margin-top:10px;font-style:italic}
.faq{background:var(--washi);border-radius:14px;padding:26px;margin-top:40px}
.faq h3{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:.12em;color:var(--vermil);text-transform:uppercase;margin-bottom:14px}
.faq .q{font-weight:700;margin-top:16px;font-size:18px}
.faq div:not(.q){font-size:17px;color:#43403a}
.cta{border-top:1px solid #e3ddcf;margin-top:44px;padding-top:26px;font-size:17px}
.cta a{display:inline-block;background:var(--navy);color:#fff;padding:13px 24px;border-radius:10px;text-decoration:none;margin-top:10px;font-weight:600}
.back{font-size:13px;color:var(--sub);text-decoration:none}
.related{margin-top:50px;border-top:1px solid #e3ddcf;padding-top:26px}
.related h3{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:.12em;color:var(--vermil);text-transform:uppercase;margin-bottom:18px}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rc{display:block;text-decoration:none}
.rc img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:11px}
.rc .cat{font-size:10px;letter-spacing:.1em;color:var(--vermil);text-transform:uppercase;font-weight:600;margin-top:9px}
.rc span{display:block;font-family:var(--serif);font-weight:600;font-size:17px;line-height:1.3;color:var(--ink);margin-top:4px}
footer{background:var(--navy);color:#cdbcae;font-size:13px;text-align:center;padding:34px;margin-top:54px}
footer a{color:#e7b9ac}
@media(max-width:640px){
.hero h1{font-size:36px}
article{padding:30px 20px 10px}
article h1{font-size:33px}
article h2{font-size:26px;margin:40px 0 14px}
article .lead{font-size:20px}
article p,article li{font-size:18px}
article blockquote{font-size:23px}
.rgrid{grid-template-columns:1fr;gap:14px}
.rc{display:flex;gap:14px;align-items:center}
.rc img{width:96px;flex:none;aspect-ratio:1/1}
.rc span{font-size:16px}
}
