/* HOUNGUES Public Website V1.062 — immersive Off-Plan Project Scroll prototype. */
html:has(.op-scroll-page){scroll-behavior:auto;background:#090b0b}
body.op-scroll-page{margin:0;background:#090b0b;color:#fff;overflow:hidden;font-family:Arial,Helvetica,sans-serif}
.op-scroll-page *{box-sizing:border-box}
.op-scroll-page a{color:inherit;text-decoration:none}
.op-scroll-skip{position:fixed;left:12px;top:-100px;z-index:100;background:#fff;color:#111;padding:10px 14px}.op-scroll-skip:focus{top:12px}
.op-scroll-shell{height:100dvh;min-height:100vh;position:relative;background:#090b0b;overflow:hidden}
.op-scroll-feed{height:100%;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior-y:none;background:#090b0b}
.op-scroll-feed::-webkit-scrollbar,.op-scroll-gallery::-webkit-scrollbar{display:none}
.op-scroll-slide{height:100dvh;min-height:640px;scroll-snap-align:start;scroll-snap-stop:always;display:grid;place-items:center;padding:76px 3vw 34px;background:#090b0b;position:relative}
.op-scroll-card{position:relative;width:min(94vw,1480px);height:min(80vh,790px);max-height:calc(100dvh - 116px);min-height:540px;overflow:hidden;background:#121515;border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 70px rgba(0,0,0,.28);isolation:isolate}
.op-scroll-gallery{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-y;z-index:0}
.op-scroll-media{position:relative;flex:0 0 100%;width:100%;height:100%;margin:0;scroll-snap-align:start;scroll-snap-stop:always;background:#121515;overflow:hidden}
.op-scroll-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none;-webkit-user-drag:none}
.op-scroll-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(3,6,7,.74) 0%,rgba(3,6,7,.35) 41%,rgba(3,6,7,.04) 68%),linear-gradient(0deg,rgba(2,4,4,.83) 0%,rgba(2,4,4,.28) 38%,rgba(2,4,4,.02) 66%)}
.op-scroll-topline{position:absolute;z-index:5;left:30px;right:30px;top:26px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.op-scroll-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.op-scroll-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid rgba(255,255,255,.35);background:rgba(6,10,10,.30);backdrop-filter:blur(8px);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.op-scroll-badge.demo{background:#f5efe4;color:#231f19;border-color:#f5efe4}
.op-scroll-position{font-size:11px;font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.94);text-shadow:0 2px 12px rgba(0,0,0,.55)}
.op-scroll-copy{position:absolute;z-index:4;left:34px;bottom:32px;width:min(660px,58%);text-shadow:0 2px 16px rgba(0,0,0,.5)}
.op-scroll-area{margin:0 0 10px;color:#e2bd7e;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.op-scroll-copy h1{margin:0;font:400 clamp(42px,4.7vw,76px)/.94 Georgia,'Times New Roman',serif;letter-spacing:-.045em;color:#fff}
.op-scroll-tagline{max-width:600px;margin:14px 0 18px;color:rgba(255,255,255,.9);font-size:15px;line-height:1.55}
.op-scroll-facts{display:flex;align-items:stretch;width:min(560px,100%);border-top:1px solid rgba(255,255,255,.36);border-bottom:1px solid rgba(255,255,255,.25);margin-bottom:18px}
.op-scroll-fact{min-width:0;flex:1;padding:11px 18px 11px 0}
.op-scroll-fact+.op-scroll-fact{padding-left:18px;border-left:1px solid rgba(255,255,255,.25)}
.op-scroll-fact span{display:block;color:rgba(255,255,255,.69);font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.op-scroll-fact strong{display:block;margin-top:4px;color:#fff;font-size:18px;font-weight:600;line-height:1.15}
.op-scroll-view{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-width:220px;min-height:52px;padding:0 22px;background:#a1783f;color:#fff;border:1px solid #b98e53;font-size:13px;font-weight:700;letter-spacing:.02em;text-shadow:none;transition:background .18s ease,transform .18s ease}
.op-scroll-view:hover{background:#b58b50}.op-scroll-view:active{transform:scale(.985)}.op-scroll-view b{font-size:18px;font-weight:400}
.op-scroll-dots{position:absolute;z-index:5;left:50%;bottom:25px;transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid rgba(255,255,255,.12);background:rgba(8,10,10,.34);backdrop-filter:blur(8px)}
.op-scroll-dot{appearance:none;border:0;padding:0;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.48);cursor:pointer;transition:transform .16s ease,background .16s ease}.op-scroll-dot.active{background:#fff;transform:scale(1.4)}
.op-scroll-media-nav{position:absolute;z-index:5;right:26px;bottom:28px;display:flex;gap:8px}
.op-scroll-media-nav button,.op-scroll-project-nav button{appearance:none;border:1px solid rgba(255,255,255,.30);background:rgba(7,10,10,.28);backdrop-filter:blur(8px);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .16s ease,transform .16s ease}
.op-scroll-media-nav button{width:44px;height:44px;font-size:20px}.op-scroll-media-nav button:hover,.op-scroll-project-nav button:hover{background:rgba(255,255,255,.14)}.op-scroll-media-nav button:active,.op-scroll-project-nav button:active{transform:scale(.94)}
.op-scroll-project-nav{position:fixed;z-index:30;right:18px;top:50%;transform:translateY(-50%);display:grid;gap:9px}
.op-scroll-project-nav button{width:44px;height:44px;border-radius:50%;font-size:21px}
.op-scroll-back,.op-scroll-brand,.op-scroll-mode{position:fixed;z-index:40;top:18px;color:#fff}
.op-scroll-back{left:22px;display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.05em}.op-scroll-back span{width:39px;height:39px;border:1px solid rgba(255,255,255,.25);background:rgba(7,10,10,.30);backdrop-filter:blur(8px);display:grid;place-items:center;border-radius:50%;font-size:29px;line-height:1}.op-scroll-back em{font-style:normal}
.op-scroll-brand{left:50%;transform:translateX(-50%);font:400 20px/1 'Times New Roman',serif;letter-spacing:.28em;text-shadow:0 2px 14px rgba(0,0,0,.55)}
.op-scroll-mode{right:22px;top:26px;font-size:9px;font-weight:700;letter-spacing:.14em;color:rgba(255,255,255,.86)}.op-scroll-mode span{color:#d5ae70}
.op-scroll-next-hint{display:none}
.op-scroll-prototype-note{position:absolute;z-index:5;right:28px;top:66px;color:rgba(255,255,255,.62);font-size:8px;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:980px){
  .op-scroll-slide{padding:66px 18px 24px;min-height:600px}
  .op-scroll-card{width:100%;height:min(78vh,720px);min-height:520px}
  .op-scroll-copy{width:min(700px,72%)}
  .op-scroll-project-nav{display:none}
}
@media(max-width:700px){
  body.op-scroll-page{background:#070909}
  .op-scroll-shell,.op-scroll-feed{height:100svh}
  .op-scroll-slide{height:100svh;min-height:0;padding:0;background:#070909}
  .op-scroll-card{width:100%;height:100svh;max-height:none;min-height:0;border:0;box-shadow:none}
  .op-scroll-media img{object-fit:cover;object-position:center}
  .op-scroll-shade{background:linear-gradient(180deg,rgba(2,5,6,.05) 0%,rgba(2,5,6,.02) 38%,rgba(2,5,6,.22) 54%,rgba(2,5,6,.95) 100%)}
  .op-scroll-topline{left:16px;right:16px;top:calc(58px + env(safe-area-inset-top))}
  .op-scroll-badge{min-height:26px;padding-inline:8px;font-size:8px}
  .op-scroll-position{font-size:10px}
  .op-scroll-copy{left:18px;right:18px;bottom:calc(11px + env(safe-area-inset-bottom));width:auto;text-shadow:0 2px 10px rgba(0,0,0,.68)}
  .op-scroll-area{margin-bottom:7px;font-size:9px}
  .op-scroll-copy h1{max-width:calc(100% - 58px);font-size:clamp(32px,9vw,43px);line-height:.98}
  .op-scroll-tagline{max-width:calc(100% - 54px);margin:8px 0 10px;font-size:11px;line-height:1.42}
  .op-scroll-facts{width:100%;margin-bottom:10px}.op-scroll-fact{padding:8px 11px 8px 0}.op-scroll-fact+.op-scroll-fact{padding-left:11px}.op-scroll-fact span{font-size:7px}.op-scroll-fact strong{font-size:14px}
  .op-scroll-view{width:100%;min-width:0;min-height:49px;padding-inline:14px;background:linear-gradient(180deg,#bd8b43,#976724);border:0;border-radius:10px;font-size:13px}
  .op-scroll-dots{position:relative;left:auto;bottom:auto;transform:none;width:max-content;margin:0 auto 9px;padding:5px 9px;border-radius:999px}
  .op-scroll-media-nav{display:none}
  .op-scroll-back{left:13px;top:calc(11px + env(safe-area-inset-top))}.op-scroll-back span{width:39px;height:39px}.op-scroll-back em{display:none}
  .op-scroll-brand{top:calc(22px + env(safe-area-inset-top));font-size:15px;letter-spacing:.24em}
  .op-scroll-mode{display:none}
  .op-scroll-prototype-note{display:none}
  .op-scroll-next-hint{height:27px;margin-top:2px;display:grid;place-items:center;align-content:center;color:rgba(255,255,255,.76);font-size:7px;letter-spacing:.04em;text-align:center;transition:opacity .2s ease}
  .op-scroll-next-hint b{font-size:20px;line-height:13px;font-weight:400;animation:opScrollPulse 1.25s ease-in-out infinite}
  .op-scroll-next-hint.is-hidden{opacity:0;visibility:hidden}
}
@keyframes opScrollPulse{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(3px);opacity:1}}
@media(prefers-reduced-motion:reduce){.op-scroll-gallery{scroll-behavior:auto}.op-scroll-next-hint b{animation:none}.op-scroll-view,.op-scroll-dot{transition:none}}

/* V1.063 — continuous loop cue */
.op-scroll-mode::after{content:" · LOOP";color:#d5ae70}
