:root{--ink:#171717;--soft:#f4f3f1;--line:#d8d6d2;--warm:#b59a86;--pad:clamp(24px,6vw,96px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:16px;line-height:1.85}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.header{position:fixed;z-index:20;top:0;left:0;right:0;height:88px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.93);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.08)}.brand img{width:118px;height:64px;object-fit:contain}.nav{display:flex;align-items:center;gap:34px;font-size:14px;letter-spacing:.05em}.nav a{transition:opacity .2s}.nav a:hover{opacity:.55}.nav-cta{border:1px solid #222;padding:10px 18px}.menu{display:none;border:0;background:transparent}.hero{height:min(860px,100vh);min-height:680px;position:relative;color:#fff;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.10) 68%)}.hero-copy{position:absolute;z-index:2;left:var(--pad);bottom:13%;max-width:770px}.eyebrow{font-size:13px;letter-spacing:.22em;font-weight:600}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;font-size:clamp(48px,7vw,92px);line-height:1.26;letter-spacing:.04em;margin:24px 0}.hero-copy>p:not(.eyebrow){font-size:17px}.button{display:inline-flex;align-items:center;justify-content:space-between;min-width:240px;margin-top:25px;padding:15px 20px;font-size:15px;letter-spacing:.06em}.button.light{border:1px solid rgba(255,255,255,.8)}.button.dark{background:#151515;color:#fff}.scroll{position:absolute;z-index:2;right:28px;bottom:50px;font-size:11px;letter-spacing:.2em;writing-mode:vertical-rl}.section{padding:130px var(--pad)}.section-label{font-size:12px;letter-spacing:.2em;font-weight:600;margin-bottom:75px}.section-label span{color:#999;margin-right:18px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.intro h2,.business h2,.ava h2,.company h2,.contact h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;line-height:1.45;letter-spacing:.04em}.intro h2{font-size:clamp(36px,4.8vw,65px);margin:0}.intro-grid>div{max-width:610px}.lead{font-size:21px;line-height:1.9;margin-top:0}.business{background:#181818;color:#fff}.light-label span{color:#777}.business-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:55px}.business-head h2{font-size:clamp(38px,5vw,62px);margin:0}.business-head p{color:#aaa}.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #555}.cards article{padding:44px 34px 24px 0;border-right:1px solid #555;min-height:320px}.cards article+article{padding-left:34px}.cards article:last-child{border-right:0}.cards b{font-size:12px;color:#888}.cards h3{font-size:24px;font-weight:500;margin:46px 0 24px}.cards p{color:#bbb}.ava{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center}.ava-photo img{width:100%;height:700px;object-fit:cover}.ava-copy{max-width:600px}.ava-logo{width:170px;margin-bottom:45px}.ava h2{font-size:clamp(32px,4vw,54px);margin:0 0 30px}.text-link{display:inline-flex;gap:30px;border-bottom:1px solid #222;padding-bottom:8px;margin-top:28px}.gallery{display:grid;grid-template-columns:1.5fr 1fr;gap:10px;padding:0 10px}.gallery img{width:100%;height:560px;object-fit:cover}.company{background:var(--soft)}.company-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.company h2{font-size:clamp(38px,5vw,60px);margin:0}dl{margin:0}dl div{display:grid;grid-template-columns:130px 1fr;padding:22px 0;border-top:1px solid var(--line)}dl div:last-child{border-bottom:1px solid var(--line)}dt{font-size:14px;color:#777}dd{margin:0}.contact{text-align:center;padding:150px var(--pad);background:#ded8d2}.contact h2{font-size:clamp(38px,5.5vw,70px);margin:30px 0}.contact .button{margin-top:35px}footer{padding:70px var(--pad);display:flex;justify-content:space-between;align-items:flex-end}footer img{width:145px;height:90px;object-fit:contain}footer p{font-size:13px;color:#888}.footer-info{text-align:right;display:flex;flex-direction:column;gap:4px}.footer-info a{font-size:14px}@media(max-width:900px){.header{height:72px}.brand img{width:88px;height:55px}.menu{display:flex;width:44px;height:44px;flex-direction:column;justify-content:center;gap:7px}.menu span{display:block;width:25px;height:1px;background:#222}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:30px var(--pad);flex-direction:column;align-items:flex-start;gap:20px}.nav.open{display:flex}.hero{min-height:660px}.hero-copy{bottom:10%}.hero-copy>p:not(.eyebrow) br{display:none}.section{padding-top:90px;padding-bottom:90px}.section-label{margin-bottom:50px}.intro-grid,.ava,.company-grid{grid-template-columns:1fr;gap:55px}.cards{grid-template-columns:1fr}.cards article,.cards article+article{padding:35px 0;border-right:0;border-bottom:1px solid #555;min-height:0}.business-head{display:block}.ava-photo img{height:480px}.gallery{grid-template-columns:1fr}.gallery img{height:420px}footer{display:block}.footer-info{text-align:left;margin-top:35px}}@media(max-width:520px){.hero h1{font-size:42px}.hero-image{object-position:63% center}.hero-shade{background:rgba(0,0,0,.48)}.hero-copy>p:not(.eyebrow){font-size:15px}.intro h2{font-size:34px}.lead{font-size:18px}.business-head p{font-size:14px}.ava-photo img,.gallery img{height:300px}.company-grid{gap:30px}dl div{grid-template-columns:95px 1fr;gap:15px}.contact h2{font-size:36px}footer{padding-top:50px;padding-bottom:50px}}
