/* high-desert-juniper-prineville design-a — styles.css
   Figma-Canvas-Counsel grammar (frame cards, mono matter-IDs, hairline grid,
   Figma-blue accent, snap/settle motion) warmed to the high-desert biome.
   BODY ONLY — the hero is injected by the assembler. Everything scoped to
   [data-design="a"]. Windowed-center: every content wrapper has max-width +
   margin-inline:auto. Parallax on .hdj-story__feature is owned by body-life
   (data-bl-feature -> --bl-py); this file does NOT re-implement it. */

/* ── Tokens (instrument-grade canvas, warmed for the desert) ──────────────── */
[data-design="a"].dq-design{
  --canvas:#F4F1EA;          /* warm paper canvas, never pure white/grey */
  --paper:#FFFFFF;           /* raised frames */
  --ink:#1A1714;             /* warm near-black */
  --ink-2:#3E3833;           /* secondary */
  --muted:#7A7167;           /* metadata, mono IDs, timestamps */
  --rule:#E4DECF;            /* hairline */
  --rule-strong:#1A1714;     /* inkstroke */
  --accent:#0D6E8C;          /* desert-teal "Figma blue", warmed */
  --accent-soft:#E2F0F4;     /* selected/focus fill */
  --terracotta:#C25A2B;      /* warm coral accent — second cursor color analogue */
  --terracotta-soft:#F6E4D8;
  --gold:#C9962E;            /* last-light accent */
  --success:#3F7A53;
  --canvas-deep:#ECE6D8;

  --font-display:'Inter','Söhne',-apple-system,system-ui,sans-serif;
  --font-body:'Inter','Söhne',-apple-system,system-ui,sans-serif;
  --font-mono:'JetBrains Mono','IBM Plex Mono',ui-monospace,Menlo,monospace;

  --maxw:1280px;
  --maxw-read:1080px;
  --gut:clamp(20px,5vw,48px);
  --r-frame:10px;
  --r-pill:6px;

  --dur-snap:120ms;
  --dur-settle:240ms;
  --ease-snap:cubic-bezier(0.2,0.9,0.15,1);
  --ease-settle:cubic-bezier(0.22,1,0.36,1);

  color:var(--ink);
  font-family:var(--font-body);
  background:var(--canvas);
  -webkit-font-smoothing:antialiased;
}

[data-design="a"].dq-design *{box-sizing:border-box;}
[data-design="a"] .hdj-mono{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--muted); font-variant-numeric:tabular-nums;
}

/* shared section header */
[data-design="a"] .hdj-section-head{margin:0 0 clamp(22px,3vw,34px);}
[data-design="a"] .hdj-section-head .hdj-mono{display:block; margin-bottom:10px; color:var(--accent);}
[data-design="a"] .hdj-h2{
  font-size:clamp(28px,4vw,44px); font-weight:600; letter-spacing:-0.022em;
  line-height:1.06; margin:0; max-width:22ch; color:var(--ink);
}
[data-design="a"] .hdj-section-sub{
  margin:14px 0 0; color:var(--ink-2); font-size:clamp(15px,1.8vw,18px);
  line-height:1.6; max-width:60ch;
}
[data-design="a"] .hdj-eyebrow{margin:0 0 14px;}

/* scroll-reveal (my own system; disables body-life reveals, keeps parallax).
   Feature figure is intentionally NOT opted in so parallax stays live. */
[data-design="a"] [data-rv]{
  opacity:0; transform:translateY(24px);
  transition:opacity .7s var(--ease-settle), transform .7s var(--ease-settle);
}
[data-design="a"] [data-rv][data-rv-seen]{opacity:1; transform:none;}

/* generic frame card (the Figma "frame") */
[data-design="a"] .hdj-frame{
  background:var(--paper); border:1px solid var(--rule); border-radius:var(--r-frame);
  position:relative;
}
[data-design="a"] .hdj-frame__title{
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding:12px 16px; border-bottom:1px dashed var(--rule);
}
[data-design="a"] .hdj-frame__live{
  width:8px; height:8px; border-radius:9999px; background:var(--accent); flex:none;
  animation:hdj-live 2600ms ease-in-out infinite;
}
@keyframes hdj-live{
  0%,100%{box-shadow:0 0 0 0 color-mix(in oklab,var(--accent) 55%,transparent);}
  50%{box-shadow:0 0 0 6px color-mix(in oklab,var(--accent) 0%,transparent);}
}

/* status pills */
[data-design="a"] .hdj-pill{
  display:inline-flex; align-items:center; gap:6px; flex:none;
  padding:4px 9px; border-radius:var(--r-pill);
  font-family:var(--font-mono); font-size:11px; letter-spacing:.02em;
  font-variant-numeric:tabular-nums; white-space:nowrap;
}
[data-design="a"] .hdj-pill i{width:6px; height:6px; border-radius:9999px; background:currentColor;}
[data-design="a"] .hdj-pill--info{background:var(--accent-soft); color:var(--accent);}
[data-design="a"] .hdj-pill--success{background:#E2EFE7; color:var(--success);}

/* ── CTA key (styled button — NEVER a bare link) ─────────────────────────── */
[data-design="a"] .hdj-key{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 24px; min-height:48px; border-radius:8px;
  background:var(--accent); color:#fff; text-decoration:none;
  font-family:var(--font-display); font-weight:500; font-size:clamp(15px,1.6vw,16px);
  letter-spacing:-0.005em; line-height:1.1; cursor:pointer;
  border:1px solid color-mix(in oklab,var(--accent) 72%,var(--ink) 28%);
  position:relative; isolation:isolate;
  box-shadow:0 0 0 0 color-mix(in oklab,var(--accent) 42%,transparent);
  animation:hdj-cta-breath 4600ms ease-in-out infinite;
  transition:transform var(--dur-snap) var(--ease-snap),
             background-color var(--dur-snap) var(--ease-snap),
             box-shadow var(--dur-snap) var(--ease-snap);
}
[data-design="a"] .hdj-key::before{
  content:""; position:absolute; inset:1px; border-radius:7px;
  border-top:1px solid rgba(255,255,255,.26); pointer-events:none;
}
[data-design="a"] .hdj-key__ext{font-size:1.05em; line-height:1; transition:transform var(--dur-snap) var(--ease-snap);}
[data-design="a"] .hdj-key:active{transform:translateY(1px);}
[data-design="a"] .hdj-key:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}
[data-design="a"] .hdj-key--lg{padding:16px 30px; font-size:clamp(16px,1.8vw,18px);}
@media (hover:hover) and (pointer:fine){
  [data-design="a"] .hdj-key:hover{
    transform:translateY(-2px);
    background:color-mix(in oklab,var(--accent) 90%,var(--ink) 10%);
    box-shadow:0 10px 26px rgba(13,110,140,.30);
  }
  [data-design="a"] .hdj-key:hover .hdj-key__ext{transform:translate(2px,-2px);}
}
@keyframes hdj-cta-breath{
  0%,100%{box-shadow:0 0 0 0   color-mix(in oklab,var(--accent) 42%,transparent);}
  50%    {box-shadow:0 0 0 12px color-mix(in oklab,var(--accent) 0%,transparent);}
}

/* ── Element 1 · HEADER ──────────────────────────────────────────────────── */
[data-design="a"] .hdj-header{
  position:sticky; top:0; z-index:40;
  background:color-mix(in oklab,var(--canvas) 90%,transparent);
  border-bottom:1px solid var(--rule);
  backdrop-filter:saturate(140%) blur(10px);
}
[data-design="a"] .hdj-header__grid{
  position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(to right,var(--rule) 1px,transparent 1px),
    linear-gradient(to bottom,var(--rule) 1px,transparent 1px);
  background-size:32px 32px; opacity:.18;
  animation:hdj-grid-breath 32s ease-in-out infinite;
}
@keyframes hdj-grid-breath{0%,100%{opacity:.14;}50%{opacity:.30;}}
[data-design="a"] .hdj-header__bar{
  position:relative; display:flex; align-items:center; justify-content:space-between;
  height:60px; max-width:var(--maxw); margin-inline:auto; padding:0 var(--gut);
}
[data-design="a"] .hdj-logo{
  display:inline-flex; align-items:center; gap:10px; text-decoration:none;
  color:var(--ink); font-family:var(--font-display); font-weight:600;
  font-size:clamp(15px,1.7vw,17px); letter-spacing:-0.01em;
}
[data-design="a"] .hdj-logo__dot{
  width:10px; height:10px; border-radius:9999px; background:var(--gold);
  box-shadow:0 0 0 3px color-mix(in oklab,var(--gold) 24%,transparent); flex:none;
}
[data-design="a"] .hdj-burger{
  width:40px; height:40px; display:inline-flex; flex-direction:column;
  align-items:center; justify-content:center; gap:5px;
  background:transparent; border:1px solid var(--rule); border-radius:6px; cursor:pointer;
  transition:border-color var(--dur-snap) var(--ease-snap);
}
[data-design="a"] .hdj-burger:hover{border-color:var(--ink);}
[data-design="a"] .hdj-burger:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
[data-design="a"] .hdj-burger__line{width:17px; height:1.6px; background:var(--ink); border-radius:1px; transition:transform var(--dur-settle) var(--ease-settle);}
[data-design="a"] .hdj-burger[aria-expanded="true"] .hdj-burger__line:nth-child(1){transform:translateY(3.3px) rotate(45deg);}
[data-design="a"] .hdj-burger[aria-expanded="true"] .hdj-burger__line:nth-child(2){transform:translateY(-3.3px) rotate(-45deg);}

/* drawer */
[data-design="a"] .hdj-drawer{position:fixed; inset:0; z-index:50; pointer-events:none;}
[data-design="a"] .hdj-drawer[data-open="true"]{pointer-events:auto;}
[data-design="a"] .hdj-drawer__scrim{
  position:absolute; inset:0; background:rgba(26,23,20,.34); backdrop-filter:blur(6px);
  opacity:0; transition:opacity var(--dur-settle) var(--ease-settle);
}
[data-design="a"] .hdj-drawer[data-open="true"] .hdj-drawer__scrim{opacity:1;}
[data-design="a"] .hdj-drawer__panel{
  position:absolute; top:0; right:0; height:100%; width:min(360px,92vw);
  background:var(--paper); border-left:1px solid var(--rule);
  display:flex; flex-direction:column; padding:0 0 24px;
  transform:translateX(100%); transition:transform var(--dur-settle) var(--ease-settle);
}
[data-design="a"] .hdj-drawer[data-open="true"] .hdj-drawer__panel{transform:translateX(0);}
[data-design="a"] .hdj-drawer__head{
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 24px; border-bottom:1px solid var(--rule);
}
[data-design="a"] .hdj-drawer__x{
  width:30px; height:30px; border:1px solid var(--rule); border-radius:6px;
  background:transparent; color:var(--ink); font-size:18px; line-height:1; cursor:pointer;
}
[data-design="a"] .hdj-drawer__items{display:flex; flex-direction:column; padding:14px 14px; gap:2px;}
[data-design="a"] .hdj-navlink{
  position:relative; padding:13px 16px; color:var(--ink); text-decoration:none;
  font-size:16px; border-radius:6px; min-height:44px; display:flex; align-items:center;
  transition:background-color var(--dur-snap) var(--ease-snap);
}
[data-design="a"] .hdj-navlink:hover{background:var(--accent-soft);}
[data-design="a"] .hdj-key--drawer{margin:8px 24px 0;}

/* ── 2 · PLACE STORY (+ feature parallax photo) ──────────────────────────── */
[data-design="a"] .hdj-story{
  max-width:var(--maxw); margin-inline:auto; padding:clamp(56px,9vw,104px) var(--gut);
  display:grid; gap:clamp(28px,5vw,56px); align-items:center;
}
@media (min-width:881px){[data-design="a"] .hdj-story{grid-template-columns:1.05fr 1fr;}}
[data-design="a"] .hdj-story__head{
  font-size:clamp(28px,4.4vw,48px); font-weight:600; letter-spacing:-0.022em;
  line-height:1.08; margin:0 0 22px; color:var(--ink); max-width:18ch;
}
[data-design="a"] .hdj-story__body{
  font-size:clamp(16px,1.9vw,18px); line-height:1.7; color:var(--ink-2);
  margin:0 0 18px; max-width:60ch;
}
[data-design="a"] .hdj-story__feature{
  margin:0; background:var(--paper); border:1px solid var(--rule);
  border-radius:var(--r-frame); overflow:hidden;
  box-shadow:0 1px 2px rgba(26,23,20,.04),0 18px 40px -16px rgba(26,23,20,.16);
}
[data-design="a"] .hdj-story__featureimg{
  display:block; overflow:hidden; background:var(--canvas-deep);
}
[data-design="a"] .hdj-story__featureimg img{
  display:block; width:100%; aspect-ratio:4/3; object-fit:cover;
}
[data-design="a"] .hdj-story__cap{
  padding:12px 16px; background:var(--paper); margin:0; border-top:1px solid var(--rule);
}

/* ── 3 · FACTS GRID ──────────────────────────────────────────────────────── */
[data-design="a"] .hdj-facts{max-width:var(--maxw); margin-inline:auto; padding:clamp(28px,5vw,64px) var(--gut);}
[data-design="a"] .hdj-facts__grid{
  list-style:none; margin:0; padding:0; display:grid; gap:16px;
  grid-template-columns:repeat(auto-fit,minmax(244px,1fr));
}
[data-design="a"] .hdj-fact{display:flex; flex-direction:column; padding-bottom:18px;}
[data-design="a"] .hdj-fact .hdj-frame__title{margin-bottom:4px;}
[data-design="a"] .hdj-fact__v{
  font-size:clamp(18px,2vw,21px); font-weight:600; letter-spacing:-0.015em;
  color:var(--ink); padding:14px 16px 8px;
}
[data-design="a"] .hdj-fact__n{
  font-size:14px; line-height:1.55; color:var(--ink-2); padding:0 16px;
}

/* ── 4 · STAYS SELECTOR (INT-1) ──────────────────────────────────────────── */
[data-design="a"] .hdj-stays{max-width:var(--maxw); margin-inline:auto; padding:clamp(40px,7vw,88px) var(--gut);}
[data-design="a"] .hdj-stays__tabs{
  display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px;
}
[data-design="a"] .hdj-stays__tab{
  appearance:none; cursor:pointer; min-height:44px;
  padding:10px 18px; border-radius:var(--r-pill);
  border:1px solid var(--rule); background:var(--paper); color:var(--ink-2);
  font-family:var(--font-display); font-size:14px; font-weight:500;
  transition:border-color var(--dur-snap) var(--ease-snap),
             color var(--dur-snap) var(--ease-snap),
             background-color var(--dur-snap) var(--ease-snap);
}
[data-design="a"] .hdj-stays__tab:hover{border-color:var(--ink);}
[data-design="a"] .hdj-stays__tab:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
[data-design="a"] .hdj-stays__tab[aria-selected="true"]{
  background:var(--accent-soft); border-color:var(--accent); color:var(--accent);
}
[data-design="a"] .hdj-stays__stage{overflow:hidden;}
[data-design="a"] .hdj-stays__framebar{
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding:12px 18px; border-bottom:1px dashed var(--rule);
}
[data-design="a"] .hdj-stays__body{display:grid;}
@media (min-width:761px){[data-design="a"] .hdj-stays__body{grid-template-columns:1.1fr 1fr;}}
[data-design="a"] .hdj-stays__photo{overflow:hidden; background:var(--canvas-deep);}
[data-design="a"] .hdj-stays__photo img{
  display:block; width:100%; height:100%; aspect-ratio:16/11; object-fit:cover;
  transition:opacity var(--dur-settle) var(--ease-settle);
}
[data-design="a"] .hdj-stays__photo img[data-fading="true"]{opacity:0;}
[data-design="a"] .hdj-stays__detail{
  padding:clamp(22px,3.4vw,38px);
  display:flex; flex-direction:column; align-items:flex-start; gap:12px;
  transition:opacity var(--dur-settle) var(--ease-settle);
}
[data-design="a"] .hdj-stays__detail[data-fading="true"]{opacity:0;}
[data-design="a"] .hdj-stays__strip{margin:0; font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; color:var(--muted);}
[data-design="a"] .hdj-stays__name{margin:0; font-size:clamp(22px,2.6vw,30px); font-weight:600; letter-spacing:-0.02em; color:var(--ink);}
[data-design="a"] .hdj-stays__desc{margin:0; font-size:15px; line-height:1.65; color:var(--ink-2); max-width:54ch;}
[data-design="a"] .hdj-stays__book{margin-top:6px;}

/* ── Pointer (Element 6) ─────────────────────────────────────────────────── */
[data-design="a"] .hdj-pointer{
  max-width:var(--maxw); margin-inline:auto; padding:8px var(--gut) clamp(24px,4vw,44px);
  display:flex; justify-content:center;
}
[data-design="a"] .hdj-pointer__link{
  display:inline-flex; flex-direction:column; align-items:center; gap:12px;
  text-decoration:none; color:var(--muted); padding:8px 16px;
}
[data-design="a"] .hdj-pointer__sun{
  width:18px; height:18px; border-radius:9999px; position:relative;
  background:radial-gradient(circle,var(--gold) 0%,var(--gold) 46%,transparent 60%);
  animation:hdj-sun 7s ease-in-out infinite;
}
@keyframes hdj-sun{
  0%,100%{opacity:.55; transform:translateY(-2px);}
  50%{opacity:1; transform:translateY(2px);}
}
[data-design="a"] .hdj-pointer__rule{
  width:1px; height:30px; background:linear-gradient(to bottom,var(--rule),transparent);
}
[data-design="a"] .hdj-pointer__label{color:var(--muted);}

/* ── 5 · GALLERY ─────────────────────────────────────────────────────────── */
[data-design="a"] .hdj-gallery{max-width:var(--maxw); margin-inline:auto; padding:clamp(28px,5vw,64px) var(--gut);}
[data-design="a"] .hdj-gallery__grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:14px;
}
@media (min-width:861px){[data-design="a"] .hdj-gallery__grid{grid-template-columns:repeat(4,1fr);}}
[data-design="a"] .hdj-gallery__cell{
  margin:0; overflow:hidden; border:1px solid var(--rule); border-radius:var(--r-frame);
  background:var(--canvas-deep);
}
[data-design="a"] .hdj-gallery__cell--wide{grid-column:span 2;}
[data-design="a"] .hdj-gallery__cell img{
  display:block; width:100%; height:100%; aspect-ratio:4/3; object-fit:cover;
  transition:transform 600ms var(--ease-settle);
}
@media (hover:hover) and (pointer:fine){
  [data-design="a"] .hdj-gallery__cell:hover img{transform:scale(1.045);}
}

/* ── 6 · NEARBY ──────────────────────────────────────────────────────────── */
[data-design="a"] .hdj-nearby{max-width:var(--maxw); margin-inline:auto; padding:clamp(28px,5vw,64px) var(--gut);}
[data-design="a"] .hdj-nearby__list{
  list-style:none; margin:0; padding:0; display:grid; gap:16px;
  grid-template-columns:repeat(auto-fit,minmax(248px,1fr));
}
[data-design="a"] .hdj-nearby__item{
  display:flex; flex-direction:column; gap:8px; padding:clamp(20px,3vw,28px);
}
[data-design="a"] .hdj-nearby__no{color:var(--accent);}
[data-design="a"] .hdj-nearby__name{font-size:clamp(18px,2vw,21px); font-weight:600; letter-spacing:-0.015em; color:var(--ink);}
[data-design="a"] .hdj-nearby__note{font-size:14px; line-height:1.6; color:var(--ink-2);}

/* ── 7 · HOST ────────────────────────────────────────────────────────────── */
[data-design="a"] .hdj-host{max-width:var(--maxw-read); margin-inline:auto; padding:clamp(28px,5vw,64px) var(--gut);}
[data-design="a"] .hdj-host__col{padding:clamp(24px,3.5vw,40px);}
[data-design="a"] .hdj-host__name{margin:0 0 16px; font-size:clamp(26px,3.2vw,38px); font-weight:600; letter-spacing:-0.02em; color:var(--ink);}
[data-design="a"] .hdj-host__body{margin:0; font-size:clamp(16px,1.9vw,18px); line-height:1.72; color:var(--ink-2); max-width:62ch;}

/* ── 8 · CLOSING ─────────────────────────────────────────────────────────── */
[data-design="a"] .hdj-closing{max-width:var(--maxw); margin-inline:auto; padding:clamp(48px,8vw,108px) var(--gut);}
[data-design="a"] .hdj-closing__inner{
  max-width:var(--maxw-read); margin-inline:auto; text-align:center;
  background:var(--paper); border:1px solid var(--rule); border-radius:var(--r-frame);
  padding:clamp(36px,6vw,72px) clamp(24px,5vw,56px);
  box-shadow:0 1px 2px rgba(26,23,20,.04),0 24px 56px -22px rgba(26,23,20,.18);
}
[data-design="a"] .hdj-closing__tag{display:block; margin-bottom:14px; color:var(--accent);}
[data-design="a"] .hdj-closing__head{
  margin:0 0 16px; font-size:clamp(28px,4.4vw,46px); font-weight:600;
  letter-spacing:-0.022em; line-height:1.08; color:var(--ink);
}
[data-design="a"] .hdj-closing__sub{
  margin:0 auto 28px; font-size:clamp(16px,1.9vw,18px); line-height:1.65;
  color:var(--ink-2); max-width:56ch;
}

/* ── prefers-reduced-motion ──────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce){
  [data-design="a"] .hdj-header__grid,
  [data-design="a"] .hdj-frame__live,
  [data-design="a"] .hdj-key,
  [data-design="a"] .hdj-pointer__sun{animation:none;}
  [data-design="a"] [data-rv]{opacity:1; transform:none; transition:none;}
  [data-design="a"] .hdj-drawer__scrim,
  [data-design="a"] .hdj-drawer__panel,
  [data-design="a"] .hdj-stays__photo img,
  [data-design="a"] .hdj-stays__detail,
  [data-design="a"] .hdj-gallery__cell img,
  [data-design="a"] .hdj-key__ext{transition:none;}
}

/* ── mobile no-h-scroll floor (contract-mandated, appended last) ──────────── */
[data-design="a"].dq-design,[data-design="a"] .dq-design{max-width:100%; overflow-x:clip;}
[data-design="a"].dq-design *{min-width:0;}
[data-design="a"].dq-design img{max-width:100%; height:auto;}

/* Phase-3.4 hero visibility floor (forge_assemble) */
[data-design="a"] [data-mf-role="hero"] :is(h1,h2,p,.headline,.subtitle,.proof,[class*="headline"],[class*="subtitle"],[class*="proof"]),
[data-design="a"] [data-mf-role="cta"] { opacity: 1 !important; }
