/* Houten Wandplank: the arrival (binnenkomst.js) and the logo scene. */
.hb-scene{position:relative;aspect-ratio:3/2;width:100%;overflow:hidden;background:#e9ddcb;container-type:inline-size}
.hb-scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hb-scene .hb-uit{transition:opacity .45s cubic-bezier(.2,.7,.2,1)}
.hb-scene.aan .hb-uit{opacity:0}
.hb-scene.flits .hb-uit{opacity:.35;transition:opacity .04s linear}
.hb-lockup{position:absolute;left:0;right:0;top:72%;display:grid;justify-items:center;gap:2.2cqw}
.hb-lockup .hw-wm{font-size:5.6cqw}
.hb-lockup .hw-tag{font-size:1.45cqw}
.hb-l{display:inline-block}

/* the overlay: Stef's wall fills the screen, the scene sits in it */
.hb-open,.hb-open body{overflow:hidden}
.hb-overlay{position:fixed;inset:0;z-index:1000;overflow:hidden;background:radial-gradient(120% 90% at 40% 35%,#efe4d4,#e2d4c0 70%,#d9c9b2);cursor:pointer;filter:brightness(.38) saturate(.8);transition:opacity .8s ease,filter 1.6s cubic-bezier(.3,.6,.2,1)}
.hb-overlay.start{filter:none}
.hb-open fp-link{display:none!important}
.hb-kader{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100vw,150vh);max-width:none}
.hb-overlay .hb-scene{background:transparent;-webkit-mask-image:radial-gradient(75% 75% at 50% 50%,#000 62%,transparent 100%);mask-image:radial-gradient(75% 75% at 50% 50%,#000 62%,transparent 100%)}
.hb-overlay .hb-scene img{transform:scale(1.035);transition:transform 2.4s cubic-bezier(.2,.7,.2,1),opacity .45s cubic-bezier(.2,.7,.2,1)}
.hb-overlay.start .hb-scene img{transform:none}
.hb-overlay.start .hb-scene.aan .hb-uit{opacity:0}
.hb-overlay.start .hb-scene.flits .hb-uit{opacity:.3;transition:opacity .04s linear}
.hb-overlay .hb-l,.hb-overlay .hb-nl{opacity:0;transform:translateY(.45em);filter:blur(4px)}
.hb-overlay .naam .hb-l,.hb-overlay .naam .hb-nl{opacity:1;transform:none;filter:none;transition:opacity .5s ease,transform .7s cubic-bezier(.2,.8,.2,1),filter .6s ease}
.hb-overlay .naam .hb-b .hb-l{transition-delay:calc(var(--i) * 45ms)}
.hb-overlay .naam .hb-r .hb-l{transition-delay:calc(260ms + var(--i) * 32ms)}
.hb-overlay .naam .hb-nl{transition-delay:760ms}
.hb-overlay .hw-tag s{transform:scaleX(0);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.hb-overlay .hw-tag s:first-child{transform-origin:100% 50%}.hb-overlay .hw-tag s:last-child{transform-origin:0 50%}
.hb-overlay .hw-tag em{opacity:0;transition:opacity .6s ease}
.hb-overlay .tag .hw-tag s{transform:none}
.hb-overlay .tag .hw-tag em{opacity:1}
.hb-overlay .tag .hw-tag em:nth-child(2){transition-delay:.18s}.hb-overlay .tag .hw-tag em:nth-child(3){transition-delay:.36s}
.hb-overlay.dock .hb-scene img,.hb-overlay.dock .hw-tag{opacity:0;transition:opacity .6s ease}
.hb-overlay.dock{background:transparent;transition:background .7s ease}
.hb-wm.licht,.hb-wm.licht .hb-b{transition:color .8s ease}
.hb-wm.licht{color:#fff}.hb-wm.licht .hb-b{color:#f0c48f}
.hb-overlay.weg{opacity:0;pointer-events:none}
.hb-overlay.weg-snel{opacity:0;pointer-events:none;transition:opacity .25s ease}
.hb-skip{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:2;font:500 14px Inter,system-ui,sans-serif;color:#5d4f41;background:rgba(255,255,255,.55);border:0;border-radius:999px;padding:10px 16px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hb-overlay.dock .hb-skip{opacity:0}

/* phone: the scene wider than the screen so the shelf reads big, the name below it on the wall */
@media (max-aspect-ratio:1/1){
  .hb-kader{width:160vw;top:44%}
  .hb-overlay .hb-lockup{top:auto;bottom:-34%}
  .hb-overlay .hb-scene{overflow:visible;-webkit-mask-image:none;mask-image:none}
  .hb-overlay .hb-scene img{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 30%,#000 66%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 30%,#000 66%,transparent 100%)}
  .hb-overlay{background:linear-gradient(#ebdfcd,#e6d9c6)}
  .hb-lockup .hw-wm{font-size:4.1cqw}.hb-lockup .hw-tag{font-size:1.5cqw}
}
@media (prefers-reduced-motion:reduce){.hb-overlay{display:none}}

/* the scene as a band on the home page (2026-10-22) */
.merkband{background:linear-gradient(90deg,#ece0cf,#e7dac7 50%,#dccdb8);padding:0 0 clamp(28px,4vw,48px);text-align:center}
.merkband .hb-scene{max-width:1400px;margin:0 auto;background:transparent;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.merkband .hb-scene .hb-uit{transition:opacity .5s cubic-bezier(.2,.7,.2,1)}
.merkband-r{margin:0 auto;padding:0 16px;max-width:52ch;color:#6b5a48;font-size:clamp(15px,1.25vw,18px)}
@media (max-width:760px){.merkband .hb-scene{width:150%;margin-left:-25%;-webkit-mask-image:none;mask-image:none}.merkband .hb-lockup .hw-wm{font-size:4cqw}.merkband .hb-lockup .hw-tag{font-size:1.5cqw}}
.merkband{overflow:hidden}

/* Stef himself, bottom-right in the arrival (2026-10-25). Only when HWS_STEF.foto is set (or ?stef=test). */
.hb-stef{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(76px,calc(env(safe-area-inset-bottom) + 64px));z-index:2;margin:0;display:flex;align-items:center;gap:12px;
  padding:8px 18px 8px 8px;border-radius:999px;background:rgba(255,251,245,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(60,40,20,.14);
  opacity:0;transform:translateY(10px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.hb-stef img{width:64px;height:64px;border-radius:50%;object-fit:cover;display:block;box-shadow:0 0 0 2px #fff}
.hb-stef figcaption{display:grid;gap:1px;font:500 14px/1.3 Inter,system-ui,sans-serif;color:#5d4f41}
.hb-stef b{font:600 17px/1.1 'Barlow Semi Condensed',Inter,system-ui,sans-serif;letter-spacing:.01em;color:#2b231c}
.hb-overlay.stef .hb-stef{opacity:1;transform:none}
.hb-overlay.dock .hb-stef{opacity:0;transition:opacity .4s ease}
@media (max-width:760px){.hb-stef{right:16px;bottom:max(70px,calc(env(safe-area-inset-bottom) + 58px));padding:6px 14px 6px 6px;gap:10px}.hb-stef img{width:54px;height:54px}.hb-stef figcaption{font-size:13px}.hb-stef b{font-size:16px}}
/* phone: with Stef there, the wall and name sit a little higher so the portrait never covers Ambacht. Maatwerk. Sfeer. */
@media (max-aspect-ratio:1/1){.hb-overlay.met-stef .hb-kader{top:35%}}
