/* ADA Web QR landing page
   Design system: DesignPrompts.dev SaaS Light
   Interaction references: Aceternity UI Hero Highlight, Focus Cards, Apple Cards Carousel,
   Resizable Navbar and Moving Border. Motion pacing references: Animmaster Lib.
   Implemented as an original static HTML/CSS/JS adaptation for ADA Web Division.
*/
:root{
  --ada:#0b67d1;
  --ada-deep:#074f9f;
  --ink:#07111f;
  --muted:#68798b;
  --line:#dce6f0;
  --paper:#f8fbff;
  --white:#fff;
  --navy:#06162b;
  --radius-lg:30px;
  --radius-md:22px;
  --shadow-soft:0 24px 70px rgba(18,55,91,.10);
  --shadow-card:0 14px 40px rgba(18,55,91,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
button:focus-visible,a:focus-visible{outline:3px solid rgba(11,103,209,.28);outline-offset:4px}
.skip-link{position:fixed;left:12px;top:-80px;z-index:100;background:var(--white);padding:.7rem 1rem;border-radius:999px;border:1px solid var(--line)}
.skip-link:focus{top:12px}

/* Aceternity Resizable Navbar pattern, adapted for ADA */
.nav-wrap{
  position:fixed;
  inset:0 0 auto;
  z-index:50;
  padding:14px max(14px,3vw);
  pointer-events:none;
}
.scan-nav{
  width:min(1180px,100%);
  height:70px;
  margin:0 auto;
  padding:0 14px 0 16px;
  display:flex;
  align-items:center;
  gap:1.25rem;
  border:1px solid rgba(220,230,240,.82);
  border-radius:22px;
  background:rgba(255,255,255,.84);
  backdrop-filter:blur(20px) saturate(150%);
  box-shadow:0 12px 40px rgba(17,52,87,.08);
  transition:width .32s ease,height .32s ease,border-radius .32s ease,box-shadow .32s ease;
  pointer-events:auto;
}
.scan-nav.is-compact{
  width:min(980px,calc(100% - 2vw));
  height:58px;
  border-radius:999px;
  box-shadow:0 16px 50px rgba(17,52,87,.13);
}
.scan-brand{display:flex;align-items:center;margin-right:auto}
.scan-brand img{
  display:block;
  width:auto;
  height:33px;
  max-width:148px;
  object-fit:contain;
}
.desktop-nav{display:flex;align-items:center;gap:1.45rem;font-size:.76rem;font-weight:760;color:#45596e}
.desktop-nav a{position:relative;padding:.4rem 0}
.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--ada);transition:right .22s ease}
.desktop-nav a:hover:after{right:0}

/* Aceternity Moving Border pattern, original ADA implementation */
.moving-border{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:999px;
}
.moving-border:before{
  content:"";
  position:absolute;
  inset:-140%;
  z-index:-2;
  background:conic-gradient(from 0deg,transparent 0 72%,var(--ada) 82%,transparent 92%);
  animation:ada-border-spin 4s linear infinite;
}
.moving-border:after{
  content:"";
  position:absolute;
  inset:1px;
  z-index:-1;
  border-radius:inherit;
  background:var(--ada);
}
.moving-border span{position:relative;z-index:2}
@keyframes ada-border-spin{to{transform:rotate(360deg)}}
.nav-cta{padding:.78rem 1rem;color:#fff;font-size:.74rem;font-weight:850}

/* Aceternity Hero Highlight + grid background patterns */
.hero-grid{
  min-height:100svh;
  padding:clamp(8.5rem,13vw,11rem) max(1rem,5vw) clamp(5rem,8vw,7rem);
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(340px,.97fr);
  gap:clamp(2.5rem,7vw,7rem);
  align-items:center;
  position:relative;
  overflow:hidden;
  background:var(--white);
}
.grid-bg{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(11,103,209,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,103,209,.055) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,black 0%,black 60%,transparent 100%);
  pointer-events:none;
}
.spotlight{
  position:absolute;
  width:760px;
  height:760px;
  right:-260px;
  top:-280px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(11,103,209,.16),rgba(11,103,209,.06) 40%,transparent 70%);
  filter:blur(12px);
  pointer-events:none;
}
.hero-copy{position:relative;z-index:2;max-width:760px}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-size:.66rem;
  letter-spacing:.19em;
  text-transform:uppercase;
  color:var(--ada);
  font-weight:900;
}
.hero-copy h1{
  margin:1rem 0 1.25rem;
  font-size:clamp(4rem,7.6vw,7.5rem);
  line-height:.88;
  letter-spacing:-.07em;
  max-width:900px;
}
.hero-highlight{
  position:relative;
  display:inline-block;
  color:var(--ada);
  z-index:1;
}
.hero-highlight:after{
  content:"";
  position:absolute;
  left:-.04em;
  right:-.04em;
  bottom:.04em;
  height:.18em;
  background:rgba(11,103,209,.14);
  border-radius:999px;
  z-index:-1;
  transform:scaleX(0);
  transform-origin:left;
  animation:highlight-in .8s .4s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes highlight-in{to{transform:scaleX(1)}}
.hero-copy p{
  margin:0;
  color:var(--muted);
  font-size:clamp(1rem,1.6vw,1.22rem);
  max-width:500px;
}
.hero-actions{display:flex;gap:.72rem;flex-wrap:wrap;margin-top:1.7rem}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  min-height:48px;
  padding:.82rem 1.15rem;
  border-radius:999px;
  font-size:.78rem;
  font-weight:850;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--ada);color:#fff;box-shadow:0 14px 34px rgba(11,103,209,.22)}
.button-quiet{background:rgba(255,255,255,.75);border:1px solid var(--line)}
.trust-line{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:1.35rem;
  color:#64788b;
  font-size:.66rem;
  font-weight:760;
}
.trust-line i{width:3px;height:3px;border-radius:50%;background:#9fb3c4}

.hero-stack{position:relative;z-index:2;min-height:510px;display:grid;place-items:center;perspective:1400px}
.stack-card{
  position:absolute;
  width:min(100%,540px);
  aspect-ratio:1.18/1;
  border-radius:28px;
  border:1px solid #d1deea;
  background:#fff;
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  transform-origin:50% 50%;
  transform-style:preserve-3d;
  will-change:transform,opacity,filter;
  transition:
    transform .82s cubic-bezier(.22,1,.36,1),
    opacity .58s ease,
    filter .58s ease,
    box-shadow .58s ease;
}
.stack-back{
  z-index:1;
  transform:translate(52px,50px) rotate(5deg) scale(.92);
  opacity:.5;
  filter:saturate(.7) brightness(.93);
  pointer-events:none
}
.stack-mid{
  z-index:2;
  transform:translate(28px,25px) rotate(2.5deg) scale(.96);
  opacity:.78;
  filter:saturate(.86) brightness(.97);
  pointer-events:none
}
.stack-front{
  z-index:3;
  transform:translate(0,0) rotate(-.8deg) scale(1);
  opacity:1;
  filter:none;
  pointer-events:auto;
  box-shadow:0 26px 70px rgba(18,55,91,.16)
}
.stack-card>span{position:absolute;right:20px;bottom:18px;font-size:.62rem;letter-spacing:.16em;color:#8aa0b4;font-weight:850}
.browser-top{
  height:38px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 13px;
  background:#eef4f9;
  border-bottom:1px solid #dde7ef;
}
.browser-top i{width:7px;height:7px;border-radius:50%;background:#b9c9d7}
.browser-top i:first-child{background:#ef6b64}
.browser-top i:nth-child(2){background:#e9bc46}
.browser-top i:nth-child(3){background:#4fbf78}
.browser-top span{height:12px;flex:1;margin-left:5px;border-radius:999px;background:#fff;border:1px solid #dde7ef}
.stack-content{
  height:calc(100% - 38px);
  position:relative;
  padding:2rem;
  background:
    radial-gradient(circle at 85% 15%,rgba(11,103,209,.18),transparent 28%),
    linear-gradient(145deg,#fbfdff,#edf6ff);
}
.stack-content small{font-size:.62rem;letter-spacing:.17em;color:#70879b;font-weight:850}
.stack-content strong{
  position:absolute;
  left:2rem;
  bottom:5.1rem;
  font-size:clamp(2.8rem,5vw,5rem);
  line-height:.84;
  letter-spacing:-.07em;
}
.stack-meta{
  position:absolute;
  left:2rem;
  right:2rem;
  bottom:1.7rem;
  display:flex;
  justify-content:space-between;
  gap:.5rem;
  font-size:.6rem;
  color:#6d8295;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:820;
}

/* DesignPrompts SaaS Light: clean section rhythm and restrained text */
.directions-section,.showcase-section,.final-cta{padding:clamp(5rem,8vw,8rem) max(1rem,5vw)}
.section-shell{width:min(1180px,100%);margin:0 auto}
.section-intro,.showcase-heading{margin-bottom:2rem}
.section-intro h2,.showcase-heading h2,.cta-panel h2{
  margin:.55rem 0 0;
  font-size:clamp(2.7rem,5.2vw,5rem);
  line-height:.94;
  letter-spacing:-.06em;
}
.directions-section{background:var(--paper);border-top:1px solid #e7eef5;overflow:hidden}

/* Aceternity Focus Cards + Apple Cards rail, adapted for category browsing */
.directions-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem}
.direction-tools{flex:0 0 auto}
.focus-grid{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(270px,330px);
  gap:1rem;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:4px 0 18px;
}
.focus-grid::-webkit-scrollbar{display:none}
.focus-card{
  scroll-snap-align:start;
  min-height:330px;
  padding:1.3rem;
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
  text-align:left;
  display:flex;
  flex-direction:column;
  cursor:pointer;
  box-shadow:var(--shadow-card);
  transition:transform .24s ease,filter .24s ease,opacity .24s ease,border-color .24s ease,background .24s ease,box-shadow .24s ease;
}
.focus-grid:hover .focus-card{filter:blur(1.4px);opacity:.58;transform:scale(.985)}
.focus-grid:hover .focus-card:hover{filter:none;opacity:1;transform:translateY(-6px) scale(1);border-color:#9fc8ec;box-shadow:0 24px 60px rgba(18,55,91,.12)}
.focus-card.is-active{border-color:#8dbfed;background:linear-gradient(145deg,#fff,#eef7ff)}
.focus-number{font-size:.66rem;letter-spacing:.17em;color:var(--ada);font-weight:900}
.focus-card strong{margin-top:auto;font-size:1.7rem;letter-spacing:-.05em}
.focus-card small{margin-top:.45rem;color:var(--muted);font-size:.72rem}

@media(min-width:701px){
  /* Desktop lane shelf: keep the category browser landscape/full-width like the approved reference */
  .directions-section .section-shell{overflow:visible}
  .direction-rail{
    grid-auto-columns:clamp(260px,21vw,300px);
    margin-right:max(-5vw,calc((1180px - 100vw)/2));
    padding-right:max(1rem,5vw);
    overscroll-behavior-inline:contain;
  }
}

/* ADA Shelf — 3-up landscape portfolio grid on desktop */
.showcase-section{background:#fff;border-block:1px solid #e7eef5}
.showcase-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem}
.rail-tools{display:flex;align-items:center;gap:.45rem}
.rail-tools>span{font-size:.66rem;color:var(--muted);font-weight:760;margin-right:.3rem}
.shelf-status{padding-bottom:.35rem}

.showcase-rail{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.15rem;
  width:100%;
  overflow:visible;
  padding:4px 0 18px;
  margin:0;
}
.showcase-card{
  min-width:0;
  min-height:0;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  padding:.68rem;
  box-shadow:var(--shadow-card);
  transition:transform .25s ease,box-shadow .25s ease;
}
.showcase-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(18,55,91,.12)}
.showcase-card[hidden]{display:none}

.showcase-preview{
  display:flex;
  flex-direction:column;
  aspect-ratio:16/10;
  border:1px solid #dae5ee;
  border-radius:18px;
  overflow:hidden;
  background:#f5f9fd;
}
.showcase-preview .browser-top{flex:0 0 34px;height:34px}
.preview-stage{
  flex:1 1 auto;
  min-height:0;
  height:auto;
  padding:1.1rem;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    radial-gradient(circle at 85% 10%,rgba(11,103,209,.14),transparent 27%),
    linear-gradient(145deg,#fbfdff,#edf5fc);
}
.preview-stage>span{
  position:absolute;top:1rem;right:1rem;
  font-size:.62rem;letter-spacing:.15em;color:#9badbd;font-weight:900;
}
.preview-stage strong{font-size:clamp(1.45rem,2vw,2rem);line-height:.93;letter-spacing:-.055em;color:#6f8498}
.preview-stage small{margin-top:.45rem;font-size:.62rem;color:#91a3b3}
.showcase-meta{padding:.8rem .2rem .15rem;display:grid;gap:.24rem}
.showcase-meta span{font-size:.56rem;letter-spacing:.16em;color:var(--ada);font-weight:900}
.showcase-meta strong{font-size:.95rem;letter-spacing:-.025em}
.showcase-meta small{font-size:.64rem;color:var(--muted)}

@media(max-width:980px){
  .showcase-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .showcase-heading{align-items:flex-start;flex-direction:column}
  .rail-tools{width:100%}
  .rail-tools>span{margin-right:auto}
  .showcase-rail{grid-template-columns:1fr;gap:1rem}
  .showcase-preview{aspect-ratio:16/10}
  .showcase-card{min-height:0}
  .preview-stage{height:auto}
}

/* Aceternity Moving Border pattern reused only for the final conversion action */
.final-cta{background:#fff}
.cta-panel{
  width:min(1180px,100%);
  margin:0 auto;
  padding:clamp(2rem,5vw,4rem);
  border-radius:32px;
  border:1px solid #dbe6ef;
  background:
    linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)),
    linear-gradient(90deg,rgba(11,103,209,.05) 1px,transparent 1px),
    linear-gradient(rgba(11,103,209,.05) 1px,transparent 1px);
  background-size:auto,40px 40px,40px 40px;
  box-shadow:var(--shadow-soft);
}
.cta-actions{display:flex;gap:.72rem;flex-wrap:wrap;margin-top:1.5rem}
.cta-main,.cta-secondary{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:.85rem 1.2rem;border-radius:999px;font-size:.78rem;font-weight:900;
}
.cta-main{color:#fff}
.cta-secondary{border:1px solid var(--line);background:#fff;color:var(--ada)}

.scan-footer{
  padding:2rem max(1rem,5vw);
  background:var(--navy);
  color:#fff;
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:1.5rem;
}
.footer-brand{display:flex;align-items:center;gap:.8rem;min-width:0}
.footer-brand img{display:block;height:32px;width:auto;max-width:135px;object-fit:contain}
.footer-brand span{font-size:.64rem;color:#98aec1}
.footer-contact{display:flex;gap:1rem;flex-wrap:wrap;font-size:.68rem;color:#c3d0dc}
.footer-back{font-size:.7rem;color:#c3d0dc;font-weight:800}
.mobile-whatsapp{display:none}

/* Animmaster-style motion reference: restrained entrance motion only */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
[data-reveal].is-visible{opacity:1;transform:none}

@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;min-height:auto}
  .hero-stack{min-height:430px}
  .scan-footer{grid-template-columns:1fr 1fr}
  .footer-back{grid-column:1/-1}
}
@media(max-width:700px){
  body{padding-bottom:72px}
  .nav-wrap{padding:10px}
  .scan-nav,.scan-nav.is-compact{width:100%;height:58px;border-radius:18px;padding:0 10px 0 12px}
  .desktop-nav{display:none}
  .scan-brand img{height:29px;max-width:126px}
  .nav-cta{padding:.68rem .78rem;font-size:.66rem}
  .hero-grid{padding:7.5rem 1rem 4.2rem;gap:1.7rem}
  .hero-copy h1{font-size:clamp(3.5rem,16vw,5.5rem)}
  .hero-copy p{font-size:.98rem}
  .trust-line{gap:.45rem}
  .hero-stack{min-height:315px}
  .stack-card{border-radius:22px;width:94%}
  .stack-back{transform:translate(26px,28px) rotate(4deg) scale(.92)}
  .stack-mid{transform:translate(14px,14px) rotate(2deg) scale(.96)}
  .stack-content{padding:1.35rem}
  .stack-content strong{left:1.35rem;bottom:4.5rem;font-size:clamp(2.7rem,14vw,4rem)}
  .stack-meta{left:1.35rem;right:1.35rem;bottom:1.25rem}
  .directions-section,.showcase-section,.final-cta{padding:4.5rem 1rem}
  .section-intro h2,.showcase-heading h2,.cta-panel h2{font-size:clamp(2.7rem,12vw,4.4rem)}
  .directions-heading{align-items:flex-start;flex-direction:column}
  .direction-tools{width:100%}
  .direction-tools>span{margin-right:auto}
  .focus-grid{
    grid-auto-columns:minmax(230px,82vw);
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:.65rem;
    margin-right:-1rem;
    scrollbar-width:none;
  }
  .focus-grid::-webkit-scrollbar{display:none}
  .focus-card{min-height:260px;scroll-snap-align:start}
  .focus-card strong{font-size:1.45rem}
  .focus-grid:hover .focus-card{filter:none;opacity:1;transform:none}
  .scan-footer{grid-template-columns:1fr;gap:1rem}
  .footer-contact{flex-direction:column;gap:.35rem}
  .footer-back{grid-column:auto}
  .mobile-whatsapp{
    position:fixed;
    z-index:60;
    left:12px;right:12px;bottom:12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:.85rem 1rem;
    border-radius:999px;
    background:var(--ada);
    color:#fff;
    font-size:.76rem;
    font-weight:900;
    box-shadow:0 18px 44px rgba(7,79,159,.26);
  }
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  [data-reveal]{opacity:1;transform:none}
}

/* Live hospitality concept card */
.showcase-card-live{display:block;color:inherit;text-decoration:none}
.preview-stage-live{position:relative;overflow:hidden;color:#fff;background:#171512}
.preview-stage-live:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,8,6,.04),rgba(10,8,6,.58))}
.preview-stage-live img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.preview-stage-live>span,.preview-stage-live>strong,.preview-stage-live>small,.preview-stage-live .live-badge{position:relative;z-index:2}
.preview-stage-live>span{position:absolute;top:1.35rem;right:1.35rem;color:#fff}
.preview-stage-live>strong{color:#fff}
.preview-stage-live>small{color:rgba(255,255,255,.78)}
.live-badge{position:absolute;top:1.2rem;left:1.2rem;padding:.42rem .55rem;border-radius:999px;background:rgba(255,255,255,.86);backdrop-filter:blur(8px);color:#0b67d1;font-size:.52rem;letter-spacing:.12em;font-weight:900}


/* Mini desktop website previews inside live ADA Shelf cards */
.site-mini{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  background:#eef3f8;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.site-mini-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.site-mini-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,5,.08),rgba(8,7,5,.18) 45%,rgba(8,7,5,.58) 100%)}
.mini-nav{
  position:absolute;z-index:3;left:5%;right:5%;top:6%;
  height:15%;min-height:24px;padding:0 2.5%;
  display:flex;align-items:center;gap:2.4%;
  border-radius:999px;background:rgba(255,255,255,.91);
  box-shadow:0 5px 20px rgba(0,0,0,.12);
  color:#1a1d22;
}
.mini-brand{display:flex;align-items:center;gap:5px;margin-right:auto;white-space:nowrap}
.mini-brand b{
  width:16px;height:16px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(0,0,0,.18);font:700 5px/1 Inter,sans-serif
}
.mini-brand span{font:800 5px/1 Inter,sans-serif;letter-spacing:.08em}
.mini-links{display:flex;gap:6px;align-items:center;white-space:nowrap}
.mini-links span{font:600 4.5px/1 Inter,sans-serif;color:#555b63}
.mini-cta{padding:5px 7px;border-radius:999px;font:800 4.5px/1 Inter,sans-serif;white-space:nowrap}
.mini-cta-dark{background:#1b1814;color:#fff}.mini-cta-blue{background:#1d5fd3;color:#fff}
.mini-hero-copy{position:absolute;z-index:3}
.mini-hero-copy small{display:block;font:800 4.8px/1 Inter,sans-serif;letter-spacing:.12em}
.mini-hero-copy strong{display:block;letter-spacing:-.05em}
.mini-hero-copy span{display:block}
.mini-hero-copy em{display:inline-block;font-style:normal;font-weight:800}

.lodge-copy{left:6%;bottom:18%;width:48%;color:#fff}
.lodge-copy small{margin-bottom:6px}
.lodge-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(18px,2.15vw,31px);line-height:.84;font-weight:500}
.lodge-copy span{margin-top:7px;max-width:90%;font-size:5.5px;line-height:1.45;color:rgba(255,255,255,.84)}
.lodge-copy em{margin-top:7px;font-size:4.8px}
.mini-booking-strip{
  position:absolute;z-index:4;left:22%;right:22%;bottom:-1px;height:13%;
  display:grid;grid-template-columns:1fr 1fr .8fr 1.15fr;align-items:center;
  padding:0 3%;border-radius:9px 9px 0 0;background:rgba(250,247,241,.96);
  color:#6b665f;box-shadow:0 -4px 16px rgba(0,0,0,.08)
}
.mini-booking-strip span{font:700 3.8px/1 Inter,sans-serif;letter-spacing:.08em}
.mini-booking-strip b{justify-self:end;background:#1b1814;color:#fff;border-radius:6px;padding:5px 6px;font:800 4px/1 Inter,sans-serif}

.school-mini{background:#fff}
.mini-nav-school{
  top:5%;left:4%;right:4%;height:14%;
  border:1px solid rgba(20,40,80,.08);
  box-shadow:0 5px 16px rgba(15,23,34,.08)
}
.mini-brand-school b{border-radius:4px;border:0;background:#1d5fd3;color:#fff}
.school-mini-layout{
  position:absolute;inset:0;padding:22% 5% 5%;
  display:grid;grid-template-columns:.9fr 1.1fr;gap:4%;
  background:
    linear-gradient(rgba(29,95,211,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(29,95,211,.045) 1px,transparent 1px),
    #fff;
  background-size:16px 16px
}
.school-copy{position:relative;left:auto;bottom:auto;align-self:center;color:#101827}
.school-copy small{color:#1d5fd3;margin-bottom:6px}
.school-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(17px,2vw,29px);line-height:.88;font-weight:500}
.school-copy strong i{font-style:normal;color:#1d5fd3}
.school-copy span{margin-top:7px;max-width:95%;font-size:5.2px;line-height:1.45;color:#667085}
.school-copy em{margin-top:7px;padding:5px 7px;border-radius:999px;background:#1d5fd3;color:#fff;font-size:4.5px}
.school-photo-grid{
  display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:1fr 1fr;gap:4px;
  min-height:0
}
.school-photo-grid img{width:100%;height:100%;object-fit:cover;border-radius:6px}
.school-photo-main{grid-row:1/3}

@media(max-width:980px){
  .mini-links{gap:4px}.mini-links span{font-size:4px}
}
@media(max-width:700px){
  .mini-nav{left:4%;right:4%}
  .mini-links{display:none}
  .lodge-copy strong,.school-copy strong{font-size:clamp(20px,8vw,29px)}
  .mini-hero-copy span{font-size:5px}
}


/* Restaurant & lounge miniature desktop preview */
.restaurant-mini-shade{background:linear-gradient(90deg,rgba(15,10,8,.72),rgba(15,10,8,.35) 48%,rgba(15,10,8,.1)),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.42))}
.mini-nav-restaurant{background:rgba(248,241,232,.94)}
.mini-brand-restaurant b{background:#1c1512;color:#fff;border:0;font-family:Georgia,serif}
.mini-cta-restaurant{background:#1c1512;color:#fff}
.restaurant-copy{left:6%;bottom:16%;width:52%;color:#fff}
.restaurant-copy small{margin-bottom:6px;color:#f2d2b2}
.restaurant-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(18px,2.15vw,31px);line-height:.84;font-weight:500}
.restaurant-copy span{margin-top:7px;max-width:92%;font-size:5.4px;line-height:1.45;color:rgba(255,255,255,.83)}
.restaurant-copy em{margin-top:7px;padding:5px 7px;border-radius:999px;background:#f4ede4;color:#241a16;font-size:4.5px}
.restaurant-mini-info{
  position:absolute;z-index:3;right:5%;bottom:7%;
  display:flex;gap:8px;color:#fff;font:700 4.2px/1 Inter,sans-serif
}
.restaurant-mini-info span{padding-left:6px;border-left:1px solid rgba(255,255,255,.38)}


/* Tour & safari miniature desktop preview */
.safari-mini-shade{background:linear-gradient(90deg,rgba(8,13,9,.72),rgba(8,13,9,.28) 48%,rgba(8,13,9,.08)),linear-gradient(180deg,transparent 50%,rgba(8,13,9,.45))}
.mini-nav-safari{background:rgba(248,246,239,.94)}
.mini-brand-safari b{background:#101813;color:#fff;border:0;font-family:Georgia,serif}
.mini-cta-safari{background:#101813;color:#fff}
.safari-copy{left:6%;bottom:16%;width:54%;color:#fff}
.safari-copy small{margin-bottom:6px;color:#d8e4d7}
.safari-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(18px,2.15vw,31px);line-height:.84;font-weight:500}
.safari-copy span{margin-top:7px;max-width:92%;font-size:5.4px;line-height:1.45;color:rgba(255,255,255,.83)}
.safari-copy em{margin-top:7px;padding:5px 7px;border-radius:999px;background:#eef1ea;color:#162018;font-size:4.5px}
.safari-mini-meta{
  position:absolute;z-index:3;right:5%;bottom:7%;
  display:flex;gap:8px;color:#fff;font:700 4.2px/1 Inter,sans-serif
}
.safari-mini-meta span{padding-left:6px;border-left:1px solid rgba(255,255,255,.38)}


/* Completed lane cards preview the website they represent */
.focus-card-preview{padding:.72rem;overflow:hidden}
.focus-card-preview>.focus-number{margin-top:.8rem}
.lane-preview{
  position:relative;width:100%;height:150px;border-radius:18px;overflow:hidden;
  background:#eef3f8;border:1px solid rgba(20,35,55,.08);
  flex:0 0 auto
}
.lane-preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lane-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,10,14,.04),rgba(7,10,14,.56))}
.lane-nav{
  position:absolute;z-index:3;left:5%;right:5%;top:7%;height:25px;
  display:flex;align-items:center;gap:7px;padding:0 7px;border-radius:999px;
  background:rgba(255,255,255,.92);box-shadow:0 5px 14px rgba(0,0,0,.1);
  color:#17202a;font-size:5px;font-weight:700
}
.lane-nav b{width:14px;height:14px;border-radius:50%;display:grid;place-items:center;background:#17202a;color:#fff;font-size:5px}
.lane-nav em{margin-left:auto;padding:4px 5px;border-radius:999px;background:#17202a;color:#fff;font-style:normal}
.lane-hero{position:absolute;z-index:2;left:8%;bottom:9%;color:#fff;text-align:left}
.lane-hero strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:.88;font-weight:500;letter-spacing:-.04em}
.lane-hero small{display:block;margin-top:5px;font-size:5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.lane-preview-school{display:grid;grid-template-columns:.9fr 1.1fr;background:#fff}
.lane-preview-school>img{position:relative;width:100%;height:100%;object-fit:cover}
.lane-school-copy{position:relative;z-index:2;padding:12px 8px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:
  linear-gradient(rgba(29,95,211,.045) 1px,transparent 1px),
  linear-gradient(90deg,rgba(29,95,211,.045) 1px,transparent 1px),#fff;background-size:11px 11px}
.lane-school-copy b{width:16px;height:16px;border-radius:5px;display:grid;place-items:center;background:#1d5fd3;color:#fff;font-size:6px;margin-bottom:8px}
.lane-school-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:14px;line-height:.9;font-weight:500;letter-spacing:-.04em}
.lane-school-copy strong i{font-style:normal;color:#1d5fd3}
.lane-school-copy em{margin-top:8px;padding:4px 6px;border-radius:999px;background:#1d5fd3;color:#fff;font-style:normal;font-size:5px}
.focus-card-preview:hover .lane-preview>img{transform:scale(1.035)}
.focus-card-preview .lane-preview>img{transition:transform .65s var(--ada-motion-ease,cubic-bezier(.22,1,.36,1))}
@media(max-width:700px){
  .lane-preview{height:135px}
}


/* Ridge House website preview in the ADA Web landing hero */
.hero-hospitality-card{display:block;color:inherit;text-decoration:none}
.hero-hospitality-mini{
  position:relative;
  height:calc(100% - 38px);
  overflow:hidden;
  background:#181510;
}
.hero-hospitality-mini>img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .85s var(--ada-motion-ease,cubic-bezier(.22,1,.36,1))
}
.hero-hospitality-card:hover .hero-hospitality-mini>img{transform:scale(1.025)}
.hero-hospitality-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(13,10,7,.66),rgba(13,10,7,.22) 53%,rgba(13,10,7,.08)),
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.5))
}
.hero-hospitality-nav{
  position:absolute;z-index:3;left:5%;right:5%;top:6%;
  min-height:9%;padding:0 2.5%;
  display:flex;align-items:center;gap:2.4%;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  box-shadow:0 7px 22px rgba(0,0,0,.12);
  color:#1a1713
}
.hero-hospitality-brand{display:flex;align-items:center;gap:6px;margin-right:auto}
.hero-hospitality-brand b{
  width:20px;height:20px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(0,0,0,.18);font-size:6px
}
.hero-hospitality-brand span{font-size:6px;font-weight:900;letter-spacing:.08em}
.hero-hospitality-links{display:flex;align-items:center;gap:9px}
.hero-hospitality-links span{font-size:5.5px;font-weight:700;color:#555a5f}
.hero-hospitality-nav em{
  padding:6px 8px;border-radius:999px;background:#1b1814;color:#fff;
  font-style:normal;font-size:5.4px;font-weight:900;white-space:nowrap
}
.hero-hospitality-copy{
  position:absolute;z-index:3;left:7%;bottom:18%;
  width:52%;color:#fff
}
.hero-hospitality-copy small{
  display:block;font-size:6px;letter-spacing:.14em;font-weight:900
}
.hero-hospitality-copy strong{
  display:block;margin-top:9px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(25px,3.4vw,45px);line-height:.84;font-weight:500;
  letter-spacing:-.055em
}
.hero-hospitality-copy span{
  display:block;margin-top:9px;max-width:92%;
  font-size:6.5px;line-height:1.5;color:rgba(255,255,255,.82)
}
.hero-hospitality-booking{
  position:absolute;z-index:4;left:18%;right:18%;bottom:0;
  min-height:12%;padding:0 3%;
  display:grid;grid-template-columns:1fr 1fr .8fr 1.25fr;align-items:center;
  border-radius:10px 10px 0 0;
  background:rgba(250,247,241,.96);color:#6b665f;
  box-shadow:0 -5px 20px rgba(0,0,0,.09)
}
.hero-hospitality-booking span{font-size:4.7px;letter-spacing:.09em;font-weight:900}
.hero-hospitality-booking b{
  justify-self:end;padding:6px 7px;border-radius:6px;
  background:#1b1814;color:#fff;font-size:4.7px
}
.hero-live-pill{
  position:absolute;z-index:5;left:7%;top:19%;
  padding:5px 7px;border-radius:999px;
  background:rgba(255,255,255,.86);backdrop-filter:blur(8px);
  color:#0b67d1;font-size:5px;letter-spacing:.11em;font-weight:900
}
@media(max-width:700px){
  .hero-hospitality-links{display:none}
  .hero-hospitality-copy{width:62%;bottom:20%}
  .hero-hospitality-copy strong{font-size:clamp(26px,9vw,38px)}
  .hero-hospitality-booking{left:10%;right:10%}
}


/* Motion-Primitives-inspired rotating website deck */
.hero-deck-card .hero-deck-site{height:calc(100% - 38px)}
.hero-deck-card.stack-front:hover{
  transform:translateY(-4px) rotate(-.4deg) scale(1.006);
  box-shadow:0 34px 82px rgba(18,55,91,.2)
}
.hero-deck-controls{
  position:absolute;
  z-index:8;
  left:50%;
  bottom:-2px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px 8px;
  border:1px solid rgba(18,55,91,.1);
  border-radius:999px;
  background:rgba(255,255,255,.8);
  backdrop-filter:blur(14px);
  box-shadow:0 10px 28px rgba(18,55,91,.1)
}
.hero-deck-controls button{
  width:26px;
  height:18px;
  padding:0;
  border:0;
  border-radius:999px;
  background:transparent;
  display:grid;
  place-items:center;
  cursor:pointer
}
.hero-deck-controls button span{
  display:block;
  width:7px;
  height:7px;
  border-radius:999px;
  background:#a6b8c7;
  transition:width .36s cubic-bezier(.22,1,.36,1),background .28s ease,transform .28s ease
}
.hero-deck-controls button.is-active span{
  width:18px;
  background:var(--ada);
  transform:scaleY(.9)
}
.hero-deck-controls button:hover span{background:#5f8fbb}
.hero-deck-controls button:focus-visible{
  outline:3px solid rgba(11,103,209,.2);
  outline-offset:2px
}
.hero-deck-card .hero-live-pill{top:18%;left:7%}

@media(max-width:700px){
  .hero-stack{min-height:350px}
  .hero-deck-controls{bottom:-6px}
  .hero-deck-card .hero-live-pill{top:19%}
}

@media(prefers-reduced-motion:reduce){
  .stack-card{transition:none!important}
  .hero-deck-card.stack-front:hover{transform:translate(0,0) rotate(-.8deg) scale(1)}
}


/* Finance website previews — lane + ADA Shelf */
.lane-preview-finance{
  background:
    linear-gradient(rgba(23,108,79,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,108,79,.06) 1px,transparent 1px),
    #fbfdfb;
  background-size:14px 14px;
  color:#121815
}
.lane-finance-nav{
  position:absolute;left:5%;right:5%;top:7%;height:25px;
  display:flex;align-items:center;gap:7px;padding:0 7px;
  border-radius:999px;background:rgba(255,255,255,.94);
  border:1px solid rgba(23,108,79,.08);box-shadow:0 5px 14px rgba(18,55,38,.08);
  font-size:5px;font-weight:700
}
.lane-finance-nav b{width:14px;height:14px;border-radius:5px;display:grid;place-items:center;background:#10231b;color:#fff;font-size:5px}
.lane-finance-nav em{margin-left:auto;padding:4px 5px;border-radius:999px;background:#176c4f;color:#fff;font-style:normal}
.lane-finance-copy{position:absolute;left:7%;bottom:12%;width:53%;text-align:left}
.lane-finance-copy small{display:block;font-size:4.7px;letter-spacing:.12em;color:#176c4f;font-weight:800}
.lane-finance-copy strong{display:block;margin-top:5px;font-family:Inter,sans-serif;font-size:15px;line-height:.9;letter-spacing:-.055em}
.lane-finance-copy strong i{font-style:normal;color:#176c4f}
.lane-finance-copy span{display:block;margin-top:5px;font-size:4.7px;color:#6b786f}
.lane-finance-panel{position:absolute;right:7%;bottom:10%;width:31%;height:57%;padding:9px 7px;border-radius:10px;background:rgba(255,255,255,.96);border:1px solid rgba(23,108,79,.12);box-shadow:0 8px 20px rgba(23,70,48,.1);text-align:left}
.lane-finance-panel small{font-size:4px;letter-spacing:.1em;color:#718078}.lane-finance-panel b{display:block;margin-top:6px;font-size:10px;letter-spacing:-.04em}.lane-finance-panel i{position:absolute;left:7px;right:7px;bottom:10px;height:4px;border-radius:999px;background:linear-gradient(90deg,#176c4f 42%,#e4ece7 42%)}

.finance-mini{
  background:#fbfdfb;
  color:#121815
}
.finance-mini-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(23,108,79,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(23,108,79,.045) 1px,transparent 1px);background-size:15px 15px}
.mini-nav-finance{background:rgba(249,252,249,.95);border:1px solid rgba(23,108,79,.08)}
.mini-brand-finance b{border:0;border-radius:5px;background:#10231b;color:#fff}
.mini-cta-finance{background:#176c4f;color:#fff}
.finance-copy{left:6%;bottom:15%;width:52%;color:#121815}
.finance-copy small{margin-bottom:6px;color:#176c4f}
.finance-copy strong{font-family:Inter,sans-serif;font-size:clamp(17px,2vw,29px);line-height:.87;font-weight:800;letter-spacing:-.055em}
.finance-copy strong i{font-style:normal;color:#176c4f}
.finance-copy span{margin-top:7px;max-width:92%;font-size:5.2px;line-height:1.45;color:#66746b}
.finance-copy em{margin-top:7px;padding:5px 7px;border-radius:999px;background:#176c4f;color:#fff;font-size:4.5px}
.finance-mini-planner{
  position:absolute;z-index:3;right:5%;bottom:10%;width:35%;height:58%;
  padding:10px 8px;border-radius:11px;background:rgba(255,255,255,.95);
  border:1px solid rgba(23,108,79,.12);box-shadow:0 10px 26px rgba(23,70,48,.11)
}
.finance-mini-planner small{font-size:4px;letter-spacing:.1em;color:#718078;font-weight:800}
.finance-mini-planner strong{display:block;margin-top:10px;font-family:Inter,sans-serif;font-size:15px;letter-spacing:-.05em}
.finance-mini-range{height:5px;margin-top:12px;border-radius:999px;background:#e4ece7;overflow:hidden}.finance-mini-range i{display:block;width:42%;height:100%;border-radius:inherit;background:#176c4f}
.finance-mini-planner>span{display:inline-block;margin-top:10px;padding:4px 5px;border-radius:999px;background:#e6f3eb;color:#176c4f;font-size:4px;font-weight:800}
