/*
 * HEAVEN DENTAL — CELESTIAL MINERAL
 * THESIS: Private, considered dental care expressed through mineral calm rather than gold-coded luxury.
 * OWN-WORLD: Porcelain light, midnight-indigo depth, mineral-blue intelligence and a rare smoked-iris accent.
 * STORY: The visitor feels listened to, sees precise care, then chooses a private consultation without pressure.
 * FIRST VIEWPORT: A patient-facing planning conversation occupies the right half; the promise owns the quiet left field.
 * FORM: Editorial motion supports Heaven's own quiet, patient-led identity.
 */
:root{
  --heaven-porcelain:#f4f1ec;
  --heaven-soft-porcelain:#f7f4ef;
  --heaven-pearl-mist:#e4e8ea;
  --heaven-midnight-indigo:#171a2b;
  --heaven-hero-ink:#30384a;
  --heaven-mineral-slate:#596172;
  --heaven-mineral-blue:#526f82;
  --heaven-smoked-iris:#777995;
  --heaven-ice-blue:#a8cad2;
}
.heaven-service-handoff,.heaven-desktop-services{display:none}
/* The inherited transition pane can remain above Our Approach when its
   ScrollTrigger is re-measured after hydration, blurring the entire section.
   Heaven uses a clean editorial cut between sections instead. */
@media (min-width:1024px){
  section.our-goal .overlay-goal{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    display:none!important;
  }
  section.our-goal{isolation:isolate}
  .heaven-service-handoff{
    box-shadow:0 1.5rem 4.5rem rgba(23,26,43,.2);
    display:block;
    left:0;
    margin:0;
    opacity:0;
    overflow:hidden;
    pointer-events:none;
    position:fixed;
    top:0;
    transition:none;
    will-change:transform,width,height,opacity;
    z-index:12;
  }
  .heaven-service-handoff img{height:100%;object-fit:cover;object-position:center;width:100%}
  .heaven-desktop-services{background:var(--heaven-midnight-indigo);color:var(--heaven-porcelain);display:block;height:500vh;position:relative}
  .heaven-desktop-services__sticky{height:100vh;overflow:hidden;position:sticky;top:0}
  .heaven-desktop-services__images{box-shadow:0 1.5rem 4.5rem rgba(23,26,43,.2);height:100%;left:0;overflow:hidden;position:absolute;top:0;width:50%}
  .heaven-desktop-services__images:after{background:linear-gradient(180deg,transparent 52%,rgba(7,9,18,.76));content:'';inset:0;pointer-events:none;position:absolute;z-index:2}
  .heaven-desktop-services__images img{clip-path:inset(100% 0 0);height:100%;inset:0;object-fit:cover;opacity:1;position:absolute;transform:scale(1.025);transition:none;width:100%}
  .heaven-desktop-services__images img:first-child{clip-path:inset(0);opacity:0;transform:scale(1)}
  .heaven-desktop-services.is-entered .heaven-desktop-services__images img:first-child{opacity:1}
  .heaven-desktop-services__images img.is-active{transform:scale(1)}
  .heaven-desktop-services__details{left:64.5%;position:absolute;right:4%;top:7.5%;z-index:4}
  .heaven-desktop-services__prompt{font:500 .85rem/1 var(--font-inter);margin:0 0 4.5rem}
  .heaven-desktop-services__details article{inset:5.2rem 0 auto;opacity:0;pointer-events:none;position:absolute;transition:opacity 120ms ease}
  .heaven-desktop-services__details article.is-active{opacity:1;pointer-events:auto;transition:opacity 220ms ease 60ms}
  .heaven-desktop-services__label{color:var(--heaven-ice-blue);font:500 .72rem/1.2 var(--font-inter);letter-spacing:.08em;margin:0 0 1.1rem;text-transform:uppercase}
  .heaven-desktop-services__details h3{font:600 clamp(1.1rem,1.45vw,1.55rem)/1.08 var(--font-inter);letter-spacing:-.025em;margin:0 0 2.2rem;max-width:27ch}
  .heaven-desktop-services__detail-grid{align-items:start;display:grid;gap:2.4rem;grid-template-columns:minmax(8.5rem,13vw) 1fr}
  .heaven-desktop-services__detail-grid img{aspect-ratio:3/4;object-fit:cover;width:100%}
  .heaven-desktop-services__detail-grid ul{list-style:none;margin:0;padding:0}
  .heaven-desktop-services__detail-grid li{align-items:center;border-top:1px solid rgba(244,241,236,.18);display:flex;font:400 .84rem/1.2 var(--font-inter);justify-content:space-between;min-height:3.25rem}
  .heaven-desktop-services__detail-grid li:last-child{border-bottom:1px solid rgba(244,241,236,.18)}
  .heaven-desktop-services__nav{bottom:3.2rem;display:grid;left:2.5rem;position:absolute;z-index:4}
  .heaven-desktop-services__nav:before{content:'Services';font:500 .75rem/1 var(--font-inter);margin-bottom:1.6rem}
  .heaven-desktop-services__nav button{background:none;border:0;color:rgba(244,241,236,.43);font:400 .83rem/1.35 var(--font-inter);padding:0;text-align:left;transition:color 180ms ease}
  .heaven-desktop-services__nav button.is-active{color:var(--heaven-porcelain)}
  .heaven-desktop-services__nav button:focus-visible,.heaven-desktop-services__cta:focus-visible{outline:2px solid var(--heaven-ice-blue);outline-offset:4px}
  .heaven-desktop-services__titles{bottom:1.35rem;box-sizing:border-box;height:clamp(3rem,4.35vw,4.75rem);left:50%;padding-inline:2rem;pointer-events:none;position:absolute;text-align:center;transform:translateX(-50%);width:100%;z-index:5}
  .heaven-desktop-services__titles h2{align-items:center;display:flex;font:400 clamp(3rem,5.3vw,5.75rem)/.82 var(--font-instrument);inset:0;justify-content:center;letter-spacing:-.04em;margin:0;opacity:0;position:absolute;text-align:center;transition:opacity 120ms ease;white-space:nowrap;width:100%}
  .heaven-desktop-services__titles h2.is-active{opacity:1;transition:opacity 220ms ease 60ms}
  .heaven-desktop-services__cta{align-items:center;background:var(--heaven-porcelain);border:0;border-radius:999px;bottom:2.3rem;color:var(--heaven-midnight-indigo);display:flex;font:600 .78rem/1 var(--font-inter);gap:2.5rem;min-height:3.5rem;padding:0 1.35rem;position:absolute;right:2.5rem;z-index:6}
}
#preloader .loader-wrap{
  align-items:center;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 88'%3E%3Cpath fill='%23f4f1ec' d='M10 9C18 6 23 10 23 18V70C23 78 18 82 10 79V9Z'/%3E%3Cpath fill='%23f4f1ec' d='M62 9C54 6 49 10 49 18V70C49 78 54 82 62 79V9Z'/%3E%3Cpath fill='%23a8cad2' d='M21 39C31 35 41 35 51 39V49C41 45 31 45 21 49V39Z'/%3E%3C/svg%3E");
  background-position:left center;
  background-repeat:no-repeat;
  background-size:4.5rem 5.5rem;
  display:flex;
  gap:1rem;
  height:5rem;
  justify-content:center;
  padding-left:5.5rem;
  width:27rem;
}
#preloader .loader-wrap > *{
  display:none!important;
}
#preloader .loader-wrap:before{
  color:var(--heaven-porcelain);
  content:"HEAVEN";
  font-family:var(--font-instrument);
  font-size:4rem;
  letter-spacing:-.035em;
  line-height:.8;
}
#preloader .loader-wrap:after{
  color:var(--heaven-porcelain);
  content:"DENTAL\A CONSIDERED CARE";
  font-family:var(--font-inter);
  font-size:1.15rem;
  letter-spacing:-.02em;
  line-height:1.35;
  white-space:pre;
}
html.heaven-preview-ready #preloader{
  opacity:0!important;
  pointer-events:none!important;
  transform:translateY(100%)!important;
  visibility:hidden!important;
  transition:opacity .35s ease,transform .6s var(--ease-menu),visibility 0s linear .6s!important;
}
@media (prefers-reduced-motion:reduce){
  html.heaven-preview-ready #preloader{transition:none!important}
}
footer.footer .wrap-logo{
  width:max-content;
}
footer.footer .logo{
  background:none;
  height:auto;
  width:auto;
}
.heaven-brand-slot{
  background:none!important;
}
.heaven-brand-slot > .wrap-logo-icon,
.heaven-brand-slot > .wrap-logo-text{
  display:none!important;
}
.heaven-footer-brand{
  align-items:center;
  color:var(--heaven-porcelain);
  display:flex;
  gap:1.25rem;
}
.heaven-footer-brand__mark{
  fill:currentColor;
  height:5.5rem;
  width:4.5rem;
}
.heaven-footer-brand__channel{
  fill:var(--heaven-ice-blue);
}
.heaven-footer-brand__type{
  align-items:end;
  column-gap:.8rem;
  display:grid;
  grid-template-columns:auto auto;
  grid-template-rows:auto auto;
}
.heaven-footer-brand__name{
  font-family:var(--font-instrument);
  font-size:3.7rem;
  grid-row:1 / 3;
  letter-spacing:-.035em;
  line-height:.78;
}
.heaven-footer-brand__descriptor{
  font-family:var(--font-inter);
  font-size:1.25rem;
  letter-spacing:-.02em;
  line-height:1;
}
.heaven-footer-brand__tagline{
  color:var(--heaven-ice-blue);
  font-family:var(--font-inter);
  font-size:.52rem;
  letter-spacing:.14em;
  line-height:1;
  margin-bottom:.15rem;
}
header .heaven-brand-slot,
.menu-wrap .heaven-brand-slot{
  height:auto;
  width:auto;
}
header .heaven-footer-brand,
.menu-wrap .heaven-footer-brand{
  color:var(--heaven-midnight-indigo);
  gap:.45rem;
}
header .heaven-footer-brand__mark,
.menu-wrap .heaven-footer-brand__mark{
  height:2rem;
  width:1.65rem;
}
header .heaven-footer-brand__channel,
.menu-wrap .heaven-footer-brand__channel{
  fill:var(--heaven-mineral-blue);
}
header .heaven-footer-brand__type,
.menu-wrap .heaven-footer-brand__type{
  column-gap:.4rem;
}
header .heaven-footer-brand__name,
.menu-wrap .heaven-footer-brand__name{
  font-size:1.45rem;
}
header .heaven-footer-brand__descriptor,
.menu-wrap .heaven-footer-brand__descriptor{
  font-size:.52rem;
}
header .heaven-footer-brand__tagline,
.menu-wrap .heaven-footer-brand__tagline{
  color:var(--heaven-mineral-blue);
  font-size:.24rem;
  letter-spacing:.11em;
}
.success-modal .heaven-footer-brand{
  color:var(--heaven-midnight-indigo);
}
.success-modal .heaven-footer-brand__channel{
  fill:var(--heaven-mineral-blue);
}
.heaven-mobile-footer{
  display:none;
}
.heaven-mobile-page{
  display:none;
}
@media (max-width:1023px){
  html{
    font-size:16px!important;
  }
  .page > :not(.heaven-mobile-page):not(footer.footer){
    display:none!important;
  }
  .page > .heaven-mobile-page{
    display:block;
  }
  .heaven-mobile-page,
  .heaven-mobile-page *,
  .heaven-mobile-footer,
  .heaven-mobile-footer *{
    box-sizing:border-box;
  }
  .heaven-mobile-page{
    background:var(--heaven-porcelain);
    color:var(--heaven-midnight-indigo);
    overflow:hidden;
  }
  .call-modal,
  .success-modal,
  .menu-wrap{
    z-index:120!important;
  }
  .heaven-mobile-page button,
  .heaven-mobile-page a{
    -webkit-tap-highlight-color:transparent;
  }
  .heaven-mobile-page .heaven-mobile-arrow{
    height:1.25rem;
    width:1.25rem;
  }
  .heaven-mobile-page .heaven-mobile-arrow path{
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.5;
  }
  .heaven-mobile-header{
    align-items:center;
    background:rgba(247,244,239,.92);
    border-bottom:1px solid rgba(23,26,43,.09);
    display:flex;
    height:4.5rem;
    justify-content:space-between;
    left:0;
    padding:0 1rem;
    position:fixed;
    right:0;
    top:0;
    z-index:80;
  }
  .heaven-mobile-header__brand{
    color:var(--heaven-midnight-indigo);
    display:block;
    width:auto;
  }
  .heaven-mobile-header__actions{display:flex;gap:.45rem}
  .heaven-mobile-header__actions button{
    align-items:center;
    background:var(--heaven-midnight-indigo);
    border:0;
    border-radius:50%;
    color:var(--heaven-porcelain);
    display:flex;
    height:2.75rem;
    justify-content:center;
    padding:0;
    width:2.75rem;
  }
  .heaven-mobile-header__actions button:last-child{background:transparent;border:1px solid rgba(23,26,43,.18);display:grid;gap:.3rem;place-content:center}
  .heaven-mobile-header__actions button:last-child span{background:var(--heaven-midnight-indigo);display:block;height:1px;width:1rem}
  .heaven-mobile-kicker{
    font-family:var(--font-inter);
    font-size:.69rem;
    font-weight:500;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .heaven-mobile-hero{
    background:var(--heaven-midnight-indigo);
    color:var(--heaven-porcelain);
    height:min(52rem,100svh);
    min-height:43rem;
    position:relative;
  }
  .heaven-mobile-hero > img{height:100%;inset:0;object-fit:cover;object-position:center 22%;position:absolute;width:100%;z-index:0}
  .heaven-mobile-hero__veil{background:linear-gradient(180deg,rgba(23,26,43,.02) 18%,rgba(23,26,43,.12) 46%,rgba(12,14,25,.84) 100%);inset:0;position:absolute;z-index:1}
  .heaven-mobile-hero__copy{bottom:6rem;left:1.25rem;position:absolute;right:1.25rem;z-index:2}
  .heaven-mobile-hero__copy .heaven-mobile-kicker{color:var(--heaven-ice-blue);margin:0 0 1rem}
  .heaven-mobile-hero h1,
  .heaven-mobile-approach h2,
  .heaven-mobile-services h2,
  .heaven-mobile-planning h2,
  .heaven-mobile-care h2,
  .heaven-mobile-next h2{
    font-family:var(--font-instrument);
    font-weight:400;
    letter-spacing:-.04em;
  }
  .heaven-mobile-hero h1{font-size:clamp(3.35rem,15vw,4.3rem);line-height:.86;margin:0;max-width:7.5ch}
  .heaven-mobile-hero h1 i,.heaven-mobile-approach h2 i,.heaven-mobile-planning h2 i,.heaven-mobile-care h2 i,.heaven-mobile-next h2 i{font-style:italic}
  .heaven-mobile-hero__copy > p:last-child{font-family:var(--font-inter);font-size:.95rem;line-height:1.4;margin:1.25rem 0 0;max-width:26ch}
  .heaven-mobile-hero__cue{align-items:center;bottom:1.5rem;color:var(--heaven-porcelain);display:flex;font-family:var(--font-inter);font-size:.75rem;justify-content:space-between;left:1.25rem;position:absolute;right:1.25rem;z-index:2}
  .heaven-mobile-hero__cue span{color:var(--heaven-ice-blue);font-size:1.25rem}
  .heaven-mobile-approach{padding:5.5rem 1.25rem 4rem}
  .heaven-mobile-approach .heaven-mobile-kicker,.heaven-mobile-services .heaven-mobile-kicker{color:var(--heaven-mineral-blue);margin:0 0 1rem}
  .heaven-mobile-approach h2,.heaven-mobile-services h2,.heaven-mobile-planning h2{font-size:3.25rem;line-height:.9;margin:0;max-width:8ch}
  .heaven-mobile-approach h2 i{color:var(--heaven-mineral-blue)}
  .heaven-mobile-body{font-family:var(--font-inter);font-size:1rem;line-height:1.55;margin:1.75rem 0 2.5rem;max-width:31ch}
  .heaven-mobile-approach figure{margin:0;position:relative}
  .heaven-mobile-approach figure img{aspect-ratio:4/5;display:block;object-fit:cover;width:100%}
  .heaven-mobile-approach figcaption{background:var(--heaven-midnight-indigo);bottom:0;color:var(--heaven-porcelain);font-family:var(--font-inter);font-size:.76rem;left:0;padding:1rem;position:absolute}
  .heaven-mobile-services{background:#e7eaeb;padding:4.5rem 0 5rem}
  .heaven-mobile-section-head{align-items:end;display:flex;justify-content:space-between;padding:0 1.25rem 2rem}
  .heaven-mobile-section-head > span{color:var(--heaven-mineral-blue);font-family:var(--font-inter);font-size:.75rem;padding-bottom:.25rem}
  .heaven-mobile-service-rail,.heaven-mobile-tech-rail{display:flex;gap:.8rem;overflow-x:auto;padding:0 1.25rem 1rem;scroll-padding-left:1.25rem;scroll-snap-type:x mandatory;scrollbar-width:none}
  .heaven-mobile-service-rail::-webkit-scrollbar,.heaven-mobile-tech-rail::-webkit-scrollbar{display:none}
  .heaven-mobile-service-card{background:var(--heaven-porcelain);flex:0 0 auto!important;max-width:21rem;padding:1rem;scroll-snap-align:start;width:calc(100vw - 3.75rem)!important}
  .heaven-mobile-service-card__image{aspect-ratio:4/5;margin-bottom:1.25rem;overflow:hidden;position:relative}
  .heaven-mobile-service-card__image img{height:100%;object-fit:cover;width:100%}
  .heaven-mobile-service-card__image > span{background:var(--heaven-porcelain);bottom:.65rem;font-family:var(--font-instrument);font-size:1.1rem;left:.65rem;padding:.4rem .55rem;position:absolute}
  .heaven-mobile-service-card > p{color:var(--heaven-mineral-blue);font-family:var(--font-inter);font-size:.7rem;letter-spacing:.04em;margin:0 0 .55rem;text-transform:uppercase}
  .heaven-mobile-service-card h3{font-family:var(--font-instrument);font-size:2.1rem;font-weight:400;letter-spacing:-.03em;line-height:.95;margin:0}
  .heaven-mobile-service-card__copy{font-family:var(--font-inter);font-size:.88rem;line-height:1.45;margin:1rem 0;min-height:5.1rem}
  .heaven-mobile-service-card button{align-items:center;background:transparent;border:0;border-top:1px solid rgba(23,26,43,.16);color:inherit;display:flex;font-family:var(--font-inter);font-size:.82rem;justify-content:space-between;min-height:3.5rem;padding:.8rem 0 0;text-align:left;width:100%}
  .heaven-mobile-planning{background:var(--heaven-midnight-indigo);color:var(--heaven-porcelain);padding:5rem 0}
  .heaven-mobile-planning > .heaven-mobile-kicker,.heaven-mobile-planning > h2,.heaven-mobile-planning > .heaven-mobile-body{margin-left:1.25rem;margin-right:1.25rem}
  .heaven-mobile-planning .heaven-mobile-kicker{color:var(--heaven-ice-blue);margin-bottom:1rem}
  .heaven-mobile-planning h2 i{color:var(--heaven-ice-blue)}
  .heaven-mobile-tech-rail{gap:1rem;margin-top:3rem}
  .heaven-mobile-tech-rail figure{flex:0 0:72vw;margin:0;scroll-snap-align:center}
  .heaven-mobile-tech-rail img{aspect-ratio:1/1;background:#080a11;display:block;object-fit:cover;width:100%}
  .heaven-mobile-tech-rail figcaption{align-items:baseline;border-top:1px solid rgba(244,241,236,.24);display:flex;font-family:var(--font-instrument);font-size:1.55rem;gap:.75rem;line-height:1.05;margin-top:.9rem;padding-top:.8rem}
  .heaven-mobile-tech-rail figcaption span{color:var(--heaven-ice-blue);font-family:var(--font-inter);font-size:.65rem}
  .heaven-mobile-care{background:#0d0f19;color:var(--heaven-porcelain);padding-bottom:4.5rem;position:relative}
  .heaven-mobile-care > img{aspect-ratio:4/5;display:block;filter:saturate(.82);object-fit:cover;opacity:.74;width:100%}
  .heaven-mobile-care__copy{background:linear-gradient(180deg,transparent,#0d0f19);margin-top:-11rem;padding:5rem 1.25rem 2.5rem;position:relative}
  .heaven-mobile-care .heaven-mobile-kicker{color:var(--heaven-ice-blue);margin:0 0 1rem}
  .heaven-mobile-care h2{font-size:3.5rem;line-height:.88;margin:0;max-width:7ch}
  .heaven-mobile-care h2 i{color:var(--heaven-ice-blue)}
  .heaven-mobile-care ol{list-style:none;margin:0;padding:0 1.25rem}
  .heaven-mobile-care li{border-top:1px solid rgba(244,241,236,.18);display:grid;gap:.3rem;grid-template-columns:2rem 1fr;padding:1.25rem 0}
  .heaven-mobile-care li > span{color:var(--heaven-ice-blue);font-family:var(--font-inter);font-size:.65rem;grid-row:1/3}
  .heaven-mobile-care strong{font-family:var(--font-instrument);font-size:1.65rem;font-weight:400}
  .heaven-mobile-care small{color:rgba(244,241,236,.68);font-family:var(--font-inter);font-size:.85rem;line-height:1.35}
  .heaven-mobile-next{background:var(--heaven-pearl-mist);min-height:42rem;overflow:hidden;position:relative}
  .heaven-mobile-next > img{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}
  .heaven-mobile-next:after{background:linear-gradient(180deg,rgba(228,232,234,.08),rgba(23,26,43,.82));content:'';inset:0;position:absolute}
  .heaven-mobile-next__copy{bottom:2.25rem;color:var(--heaven-porcelain);left:1.25rem;position:absolute;right:1.25rem;z-index:1}
  .heaven-mobile-next .heaven-mobile-kicker{color:var(--heaven-ice-blue);margin:0 0 .75rem}
  .heaven-mobile-next h2{font-size:4rem;line-height:.86;margin:0;max-width:6ch}
  .heaven-mobile-next h2 i{color:var(--heaven-ice-blue)}
  .heaven-mobile-next button{align-items:center;background:var(--heaven-porcelain);border:0;border-radius:999px;color:var(--heaven-midnight-indigo);display:flex;font-family:var(--font-inter);font-size:.9rem;font-weight:600;justify-content:space-between;margin-top:1.75rem;min-height:3.75rem;padding:0 1.25rem;width:100%}
  .heaven-mobile-page button:focus-visible,.heaven-mobile-page a:focus-visible{outline:2px solid var(--heaven-ice-blue);outline-offset:3px}
  #preloader .loader-wrap{background-size:2.65rem 3.25rem;gap:.6rem;height:3.5rem;padding-left:3.35rem;width:18.5rem}
  #preloader .loader-wrap:before{font-size:2.8rem}
  #preloader .loader-wrap:after{font-size:.78rem}
  .heaven-footer-brand{gap:.75rem}
  .heaven-footer-brand__mark{height:3.25rem;width:2.65rem}
  .heaven-footer-brand__name{font-size:2.2rem}
  .heaven-footer-brand__descriptor{font-size:.78rem}
  .heaven-footer-brand__tagline{font-size:.36rem;letter-spacing:.11em}
  header .heaven-footer-brand__mark,
  .menu-wrap .heaven-footer-brand__mark{height:1.65rem;width:1.35rem}
  header .heaven-footer-brand__name,
  .menu-wrap .heaven-footer-brand__name{font-size:1.2rem}
  footer.footer{
    background:#070912;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
  }
  footer.footer > :not(.heaven-mobile-footer){
    display:none!important;
  }
  footer.footer > .heaven-mobile-footer{
    background:linear-gradient(180deg,#252735 0%,#11131e 54%,#05060b 100%);
    color:var(--heaven-porcelain);
    display:block;
    padding:clamp(4.5rem,18vw,6rem) 1rem max(1.5rem,env(safe-area-inset-bottom));
  }
  .heaven-mobile-footer__intro{
    padding:0 .25rem 3.5rem;
  }
  .heaven-mobile-footer__brand{
    margin-bottom:3rem;
  }
  .heaven-mobile-footer__brand .heaven-footer-brand{
    gap:.65rem;
  }
  .heaven-mobile-footer__brand .heaven-footer-brand__mark{
    height:2.85rem;
    width:2.3rem;
  }
  .heaven-mobile-footer__brand .heaven-footer-brand__name{
    font-size:2rem;
  }
  .heaven-mobile-footer__brand .heaven-footer-brand__descriptor{
    font-size:.7rem;
  }
  .heaven-mobile-footer__brand .heaven-footer-brand__tagline{
    font-size:.31rem;
  }
  .heaven-mobile-footer__intro h2{
    font-family:var(--font-instrument);
    font-size:clamp(3rem,14vw,4rem);
    letter-spacing:-.035em;
    line-height:.88;
    margin:0;
    max-width:8.5ch;
  }
  .heaven-mobile-footer__intro h2 i{
    color:var(--heaven-ice-blue);
    font-style:italic;
  }
  .heaven-mobile-footer__lede{
    color:rgba(244,241,236,.76);
    font-family:var(--font-inter);
    font-size:1rem;
    line-height:1.4;
    margin:1.5rem 0 0;
    max-width:30ch;
  }
  .heaven-mobile-footer__cta{
    align-items:center;
    background:var(--heaven-porcelain);
    border-radius:999px;
    color:var(--heaven-midnight-indigo);
    display:flex;
    font-family:var(--font-inter);
    font-size:1rem;
    font-weight:600;
    justify-content:space-between;
    margin-top:2rem;
    min-height:4rem;
    padding:0 1.25rem 0 1.5rem;
    width:100%;
  }
  .heaven-mobile-footer__cta svg,
  .heaven-mobile-footer__care-list button > svg{
    height:1.35rem;
    width:1.35rem;
  }
  .heaven-mobile-footer__cta svg path,
  .heaven-mobile-footer__care-list button > svg path{
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.5;
  }
  .heaven-mobile-footer__cta:active,
  .heaven-mobile-footer__care-list button:active{
    transform:scale(.985);
  }
  .heaven-mobile-footer__cta:focus-visible,
  .heaven-mobile-footer__care-list button:focus-visible,
  .heaven-mobile-footer summary:focus-visible,
  .heaven-mobile-footer a:focus-visible{
    outline:2px solid var(--heaven-ice-blue);
    outline-offset:4px;
  }
  .heaven-mobile-footer__care{
    border-top:1px solid rgba(168,202,210,.24);
    padding:2.5rem .25rem 3rem;
  }
  .heaven-mobile-footer__care h3{
    color:var(--heaven-ice-blue);
    font-family:var(--font-inter);
    font-size:.75rem;
    font-weight:500;
    letter-spacing:.12em;
    margin:0 0 1rem;
    text-transform:uppercase;
  }
  .heaven-mobile-footer__care-list button{
    align-items:center;
    background:transparent;
    border-bottom:1px solid rgba(228,232,234,.16);
    color:var(--heaven-porcelain);
    display:flex;
    justify-content:space-between;
    min-height:6rem;
    padding:1rem 0;
    text-align:left;
    transition:background-color .2s var(--default-ease),transform .2s var(--default-ease);
    width:100%;
  }
  .heaven-mobile-footer__care-list button > span{
    display:grid;
    gap:.35rem;
  }
  .heaven-mobile-footer__care-list strong{
    font-family:var(--font-instrument);
    font-size:2rem;
    font-weight:400;
    letter-spacing:-.025em;
    line-height:1;
  }
  .heaven-mobile-footer__care-list small{
    color:rgba(244,241,236,.7);
    font-family:var(--font-inter);
    font-size:.9rem;
    line-height:1.35;
    max-width:29ch;
  }
  .heaven-mobile-footer__care-list button > svg{
    color:var(--heaven-ice-blue);
    flex:0 0 auto;
    margin-left:1rem;
  }
  .heaven-mobile-footer__nav{
    border-top:1px solid rgba(168,202,210,.24);
  }
  .heaven-mobile-footer__nav details{
    border-bottom:1px solid rgba(228,232,234,.16);
  }
  .heaven-mobile-footer__nav summary{
    align-items:center;
    cursor:pointer;
    display:flex;
    font-family:var(--font-inter);
    font-size:1rem;
    font-weight:600;
    justify-content:space-between;
    list-style:none;
    min-height:4.25rem;
    padding:0 .25rem;
  }
  .heaven-mobile-footer__nav summary::-webkit-details-marker{
    display:none;
  }
  .heaven-mobile-footer__nav summary span:last-child{
    color:var(--heaven-ice-blue);
    font-size:1.5rem;
    font-weight:300;
    transition:transform .25s var(--default-ease);
  }
  .heaven-mobile-footer__nav details[open] summary span:last-child{
    transform:rotate(45deg);
  }
  .heaven-mobile-footer__nav ul{
    display:grid;
    gap:.2rem;
    padding:0 0 1.25rem;
  }
  .heaven-mobile-footer__nav a{
    color:rgba(244,241,236,.78);
    display:block;
    font-family:var(--font-inter);
    font-size:1rem;
    min-height:2.75rem;
    padding:.65rem .25rem;
  }
  .heaven-mobile-footer__closing{
    padding:3rem .25rem .5rem;
  }
  .heaven-mobile-footer__socials{
    display:flex;
    gap:.75rem;
    margin-bottom:2rem;
  }
  .heaven-mobile-footer__socials a{
    align-items:center;
    background:rgba(168,202,210,.1);
    border:1px solid rgba(168,202,210,.18);
    border-radius:50%;
    color:var(--heaven-porcelain);
    display:flex;
    height:3.25rem;
    justify-content:center;
    width:3.25rem;
  }
  .heaven-mobile-footer__socials .wrap-circle-icon{
    align-items:center;
    display:flex;
    justify-content:center;
  }
  .heaven-mobile-footer__socials svg{
    height:1.1rem;
    width:1.1rem;
  }
  .heaven-mobile-footer__socials svg path{
    fill:currentColor!important;
    stroke:none;
  }
  .heaven-mobile-footer__copyright{
    color:rgba(244,241,236,.62);
    font-family:var(--font-inter);
    font-size:.75rem;
    line-height:1.45;
  }
}
@media (min-width:1024px){
  :root{
    --c-brand-navy:var(--heaven-midnight-indigo);
    --c-brand-navy-linear:linear-gradient(180deg,#262b40,#0e101a);
    --c-brand-navy-radial:radial-gradient(44.61% 50% at 48.59% 50%,#171a2b 0%,#24283a 48%,#526f82 100%);
    --c-brand-gold:var(--heaven-smoked-iris);
    --c-brand-gold-gradient:linear-gradient(270deg,var(--heaven-mineral-blue),var(--heaven-ice-blue));
    --c-light-base:var(--heaven-porcelain);
    --c-light-40:rgba(247,244,239,.55);
    --c-light-15:rgba(247,244,239,.18);
    --c-light-beige:var(--heaven-pearl-mist);
    --c-dark-base:var(--heaven-midnight-indigo);
    --c-dark-40:rgba(23,26,43,.5);
    --c-dark-10:rgba(23,26,43,.12);
    --c-dark-brown:var(--heaven-mineral-slate);
  }
  section#hero.hero .sticky .right .right-title{
    color:var(--heaven-hero-ink)!important;
    font-size:clamp(5rem,6.4vw,7.75rem);
    left:clamp(2rem,5vw,6rem);
    -webkit-text-fill-color:var(--heaven-hero-ink);
    mix-blend-mode:normal;
    right:auto;
    transform:translate(-55vw,-50%);
    translate:var(--heaven-hero-next-offset,0px) 0;
    opacity:var(--heaven-hero-next-opacity,0)!important;
    width:min(46vw,44rem);
  }
  section.hero > .sticky > .left{
    position:relative;
  }
  section.hero > .sticky > .left > .based-in{
    bottom:clamp(2rem,5vh,3.5rem)!important;
    color:var(--heaven-hero-ink)!important;
    left:clamp(2rem,4vw,4rem)!important;
    opacity:var(--heaven-hero-outgoing-opacity,1)!important;
    position:absolute!important;
    top:auto!important;
    width:min(24vw,22rem)!important;
    z-index:8!important;
  }
  section.hero > .sticky > .left > .based-in::before{
    background:var(--heaven-hero-ink);
    content:"";
    display:block;
    height:1px;
    margin-bottom:1rem;
    opacity:.35;
    width:2.75rem;
  }
  section.hero > .sticky > .left > .based-in .based-in-title{
    color:var(--heaven-hero-ink)!important;
    font-family:var(--font-inter)!important;
    font-size:clamp(.875rem,1vw,1rem)!important;
    line-height:1.4!important;
    margin:0!important;
    max-width:30ch;
    opacity:.78!important;
    white-space:normal!important;
  }
  section.hero > .sticky > .left > .based-in .location-item{
    display:none!important;
  }
  section.hero > .sticky > .video-description,
  section.hero > .sticky > .description,
  section.hero > .sticky > .right .bottom-tips{
    display:none!important;
  }
  section#hero.hero .sticky .right .right-title p{line-height:.88;text-align:left;text-wrap:balance}
  section#hero.hero .wrap-titles.static,
  section#hero.hero .wrap-titles.black{
    opacity:var(--heaven-hero-outgoing-opacity,1)!important;
    visibility:visible!important;
  }
  section.hero .right .bottom-tips{
    align-items:flex-start;
    border-top:1px solid rgba(244,240,236,.55);
    bottom:2rem;
    display:flex;
    flex-direction:column;
    gap:5px;
    justify-content:flex-start;
    left:2rem;
    padding-top:10px;
    right:auto;
    top:auto;
    transform:none;
    width:220px;
  }
  section.hero .right .bottom-tips p{
    align-items:center;
    color:#f4f0ec;
    display:flex;
    font-size:12px;
    line-height:1.25;
    white-space:nowrap;
  }
  section.hero .right .bottom-tips p+p:before{
    content:none;
  }
  section.experts .main-description .btn-meet-team{
    margin-left:auto!important;
    margin-right:0!important;
    margin-top:1.75rem!important;
  }
  section.experts .main-description{
    transform:translateY(-5rem);
  }
  section.experts .experts-img{
    top:0!important;
  }
  section.pre-footer .wrap-title{
    display:none!important;
  }
  section.pre-footer .pre-footer-bg{
    display:none!important;
  }
  .heaven-footer-wave{
    bottom:-1px;
    height:38%;
    left:0;
    pointer-events:none;
    position:absolute;
    width:100%;
    z-index:1;
  }
  .heaven-footer-wave path{
    fill:var(--heaven-midnight-indigo);
  }
  footer.footer{
    background:linear-gradient(180deg,var(--heaven-midnight-indigo),#010203);
    height:auto!important;
    margin-top:0!important;
    min-height:0!important;
    padding-top:clamp(5.5rem,7vw,6.75rem);
  }
  footer.footer .bg{
    display:none!important;
  }
  /* Keep the identity, social proof and enquiry action in one composed band. */
  footer.footer .wrap-logo{
    height:auto;
    left:2.2222222222vw;
    margin:0;
    position:absolute;
    top:clamp(5.5rem,7vw,6.75rem);
    z-index:2;
  }
  footer.footer .content-part.top{
    align-items:start;
    height:auto;
    min-height:23rem;
  }
  footer.footer .content-part.top .left{
    height:auto;
    padding-top:clamp(10.5rem,13vw,12rem);
  }
  footer.footer .content-part.top .right{
    height:auto;
  }
  footer.footer .form-title{
    margin-bottom:clamp(2.75rem,3.5vw,3.75rem);
  }
  footer.footer .form{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 11.5rem;
  }
  footer.footer .wrap-input,
  footer.footer .wrap-textarea{
    background:rgba(168,202,210,.075);
    border-color:rgba(228,232,234,.34);
    transition:background-color .25s var(--default-ease),border-color .25s var(--default-ease);
  }
  footer.footer .wrap-input:hover,
  footer.footer .wrap-textarea:hover{
    background:rgba(168,202,210,.11);
    border-color:rgba(228,232,234,.52);
  }
  footer.footer .wrap-input:focus-within,
  footer.footer .wrap-textarea:focus-within{
    background:rgba(168,202,210,.14);
    border-color:var(--heaven-ice-blue);
  }
  footer.footer .input,
  footer.footer .textarea{
    color:var(--heaven-porcelain);
  }
  footer.footer .placeholder{
    color:rgba(244,241,236,.74)!important;
  }
  footer.footer .btn-submit{
    min-width:11.5rem;
  }
  footer.footer .btn-submit .wrap-btn{
    align-items:center;
    border-radius:999px;
    box-shadow:0 .75rem 2.25rem rgba(1,2,3,.3);
    display:flex;
    gap:1rem;
    height:100%;
    justify-content:space-between;
    padding:0 1.5rem;
    transition:background-color .25s var(--default-ease),transform .25s var(--default-ease);
    width:100%;
  }
  footer.footer .btn-submit .text{
    color:var(--heaven-midnight-indigo);
    display:block;
  }
  footer.footer .btn-submit .wrap-icon{
    height:1.5rem;
    position:static;
    transform:none;
    width:1.5rem;
  }
  footer.footer .btn-submit:hover .wrap-btn{
    background:var(--heaven-ice-blue);
    transform:translateY(-2px);
  }
  footer.footer .btn-submit:focus-visible{
    outline:2px solid var(--heaven-ice-blue);
    outline-offset:4px;
  }
  .wrap-locations-radio.dark > .c2{
    color:var(--heaven-ice-blue);
  }
  .wrap-locations-radio.dark .input-radio:checked + .radio{
    background:var(--heaven-ice-blue);
    border-color:var(--heaven-ice-blue);
  }
  .wrap-locations-radio.dark .input-radio:focus-visible + .radio{
    outline:2px solid var(--heaven-ice-blue);
    outline-offset:3px;
  }
  footer.footer .content-part.mt72{
    border-top:1px solid rgba(168,202,210,.22);
    height:auto;
    margin-top:clamp(4.5rem,6vw,6rem);
    padding-top:2rem;
  }
  footer.footer .content-part.mt72 .name{
    color:var(--heaven-ice-blue);
    font-size:.75rem;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  footer.footer .content-part.mt72 .nav{
    margin-top:1.5rem;
  }
  footer.footer .list-locations{
    gap:1.5rem;
  }
  footer.footer .list-locations > *{
    border-top:1px solid rgba(168,202,210,.22);
    padding-top:1.25rem;
  }
  footer.footer .content-part.bottom{
    align-items:end;
    border-top:1px solid rgba(168,202,210,.22);
    grid-template-columns:1fr;
    margin-top:clamp(3.5rem,5vw,5rem);
    padding-top:1.5rem;
  }
  .heaven-next-step-title{
    bottom:27rem;
    color:var(--heaven-hero-ink);
    font-family:var(--font-instrument);
    font-size:clamp(5rem,6.3vw,7rem);
    left:clamp(2rem,4vw,4rem);
    letter-spacing:-.035em;
    line-height:.94;
    margin:0;
    pointer-events:none;
    position:absolute;
    width:min(58vw,52rem);
    z-index:2;
  }
  .heaven-next-step-title span{
    display:block;
  }
  .heaven-next-step-title i{
    color:var(--heaven-mineral-blue);
    font-style:italic;
  }
}
@media (min-width:1024px){
  html.heaven-services-active #fake-sticky-wrap{opacity:0!important;visibility:hidden!important}
  html.heaven-services-active section.services .left{opacity:1!important;visibility:visible!important}

  /* A typographic pause replaces the source site's orbit/ball signature. */
  section.why-choose{
    --choices-progress:0;
    --choices-shift-left:0vw;
    --choices-shift-right:0vw;
    background:var(--heaven-midnight-indigo);
  }
  .wrap-anim-bg .fake-choose{
    --choices-progress:0;
    --choices-shift-left:0vw;
    --choices-shift-right:0vw;
    position:relative;
  }
  section.why-choose .left-circle,
  section.why-choose .right-circle,
  section.why-choose .sticky > .wrap-title{
    display:none!important;
  }
  section.why-choose .sticky{
    background:var(--heaven-midnight-indigo);
    height:100vh!important;
  }
  section.why-choose > .sticky-plash{
    height:28vh!important;
    transform:none!important;
  }
  section.testimonials{
    display:none!important;
  }
  .heaven-choices{
    align-items:center;
    color:var(--heaven-soft-porcelain);
    display:flex;
    height:100vh;
    inset:0;
    overflow:hidden;
    padding:clamp(5rem,9vh,8rem) clamp(2rem,5vw,5rem);
    position:absolute;
    z-index:4;
  }
  .wrap-anim-bg .fake-choose > .heaven-choices{
    inset:auto;
    position:sticky;
    top:0;
    width:100%;
  }
  .heaven-choices__title{
    display:flex;
    flex-direction:column;
    font-family:var(--font-instrument);
    font-size:clamp(4.2rem,6.25vw,6rem);
    letter-spacing:-.035em;
    line-height:.86;
    width:100%;
  }
  .heaven-choices__line{
    display:block;
    width:100%;
  }
  .heaven-choices__line--opening{
    padding-left:6vw;
    transform:translate3d(var(--choices-shift-left),0,0);
  }
  .heaven-choices__line--opening i{
    color:var(--heaven-ice-blue);
    font-style:italic;
  }
  .heaven-choices__line--closing{
    padding-right:6vw;
    text-align:right;
    transform:translate3d(var(--choices-shift-right),0,0);
  }
}
@media (prefers-reduced-motion:reduce) and (min-width:1024px){
  .heaven-choices__line{transform:none}
}
