*{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#F3F1EC;--ink:#1B1F1D;--moss:#4E6B4A;--gold:#A88A5A;--mut:#6A6E69}
body{background:var(--bg);color:var(--ink);font:300 16px/1.9 "Source Han Sans SC","Noto Sans SC","PingFang SC",sans-serif}
h1,h2,h3{font-family:"Source Han Serif SC","Noto Serif SC","Songti SC",serif;font-weight:600;letter-spacing:.01em}
a{color:inherit}
.nav{display:flex;justify-content:space-between;align-items:center;padding:26px 6vw;border-bottom:1px solid rgba(168,138,90,.35)}
.logo img{height:26px;display:block}
nav a{margin-left:28px;text-decoration:none;font-size:13px;letter-spacing:.15em;color:var(--mut)}nav a:hover,nav .home{color:var(--moss)}
.hero{display:grid;grid-template-columns:5fr 7fr;min-height:86vh;align-items:center}
.hero-txt{padding:80px 4vw 80px 6vw}
.eyebrow{font-size:12px;letter-spacing:.4em;color:var(--gold)}
.hero h1{font-size:clamp(34px,4vw,60px);line-height:1.25;margin:22px 0 26px}
.hero p{color:var(--mut);font-size:17px}
.ctas{margin-top:40px;display:flex;gap:16px;flex-wrap:wrap}
.btn{background:var(--moss);color:#fff;border:0;padding:13px 30px;text-decoration:none;font-size:14px;letter-spacing:.12em;cursor:pointer;font-family:inherit}
.btn.line{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.hero-img{height:100%;min-height:86vh}.hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.insight{padding:150px 6vw 130px;display:grid;grid-template-columns:5fr 6fr;gap:6vw;align-items:end;border-bottom:1px solid rgba(168,138,90,.35)}
.insight h2{font-size:clamp(32px,3.6vw,52px);line-height:1.3}
.insight p{font-size:18px;color:var(--mut);max-width:30em}
.role{padding:120px 6vw}
.role h2{font-size:clamp(26px,2.6vw,38px);margin-bottom:60px}
.four{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.four div{padding:0 28px 0 0;border-left:1px solid var(--gold);padding-left:24px}
.four i{font-family:"Noto Serif SC",Georgia,serif;font-style:normal;color:var(--gold);font-size:22px}
.four b{display:block;font-weight:500;font-size:18px;margin:10px 0 6px}.four p{color:var(--mut);font-size:15px}
.close{margin-top:64px;font-family:"Noto Serif SC","Songti SC",serif;font-size:24px;color:var(--moss)}
.kicker{padding:0 6vw 50px;font-size:13px;letter-spacing:.4em;color:var(--gold);font-family:inherit;font-weight:400}
.scenes{padding:40px 0 60px}
.scene{display:grid;grid-template-columns:7fr 4fr;align-items:center;margin-bottom:110px}
.scene figure{height:72vh;min-height:440px}.scene img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82)}
.scene .col{padding:0 6vw 0 5vw}
.scene.rev{grid-template-columns:4fr 7fr}.scene.rev figure{order:2}.scene.rev .col{padding:0 5vw 0 6vw}
.n{font-size:12px;letter-spacing:.35em;color:var(--gold)}
.scene h3{font-size:clamp(26px,2.4vw,36px);line-height:1.35;margin:16px 0 18px}
.scene p{color:var(--mut)}
.method{padding:120px 6vw;background:#ECE9E2}
.method h2{font-size:clamp(26px,2.6vw,38px);margin-bottom:64px}
.method ol{list-style:none}
.method li{display:grid;grid-template-columns:110px 200px 1fr;align-items:baseline;padding:26px 0;border-top:1px solid var(--gold)}
.method li:last-child{border-bottom:1px solid var(--gold)}
.method i{font-family:Georgia,"Noto Serif SC",serif;font-style:normal;font-size:56px;line-height:1;color:var(--gold)}
.method b{font-family:"Noto Serif SC",serif;font-weight:600;font-size:20px}.method p{color:var(--mut)}
.bound{padding:130px 6vw;max-width:980px}
.bound h2{font-size:clamp(26px,2.6vw,38px);margin-bottom:24px}
.bound p{font-size:17px;color:var(--mut)}.bound .about{margin-top:36px;padding-top:28px;border-top:1px solid rgba(168,138,90,.35);font-size:15px}
.contact{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(168,138,90,.35)}
.contact figure img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.8)}
.formcol{padding:90px 6vw 90px 5vw}
.formcol h2{font-size:clamp(26px,2.4vw,36px)}.sub{color:var(--mut);margin:10px 0 36px}
.field{display:flex;flex-direction:column;margin-bottom:18px}
.field label,.lb{font-size:13px;letter-spacing:.08em;color:var(--mut);margin-bottom:6px}.req{color:var(--moss);margin-left:2px}
.field input[type=text],.field input[type=tel],.field input[type=email],textarea{background:transparent;border:0;border-bottom:1px solid #C9C3B6;padding:9px 0;font:inherit;outline:none}
.field input:focus,textarea:focus{border-color:var(--moss)}textarea{min-height:90px;resize:vertical}
.opts{display:flex;gap:20px;flex-wrap:wrap}.opts label{color:var(--ink);font-size:15px}
.consent{display:flex;gap:10px;font-size:13px;color:var(--mut);margin:10px 0 24px}
.actions{display:flex;gap:22px;align-items:center}.mail{font-size:13px;color:var(--mut)}
.form-msg{margin-top:12px;font-size:14px}.form-msg.ok{color:var(--moss)}.form-msg.err{color:#9A4A35}
.foot{padding:34px 6vw;font-size:13px;color:var(--mut);border-top:1px solid rgba(168,138,90,.35)}.foot a{margin-left:12px}
@media(max-width:900px){nav{display:none}.hero,.insight,.scene,.scene.rev,.contact{grid-template-columns:1fr}.hero-img{min-height:52vh;order:-1}
.scene.rev figure{order:0}.scene figure{height:56vh;min-height:300px}.scene .col,.scene.rev .col{padding:36px 6vw 0}
.four{grid-template-columns:1fr 1fr;gap:32px 0}.method li{grid-template-columns:64px 1fr}.method li p{grid-column:2}.method i{font-size:40px}.contact figure{height:40vh}}

/* v3.1 */
.logo img{height:36px}
.eyebrow{letter-spacing:.22em;font-size:13px;color:#8A6E42}
.hero p,.insight p,.four p,.scene p,.bound p{color:#3E423D}
.method p{color:#3A3D38}
.foot .disc{margin-top:8px;font-size:12px}
