:root{
  --red:#8b0000;
  --dark-red:#490000;
  --gold:#c59a45;
  --cream:#f7f1e8;
  --paper:#fffdfa;
  --charcoal:#252525;
  --gray:#6d6d6d;
  --line:#e8dfd4;
  --shadow:0 18px 55px rgba(46,20,16,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--charcoal);background:var(--paper);font-family:"Noto Sans JP",sans-serif;line-height:1.8}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 48px));margin:auto}
.site-header{position:fixed;z-index:1000;inset:0 0 auto;background:rgba(255,253,250,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(139,0,0,.08)}
.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between}
.brand img{width:190px;max-height:58px;object-fit:contain}
.global-nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}
.global-nav a{transition:.25s}
.global-nav a:hover{color:var(--red)}
.nav-cta{background:var(--red);color:white!important;padding:14px 20px}
.menu-button{display:none;background:none;border:0;width:42px;height:42px;padding:8px}
.menu-button span{display:block;height:2px;background:var(--red);margin:6px 0}
.hero{min-height:820px;display:flex;align-items:center;position:relative;background:
linear-gradient(90deg,rgba(39,5,5,.92),rgba(64,7,7,.68) 46%,rgba(64,7,7,.12)),
radial-gradient(circle at 78% 40%,rgba(197,154,69,.34),transparent 24%),
linear-gradient(135deg,#2e0505,#6f1111 45%,#b07958);overflow:hidden}
.hero:after{content:"";position:absolute;right:-5%;bottom:-25%;width:60%;height:80%;background:linear-gradient(135deg,transparent 26%,rgba(255,255,255,.12));transform:skewX(-15deg)}
.hero-content{position:relative;z-index:2;color:white;padding-top:100px}
.eyebrow,.section-kicker{font-size:12px;font-weight:700;letter-spacing:.22em;color:var(--gold);margin:0 0 18px}
.hero h1,.section h2,.statement h2,.philosophy h2{font-family:"Noto Serif JP",serif}
.hero h1{font-size:clamp(48px,7vw,88px);line-height:1.28;letter-spacing:.03em;margin:0 0 28px;font-weight:600}
.hero h1 span{color:#f2d79c}
.hero-copy{font-family:"Noto Serif JP",serif;font-size:20px;letter-spacing:.08em}
.hero-actions{display:flex;gap:14px;margin:38px 0 34px}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:56px;padding:0 28px;border:1px solid transparent;font-weight:700;transition:.25s;cursor:pointer}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.button-gold{background:var(--gold);color:#291500}
.button-ghost{border-color:rgba(255,255,255,.55);color:white}
.button-red{background:var(--red);color:white}
.hero-points{display:flex;gap:0;list-style:none;padding:0;margin:0;flex-wrap:wrap}
.hero-points li{padding:0 22px;border-left:1px solid rgba(255,255,255,.35);font-size:13px}
.hero-points li:first-child{padding-left:0;border:0}
.statement{padding:110px 0;background:#fff}
.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}
.statement h2{font-size:38px;line-height:1.55;margin:0}
.statement-body{font-size:16px;color:#4d4d4d}
.statement-body p{margin:0 0 22px}
.section{padding:110px 0}
.section-head{max-width:760px;margin:0 auto 58px;text-align:center}
.section-head h2{font-size:42px;line-height:1.4;margin:0 0 18px}
.section-head p:last-child{color:var(--gray)}
.business{background:var(--cream)}
.business-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.business-card{position:relative;background:white;box-shadow:var(--shadow);overflow:hidden}
.number{position:absolute;z-index:2;left:20px;top:16px;font-family:serif;color:white;font-size:28px}
.card-image{height:270px;background-size:cover;background-position:center}
.card-image.land{background:linear-gradient(150deg,rgba(75,26,17,.12),rgba(139,0,0,.44)),linear-gradient(30deg,#d8b98c,#6d8b74)}
.card-image.house{background:linear-gradient(150deg,rgba(75,26,17,.12),rgba(139,0,0,.35)),linear-gradient(35deg,#957052,#ded0bb)}
.card-image.mansion{background:linear-gradient(150deg,rgba(75,26,17,.08),rgba(139,0,0,.35)),linear-gradient(35deg,#d9c6ad,#89999a)}
.card-image.newbuild{background:linear-gradient(150deg,rgba(75,26,17,.08),rgba(139,0,0,.35)),linear-gradient(35deg,#ede6dd,#8b7768)}
.card-body{padding:30px 32px 34px}
.card-body h3{font-family:"Noto Serif JP",serif;font-size:23px;margin:0 0 12px}
.card-body p{margin:0;color:var(--gray)}
.dark{background:linear-gradient(135deg,#350000,#680707);color:white}
.section-head.light p:last-child{color:#ded0cc}
.strength-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.strength-grid article{padding:28px 24px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);min-height:265px}
.strength-grid span{font-family:serif;color:var(--gold);font-size:24px}
.strength-grid h3{font-size:17px;margin:22px 0 12px}
.strength-grid p{font-size:13px;color:#e3d9d6}
.seller-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.seller-photo{min-height:570px;background:linear-gradient(145deg,rgba(139,0,0,.08),rgba(139,0,0,.28)),linear-gradient(35deg,#d7b8a0,#f0e2d0 50%,#8d6455)}
.seller-content h2{font-family:"Noto Serif JP",serif;font-size:42px;line-height:1.45;margin:0 0 26px}
.check-list{padding:0;list-style:none;margin:28px 0}
.check-list li{border-bottom:1px solid var(--line);padding:12px 0}
.check-list li:before{content:"✓";color:var(--red);font-weight:bold;margin-right:12px}
.text-link{color:var(--red);font-weight:700}
.muted{background:#f5f2ed}
.flow-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.flow-grid article{background:white;padding:30px 24px;min-height:250px;border-top:3px solid var(--gold)}
.flow-grid span{font-family:serif;font-size:30px;color:var(--red)}
.flow-grid h3{margin:16px 0 10px}
.flow-grid p{font-size:13px;color:var(--gray)}
.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.work-card{border:1px solid var(--line);background:white}
.work-image{height:280px;display:flex;align-items:flex-end;padding:20px;background-size:cover}
.work-image span{background:var(--red);color:white;padding:7px 12px;font-size:11px;letter-spacing:.15em}
.work-1{background:linear-gradient(35deg,#c6a57b,#758976)}
.work-2{background:linear-gradient(35deg,#c6b8ab,#ece3d6)}
.work-3{background:linear-gradient(35deg,#765a50,#ccb79e)}
.work-card>div:last-child{padding:26px}
.work-card h3{margin:0 0 10px;font-family:"Noto Serif JP",serif}
.work-card p{margin:0;color:var(--gray);font-size:14px}
.partner{background:var(--cream)}
.partner-box{display:grid;grid-template-columns:1.5fr 1.4fr auto;gap:35px;align-items:center;padding:48px;background:white;box-shadow:var(--shadow)}
.partner-box h2{font-size:30px;margin:0 0 10px}
.partner-box p{margin:0;color:var(--gray)}
.partner-points{display:flex;gap:10px;flex-wrap:wrap}
.partner-points span{padding:8px 12px;background:var(--cream);font-size:12px}
.philosophy{text-align:center;background:linear-gradient(135deg,#3c0000,#750d0d);color:white;padding:105px 0}
.philosophy h2{font-size:52px;margin:0 0 24px;color:#f0d49a}
.philosophy p{color:#eadfdb}
.gold{color:var(--gold)}
.contact{background:#fff}
.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}
.contact-copy h2{font-family:"Noto Serif JP",serif;font-size:42px;margin:0 0 18px}
.contact-copy>p{color:var(--gray)}
.contact-note{margin-top:34px;padding:24px;background:var(--cream);display:grid;gap:5px}
.contact-note span{font-size:12px;color:var(--gray)}
.contact-form{background:#faf7f2;padding:38px}
.contact-form label{display:grid;gap:7px;font-size:13px;font-weight:600;margin-bottom:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
input,select,textarea{width:100%;border:1px solid #d9d0c5;background:white;padding:13px 14px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(139,0,0,.08)}
.privacy{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}
.privacy input{width:auto}
.form-submit{width:100%}
.form-message{text-align:center;margin-bottom:0;color:var(--red);font-weight:600}
.site-footer{background:#211817;color:white;padding:70px 0 22px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}
.footer-brand img{width:220px;filter:brightness(0) invert(1)}
.footer-brand p{color:#cbbeb9}
.footer-grid h3{font-size:14px;color:var(--gold)}
.footer-grid a{display:block;color:#d9cfcb;font-size:13px;margin:8px 0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:48px;padding-top:20px;display:flex;justify-content:space-between;font-size:11px;color:#a99a95}
.floating-cta{position:fixed;z-index:900;right:22px;bottom:22px;background:var(--red);color:white;width:82px;height:82px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;box-shadow:0 10px 30px rgba(90,0,0,.32)}
@media(max-width:980px){
  .menu-button{display:block}
  .global-nav{position:absolute;top:82px;left:0;right:0;background:white;display:none;flex-direction:column;align-items:stretch;padding:22px 24px;box-shadow:var(--shadow)}
  .global-nav.open{display:flex}
  .global-nav a{padding:10px 0}
  .nav-cta{text-align:center}
  .statement-grid,.seller-grid,.contact-grid{grid-template-columns:1fr;gap:40px}
  .strength-grid{grid-template-columns:repeat(2,1fr)}
  .flow-grid{grid-template-columns:repeat(2,1fr)}
  .partner-box{grid-template-columns:1fr}
}
@media(max-width:680px){
  .container{width:min(100% - 30px,1180px)}
  .header-inner{height:72px}.brand img{width:155px}.global-nav{top:72px}
  .hero{min-height:760px}.hero-content{padding-top:80px}
  .hero h1{font-size:47px}
  .hero-copy{font-size:16px}
  .hero-actions{flex-direction:column;max-width:360px}
  .hero-points{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .hero-points li,.hero-points li:first-child{padding:0;border:0}
  .section,.statement{padding:78px 0}
  .statement h2,.section-head h2,.seller-content h2,.contact-copy h2{font-size:31px}
  .business-grid,.strength-grid,.flow-grid,.works-grid{grid-template-columns:1fr}
  .card-image{height:220px}
  .seller-photo{min-height:380px}
  .partner-box{padding:30px 22px}
  .form-row{grid-template-columns:1fr;gap:0}
  .contact-form{padding:26px 20px}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{display:grid;gap:8px}
  .floating-cta{width:66px;height:66px;font-size:11px}
}
