/* LUMIÈRE homepage opening: live light on travertine and the lighting assistant.
   The stone stays dark so the light is the only bright thing; text sits in the shadow side. */
.aih{--ink:#f4ede2;--ink-2:rgba(244,237,226,.72);--ink-3:rgba(244,237,226,.5);--edge:rgba(244,237,226,.16);--glass:rgba(16,13,10,.62);--warm:#d8c2a0;
  position:relative;isolation:isolate;overflow:hidden;background:#0d0a08 url(../img/aih-wall.webp) 50% 50%/cover no-repeat;color:var(--ink);min-height:calc(100svh - 64px);display:flex;flex-direction:column}
.aih-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block;opacity:0;transition:opacity 1.2s ease}
.aih-live .aih-canvas{opacity:1}
.aih-nogl .aih-canvas{display:none}
.aih-nogl{background:radial-gradient(60% 70% at 70% 35%,rgba(255,190,120,.35),transparent 70%),linear-gradient(160deg,#2a221b,#0f0c0a)}
.aih-veil{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(12,10,8,.78) 0%,rgba(12,10,8,.42) 42%,rgba(12,10,8,0) 70%),linear-gradient(0deg,rgba(12,10,8,.6),rgba(12,10,8,0) 40%)}
.aih-inner{position:relative;flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:22px;padding-top:clamp(72px,12vh,140px);padding-bottom:clamp(36px,6vh,64px)}

.aih-title{font-size:clamp(2.5rem,1.4rem + 4.4vw,5.4rem);line-height:1.02;font-weight:300;letter-spacing:-.025em;max-width:12.5ch;color:var(--ink);margin:0;text-wrap:balance}
.aih-sub{font-size:var(--t-lead);line-height:1.6;color:var(--ink-2);max-width:46ch;margin:14px 0 0}

/* the ask */
.aih-ask{position:relative;display:flex;align-items:flex-end;gap:10px;max-width:780px;padding:10px 10px 10px 20px;background:rgba(20,16,13,.55);border:1px solid var(--edge);
  backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-radius:18px;transition:border-color .4s,box-shadow .6s}
.aih-ask:focus-within{border-color:rgba(232,207,166,.55);box-shadow:0 0 0 6px rgba(232,207,166,.08),0 30px 80px -30px rgba(255,180,100,.35)}
.aih-ask textarea{flex:1;min-height:44px;max-height:140px;resize:none;border:0;background:none;color:var(--ink);font:inherit;font-size:1.0625rem;line-height:1.5;padding:10px 0;outline:none}
.aih-ask textarea::placeholder{color:var(--ink-3)}
.aih-go{flex:none;display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 18px 0 20px;border:0;border-radius:12px;background:var(--warm);color:#1c1a17;font:inherit;font-size:var(--t-small);font-weight:700;letter-spacing:.02em;cursor:pointer;transition:transform .4s cubic-bezier(.22,1,.36,1),background .3s}
.aih-go svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.aih-go:hover{background:#f3dcb6}
.aih-go:hover svg{transform:translateX(3px)}
.aih-go:focus-visible{outline:2px solid #fff;outline-offset:3px}
.aih-chips{display:flex;flex-wrap:wrap;gap:8px;max-width:820px}
.aih-chip{border:1px solid var(--edge);background:rgba(255,255,255,.04);color:var(--ink-2);font:inherit;font-size:var(--t-small);padding:8px 14px;border-radius:999px;cursor:pointer;transition:border-color .3s,color .3s,background .3s}
.aih-chip:hover,.aih-chip:focus-visible{border-color:rgba(232,207,166,.6);color:var(--ink);background:rgba(232,207,166,.08);outline:none}

/* the colour of the raking light */
.aih-light{position:absolute;right:var(--gut);top:clamp(20px,4vh,40px);display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3)}
.aih-light span{margin-right:6px}
.aih-k{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;background:none;color:var(--ink-3);font:inherit;font-size:12px;padding:5px 9px;border-radius:999px;cursor:pointer}
.aih-k::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--k);box-shadow:0 0 10px var(--k)}
.aih-k[aria-pressed="true"]{border-color:var(--edge);color:var(--ink)}
@media (pointer:coarse){.aih-light span{display:none}}
@media (max-width:700px){.aih-light{top:14px;right:12px}}

/* the answer */
.aih-out{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(18px,3vw,40px);align-items:stretch;padding:clamp(18px,2.4vw,30px);
  background:var(--glass);border:1px solid var(--edge);border-radius:20px;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);
  animation:aih-in .7s cubic-bezier(.22,1,.36,1) both}
.aih-out[hidden]{display:none}
@keyframes aih-in{from{opacity:0;transform:translateY(16px)}}
.aih-plan{display:flex;flex-direction:column;gap:12px;min-width:0}
.aih-who{display:flex;align-items:center;gap:10px;font-size:var(--t-small);color:var(--warm);margin:0}
.aih-dot{width:8px;height:8px;border-radius:50%;background:var(--warm);box-shadow:0 0 0 0 rgba(232,207,166,.6)}
.aih-has-plan:not(.aih-done) .aih-dot{animation:aih-ping 1.2s ease-out infinite}
@keyframes aih-ping{to{box-shadow:0 0 0 10px rgba(232,207,166,0)}}
.aih-lines{display:grid;gap:10px;min-height:7.5em}
.aih-lines p{margin:0;font-size:var(--t-body);line-height:1.6;color:var(--ink)}
.aih-lines p:first-child{color:var(--ink-2)}
.aih-lines p.is-typing::after{content:"";display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-2px;background:var(--warm);animation:aih-caret .8s steps(2) infinite}
@keyframes aih-caret{50%{opacity:0}}
.aih-prod:empty{display:none}
.aih-prod{display:flex;flex-wrap:wrap;gap:8px}
.aih-strip{fill:none;stroke:#ffd9a0;stroke-width:2.5;stroke-dasharray:1 5;stroke-linecap:round;opacity:0;filter:drop-shadow(0 0 3px rgba(255,200,130,.9));transition:opacity .6s .4s}
.aih-map-on .aih-strip{opacity:.9}
.aih-acc{fill:#ffcf87;stroke:#1c1a17;stroke-width:1;opacity:0;transition:opacity .5s .5s}
.aih-map-on .aih-acc{opacity:1}
.aih-card{flex:1 1 260px;display:flex;align-items:center;gap:14px;padding:8px 14px 8px 8px;border:1px solid var(--edge);border-radius:14px;text-decoration:none;color:var(--ink);max-width:420px;animation:aih-in .6s cubic-bezier(.22,1,.36,1) both;transition:border-color .3s}
.aih-card:hover{border-color:rgba(232,207,166,.55)}
.aih-card img{width:56px;height:56px;object-fit:cover;border-radius:10px;display:block}
.aih-card span{display:flex;flex-direction:column;gap:2px}
.aih-card b{font-weight:400;font-size:var(--t-h4)}
.aih-card small{font-size:12px;color:var(--ink-3)}
.aih-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:6px;opacity:0;transform:translateY(8px);transition:opacity .6s,transform .7s cubic-bezier(.22,1,.36,1)}
.aih-done .aih-actions{opacity:1;transform:none}
.aih-actions .btn{border-radius:12px;background:var(--warm);border-color:var(--warm);color:#1c1a17}
.aih-actions .btn:hover{background:transparent;color:var(--warm)}
.aih-actions .btn.ghost{background:transparent;color:var(--ink);border-color:var(--edge)}
.aih-actions .btn.ghost:hover{border-color:var(--warm);color:var(--warm)}

.aih-map{margin:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.aih-svg{width:100%;height:auto;max-height:340px;display:block}
.aih-svg .aih-heat{opacity:0;transition:opacity 1.2s ease .2s}
.aih-map-on .aih-svg .aih-heat{opacity:.92}
.aih-svg .aih-room{fill:none;stroke:rgba(244,237,226,.55);stroke-width:1.2}
.aih-svg text{font:11px Calibri,Arial,sans-serif;fill:rgba(244,237,226,.6)}
.aih-lamp{opacity:0;transform-box:fill-box;transform-origin:center;transition:opacity .5s ease var(--d)}
.aih-map-on .aih-lamp{opacity:1}
.aih-halo{fill:rgba(255,226,180,.18)}
.aih-bulb{fill:#fff3dc;filter:drop-shadow(0 0 4px rgba(255,210,150,.9))}
.aih-cap{font-size:12px;color:var(--ink-3)}

@media (max-width:900px){
  .aih{min-height:auto}
  .aih-veil{background:linear-gradient(0deg,rgba(12,10,8,.82) 10%,rgba(12,10,8,.35) 60%,rgba(12,10,8,.2))}
  .aih-out{grid-template-columns:1fr}
  .aih-map{order:-1}
  .aih-go span{display:none}
  .aih-go{padding:0 14px}
  .aih-chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);scrollbar-width:none}
  .aih-chip{white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){.aih-out,.aih-card{animation:none}.aih-lines p.is-typing::after{animation:none}}

/* the stone stays dark in both themes; the header sits on ivory above it */
/* under the slide show the assistant is a section, not the whole first screen */
.lslider ~ .aih{min-height:min(92svh,900px)}
.lslider ~ .aih .aih-inner{justify-content:center;padding-top:clamp(64px,9vh,112px)}
@media (max-width:900px){.lslider ~ .aih{min-height:auto}}
@media (max-width:600px){.aih-ask{align-items:flex-end}.aih-ask textarea{min-height:72px;font-size:1rem}}
