/* glass-a.css - minimal white + Liquid Glass. Loads AFTER chrome-a.css.
   Technique ported from rdev/liquid-glass-react (MIT, https://github.com/rdev/liquid-glass-react):
   SVG displacement map through backdrop-filter, per-channel chromatic aberration, diagonal light rim,
   pointer-following specular, press/elastic scale.

   Two layers:
   1. EVERY browser (pure CSS, works without JS): white-tinted frosted body (blur + saturate), top-lit gradient,
      hairline light rim, inner depth shadow, specular sheen. This is what iPhone Safari / every WebKit gets.
   2. Chromium only (html.lg-refract, set by glass-a.js after feature detection): backdrop-filter:url(#filter)
      = real edge refraction + chromatic aberration.
   Palette (Ant): flat white #fff surfaces, #f7f7f7 at most for separation, #e6e6e6 hairlines, neutral graphite
   dark bands. Blue-grey (#5f7a90 family) only on the primary button, accent words, focus ring, progress line. */

@property --gx{syntax:"<percentage>";inherits:true;initial-value:50%}
@property --gy{syntax:"<percentage>";inherits:true;initial-value:-12%}

:root{
  --paper:#fff;--white:#fff;--mint-soft:#f4f4f4;
  --chrome-light:linear-gradient(180deg,#fff,#f4f4f4);
  --line:rgba(0,0,0,.1);
  --lg-spec:radial-gradient(140% 110% at var(--gx,50%) var(--gy,-14%),rgba(255,255,255,.7),rgba(255,255,255,0) 58%);
  --lg-spec-dark:radial-gradient(140% 110% at var(--gx,50%) var(--gy,-14%),rgba(255,255,255,.28),rgba(255,255,255,0) 60%);
  --lg-blur:18px;--lg-sat:1.6;
}

/* ================================================================ flat white canvas */
html,body{background:#fff}
body{background:#fff;background-color:#fff}
body::before{display:none}
.section--white,.estimator-section,#how-it-works,.coverage,.faq-section,.packages,#vip.packages,#services{background:#fff;background-image:none}
.packages,#vip.packages{background:#f7f7f7}
.section--white,.estimator-section,#how-it-works,.coverage,.faq-section,.packages{border-top:1px solid #e6e6e6}
.footer{background:#fff;border-top:1px solid #e6e6e6}


/* flat white cards: hairline + very soft neutral shadow (no glass here, so long lists stay light) */
.service-card,.coverage__card,.faq__item,.pkg-card:not(.pkg-card--featured),.how-it-works__cta,.sec-foot{
  background-color:#fff;background-image:none;
  border:1px solid #e6e6e6;
  box-shadow:0 1px 2px rgba(0,0,0,.04),0 14px 26px -22px rgba(0,0,0,.22);
}
.faq__item,.faq__item[open]{background-color:#fff}
.faq__item[open]{border-color:#cfcfcf}
.service-card:hover{border-color:#5f7a90}
.service-card.is-selected,.service-card.is-selected:hover{background-color:#fff;border-color:#5f7a90;box-shadow:inset 0 0 0 1px #5f7a90,0 14px 26px -22px rgba(0,0,0,.25)}
.how-it-works__cta,.sec-foot{background:#f7f7f7}
#work .sec-foot{background:rgba(255,255,255,.06);border-radius:16px}
.est-preset,#estimator .estimator__presets{box-shadow:none}
#estimator .estimator__presets{background:#f4f4f4;border:1px solid #e6e6e6}
.est-preset{background:transparent}
.est-preset.is-active,.est-preset.is-active:hover{background:#1a1a1a;color:#fff;border-color:#1a1a1a}
#how-it-works .step-card::before{box-shadow:0 0 0 5px #fff}
#how-it-works .step-card::after{background:#fff}
#how-it-works .step-card__top::before{background:#e6e6e6}

/* ================================================================ HEADER: frosted white bar */
.header{
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.66));
  -webkit-backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-sat));
  backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-sat));
  border-bottom:1px solid rgba(0,0,0,.08);
  box-shadow:inset 0 1px 0 #fff,inset 0 -10px 16px -14px rgba(255,255,255,1),0 10px 28px -18px rgba(0,0,0,.28);
}
.header:before{background:var(--lg-spec),linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,0) 60%)}
.header::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.95) 20%,rgba(255,255,255,.95) 80%,rgba(255,255,255,0));
}
.nav{
  background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.45));
  border:1px solid rgba(0,0,0,.09);
  box-shadow:inset 0 1px 0 #fff,inset 0 -8px 12px -10px rgba(0,0,0,.1),0 6px 14px -10px rgba(0,0,0,.25);
}
.nav .nav__link:hover,.nav .nav__link:focus-visible{background:#fff;color:#243645}
.nav .nav__link.is-active,.nav .nav__link[aria-current]{background:#1a1a1a;color:#fff}
.lang,.menu-btn{
  background:var(--lg-spec),linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.55));
  border:1px solid rgba(0,0,0,.1);
  -webkit-backdrop-filter:blur(10px) saturate(1.5);backdrop-filter:blur(10px) saturate(1.5);
  box-shadow:inset 0 1px 0 #fff,inset 0 -8px 12px -8px rgba(0,0,0,.1),0 5px 10px -7px rgba(0,0,0,.3);
}
.mobile-menu{
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.86));
  -webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);
  border-top:1px solid #e6e6e6;box-shadow:0 22px 40px -22px rgba(0,0,0,.35);
}

/* ================================================================ BUTTONS */
.btn--book,.btn--gold{
  background:var(--lg-spec),linear-gradient(180deg,rgba(176,196,212,.88) 0%,rgba(127,152,173,.92) 52%,rgba(103,128,149,.95) 100%);
  border:1px solid rgba(255,255,255,.7);
  -webkit-backdrop-filter:blur(8px) saturate(1.6);backdrop-filter:blur(8px) saturate(1.6);
  box-shadow:0 0 0 1px rgba(36,54,69,.2),inset 0 1px 0 rgba(255,255,255,.95),inset 1px 0 0 rgba(255,255,255,.3),inset -1px 0 0 rgba(255,255,255,.2),inset 0 -12px 16px -10px rgba(36,54,69,.5),0 12px 22px -12px rgba(36,54,69,.7);
}
.btn--book:hover,.btn--gold:hover{background:var(--lg-spec),linear-gradient(180deg,rgba(190,208,222,.92),rgba(140,164,184,.94) 52%,rgba(115,139,160,.96));border-color:rgba(255,255,255,.9)}
.section--dark .btn--book,.est-summary .btn--book,.est-summary__cta{
  background:var(--lg-spec),linear-gradient(180deg,rgba(255,255,255,.95),rgba(238,238,238,.9) 48%,rgba(220,220,220,.9) 52%,rgba(244,244,244,.94));
  border-color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.2),inset 0 1px 0 #fff,inset 0 -12px 16px -10px rgba(0,0,0,.18),0 14px 26px -12px rgba(0,0,0,.75);
}
.section--dark .btn--book:hover,.est-summary__cta:hover{background:var(--lg-spec),linear-gradient(180deg,#fff,#f6f6f6 48%,#e4e4e4 52%,#f8f8f8)}
.btn--outline-dark{
  background:var(--lg-spec),linear-gradient(180deg,rgba(255,255,255,.8),rgba(255,255,255,.4));
  border:1.5px solid rgba(20,20,20,.78);
  -webkit-backdrop-filter:blur(10px) saturate(1.6);backdrop-filter:blur(10px) saturate(1.6);
  box-shadow:inset 0 1px 0 #fff,inset 0 -10px 14px -10px rgba(0,0,0,.1),0 8px 16px -12px rgba(0,0,0,.35);
}
.btn--ghost{
  background:var(--lg-spec-dark),linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.45);
  -webkit-backdrop-filter:blur(10px) saturate(1.5);backdrop-filter:blur(10px) saturate(1.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -8px 12px -8px rgba(0,0,0,.35);
}
.btn--ghost-ink{background:var(--lg-spec),linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.3))!important;border-width:1px!important}

/* package tabs */
#vip [role="tab"]{
  background:var(--lg-spec),linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.55));
  border:1px solid rgba(0,0,0,.1);
  -webkit-backdrop-filter:blur(10px) saturate(1.5);backdrop-filter:blur(10px) saturate(1.5);
  box-shadow:inset 0 1px 0 #fff,inset 0 -8px 12px -8px rgba(0,0,0,.1),0 5px 10px -7px rgba(0,0,0,.25);
}
#vip [aria-selected="true"],#vip [role="tab"].is-active{
  background:var(--lg-spec-dark),linear-gradient(180deg,#3a3a3a,#1a1a1a);color:#fff;border-color:#161616;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 6px 12px -6px rgba(0,0,0,.55);
}

/* dark cards stay neutral graphite, with a glass rim */
#vip .pkg-card--featured,.est-summary{
  background:var(--lg-spec-dark),linear-gradient(165deg,#3a3a3a 0%,#181818 55%,#222 100%);
  border:1px solid rgba(255,255,255,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -14px 22px -16px rgba(255,255,255,.16),0 26px 46px -22px rgba(0,0,0,.7);
}
#vip .pkg-card--featured{box-shadow:0 0 0 1.5px #9fb3c4,0 0 0 4px rgba(255,255,255,.7),inset 0 1px 0 rgba(255,255,255,.45),0 22px 40px -18px rgba(0,0,0,.65)}

/* ================================================================ GALLERY chips, arrows, counter (over photos / graphite) */
#work .chip,#work [role="tab"],#work .gallery-filter button,#work .filters button{
  background:var(--lg-spec-dark),linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.38);
  -webkit-backdrop-filter:blur(12px) saturate(1.6);backdrop-filter:blur(12px) saturate(1.6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -8px 12px -8px rgba(0,0,0,.4),0 8px 16px -10px rgba(0,0,0,.7);
}
#work [aria-selected="true"],#work .is-active,#work [aria-pressed="true"]{
  background:var(--lg-spec),linear-gradient(180deg,#fff,#dcdcdc)!important;color:#141414!important;border-color:#fff!important;
}
#work .gal-btn{
  background:var(--lg-spec-dark),linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.45);
  -webkit-backdrop-filter:blur(12px) saturate(1.6);backdrop-filter:blur(12px) saturate(1.6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -8px 12px -8px rgba(0,0,0,.4),0 10px 18px -10px rgba(0,0,0,.8);
}
#work .gallery[style*="--gal-total"]:not(.gallery--video) .shot__label::after{
  background:var(--lg-spec-dark),linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -6px 8px -6px rgba(0,0,0,.35),0 4px 10px -4px rgba(0,0,0,.6);
  text-shadow:0 1px 2px rgba(0,0,0,.5);
}
/* the counter blur is only turned on for photos near the viewport (set by glass-a.js) - keeps phones light */
#work .gallery__item[data-lgv] .shot__label::after{-webkit-backdrop-filter:blur(10px) saturate(1.5);backdrop-filter:blur(10px) saturate(1.5)}

/* ================================================================ press + elastic (JS sets --lsx/--lsy and data-lg-press) */
[data-lg]{scale:var(--lsx,1) var(--lsy,1);transition:scale .38s cubic-bezier(.34,1.56,.64,1),background .2s,border-color .2s,box-shadow .25s,filter .2s,color .2s,transform .25s}
[data-lg][data-lg-press]{scale:.955 .955;transition-duration:.12s}

/* ================================================================ CHROMIUM: real refraction */
html.lg-refract .header{-webkit-backdrop-filter:none;backdrop-filter:var(--lgbf,blur(12px) saturate(1.7))}
/* phones: the displacement filter leaves a grey edge band on a near-white page, so phones keep the blur glass (same as WebKit) */
@media (max-width:899px){html.lg-refract .header{-webkit-backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-sat));backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-sat))}}
html.lg-refract :is(.btn--book,.btn--gold,.btn--outline-dark,.btn--ghost,.lang,.menu-btn,#vip [role="tab"],#work .chip,#work .gal-btn){
  -webkit-backdrop-filter:none;backdrop-filter:var(--lgbf,blur(6px) saturate(1.6));
}
html.lg-refract #work .gallery__item[data-lgv] .shot__label::after{-webkit-backdrop-filter:none;backdrop-filter:blur(8px) saturate(1.5)}

/* WebKit / iPhone: no displacement there, so the rim and inner light are a notch stronger */
html.lg-webkit .btn--book,html.lg-webkit .btn--gold{
  box-shadow:0 0 0 1px rgba(36,54,69,.22),inset 0 1.5px 0 #fff,inset 0 0 14px rgba(255,255,255,.4),inset 0 -12px 16px -10px rgba(36,54,69,.5),0 12px 22px -12px rgba(36,54,69,.7);
}
/* WebKit does not blur other backdrop-filter surfaces that sit behind this one, so the bar is denser there */
html.lg-webkit .header{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.88))}
html.lg-webkit .header{box-shadow:inset 0 1.5px 0 #fff,inset 0 0 18px rgba(255,255,255,.6),0 10px 28px -18px rgba(0,0,0,.28)}
html.lg-webkit .btn--outline-dark,html.lg-webkit #vip [role="tab"],html.lg-webkit .lang,html.lg-webkit .menu-btn{
  box-shadow:inset 0 1.5px 0 #fff,inset 0 0 12px rgba(255,255,255,.7),inset 0 -8px 12px -8px rgba(0,0,0,.1),0 6px 12px -8px rgba(0,0,0,.28);
}

/* ================================================================ fallbacks / a11y */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .header{background:#fff}
  .mobile-menu{background:#fff}
  .btn--book,.btn--gold{background:linear-gradient(180deg,#a8bccd,#7f98ad 52%,#6b8498)}
}
@media (prefers-reduced-transparency:reduce){
  .header,.mobile-menu{background:#fff;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .nav,.lang,.menu-btn,.btn--outline-dark,#vip [role="tab"],.btn--ghost-ink{background:#fff!important;background-image:none!important}
  .btn--book,.btn--gold{background:#7f98ad;background-image:none}
  .section--dark .btn--book,.est-summary__cta{background:#f3f3f3;background-image:none}
  #vip .pkg-card--featured,.est-summary{background:#1b1b1b;background-image:none}
  #work .chip,#work .gal-btn,.btn--ghost{background:#2b2b2b;background-image:none}
  #work [aria-pressed="true"],#work [aria-selected="true"]{background:#fff!important}
  [data-lg],.shot__label::after,#how-it-works .step-card::before{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
}
@media (prefers-reduced-motion:reduce){
  [data-lg],[data-lg][data-lg-press]{scale:1;transition-property:background,border-color,box-shadow,color}
}
@media (forced-colors:active){
  .header,.nav,.mobile-menu{background:Canvas;-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* ---- SEO copy: visible, closed <details> accordion (replaces the old 1px hidden block) ---- */
.seo-more-wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,48px) 28px;background:#fff;position:relative}
.seo-more{border-top:1px solid rgba(23,23,23,.14);padding-top:12px;font-size:13px;line-height:1.55;color:#585858}
.seo-more>summary{cursor:pointer;list-style:none;display:flex;align-items:center;min-height:44px;font-weight:500;letter-spacing:.01em;color:#171717}
.seo-more>summary::-webkit-details-marker{display:none}
.seo-more>summary::after{content:"+";margin-left:10px;font-size:18px;line-height:1;transition:transform .2s}
.seo-more[open]>summary::after{content:"\2212"}
.seo-more>summary:focus-visible{outline:2px solid #171717;outline-offset:3px;border-radius:4px}
.seo-more__body{padding:6px 0 4px;max-width:78ch}
.seo-more__body h2,.seo-more__body h3{font-size:14px;font-weight:600;margin:14px 0 4px;color:#171717;font-family:inherit;letter-spacing:0}
.seo-more__body p,.seo-more__body li{margin:0 0 6px;font-size:13px;color:#585858}
.seo-more__body ul{margin:0 0 8px;padding-left:18px}
@media print{.seo-more-wrap{display:none}}

/* controls nested inside the header already sit on its frosted glass; a second backdrop-filter inside a backdrop-filter paints square edge artifacts, so they drop it (rim, sheen and shadow stay) */
.header :is(.lang,.menu-btn,.btn--book,.nav,.nav__link){-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
/* off-screen glass surfaces drop their backdrop-filter (set by glass-a.js via IntersectionObserver) */
html.lg-io [data-lg]:not([data-lgs]):not(.header):not(.mobile-menu){-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
