/* abodewharf.homes Vydacha v2 — abwh */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Alegreya:ital,wght@0,400;0,600;0,700;1,400&display=swap');
:root {
  --abwh-bg:#141618; --abwh-surface:#1e2226; --abwh-text:#e6e9ec;
  --abwh-muted:#939aa3; --abwh-line:#2e343a; --abwh-action:#7a9e7e;
  --abwh-on-action:#0e120e; --abwh-kick:#d4a017;
  --abwh-ui:'Noto Sans JP',system-ui,sans-serif; --abwh-head:'Alegreya',Georgia,serif;
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.abwh-body { margin:0; font-family:var(--abwh-ui); color:var(--abwh-text); background:var(--abwh-bg); line-height:1.65; }
img { max-width:100%; height:auto; display:block; }
a { color:var(--abwh-action); }
.abwh-skip { position:absolute; left:-999px; top:auto; }
.abwh-skip:focus { left:1rem; top:1rem; z-index:99; background:var(--abwh-surface); padding:.5rem 1rem; }
.abwh-wrap { width:min(1120px,calc(100% - 2rem)); margin-inline:auto; }
.abwh-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; position:relative; z-index:20; }
.abwh-brand { font-family:var(--abwh-head); font-weight:700; font-size:1.25rem; color:var(--abwh-text); text-decoration:none; letter-spacing:-.02em; }
.abwh-mark { display:inline-flex; align-items:center; gap:.55rem; text-decoration:none; color:var(--abwh-text); }
.abwh-mark-dot { width:1.1rem; height:1.1rem; border-radius:50%; background:var(--abwh-action); display:inline-block; }
.abwh-nav { display:flex; flex-wrap:wrap; gap:.85rem 1.1rem; }
.abwh-nav a { text-decoration:none; color:var(--abwh-text); font-size:.92rem; }
.abwh-nav a[aria-current="page"] { color:var(--abwh-action); font-weight:600; }
.abwh-nav-toggle { display:none; background:transparent; border:1px solid var(--abwh-line); color:var(--abwh-text); padding:.45rem .7rem; font:inherit; cursor:pointer; }
@media (max-width:860px) {
  .abwh-nav-toggle { display:inline-flex; }
  .abwh-nav { display:none; position:absolute; right:0; top:100%; background:var(--abwh-surface); border:1px solid var(--abwh-line); padding:1rem; flex-direction:column; min-width:220px; box-shadow:0 12px 30px rgba(0,0,0,.08); }
  .abwh-nav.is-open { display:flex; }
}
.abwh-kicker { font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:var(--abwh-kick); margin:0 0 .6rem; font-weight:600; }
.abwh-pills { display:flex; flex-wrap:wrap; gap:.45rem; margin:0 0 1rem; padding:0; list-style:none; }
.abwh-pills li { border:1px solid var(--abwh-line); padding:.28rem .7rem; font-size:.82rem; color:var(--abwh-muted); }
h1,h2,h3 { font-family:var(--abwh-head); line-height:1.2; margin:0 0 .75rem; letter-spacing:-.02em; }
h1 { font-size:clamp(1.85rem,4vw,2.75rem); }
h2 { font-size:clamp(1.4rem,2.5vw,1.9rem); }
.abwh-lead { font-size:1.05rem; color:var(--abwh-muted); max-width:38rem; }
.abwh-muted { color:var(--abwh-muted); }
.abwh-cta { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.1rem; }
.abwh-btn { display:inline-flex; align-items:center; justify-content:center; padding:.75rem 1.2rem; text-decoration:none; font:inherit; cursor:pointer; border:1px solid transparent; }
.abwh-btn-fill { background:var(--abwh-action); color:var(--abwh-on-action); }
.abwh-btn-ghost { background:transparent; color:var(--abwh-text); border-color:var(--abwh-line); }
.abwh-hero { position:relative; margin:0 0 2.5rem; }
.abwh-hero-bleed { min-height:min(62vh,560px); display:grid; align-items:end; background:linear-gradient(160deg, color-mix(in srgb, var(--abwh-bg) 35%, transparent), color-mix(in srgb, var(--abwh-text) 55%, transparent)), center/cover no-repeat; color:#fff; padding:2.5rem 1rem 2rem; width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); box-sizing:border-box; }
.abwh-hero-bleed .abwh-wrap { width:min(1120px,calc(100% - 2rem)); margin-inline:auto; }
.abwh-hero-split { display:grid; grid-template-columns:1.05fr .95fr; gap:1.5rem; align-items:center; }
@media (max-width:800px) { .abwh-hero-split { grid-template-columns:1fr; } }
.abwh-hero-bleed .abwh-kicker { color:var(--abwh-kick); }
.abwh-hero-bleed .abwh-lead, .abwh-hero-bleed h1 { color:#fff; }
.abwh-hero-bleed .abwh-pills li { border-color:rgba(255,255,255,.35); color:rgba(255,255,255,.88); }
.abwh-hero-bleed .abwh-btn-ghost { border-color:rgba(255,255,255,.45); color:#fff; }
.abwh-card { background:var(--abwh-surface); border:1px solid var(--abwh-line); padding:1.25rem; }
.abwh-section { padding:2.25rem 0; }
.abwh-section + .abwh-section { border-top:1px solid var(--abwh-line); }
.abwh-works { display:grid; grid-template-columns:1.4fr 1fr; gap:1.25rem; } .abwh-works article:first-child { grid-row:span 2; } @media(max-width:800px){.abwh-works{grid-template-columns:1fr}}
.abwh-steps { display:grid; gap:1rem; } .abwh-step { display:grid; grid-template-columns:3.5rem 1fr; gap:1rem; align-items:start; }
.abwh-works article img, .abwh-media img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.abwh-works h3 { font-size:1.05rem; margin-top:.75rem; }
.abwh-quote { padding:1.5rem; border-left:3px solid var(--abwh-kick); background:var(--abwh-surface); }
.abwh-stars { color:var(--abwh-kick); letter-spacing:.15em; margin:0 0 .5rem; font-size:.9rem; }
.abwh-form label { display:block; font-size:.88rem; margin:.7rem 0 .25rem; }
.abwh-form input, .abwh-form select, .abwh-form textarea { width:100%; padding:.65rem .7rem; border:1px solid var(--abwh-line); background:var(--abwh-bg); color:var(--abwh-text); font:inherit; }
.abwh-form textarea { min-height:110px; resize:vertical; }
.abwh-form-note { font-size:.82rem; color:var(--abwh-muted); margin:.6rem 0; }
.abwh-form-success { padding:1rem; background:color-mix(in srgb, var(--abwh-action) 12%, var(--abwh-surface)); border:1px solid var(--abwh-line); }
.abwh-faq details { border-bottom:1px solid var(--abwh-line); padding:.85rem 0; }
.abwh-faq summary { cursor:pointer; font-weight:600; }
.abwh-visit-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:1.5rem; }
@media(max-width:800px){ .abwh-visit-grid { grid-template-columns:1fr; } }
.abwh-price { width:100%; border-collapse:collapse; }
.abwh-price th, .abwh-price td { text-align:left; padding:.7rem .5rem; border-bottom:1px solid var(--abwh-line); }
.abwh-price .pop { color:var(--abwh-kick); font-size:.78rem; font-weight:600; }
.abwh-footer { margin-top:3rem; border-top:1px solid var(--abwh-line); padding:2.5rem 0 2rem; background:color-mix(in srgb, var(--abwh-surface) 80%, var(--abwh-bg)); }
.abwh-footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1.1fr; gap:1.5rem; }
@media(max-width:800px){ .abwh-footer-grid { grid-template-columns:1fr; } }
.abwh-footer h3 { font-size:1rem; }
.abwh-footer ul { list-style:none; margin:0; padding:0; display:grid; gap:.4rem; }
.abwh-footer a { text-decoration:none; color:var(--abwh-text); }
.abwh-legal-row { margin-top:1.5rem; padding-top:1rem; border-top:1px solid var(--abwh-line); display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; font-size:.88rem; color:var(--abwh-muted); }
.abwh-page-hero { display:grid; grid-template-columns:1.1fr .9fr; gap:1.5rem; align-items:center; margin:1.5rem 0 2rem; }
@media(max-width:800px){ .abwh-page-hero { grid-template-columns:1fr; } }
.abwh-prose p { margin:0 0 1rem; }
.abwh-mats { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem; }


.abwh-hero-grid { display:grid; grid-template-columns:1.1fr 0.9fr; gap:1.5rem; align-items:stretch; }
@media (max-width:900px) {
  .abwh-hero-grid { grid-template-columns:1fr; }
}



.abwh-cookie { position:fixed; z-index:80; left:0; right:0; bottom:0; background:var(--abwh-surface); color:var(--abwh-text); border-top:1px solid var(--abwh-line); padding:1rem 1.25rem; display:none; box-shadow:0 -8px 28px rgba(0,0,0,.08); }
.abwh-cookie.is-on { display:block; }
.abwh-cookie-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.75rem; }
.abwh-cookie-settings { margin-top:.75rem; }
.abwh-btn-accept { background:var(--abwh-action); color:var(--abwh-on-action); border:0; padding:.65rem 1.1rem; font:inherit; cursor:pointer; }
.abwh-btn-decline, .abwh-btn-settings, .abwh-btn-save { background:transparent; color:var(--abwh-text); border:1px solid var(--abwh-line); padding:.65rem 1.1rem; font:inherit; cursor:pointer; }

