@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600&family=Noto+Serif+JP:wght@500;600&display=swap');
:root{--ink:#17251f;--paper:#f5f2e9;--cream:#ece6d8;--sage:#bcc8b7;--copper:#b87345;--line:rgba(23,37,31,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP",sans-serif;font-weight:400;line-height:1.8}.site-header{height:92px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;width:100%;border-bottom:1px solid rgba(245,242,233,.22);color:#fff}.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none}.brand-mark{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.4}.brand span{display:flex;flex-direction:column}.brand strong{font-family:"Noto Serif JP";font-size:17px;letter-spacing:.14em}.brand small{font-size:8px;letter-spacing:.28em;opacity:.65}.site-header nav{display:flex;gap:34px}.site-header nav a{color:inherit;text-decoration:none;font-size:12px;letter-spacing:.12em}.menu-button{display:none}.hero{min-height:100svh;background:var(--ink);color:#fff;padding:160px 8vw 90px;position:relative;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.04),transparent 45%);pointer-events:none}.hero-orbit{position:absolute;width:70vw;aspect-ratio:1;border:1px solid rgba(255,255,255,.10);border-radius:50%;right:-25vw;top:-20vw}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.07);border-radius:50%;inset:9%}.hero-orbit:after{inset:22%}.eyebrow{font-size:10px;letter-spacing:.36em;font-weight:600;margin:0 0 28px;color:var(--copper)}.hero h1{font-family:"Noto Serif JP";font-size:clamp(42px,6.1vw,92px);font-weight:500;line-height:1.34;letter-spacing:.03em;margin:0}.hero h1 em{font-style:normal;color:#d1dacd}.lead{font-size:14px;font-weight:300;max-width:560px;letter-spacing:.09em;margin:38px 0 28px;color:rgba(255,255,255,.72)}.text-link{color:white;text-decoration:none;font-size:12px;letter-spacing:.16em;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:8px}.text-link span{margin-left:28px}.hero-symbol{width:min(32vw,390px);justify-self:center;position:relative;z-index:1}.hero-symbol svg{width:100%;fill:none;stroke:#d9c7aa;stroke-width:1.5}.hero-symbol .line{stroke-width:.7;opacity:.38}.scroll-note{position:absolute;bottom:40px;left:4.5vw;font-size:8px;letter-spacing:.35em;writing-mode:vertical-rl;color:rgba(255,255,255,.45)}.section{padding:140px 8vw;position:relative}.section-number{position:absolute;top:52px;right:4.5vw;font-family:serif;font-size:13px;color:var(--copper);border-top:1px solid var(--copper);padding-top:8px;width:44px}.statement{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw}.statement-copy h2,.section-heading h2,.closing h2{font-family:"Noto Serif JP";font-size:clamp(32px,4.4vw,62px);line-height:1.45;font-weight:500;letter-spacing:.06em;margin:0 0 42px}.statement-copy>p:last-child{max-width:630px;font-size:14px;letter-spacing:.07em}.values{padding-top:90px}.values article{display:grid;grid-template-columns:38px 86px 1fr;align-items:baseline;padding:25px 0;border-bottom:1px solid var(--line)}.values b{font-family:serif;font-size:11px;color:var(--copper)}.values h3{font-family:"Noto Serif JP";font-size:22px;margin:0}.values p{font-size:12px;margin:0;color:#506058}.business{background:var(--cream)}.section-heading>p:last-child{font-size:13px;letter-spacing:.06em}.business-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.business-card{padding:46px 34px 38px;min-height:460px;border-right:1px solid var(--line);position:relative}.business-card:last-child{border:0}.business-card.featured{background:var(--ink);color:#fff;transform:translateY(-22px)}.business-card>span{font-family:serif;font-size:11px;color:var(--copper)}.card-icon{width:66px;height:66px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:"Noto Serif JP";font-size:22px;margin:45px 0 30px;opacity:.8}.business-card h3{font-family:"Noto Serif JP";font-size:22px;line-height:1.6;margin:0 0 20px}.business-card p{font-size:12px;color:#526158}.business-card.featured p{color:rgba(255,255,255,.65)}.business-card small{position:absolute;bottom:30px;font-size:8px;letter-spacing:.22em;color:var(--copper)}.scope-note{text-align:right;font-size:10px;color:#68756e;margin-top:30px}.company{background:#eeeae0}.company-panel{display:grid;grid-template-columns:1fr .4fr;gap:6vw;align-items:center}.company dl{margin:30px 0 0}.company dl div{display:grid;grid-template-columns:160px 1fr;padding:22px 0;border-top:1px solid var(--line)}.company dl div:last-child{border-bottom:1px solid var(--line)}.company dt{font-size:11px;color:#69756f}.company dd{margin:0;font-size:14px;letter-spacing:.05em}.company-seal{width:min(28vw,270px);aspect-ratio:1;border:1px solid var(--copper);border-radius:50%;display:grid;place-items:center;justify-self:center;position:relative;color:var(--copper);font-family:"Noto Serif JP";font-size:48px}.company-seal:before{content:"";position:absolute;inset:12px;border:1px solid var(--copper);border-radius:50%}.company-seal span{position:absolute}.company-seal span:first-child{transform:translate(-24px,-14px)}.company-seal span:last-child{transform:translate(24px,18px)}.closing{min-height:640px;background:linear-gradient(115deg,rgba(23,37,31,.94),rgba(23,37,31,.76)),radial-gradient(circle at 80% 35%,#71816e,#17251f);color:#fff;display:grid;place-items:center;padding:120px 8vw}.closing-copy{width:min(1100px,100%)}.closing-copy p:last-child{font-size:13px;letter-spacing:.08em;color:rgba(255,255,255,.68)}footer{background:#111b17;color:#fff;padding:70px 7vw 35px;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:35px}.footer-brand{grid-column:1/-1}.footer-brand strong{font-size:22px}footer p{font-size:10px;letter-spacing:.08em;color:rgba(255,255,255,.55);margin:0}.copyright{text-align:right}.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:760px){.site-header{height:74px;padding:0 20px}.brand strong{font-size:14px}.site-header nav{display:none;position:absolute;top:74px;left:0;right:0;background:#17251f;padding:24px;flex-direction:column;gap:20px}.site-header nav.open{display:flex}.menu-button{display:block;background:none;color:inherit;border:1px solid rgba(255,255,255,.4);font-size:9px;letter-spacing:.18em;padding:8px 10px}.hero{padding:130px 24px 90px;grid-template-columns:1fr;align-content:center}.hero h1{font-size:42px}.lead{font-size:12px}.hero-symbol{position:absolute;width:260px;right:-80px;bottom:40px;opacity:.2}.section{padding:100px 24px}.statement{grid-template-columns:1fr}.values{padding-top:20px}.values article{grid-template-columns:30px 54px 1fr}.values h3{font-size:18px}.business-grid{grid-template-columns:1fr}.business-card{border-right:0;border-bottom:1px solid var(--line);min-height:390px}.business-card.featured{transform:none}.company-panel{grid-template-columns:1fr}.company dl div{grid-template-columns:100px 1fr}.company-seal{display:none}.closing{min-height:520px;padding:90px 24px}footer{grid-template-columns:1fr}.copyright{text-align:left}.scope-note{text-align:left}.scroll-note{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.hero h1{font-size:clamp(42px,5.15vw,78px)}
.hero h1 span,.hero h1 em{white-space:nowrap}
@media(max-width:760px){.hero h1{font-size:clamp(32px,10.2vw,42px)}.hero h1 span,.hero h1 em{white-space:normal}}
@media(max-width:760px){.hero h1{font-size:clamp(30px,8.4vw,34px)}.hero h1 span,.hero h1 em{white-space:nowrap}}
.brand-mark{width:44px;height:44px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.brand-mark .crest{stroke-width:1;opacity:.48}
.brand-mark .antler{stroke-width:1.7}
.brand-mark .deer{stroke-width:1.8}
.brand-mark .face{stroke-width:1.25}
