:root {
  --ash-navy: #17263a;
  --ash-slate: #60758d;
  --ash-mist: #dfe6ec;
  --ash-cloud: #f4f7f9;
  --ash-paper: #ffffff;
  --ash-ink: #1d2631;
  --ash-muted: #66717d;
  --ash-line: #cbd4dc;
}

html { scroll-behavior: smooth; }
.home-main { overflow: hidden; background: var(--ash-paper); color: var(--ash-ink); }
.home-main h1,
.home-main h2,
.home-main h3 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  letter-spacing: -0.03em;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
.home-main p,
.home-main a,
.home-main button,
.home-main span {
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}

.ash-kicker {
  margin: 0 0 1.2rem;
  color: var(--ash-slate);
  font: 600 0.7rem/1 Inter, sans-serif;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.ash-lead { max-width: 38rem; color: var(--ash-muted); font-size: 1.08rem; line-height: 1.75; }
.ash-actions { display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; }
.ash-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0.9rem 1.4rem; border: 1px solid var(--ash-navy); font: 600 0.73rem/1 Inter, sans-serif; letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none; }
.ash-btn--dark { background: var(--ash-navy); color: #ffffff; }
.ash-btn--light { background: #ffffff; color: var(--ash-navy); border-color: #ffffff; }
.ash-link { color: var(--ash-navy); font: 600 0.75rem/1.2 Inter, sans-serif; letter-spacing: 0.1em; text-transform: uppercase; text-underline-offset: 6px; }

.ash-hero { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); min-height: 900px; padding: calc(108px + env(safe-area-inset-top)) clamp(2rem, 5vw, 5rem) clamp(4rem, 7vw, 7rem); background: var(--ash-cloud); border-bottom: 1px solid var(--ash-line); }
.ash-hero__copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(2rem, 4vw, 4rem) clamp(2rem, 5vw, 5rem) clamp(2rem, 4vw, 4rem) 0; min-width: 0; }
.ash-hero h1 { max-width: 9ch; margin: 0 0 2rem; color: var(--ash-navy); font-size: clamp(4.5rem, 7vw, 7.7rem); line-height: 0.88; }
.ash-hero__composition { position: relative; min-height: 720px; min-width: 0; }
.ash-hero__arc { position: absolute; left: 0; top: 5%; width: 56%; height: 62%; border: 1px solid var(--ash-line); border-radius: 50% 50% 0 0; }
.ash-image { position: absolute; margin: 0; overflow: hidden; background: var(--ash-mist); }
.ash-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.72) contrast(1.04); }
.ash-image--primary { right: 0; top: 0; width: 76%; height: 70%; border-radius: 0 0 0 180px; }
.ash-image--detail { left: 3%; bottom: 2%; width: 39%; height: 34%; border: 14px solid var(--ash-cloud); }
.ash-note { position: absolute; right: 4%; bottom: 6%; width: 38%; padding: 2rem; background: var(--ash-navy); color: #ffffff; }
.ash-note span { font: 600 0.66rem Inter, sans-serif; letter-spacing: 0.15em; text-transform: uppercase; color: #b8c6d2; }
.ash-note strong { display: block; margin: 0.8rem 0; font: 500 2.3rem/1 "Cormorant Garamond", serif; color: #ffffff; }
.ash-note p { margin: 0; color: #dce4ea; font-size: 0.88rem; line-height: 1.6; }

.ash-method { display: grid; grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr); gap: clamp(3rem, 7vw, 8rem); padding: clamp(7rem, 11vw, 11rem) max(5vw, 2rem); background: #ffffff; }
.ash-method__title { min-width: 0; }
.ash-method__title h2 { max-width: 9ch; margin: 0; color: var(--ash-navy); font-size: clamp(3.7rem, 5.5vw, 6.2rem); line-height: 0.92; }
.ash-method__grid { min-width: 0; border-top: 1px solid var(--ash-line); }
.ash-method__grid article { display: grid; grid-template-columns: 3rem minmax(170px, 0.8fr) minmax(240px, 1.2fr); gap: clamp(1.2rem, 2.4vw, 2rem); align-items: start; padding: 2rem 0; border-bottom: 1px solid var(--ash-line); background: transparent; }
.ash-method__grid span { color: var(--ash-slate); font: 600 0.68rem Inter, sans-serif; }
.ash-method__grid h3 { min-width: 0; margin: 0; color: var(--ash-navy); font-size: clamp(1.65rem, 2.2vw, 2rem); line-height: 1.05; }
.ash-method__grid p { min-width: 0; margin: 0; color: var(--ash-muted); font-size: 0.95rem; line-height: 1.65; }

.ash-ask { display: grid; grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr); background: var(--ash-navy); color: #ffffff; }
.ash-ask__panel { position: relative; padding: clamp(5rem, 9vw, 9rem); min-width: 0; }
.ash-ask__panel::after { content: ""; position: absolute; right: -11rem; bottom: -11rem; width: 22rem; height: 22rem; border: 1px solid rgba(255,255,255,0.2); border-radius: 50%; }
.ash-ask h2 { max-width: 9ch; margin: 0 0 1.8rem; color: #ffffff !important; font-size: clamp(4rem, 6vw, 6.5rem); line-height: 0.9; }
.ash-ask .ash-kicker { color: #c6d2dc; }
.ash-ask__panel > p:not(.ash-kicker) { max-width: 30rem; color: #dbe4eb !important; line-height: 1.7; }
.ash-prompts { padding: clamp(4rem, 7vw, 7rem); background: #203248; }
.ash-prompts button { display: grid; width: 100%; grid-template-columns: 3rem minmax(0, 1fr); gap: 1rem; padding: 1.8rem 0; border: 0; border-bottom: 1px solid rgba(255,255,255,0.22); background: transparent; color: #ffffff; font: 500 clamp(1.45rem, 2.4vw, 2.5rem)/1.12 "Cormorant Garamond", serif; text-align: left; cursor: pointer; }
.ash-prompts button:first-child { border-top: 1px solid rgba(255,255,255,0.22); }
.ash-prompts span { padding-top: 0.3rem; color: #aebdca; font: 600 0.65rem Inter, sans-serif; }

.ash-places { padding: clamp(7rem, 11vw, 11rem) max(5vw, 2rem); background: var(--ash-cloud); }
.ash-places > header { display: grid; grid-template-columns: minmax(120px, 0.7fr) minmax(0, 1.3fr) auto; align-items: end; max-width: 1400px; margin: 0 auto 4.5rem; }
.ash-places h2 { max-width: 10ch; margin: 0; color: var(--ash-navy); font-size: clamp(4rem, 6.5vw, 7rem); line-height: 0.9; }
.ash-places__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: 2rem; max-width: 1400px; margin: auto; }
.ash-place { position: relative; display: block; min-height: 360px; overflow: hidden; background: var(--ash-mist); color: #ffffff; text-decoration: none; }
.ash-place--wide { min-height: 620px; }
.ash-place--tall { grid-row: span 2; min-height: 760px; }
.ash-place img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.72) brightness(0.84); transition: transform 0.5s; }
.ash-place:hover img { transform: scale(1.02); }
.ash-place::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(15,27,42,0.78), transparent 62%); }
.ash-place div { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 2rem; }
.ash-place span { font: 600 0.65rem Inter, sans-serif; letter-spacing: 0.14em; text-transform: uppercase; color: #ffffff; }
.ash-place h3 { margin: 0.5rem 0; color: #ffffff !important; font-size: clamp(3rem, 5vw, 5rem); line-height: 0.9; }
.ash-place p { max-width: 26rem; margin: 0; color: #eef2f5 !important; font-size: 0.87rem; }

.ash-compare { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); min-height: 660px; background: #ffffff; border-top: 1px solid var(--ash-line); border-bottom: 1px solid var(--ash-line); }
.ash-compare__line { display: flex; flex-direction: column; justify-content: center; padding: clamp(4rem, 8vw, 8rem); border-right: 1px solid var(--ash-line); color: var(--ash-navy); font: 500 clamp(4.5rem, 8vw, 8rem)/0.86 "Cormorant Garamond", serif; }
.ash-compare__line i { margin: 1rem 0; color: var(--ash-slate); font: 600 0.72rem Inter, sans-serif; letter-spacing: 0.18em; text-transform: uppercase; }
.ash-compare__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(4rem, 8vw, 8rem); min-width: 0; }
.ash-compare h2 { margin: 0 0 1.8rem; color: var(--ash-navy); font-size: clamp(3.5rem, 5vw, 5.5rem); line-height: 0.92; }
.ash-compare__copy > p:not(.ash-kicker) { color: var(--ash-muted); line-height: 1.7; }

.ash-membership { padding: clamp(7rem, 11vw, 11rem) max(5vw, 2rem); background: var(--ash-cloud); }
.ash-membership > header { display: grid; grid-template-columns: minmax(120px, 0.55fr) minmax(0, 1.45fr); max-width: 1300px; margin: 0 auto 4rem; }
.ash-membership h2 { max-width: 12ch; margin: 0; color: var(--ash-navy); font-size: clamp(4rem, 6vw, 6.4rem); line-height: 0.9; }
.ash-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1300px; margin: auto; border-top: 1px solid var(--ash-line); border-bottom: 1px solid var(--ash-line); }
.ash-plans article { min-height: 360px; padding: 2rem; border-right: 1px solid var(--ash-line); background: transparent; }
.ash-plans article:last-child { border-right: 0; }
.ash-plans span { color: var(--ash-slate); font: 600 0.65rem Inter, sans-serif; letter-spacing: 0.14em; text-transform: uppercase; }
.ash-plans h3 { margin: 2rem 0 1rem; color: var(--ash-navy); font-size: 2.25rem; }
.ash-price { color: var(--ash-navy); font: 500 3.4rem/1 "Cormorant Garamond", serif; }
.ash-plans p { color: var(--ash-muted); font-size: 0.88rem; line-height: 1.6; }
.ash-plans a { color: var(--ash-navy); font: 600 0.72rem Inter, sans-serif; letter-spacing: 0.1em; text-transform: uppercase; text-underline-offset: 5px; }

.ash-final { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); min-height: 620px; background: var(--ash-navy) !important; color: #ffffff !important; }
.ash-final__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(4rem, 8vw, 8rem); min-width: 0; background: var(--ash-navy) !important; color: #ffffff !important; }
.ash-final .ash-kicker { color: #c6d2dc !important; }
.ash-final h2 { max-width: 9ch; margin: 0 0 2.5rem; color: #ffffff !important; font-size: clamp(4rem, 6vw, 6.7rem); line-height: 0.9; }
.ash-final .ash-link--light { color: #ffffff !important; }
.ash-final__image { position: relative; overflow: hidden; margin: 0; }
.ash-final__image::before { content: ""; position: absolute; z-index: 1; left: -10rem; bottom: -10rem; width: 24rem; height: 24rem; border: 1px solid rgba(255,255,255,0.42); border-radius: 50%; }
.ash-final__image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.68) brightness(0.84); }

@media (max-width: 1180px) {
  .ash-method { grid-template-columns: 1fr; gap: 3rem; }
  .ash-method__title h2 { max-width: 12ch; }
  .ash-method__grid article { grid-template-columns: 3rem minmax(0, 0.85fr) minmax(0, 1.15fr); }
}

@media (max-width: 950px) {
  .ash-hero,
  .ash-ask,
  .ash-compare,
  .ash-final { grid-template-columns: 1fr; }
  .ash-hero { padding-top: 110px; min-height: auto; }
  .ash-hero__copy { padding-right: 0; }
  .ash-hero__composition { min-height: 620px; }
  .ash-method__grid article { grid-template-columns: 2.5rem minmax(0, 1fr); }
  .ash-method__grid p { grid-column: 2; }
  .ash-places > header,
  .ash-membership > header { grid-template-columns: 1fr; }
  .ash-places > header .ash-link { margin-top: 1.5rem; }
  .ash-places__grid { grid-template-columns: 1fr 1fr; }
  .ash-compare__line { border-right: 0; border-bottom: 1px solid var(--ash-line); }
  .ash-plans { grid-template-columns: 1fr; }
  .ash-plans article { border-right: 0; border-bottom: 1px solid var(--ash-line); }
  .ash-final__image { min-height: 460px; }
}

@media (max-width: 650px) {
  .ash-hero { padding-left: 6vw; padding-right: 6vw; }
  .ash-hero h1,
  .ash-method h2,
  .ash-ask h2,
  .ash-places h2,
  .ash-compare h2,
  .ash-membership h2,
  .ash-final h2 { font-size: clamp(3rem, 14vw, 4.6rem); line-height: 0.94; }
  .ash-hero__composition { min-height: 500px; }
  .ash-image--primary { width: 88%; height: 68%; border-radius: 0 0 0 90px; }
  .ash-image--detail { width: 48%; height: 30%; border-width: 8px; }
  .ash-note { width: 58%; right: 0; padding: 1.3rem; }
  .ash-method,
  .ash-places,
  .ash-membership { padding-left: 6vw; padding-right: 6vw; }
  .ash-method__grid article { grid-template-columns: 2.25rem minmax(0, 1fr); gap: 1rem; }
  .ash-method__grid h3 { font-size: 1.55rem; line-height: 1.12; }
  .ash-method__grid p { grid-column: 2; font-size: 0.94rem; }
  .ash-ask__panel,
  .ash-prompts,
  .ash-compare__line,
  .ash-compare__copy,
  .ash-final__copy { padding: 4.5rem 6vw; }
  .ash-places__grid { display: block; }
  .ash-place,
  .ash-place--wide,
  .ash-place--tall { min-height: 420px; margin-bottom: 1.5rem; }
  .ash-plans article { min-height: auto; }
  .ash-actions { align-items: flex-start; flex-direction: column; }
  .ash-final__image { min-height: 360px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}

/* Home Ask input + tools (existing ash tokens only) */
.ash-hero-ask{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;width:100%;max-width:36rem;margin:0 0 1.25rem}
.ash-input{flex:1 1 14rem;min-height:50px;padding:.85rem 1rem;border:1px solid var(--ash-line);background:#fff;color:var(--ash-ink);font:500 .95rem/1.3 Inter,sans-serif}
.ash-prompts--hero{display:flex;flex-wrap:wrap;gap:.55rem;padding:0;background:transparent;max-width:38rem}
.ash-prompts--hero button{display:inline-flex;width:auto;grid-template-columns:none;gap:0;padding:.55rem .85rem;border:1px solid var(--ash-line);border-bottom:1px solid var(--ash-line);background:#fff;color:var(--ash-navy);font:500 .82rem/1.3 Inter,sans-serif;cursor:pointer}
.ash-prompts--hero button:first-child{border-top:1px solid var(--ash-line)}
.ash-method__grid--tools article{grid-template-columns:3rem 1fr;align-items:start}
.ash-method__grid--tools article>div h3{margin:0 0 .55rem;color:var(--ash-navy);font-size:1.8rem;line-height:1}
.ash-method__grid--tools article>div p{margin:0 0 .75rem;color:var(--ash-muted);font-size:.9rem;line-height:1.65}
.ash-method__grid--tools .ash-link{display:inline-block}
.ash-steps{margin:1.5rem 0 0;padding:0 0 0 1.2rem;color:#dbe4eb;line-height:1.8;font-size:1.05rem}
.ash-membership>header p:not(.ash-kicker){max-width:34rem;margin:.85rem 0 0;color:var(--ash-muted);line-height:1.7}
@media(max-width:650px){.ash-hero-ask{flex-direction:column;align-items:stretch}.ash-prompts--hero button{width:100%}}
