/* Hero reel. The footage is the first screen. Text sits on a scrim that never lets it drop below contrast, whatever the clip shows. */
.btt-reelhero{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:max(100svh,640px);overflow:hidden;background:var(--cypress);color:var(--wool)}
.btt-reel{position:absolute;inset:0;z-index:-2;overflow:hidden;background:var(--cypress)}
.btt-reel__layer{position:absolute;inset:0;opacity:0}
.btt-reel__layer.is-on{opacity:1;transition:opacity 1200ms linear}
.btt-reel__layer img,.btt-reel__layer video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.btt-reel__layer video{opacity:0}
.btt-reel__layer video.is-on{opacity:1}
.btt-reelhero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgba(12,20,15,.72) 0,rgba(12,20,15,0) 26%),linear-gradient(to top,rgba(12,20,15,.93) 0,rgba(12,20,15,.82) 30%,rgba(12,20,15,.55) 56%,rgba(12,20,15,0) 76%)}
.btt-reelhero__copy{width:100%;max-width:85rem;margin-inline:auto;padding:0 var(--gut,16px);box-sizing:border-box}
.btt-reelhero h1{font-family:"Josefin Sans",Calibri,sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(2.6rem,7.2vw,7.4rem);line-height:.98;letter-spacing:.012em;margin:0;max-width:14em}
.btt-reelhero__lede{font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.45;max-width:36em;margin:.9rem 0 0}
.btt-reelhero__copy .btt-actions,.btt-reelhero__copy .cta{margin-top:1.3rem}
.btt-reel__bar{width:100%;max-width:85rem;margin-inline:auto;padding:1.1rem var(--gut,16px) 1rem;box-sizing:border-box}
.btt-reel__rail{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem}
.btt-reel__item{--p:100%;all:unset;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;gap:.35rem;width:100%;min-height:48px;color:var(--wool);font-weight:700;font-size:1.02rem;line-height:1.15;cursor:pointer;opacity:.82;transition:opacity var(--ui,260ms) ease}
.btt-reel__item::after{content:"";order:1;height:3px;background:rgba(244,242,234,.26)}
.btt-reel__item span{position:relative;display:block}
.btt-reel__item::before{content:"";order:2;height:3px;margin-top:calc(-.35rem - 3px);position:relative;z-index:1;background:repeating-linear-gradient(90deg,var(--thread) 0 13px,transparent 13px 22px);clip-path:inset(0 var(--p) 0 0)}
.btt-reel__item:hover,.btt-reel__item.is-on{opacity:1}
.btt-reel__item:focus-visible{outline:3px solid var(--thread);outline-offset:3px}
.btt-reel__foot{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem 1.1rem;margin-top:.55rem;font-size:.98rem}
.btt-reel__toggle{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;min-height:44px;padding:.3rem .8rem;background:rgba(244,242,234,.16);border-radius:3px;font-weight:700;cursor:pointer}
.btt-reel__toggle:hover{background:rgba(244,242,234,.28)}
.btt-reel__toggle:focus-visible{outline:3px solid var(--thread);outline-offset:2px}
.btt-reel__foot a{color:var(--wool);display:inline-flex;align-items:center;min-height:44px;text-decoration-color:var(--thread)}
.btt-reel__foot p{margin:0;color:#D5D9D1}
@media (max-width:1100px){.btt-reel__rail{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:.3rem}.btt-reel__rail li{scroll-snap-align:start}}
/* Phones: footage with its controls on the first screen, then the headline and all three actions. The lede follows. */
@media (max-width:899px){
  .btt-reelhero{min-height:0;justify-content:flex-start;padding-top:34svh}
  .btt-reel{inset:0 0 auto;height:calc(34svh + 10rem)}
  .btt-reelhero::before{inset:0 0 auto;height:calc(34svh + 10rem);background:linear-gradient(to bottom,rgba(12,20,15,.72) 0,rgba(12,20,15,0) 24%),linear-gradient(to top,var(--cypress) 0,rgba(24,38,31,.9) 38%,rgba(24,38,31,0) 70%)}
  .btt-reel__bar{order:-1;padding-block:0 .9rem}
  .btt-reel__foot{margin-top:.2rem;gap:0 .8rem}
  .btt-reel__foot a{display:none}
  .btt-reel__foot p{flex:1 1 0;font-size:.86rem;line-height:1.25}
  .btt-reelhero__copy{display:flex;flex-direction:column}
  .btt-reelhero__lede{order:2;margin-top:1.1rem}
  .btt-reelhero__copy .btt-actions,.btt-reelhero__copy .cta{order:1;margin-top:.9rem}
  .btt-reelhero__copy .btt-mode-row,.btt-reelhero__copy .mode-row{order:3}
  .btt-reelhero h1{font-size:clamp(2.1rem,10vw,3.4rem)}
}
@media (prefers-reduced-motion:reduce){.btt-reel__layer.is-on{transition:none}}

/* BT-TRAVEL scene viewer. Footage on top, everything to read and press on solid ground below it, so no text ever sits on moving pictures. */
.btt-sc-lock{overflow:hidden}
.btt-sc{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--wool);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;font-family:"Alegreya Sans","Gill Sans",Calibri,system-ui,sans-serif;font-size:1.0625rem;line-height:1.45}
.btt-sc[open]{display:flex;flex-direction:column}
.btt-sc::backdrop{background:transparent}
.btt-sc__bg{position:fixed;inset:0;background:var(--cypress)}
.btt-sc__stage{position:relative;flex:1 1 auto;min-height:min(56.25vw,58dvh);overflow:hidden;background:var(--cypress-2);touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;will-change:transform}
.btt-sc__stage.is-drag{cursor:grabbing}
.btt-sc__slides,.btt-sc__slide{position:absolute;inset:0;margin:0}
.btt-sc__slide{will-change:transform;background:var(--cypress-2)}
.btt-sc__slide img,.btt-sc__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.btt-sc__video{opacity:0;transition:opacity var(--ui,260ms) ease}
.btt-sc__video.is-on{opacity:1}
.btt-sc__close{all:unset;box-sizing:border-box;position:absolute;right:var(--gut,16px);top:max(14px,env(safe-area-inset-top));min-height:44px;min-width:44px;padding:.55rem .9rem;background:var(--wool);color:var(--ink);font-weight:700;text-align:center;border-radius:3px;cursor:pointer;z-index:2;transition:transform var(--press,120ms) ease-out}
.btt-sc__close:active{transform:scale(.97)}
.btt-sc__close:focus-visible{outline:3px solid var(--thread);outline-offset:2px}

/* The thread again: playback progress is the stitched line being sewn across the frame. */
.btt-sc__ui{position:relative;flex:none;background:var(--cypress)}
.btt-sc__progress{height:3px;background:rgba(244,242,234,.12)}
.btt-sc__progress i{display:block;height:100%;background:repeating-linear-gradient(90deg,var(--thread) 0 13px,transparent 13px 22px);clip-path:inset(0 100% 0 0)}
.btt-sc__bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem 2.5rem;align-items:start;max-width:85rem;margin-inline:auto;padding:1rem var(--gut,16px) 1.1rem;box-sizing:border-box}
.btt-sc h2{font-family:"Josefin Sans",Calibri,sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.05;letter-spacing:-.015em;margin:0;color:inherit}
.btt-sc__info p{margin:.25rem 0 0;max-width:38em}
.btt-sc__where{font-weight:700}
.btt-sc__cap{font-size:.95rem;color:#C9CFC6}
.btt-sc__msg{background:rgba(224,96,108,.16);padding:.35rem .6rem;border-left:3px solid var(--thread)}
.btt-sc__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.btt-sc__side{display:grid;gap:.6rem;justify-items:end}
.btt-sc__controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}
.btt-sc__nav{display:inline-flex;align-items:center;gap:.25rem}
.btt-sc__nav[hidden]{display:none}
.btt-sc__count{min-width:4.2em;text-align:center;font-size:.98rem;font-variant-numeric:tabular-nums}
.btt-sc__btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.6rem 1.15rem;font-weight:700;font-size:1.05rem;line-height:1.2;color:var(--wool);background:rgba(244,242,234,.14);border-radius:3px;cursor:pointer;text-decoration:none;transition:background var(--ui,260ms) var(--ease,ease),transform var(--press,120ms) ease-out}
.btt-sc__btn[hidden]{display:none}
.btt-sc__btn:hover{background:rgba(244,242,234,.24)}
.btt-sc__btn:active{transform:scale(.97)}
.btt-sc__btn:focus-visible,.btt-sc__link:focus-visible,.btt-sc__styles button:focus-visible{outline:3px solid var(--thread);outline-offset:2px}
.btt-sc__btn--main{background:var(--madder);color:#fff}
.btt-sc__btn--main:hover{background:var(--madder-d)}
.btt-sc__btn--play,.btt-sc__btn--play:hover{background:var(--wool);color:var(--ink)}
.btt-sc__btn--play:hover{background:#fff}
.btt-sc__btn--icon{width:48px;padding:0}
.btt-sc__btn--icon svg{width:22px;height:22px;display:block}
.btt-sc__links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.15rem 1.1rem}
.btt-sc__link{color:var(--wool);display:inline-flex;align-items:center;min-height:44px;text-decoration-color:var(--thread);text-underline-offset:.18em}
.btt-sc__link:hover{text-decoration-thickness:2px}
.btt-sc__note{margin:0;font-size:.95rem;color:#C9CFC6;max-width:34em;text-align:right}
.btt-sc__styles{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem;max-width:40rem}
.btt-sc__styles[hidden]{display:none}
.btt-sc__styles p{margin:0 .4rem 0 0;font-weight:700}
.btt-sc__styles button{all:unset;box-sizing:border-box;min-height:44px;display:inline-flex;align-items:center;padding:.3rem .7rem;background:rgba(244,242,234,.1);border-radius:3px;cursor:pointer;transition:background var(--ui,260ms) var(--ease,ease)}
.btt-sc__styles button:hover{background:rgba(244,242,234,.22)}

/* During playback only the name and the controls stay, so the footage has the screen. */
.btt-sc[data-state=playing] .btt-sc__body,.btt-sc[data-state=playing] .btt-sc__links,.btt-sc[data-state=playing] .btt-sc__note{display:none}

/* Tall screens: a true 16:9 frame, then the page of text below it, which scrolls normally. */
@media (max-aspect-ratio:1/1),(max-width:899px){
  .btt-sc__stage{flex:none;aspect-ratio:16/9;min-height:0;width:100%}
  .btt-sc__close{top:max(8px,env(safe-area-inset-top));right:8px}
  .btt-sc__bar{grid-template-columns:minmax(0,1fr);gap:.9rem}
  .btt-sc__side{justify-items:stretch}
  .btt-sc__controls{justify-content:flex-start}
  .btt-sc__nav{margin-left:auto}
  .btt-sc__styles,.btt-sc__links{justify-content:flex-start}
  .btt-sc__links .btt-sc__btn{width:100%}
  .btt-sc__note{text-align:left}
}
@media (prefers-reduced-motion:reduce){
  .btt-sc__video,.btt-sc__btn,.btt-sc__close{transition:none}
}
@media (prefers-contrast:more){
  .btt-sc__btn:not(.btt-sc__btn--main){background:var(--wool);color:var(--ink)}
}
