:root{
  --bg:#f7f3ed;
  --paper:#fffdf9;
  --ink:#2f2d28;
  --muted:#756f66;
  --line:#ded6c9;
  --accent:#7b684f;
  --deep:#343a32;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans JP",sans-serif;line-height:1.9;letter-spacing:.04em}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(1120px,88vw);margin:auto}.narrow{width:min(820px,88vw)}.section{padding:120px 0}.section-kicker{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 18px}.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;color:#fff;transition:.3s}.site-header.scrolled,.site-header.open{background:rgba(247,243,237,.94);color:var(--ink);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(0,0,0,.06)}.brand{font-family:"Noto Serif JP",serif;letter-spacing:.18em;font-size:.9rem}.global-nav{display:flex;gap:28px;font-size:.82rem}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:7px 0;transition:.25s}.menu-toggle.active span:nth-child(1){transform:translateY(8px) rotate(35deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-35deg)}.hero{position:relative;min-height:100svh;overflow:hidden;display:grid;place-items:center;color:#fff}.hero-media{position:absolute;inset:0;background:#2d2b26}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.22),rgba(0,0,0,.36))}.hero-copy{position:relative;z-index:2;width:min(920px,86vw);padding-top:60px}.eyebrow{font-size:.88rem;letter-spacing:.18em;margin:0 0 24px}.hero h1{font-family:"Noto Serif JP",serif;font-size:clamp(2.4rem,7vw,5.8rem);font-weight:500;line-height:1.25;margin:0 0 26px}.lead{font-family:"Noto Serif JP",serif;font-size:clamp(1.05rem,2.2vw,1.65rem);line-height:2;margin:0}.scroll-cue{position:absolute;z-index:2;bottom:28px;left:50%;transform:translateX(-50%);font-size:.66rem;letter-spacing:.25em;opacity:.8}.intro h2,.concept h2,.architect h2,.works h2,.fee h2,.office h2,.contact h2{font-family:"Noto Serif JP",serif;font-size:clamp(1.8rem,4vw,3.3rem);font-weight:500;line-height:1.45;margin:0 0 28px}.intro p:last-child{font-size:1.05rem;color:var(--muted)}.concept{padding-top:40px}.concept-block{width:min(1180px,92vw);margin:0 auto 120px;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}.concept-block.reverse{grid-template-columns:.75fr 1.25fr}.concept-block.reverse figure{order:2}.concept-block figure{margin:0;overflow:hidden;background:#e9e1d5}.concept-block img{width:100%;height:70vh;min-height:460px;object-fit:cover}.concept-text p{color:var(--muted)}.concept-text p:first-of-type{color:var(--accent)}.architect{background:var(--paper)}.architect-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.portrait{margin:0;background:#e7ded0}.portrait img{width:100%;max-height:620px;object-fit:cover}.architect h2 span{font-size:1rem;color:var(--muted);font-family:"Noto Sans JP",sans-serif;margin-left:18px}.role{color:var(--accent)}.profile-list{margin:34px 0 0}.profile-list div{display:grid;grid-template-columns:110px 1fr;border-top:1px solid var(--line);padding:14px 0}.profile-list dt{color:var(--accent)}.profile-list dd{margin:0}.works-list{width:min(1200px,92vw);margin:50px auto 0}.work-item{padding:58px 0;border-top:1px solid var(--line)}.work-heading{display:flex;align-items:baseline;gap:18px;margin-bottom:18px}.work-heading span{color:var(--accent);font-family:"Noto Serif JP",serif}.work-heading h3{font-family:"Noto Serif JP",serif;font-size:clamp(1.35rem,2.5vw,2.1rem);font-weight:500;margin:0}.work-note{width:min(760px,100%);color:var(--muted);margin:0 0 28px}.work-swiper{padding:10px 0 46px}.swiper-slide{height:430px;background:#ebe4da;display:flex;align-items:center;justify-content:center;overflow:hidden}.swiper-slide img{width:100%;height:100%;object-fit:contain}.swiper-pagination-bullet-active{background:var(--accent)}.fee{background:var(--paper)}.fee-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:34px 0}.fee-cards div{border:1px solid var(--line);padding:28px;background:#fffaf4}.fee-cards h3{margin:0 0 12px;font-family:"Noto Serif JP",serif;font-weight:500}.fee-cards p{margin:0;color:var(--muted)}.message{color:var(--muted);margin-top:32px}.office-name{font-family:"Noto Serif JP",serif;font-size:1.25rem}.contact{text-align:center}.mail-button{display:inline-block;margin-top:20px;padding:16px 34px;border:1px solid var(--deep);background:var(--deep);color:#fff;letter-spacing:.08em}.site-footer{padding:36px;text-align:center;color:var(--muted);font-size:.78rem}.reveal{opacity:0;transform:translateY(34px)}
@media (max-width: 780px){.site-header{height:66px;padding:0 18px}.menu-toggle{display:block;position:relative;z-index:61}.global-nav{position:fixed;z-index:60;inset:66px 0 auto 0;background:rgba(247,243,237,.98);color:var(--ink);display:grid;gap:0;padding:18px 24px 28px;transform:translateY(-120%);transition:.28s;box-shadow:0 12px 28px rgba(0,0,0,.08)}.global-nav.active{transform:translateY(0)}.global-nav a{padding:14px 0;border-bottom:1px solid var(--line)}.section{padding:82px 0}.hero{min-height:100svh;align-items:end;place-items:end center}.hero-media img{object-position:center center}.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.24),rgba(0,0,0,.72))}.hero-copy{padding:0 0 110px;width:86vw}.eyebrow{font-size:.76rem;line-height:1.8}.lead{font-size:1rem}.concept-block,.concept-block.reverse{display:block;margin-bottom:76px}.concept-block.reverse figure{order:0}.concept-block img{height:auto;max-height:58vh;min-height:0;object-fit:contain;background:#e9e1d5}.concept-text{text-align:center;padding:32px 4vw 0}.architect-grid{display:block}.portrait{margin-bottom:34px}.architect h2 span{display:block;margin:8px 0 0}.profile-list div{grid-template-columns:86px 1fr}.works-list{width:88vw}.work-item{padding:44px 0}.work-heading{display:block}.work-heading h3{margin-top:6px}.swiper-slide{height:360px}.fee-cards{grid-template-columns:1fr}.mail-button{width:100%;max-width:360px}.reveal{transform:translateY(22px)}}
@media (max-width: 430px){.hero h1{font-size:2.45rem}.swiper-slide{height:310px}.brand{font-size:.78rem}.concept-text{text-align:center}.section-kicker{text-align:inherit}}

/* v4 fix: hero scroll cue, mobile concept alignment, fee ruled layout */
.scroll-cue{
  writing-mode:vertical-rl;
  left:auto;
  right:28px;
  bottom:34px;
  transform:none;
  letter-spacing:.18em;
}
.hero-copy{padding-bottom:54px;}
.fee-list{margin:34px 0 0;padding:0;}
.fee-list div{display:grid;grid-template-columns:150px 1fr;border-top:1px solid var(--line);padding:18px 0;align-items:start;}
.fee-list div:last-child{border-bottom:1px solid var(--line);}
.fee-list dt{color:var(--accent);font-family:"Noto Serif JP",serif;font-size:1.06rem;}
.fee-list dd{margin:0;color:var(--muted);}

@media (max-width: 780px){
  .scroll-cue{right:18px;bottom:26px;font-size:.6rem;}
  .hero-copy{padding-bottom:118px;padding-right:28px;}
  .concept-text{width:100%;max-width:420px;margin:0 auto;text-align:center;padding:30px 22px 0;}
  .concept-text .section-kicker,.concept-text h2,.concept-text p{text-align:center;}
  .fee-list div{grid-template-columns:1fr;gap:4px;padding:18px 0;}
}
@media (max-width: 430px){
  .hero-copy{padding-bottom:128px;padding-right:34px;}
  .scroll-cue{right:14px;bottom:30px;}
}
