@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Noto+Sans+JP:wght@400;500;600&display=swap');
:root{--paper:#f7f6f2;--ink:#7c4939;--sub:#916c5d;--line:#e3d9d2;--green:#7c4939}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans','Noto Sans JP',sans-serif;font-size:14px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{opacity:.64}header{min-height:91px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px clamp(24px,5vw,90px)}.brand{display:flex;align-items:center;flex:0 0 auto}.logo-image{display:block;height:55px;width:auto}.brandmark{display:none}nav{display:flex;gap:35px;font-size:11px;font-weight:500;letter-spacing:.14em;flex-wrap:wrap;justify-content:flex-end}nav .active{border-bottom:1px solid var(--ink);padding-bottom:5px}main{min-height:calc(100svh - 175px)}.shell{max-width:1300px;padding:0 clamp(24px,8.3vw,130px);margin:auto}.hero{min-height:570px;display:flex;flex-direction:column;justify-content:center;position:relative;padding-top:40px;padding-bottom:110px}.eyebrow{color:var(--green);font-size:11px;letter-spacing:.22em;font-weight:600}.hero h1{font-weight:500;letter-spacing:.12em;font-size:clamp(32px,4.6vw,67px);line-height:1.55;margin:30px 0 25px}.hero .lead{font-size:13px;color:var(--sub);line-height:2.6}.section{border-top:1px solid var(--line);padding-top:85px;padding-bottom:110px}.sectionhead{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:54px}.sectionhead h2{font-size:13px;font-weight:600;letter-spacing:.12em;margin:0}.sectionhead span{font-size:11px;color:var(--sub)}.two{display:grid;grid-template-columns:1fr 1fr;gap:11vw}.copy{font-size:15px;line-height:2.7;letter-spacing:.055em;margin:0}.note{color:var(--sub);font-size:12px;line-height:2.6}.textlink{display:inline-block;margin-top:34px;padding-bottom:8px;border-bottom:1px solid var(--ink);font-size:12px;letter-spacing:.05em}.textlink:after{content:' ↗';margin-left:30px}.pagehead{padding-top:114px;padding-bottom:95px;border-bottom:1px solid var(--line)}.pagehead h1{font-size:clamp(45px,7vw,88px);line-height:1.1;letter-spacing:-.045em;font-weight:400;margin:19px 0}.pagehead p{color:var(--sub);font-size:12px}.detail{padding-top:90px;padding-bottom:120px}.label{color:var(--green);font-size:11px;letter-spacing:.15em}.profile-name{font-weight:500;font-size:24px;letter-spacing:.08em;margin:20px 0 10px}.profile-description{max-width:640px;line-height:2.7;font-size:14px}.service-list{list-style:none;padding:0;margin:8px 0}.service-list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.contact-mail{font-size:clamp(20px,3.5vw,40px);font-weight:400;letter-spacing:-.02em;display:inline-block;margin:22px 0;border-bottom:1px solid var(--ink)}.button{border:1px solid var(--green);background:var(--green);color:white;padding:14px 26px;font-family:inherit;font-size:12px;letter-spacing:.08em;cursor:pointer;display:inline-block}.button:hover{opacity:.8}.form-grid{display:grid;gap:22px;max-width:640px;margin-top:36px}.field label{display:block;font-size:12px;margin-bottom:7px}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:0;padding:14px;background:transparent;font:inherit;font-size:14px;outline:none}.field input:focus,.field textarea:focus{border-color:var(--green)}.field textarea{min-height:150px;resize:vertical}.small{color:var(--sub);font-size:11px}footer{border-top:1px solid var(--line);padding:28px clamp(24px,5vw,90px);display:flex;justify-content:space-between;gap:20px;color:var(--sub);font-size:11px;letter-spacing:.05em}.lineart{position:absolute;right:10vw;top:30%;width:150px;height:220px;opacity:.9}.lineart svg{width:100%;height:100%}@media(max-width:700px){header{min-height:75px;padding:18px 16px;align-items:flex-start;flex-direction:column}.nav{width:100%}nav{gap:16px;font-size:10px}.brand{font-size:13px;gap:9px}.logo-image{height:35px}.hero{min-height:560px;padding-top:0}.hero h1{font-size:clamp(30px,8vw,46px)}.hero .lead{font-size:12px}.lineart{opacity:.15;right:5%;top:28%}.section{padding-top:55px;padding-bottom:70px}.sectionhead{margin-bottom:32px}.two{grid-template-columns:1fr;gap:36px}.pagehead{padding-top:80px;padding-bottom:64px}.detail{padding-top:65px;padding-bottom:80px}footer{flex-direction:column;gap:5px}.copy{font-size:14px}}

/* Minimal introduction and social link */
.hero-minimal{min-height:460px;padding-bottom:65px}
.hero-minimal h1{font-size:clamp(26px,4vw,57px);line-height:1.65;letter-spacing:.06em;margin:32px 0 35px}
.hero-links{display:flex;gap:38px;flex-wrap:wrap}
.hero-links .textlink{margin-top:0}
.header-instagram{color:var(--green)}
@media(max-width:700px){.hero-minimal{min-height:420px;padding-bottom:55px}.hero-minimal h1{font-size:clamp(24px,6vw,36px)}.hero-links{gap:20px}.header-instagram{display:none}}

.profile-description p { margin: 0 0 1.7em; }
.profile-description p:last-child { margin-bottom: 0; }

/* Logo color coordination */
.field input,.field textarea{color:var(--ink)} .field input::placeholder,.field textarea::placeholder{color:var(--sub)}
.hero-minimal h1{font-size:clamp(26px,3.5vw,49px);letter-spacing:.025em;line-height:1.75}
@media(max-width:700px){.hero-minimal h1{font-size:clamp(23px,5.5vw,33px);line-height:1.75}}

/* Refined headline scale */
.hero-minimal h1{font-size:clamp(23px,3vw,42px)}
@media(max-width:700px){.hero-minimal h1{font-size:clamp(21px,5vw,29px)}}
