
:root{--bg:#fbfcfa;--paper:#fff;--ink:#182019;--muted:#687169;--green:#356b4b;--soft:#edf4ef;--line:#dde4de;--shadow:0 18px 55px rgba(31,61,42,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}
.header{max-width:1180px;margin:auto;padding:24px 28px;display:flex;justify-content:space-between;align-items:center}.logo{font-weight:800;letter-spacing:.18em;font-size:14px}nav{display:flex;gap:24px}nav a{font-size:11px;letter-spacing:.12em;color:var(--muted)}
main{max-width:1180px;margin:auto}.hero{min-height:650px;padding:70px 28px 90px;display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:center}.eyebrow{color:var(--green);font-size:11px;font-weight:800;letter-spacing:.18em}.hero h1{font-size:clamp(50px,7vw,88px);line-height:1.05;letter-spacing:-.05em;margin:10px 0 24px}.lead{max-width:650px;font-size:18px;color:#39433b}
.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{padding:12px 18px;border:1px solid var(--ink);border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.08em;background:#fff}.btn.dark{background:var(--ink);color:#fff}.btn:hover{border-color:var(--green)}.btn.dark:hover{background:var(--green)}
.profile-card{min-height:380px;background:linear-gradient(145deg,#264c36,#4e7e5d);border-radius:32px;padding:36px;color:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between}.badge{width:74px;height:74px;border-radius:22px;background:#fff;color:var(--green);display:grid;place-items:center;font-size:30px;font-weight:900}.profile-bottom{display:flex;flex-direction:column;gap:4px}.profile-bottom strong{font-size:24px;letter-spacing:.08em}.profile-bottom>span{opacity:.8}.chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.chips i{font-style:normal;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:5px 9px;font-size:10px}
.section{padding:100px 28px;border-top:1px solid var(--line)}.soft{background:var(--soft);border-top:0;border-radius:34px;margin:0 10px;padding-left:38px;padding-right:38px}.section-title{display:flex;gap:14px;align-items:baseline;margin-bottom:46px}.section-title span{color:var(--green);font-size:11px;font-weight:800}.section-title h2{font-size:17px;letter-spacing:.16em;margin:0}.two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.big{font-size:clamp(28px,4vw,46px);line-height:1.35;font-weight:700;letter-spacing:-.03em;margin:0}
.skills{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.skills article{background:#fff;border:1px solid #dbe7dd;border-radius:22px;padding:26px;min-height:200px}.skills b{font-size:16px}.skills p{font-size:13px;color:var(--muted)}
.featured{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;margin-bottom:56px}.visual{min-height:520px;border-radius:30px;background:linear-gradient(145deg,#f3e8e2,#fbf7f3);display:grid;place-items:center;padding:30px}.phone{width:min(320px,100%);background:#fff;border:1px solid #d6dfd7;border-radius:22px;overflow:hidden;box-shadow:0 16px 40px rgba(39,70,49,.15)}.phone-head{padding:16px;font-weight:800}.phone-body{margin:0 12px 14px;min-height:360px;padding:24px;border-radius:24px;color:#fff;background:linear-gradient(150deg,#1d5a36,#376e49);display:flex;flex-direction:column;justify-content:center}.veg{font-size:42px}.phone-body small{font-size:10px;letter-spacing:.12em;font-weight:800}.phone-body strong{font-size:34px;line-height:1.25;margin:12px 0 18px}.phone-body span{font-size:13px}.featured h3{font-size:42px;margin:6px 0 18px}.featured p{color:#4a554c}.tags{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.tags span{font-size:10px;font-weight:800;background:var(--soft);color:var(--green);border-radius:999px;padding:6px 10px}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.work-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;min-height:280px;display:flex;flex-direction:column}.work-card>span{color:var(--green);font-size:11px;font-weight:800;margin-bottom:30px}.work-card h3{margin:0 0 12px}.work-card p{font-size:13px;color:var(--muted)}.work-card a,.text-link{margin-top:auto;color:var(--green);font-size:12px;font-weight:800}.work-card small{margin-top:auto;color:#8a928b}
.contact{text-align:center;min-height:430px;display:flex;flex-direction:column;justify-content:center;align-items:center}.contact h2{font-size:clamp(38px,6vw,72px);letter-spacing:-.04em;margin:0}.contact p:not(.eyebrow){color:var(--muted)}
footer{max-width:1180px;margin:auto;padding:28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:11px}
@media(max-width:850px){.hero{grid-template-columns:1fr;padding:50px 18px 70px}.section{padding:75px 18px}.soft{margin:0;border-radius:0;padding-left:18px;padding-right:18px}.two-col,.featured{grid-template-columns:1fr;gap:30px}.skills,.work-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){nav{display:none}.header{padding:18px}.hero h1{font-size:50px}.skills,.work-grid{grid-template-columns:1fr}.featured h3{font-size:34px}.phone-body strong{font-size:30px}}
