
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --cr:#f8f4ec;--cr2:#f1e9d8;--cr3:#e6dbc6;
  --gd:#253b25;--gm:#4a7a4a;--gp:#c5dbb8;
  --go:#9a7830;--gl:#b89040;--gpl:#e8d898;
  --ink:#16160c;--inkm:#383620;--inks:#787660;
}
html{scroll-behavior:smooth;}
body{background:var(--cr);color:var(--ink);font-family:'Noto Serif JP','Yu Mincho','游明朝','Hiragino Mincho ProN','HiraMinProN-W3',Georgia,serif;max-width:860px;margin:0 auto;}

/* ── HERO ── */
.hero-mosaic{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:260px 160px;gap:2px;background:#c8bca8;}
.ph{overflow:hidden;position:relative;}
.ph img{width:100%;height:100%;object-fit:cover;display:block;}
.ph.main{grid-row:1/3;}
.hero-body{background:var(--cr);padding:32px 48px 36px;text-align:center;}
.gold-rule{width:36px;height:1px;background:var(--go);margin:0 auto 16px;}
.eyebrow{font-size:9px;letter-spacing:5px;color:var(--gl);font-family:'Cormorant Garamond','Yu Mincho','游明朝','Hiragino Mincho ProN',Georgia,serif;text-transform:uppercase;margin-bottom:14px;}
.logo{font-family:'Cormorant Garamond','Yu Mincho','游明朝','Hiragino Mincho ProN',Georgia,serif;font-size:42px;font-weight:300;color:var(--gd);letter-spacing:3px;line-height:1.1;margin-bottom:5px;}
.logo-sub{font-size:10px;letter-spacing:6px;color:var(--go);font-family:'Cormorant Garamond','Yu Mincho','游明朝','Hiragino Mincho ProN',Georgia,serif;margin-bottom:18px;}
.hero-copy{font-size:12px;color:var(--inks);line-height:2.4;letter-spacing:0.5px;}
.ornament{font-family:'Cormorant Garamond','Yu Mincho','游明朝','Hiragino Mincho ProN',Georgia,serif;font-size:18px;color:var(--gl);opacity:0.45;margin-top:14px;}

/* ── DIVIDER ── */
.dv{display:flex;align-items:center;gap:12px;padding:0 48px;}
.dv-line{flex:1;height:0.5px;background:var(--go);opacity:0.35;}
.dv-dia{width:5px;height:5px;background:var(--go);transform:rotate(45deg);opacity:0.5;flex-shrink:0;}

/* ── ABOUT ── */
.about{display:grid;grid-template-columns:1fr 1fr;min-height:360px;}
.about-img{overflow:hidden;}
.about-img img{width:100%;height:100%;object-fit:cover;display:block;}
.about-body{padding:48px 40px;display:flex;flex-direction:column;justify-content:center;background:var(--cr);}
.sec-en{font-size:8px;letter-spacing:5px;color:var(--gl);font-family:'Cormorant Garamond','Yu Mincho','游明朝','Hiragino Mincho ProN',Georgia,serif;text-transform:uppercase;margin-bottom:6px;}
.sec-jp{font-family:'Cormorant Garamond','Yu Mincho','游明朝','Hiragino Mincho ProN',Georgia,serif;font-size:26px;font-weight:300;color:var(--gd);margin-bottom:20px;line-height:1.5;}
.body-text{font-size:12px;color:var(--inkm);line-height:2.6;letter-spacing:0.3px;}
.blank-tag{display:inline-block;border:0.5px solid var(--gl);color:var(--go);font-size:10px;padding:1px 8px;border-radius:1px;font-family:'Cormorant Garamond','Yu Mincho','游明朝','Hiragino Mincho ProN',Georgia,serif;vertical-align:middle;}

/* ── DARK STRIP ── */
.dark-strip{background:var(--gd);padding:28px 0;display:grid;grid-template-columns:repeat(3,1fr);}
.ds-item{padding:16px 24px;text-align:center;border-right:0.5px solid rgba(255,255,255,0.1);}
.ds-item:last-child{border-right:none;}
.ds-num{font-family:'Cormorant Garamond','Yu Mincho','游明朝','Hiragino Mincho ProN',Georgia,serif;font-size:28px;font-weight:300;color:var(--gl);margin-bottom:6px;}
.ds-label{font-size:9px;letter-spacing:2px;color:var(--gp);}
.ds-desc{font-size:9px;color:rgba(255,255,255,0.35);margin-top:4px;line-height:1.7;}

/* ── PRODUCTS ── */
.products-header{padding:48px 48px 24px;}
.prod-intro{font-size:12px;color:var(--inks);line-height:2.3;margin-top:8px;}
.prod-mosaic{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:200px 200px;gap:2px;background:#c8bca8;}
.prod-cell{overflow:hidden;position:relative;background:var(--cr3);}
.prod-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.prod-cell:hover img{transform:scale(1.04);}
.prod-cell.wide{grid-column:1/3;}
.prod-tag{position:absolute;bottom:0;left:0;right:0;padding:10px 14px;background:linear-gradient(transparent,rgba(20,28,16,0.7));}
.prod-cat{font-size:7px;letter-spacing:3px;color:rgba(220,200,140,0.9);font-family:'Cormorant Garamond','Yu Mincho','游明朝','Hiragino Mincho ProN',Georgia,serif;text-transform:uppercase;}
.prod-name{font-family:'Cormorant Garamond','Yu Mincho','游明朝','Hiragino Mincho ProN',Georgia,serif;font-size:16px;font-weight:300;color:#f0ece0;}

/* ── GARDEN ── */
.garden{display:grid;grid-template-columns:1fr 1fr;min-height:300px;}
.garden-img{overflow:hidden;}
.garden-img img{width:100%;height:100%;object-fit:cover;display:block;}
.garden-body{padding:40px 36px;background:var(--cr2);display:flex;flex-direction:column;justify-content:center;}
.garden-body .sec-jp{font-size:22px;margin-bottom:14px;}
.garden-body .body-text{font-size:11.5px;}

/* ── ACCESS ── */
.access{padding:52px 48px;}
.access-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px;align-items:start;}
.acc-row{display:grid;grid-template-columns:64px 1fr;gap:8px;padding:13px 0;border-bottom:0.5px solid var(--cr3);}
.acc-row:first-child{border-top:0.5px solid var(--cr3);}
.acc-key{font-size:7px;letter-spacing:3px;color:var(--gl);font-family:'Cormorant Garamond','Yu Mincho','游明朝','Hiragino Mincho ProN',Georgia,serif;text-transform:uppercase;padding-top:2px;}
.acc-val{font-size:12px;color:var(--inkm);line-height:1.9;}
.map-wrap{overflow:hidden;border:0.5px solid var(--cr3);}
.map-wrap iframe{display:block;width:100%;height:260px;border:none;}

/* ── SNS ── */
.sns{background:var(--gd);padding:48px;}
.sns-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:36px;}
.sns-cell{overflow:hidden;height:140px;}
.sns-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.sns-cell:hover img{transform:scale(1.06);}
.sns-text{text-align:center;}
.sns-text .sec-en{color:var(--gl);}
.sns-title{font-family:'Cormorant Garamond','Yu Mincho','游明朝','Hiragino Mincho ProN',Georgia,serif;font-size:22px;font-weight:300;color:#e8ede0;margin:8px 0 12px;}
.sns-copy{font-size:11px;color:rgba(255,255,255,0.45);line-height:2.1;margin-bottom:22px;}
.sns-btn{display:inline-flex;align-items:center;gap:8px;border:0.5px solid var(--gl);color:var(--gpl);padding:11px 30px;font-size:11px;font-family:'Cormorant Garamond','Yu Mincho','游明朝','Hiragino Mincho ProN',Georgia,serif;letter-spacing:2px;cursor:pointer;background:transparent;text-decoration:none;}

/* ── FOOTER ── */
footer{background:#0d160d;color:var(--inks);padding:32px 48px;text-align:center;font-size:10px;letter-spacing:1.5px;line-height:2.2;}
.footer-logo{font-family:'Cormorant Garamond','Yu Mincho','游明朝','Hiragino Mincho ProN',Georgia,serif;font-size:20px;color:var(--gp);margin-bottom:10px;letter-spacing:4px;}

/* ── RESPONSIVE ── */
@media (max-width: 640px) {
  /* Hero */
  .hero-fullbleed { height: 100svh !important; min-height: 500px; }
  
  /* About */
  .about { grid-template-columns: 1fr !important; }
  .about-img { height: 260px; }
  .about-body { padding: 32px 24px !important; }
  
  /* Dark strip */
  .dark-strip { grid-template-columns: 1fr !important; }
  .ds-item { border-right: none !important; border-bottom: 0.5px solid rgba(255,255,255,0.1); }
  .ds-item:last-child { border-bottom: none; }
  
  /* Products header */
  .products-header { padding: 36px 24px 20px !important; }
  
  /* Products mosaic */
  .prod-mosaic { grid-template-columns: 1fr 1fr !important; grid-template-rows: repeat(3, 180px) !important; }
  .prod-cell.wide { grid-column: 1 / 3 !important; }
  
  /* Garden */
  .garden { grid-template-columns: 1fr !important; }
  .garden-img { height: 240px; }
  .garden-body { padding: 28px 24px !important; }
  
  /* Access */
  .access { padding: 36px 24px !important; }
  .access-layout { grid-template-columns: 1fr !important; }
  .map-wrap iframe { height: 220px !important; }
  
  /* SNS */
  .sns { padding: 36px 24px !important; }
  
  /* Divider */
  .dv { padding: 0 24px !important; }
  
  /* Typography scale down */
  .logo { font-size: 32px !important; }
  .sec-jp { font-size: 20px !important; }
  .hero-fullbleed div[style*="bottom:0"] { padding: 28px 24px !important; }
  .hero-fullbleed div[style*="font-size:44px"] { font-size: 32px !important; }
}

@media (max-width: 400px) {
  .prod-mosaic { grid-template-columns: 1fr !important; grid-template-rows: repeat(5, 180px) !important; }
  .prod-cell.wide { grid-column: 1 !important; }
  .sns-grid { grid-template-columns: 1fr !important; }
  .sns-cell { height: 200px !important; }
}
