/* Approved composition: 05 foundation, 02 about and price tiles. */
.theme-selected .v-section{padding-block:26px}
.theme-selected .v-section h2{letter-spacing:-.025em;line-height:1.16;text-wrap:balance}
.theme-selected .v-section h3{letter-spacing:-.015em;line-height:1.25;text-wrap:balance}
.theme-selected .v-section p{line-height:1.65}
.theme-selected .v-wrap :is(article,figure,.v-about-copy,.v-booking-copy,.v-address){min-width:0}
.theme-selected .v-heading{margin-bottom:22px}
.theme-selected .v-panel-copy strong{letter-spacing:-.015em;line-height:1.2;text-wrap:balance}
.theme-selected .v-squeeze-foot{align-items:center;min-height:76px}
.theme-selected .v-squeeze-foot p{max-width:520px}
.theme-selected .v-about-mosaic{grid-template-columns:1.15fr .85fr;gap:14px}
.theme-selected .v-about-copy h2{font-size:clamp(28px,3.1vw,39px)}
.theme-selected .v-about-mosaic>.v-about-copy{padding:28px;background:#e8f1f6;border-radius:14px}
.theme-selected .v-about-mosaic>.v-about-place{padding:24px 28px;background:#fff;border-radius:14px}
.theme-selected .v-about-place h3{font-size:clamp(23px,2.4vw,30px);margin:10px 0}
.theme-selected .v-about-mosaic>figure{border-radius:14px}
.theme-selected .v-about-mosaic>.v-about-facts{grid-template-columns:1fr 1fr;padding:20px 28px;border-radius:14px}
.theme-selected .v-about-facts strong{font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums}
.theme-selected .v-prices-inner{display:block;background:transparent;padding:0;border-radius:0}
.theme-selected .v-price-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;align-items:center;margin-bottom:20px}
.theme-selected .v-price-intro .v-eyebrow{grid-column:1/-1;margin:0;width:auto}
.theme-selected .v-price-intro>p:not(.v-eyebrow){display:none}
.theme-selected .v-price-intro .v-btn{grid-column:2;grid-row:2;margin:0}
.theme-selected .v-price-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.theme-selected .v-price-items article{display:grid;grid-template-rows:auto minmax(56px,auto) auto 1fr;align-content:start;align-items:start;gap:0;padding:24px;background:#e6f0f7;border:0;border-radius:14px}
.theme-selected .v-price-items article:nth-child(2){background:#dceaf4}
.theme-selected .v-price-items article>small{display:block;margin:0 0 18px;padding:0}
.theme-selected .v-price-items h3{font-size:24px;min-height:0}
.theme-selected .v-price-items strong{font:400 38px/1.2 Arial,sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:16px 0 12px;grid-column:auto;grid-row:auto}
.theme-selected .v-price-items p{grid-column:auto;font-size:12px;max-width:none}
.theme-selected .v-price-note{border:0;padding:0;margin-top:14px;font-size:11px!important}
.theme-selected .v-doc-items article{grid-template-rows:auto 1fr auto;gap:14px 20px}
.theme-selected .v-doc-items .v-paper{grid-row:1/3}
.theme-selected .v-doc-items article>div:not(.v-paper){grid-column:2;grid-row:1/3}
.theme-selected .v-doc-items .v-link{grid-row:3;align-self:end}
.theme-selected .v-booking-action>span{font-variant-numeric:tabular-nums;letter-spacing:0}
@media(min-width:801px) and (max-width:1100px){
.theme-selected .v-doc-items article{grid-template-columns:1fr}
.theme-selected .v-doc-items .v-paper{grid-row:1}
.theme-selected .v-doc-items article>div:not(.v-paper){grid-column:1;grid-row:2}
}
@media(max-width:800px){
.theme-selected .v-section{padding-block:22px}
.theme-selected .v-section+.v-section:not(.v-prices){padding-top:22px}
.theme-selected .v-section h2{font-size:clamp(29px,6.8vw,36px)}
.theme-selected .v-wrap{width:calc(100% - 36px)}
.theme-selected .v-about-mosaic{grid-template-columns:minmax(0,1fr);gap:12px}
.theme-selected .v-about-mosaic>.v-about-copy{grid-column:1;grid-row:1;padding:22px}
.theme-selected .v-about-mosaic>figure{grid-column:1;grid-row:2;height:250px;min-height:0}
.theme-selected .v-about-mosaic>.v-about-place{grid-column:1;grid-row:3;padding:22px}
.theme-selected .v-about-mosaic>.v-about-facts{grid-column:1;grid-row:4;padding:20px 22px;gap:18px}
.theme-selected .v-about-facts strong{font-size:14px}
.theme-selected .v-price-intro{display:block;margin-bottom:18px}
.theme-selected .v-price-intro h2{margin:12px 0 18px}
.theme-selected .v-price-items{grid-template-columns:minmax(0,1fr);gap:12px}
.theme-selected .v-price-items article{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:8px 18px;padding:22px}
.theme-selected .v-price-items article>small{display:none}
.theme-selected .v-price-items h3{font-size:23px;grid-column:1;grid-row:1}
.theme-selected .v-price-items strong{grid-column:2;grid-row:1/3;font-size:30px;margin:0;align-self:center}
.theme-selected .v-price-items p{grid-column:1;grid-row:2;font-size:11px}
.theme-selected .v-squeeze-foot{min-height:0}
.theme-selected .v-squeeze-foot .v-link{text-align:left}
.theme-selected .v-panel-copy strong{font-size:25px}
.theme-selected .v-doc-items article{grid-template-columns:45px minmax(0,1fr)}
.theme-selected .v-doc-items h3{font-size:23px}
.theme-selected .v-address h3{font-size:clamp(24px,6vw,29px)}
.theme-selected .v-booking-action>span{font-size:clamp(21px,5.3vw,25px)}
}
@media(max-width:460px){
.theme-selected .v-about-mosaic>.v-about-facts{grid-template-columns:1fr}
.theme-selected .v-about-facts>div+div{padding-top:14px;border-top:1px solid #d3dfe6}
.theme-selected .v-price-items article{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:10px}
.theme-selected .v-price-items h3{grid-column:1;grid-row:1}
.theme-selected .v-price-items strong{grid-column:1;grid-row:2;font-size:34px;margin:0}
.theme-selected .v-price-items p{grid-column:1;grid-row:3}
}
/* New image compositions and dedicated mobile refinement. */
.theme-selected .v-about-mosaic>figure img{object-position:53% 54%}
.theme-selected .v-booking-inner>figure img{object-position:51% 38%}
@media(max-width:800px){
.theme-selected .v-toolbar{min-height:40px;padding:6px 18px;gap:6px 12px}
.theme-selected .v-toolbar>span{display:none}
.theme-selected .v-toolbar>a{min-height:32px;display:flex;align-items:center;font-size:11px;border:0}
.theme-selected .header{height:76px;padding-inline:18px}
.theme-selected .header .brand{font-size:12px;letter-spacing:0;line-height:1.4}
.theme-selected .menu-toggle{min-width:44px;min-height:44px}
.theme-selected .v-section p{font-size:14px;line-height:1.6}
.theme-selected .v-section .v-eyebrow{font-size:10px;letter-spacing:.1em}
.theme-selected .v-about-mosaic>.v-about-copy{padding:22px}
.theme-selected .v-about-mosaic>figure{height:auto;aspect-ratio:4/3}
.theme-selected .v-about-mosaic>figure img{height:100%;object-position:center}
.theme-selected .v-about-text{font-size:14px!important}
.theme-selected .v-about-place p,.theme-selected .v-about-facts span{font-size:12px}
.theme-selected .v-booking-inner{padding:0;gap:0;background:#e7eff7}
.theme-selected .v-booking-inner>figure{order:0;height:auto;aspect-ratio:4/3;border-radius:0}
.theme-selected .v-booking-inner>figure img{object-position:center}
.theme-selected .v-booking-copy{order:1;padding:22px 22px 0}
.theme-selected .v-booking-action{order:2;padding:20px 22px 24px;gap:14px}
.theme-selected .v-booking-action>small{font-size:11px;line-height:1.5;text-align:center}
.theme-selected .v-btn,.theme-selected .v-link{min-height:44px;display:inline-flex;align-items:center;font-size:13px}
.theme-selected .v-squeeze-panel .v-panel-copy{left:18px;right:18px;grid-template-columns:28px minmax(0,1fr)}
.theme-selected .v-squeeze-panel .v-panel-copy>span{font-size:13px;line-height:1.5}
.theme-selected .v-squeeze-foot p{font-size:13px}
.theme-selected .v-price-items p,.theme-selected .v-price-note{font-size:12px!important}
.theme-selected .v-faq-list summary{font-size:15px;min-height:64px}
.theme-selected .v-faq-list summary span{min-width:0}
.theme-selected .v-faq-list details>p{font-size:14px;padding-right:0}
.theme-selected .v-doc-items p{font-size:12px}
.theme-selected .v-contact-details p{font-size:13px}
.theme-selected .v-contact-details small{font-size:11px}
.theme-selected .v-contact-details>div{grid-template-columns:82px minmax(0,1fr);gap:12px}
.theme-selected .v-address{padding:22px}
.theme-selected .v-address h3{font-size:clamp(21px,5.7vw,29px)}
.theme-selected .v-footer p{font-size:11px;line-height:1.6}
.theme-selected .v-footer>.v-wrap>div:last-child{gap:10px 20px}
}
@media(max-width:360px){
.theme-selected .v-wrap{width:calc(100% - 28px)}
.theme-selected .v-about-mosaic>.v-about-copy,.theme-selected .v-about-mosaic>.v-about-place,.theme-selected .v-address{padding:18px}
.theme-selected .v-contact-details>div{grid-template-columns:1fr;gap:5px}
.theme-selected .v-panel-copy strong{font-size:23px}
}
/* Photo-free appointment invitation, approved 17 October. */
.theme-selected .cta-panel{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);gap:32px 48px;align-items:center;padding:36px 38px;background:linear-gradient(115deg,#e6f0f7,#dcebf6);border:1px solid #d1e2ee;border-radius:16px}
.theme-selected .cta-copy{min-width:0}
.theme-selected .cta-copy h2{font-size:clamp(30px,3.2vw,43px);line-height:1.16;letter-spacing:-.025em;text-wrap:initial}
.theme-selected .cta-copy .cta-description{font-size:14px;line-height:1.6;margin-top:18px;max-width:420px}
.theme-selected .cta-action{display:flex;flex-direction:column;align-items:stretch;gap:15px;border-left:1px solid #bdd3e3;padding-left:38px}
.theme-selected .cta-label{font-size:12px;color:#58778b}
.theme-selected .cta-phone{font-size:clamp(22px,2.25vw,30px);line-height:1.25;letter-spacing:-.015em;white-space:nowrap;font-variant-numeric:tabular-nums;color:#253e4b}
.theme-selected .cta-phone:hover{color:#39779d}
.theme-selected .cta-button{min-height:50px;font-size:14px;border-radius:28px;width:100%;margin-top:3px}
.theme-selected .cta-hours{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:11px;line-height:1.5;color:#58778b}
.theme-selected .cta-hours b{font-weight:400;font-variant-numeric:tabular-nums}
@media(max-width:800px){
.theme-selected .cta-panel{grid-template-columns:minmax(0,1fr);gap:24px;padding:26px 24px;border-radius:14px}
.theme-selected .cta-copy h2{font-size:clamp(28px,6.7vw,36px);line-height:1.18}
.theme-selected .cta-copy .cta-description{font-size:14px;margin-top:16px;max-width:460px}
.theme-selected .cta-action{border-left:0;border-top:1px solid #bdd3e3;padding:22px 0 0;gap:14px}
.theme-selected .cta-phone{font-size:clamp(23px,5.8vw,29px)}
.theme-selected .cta-label{font-size:12px}
.theme-selected .cta-hours{justify-content:space-between;font-size:12px;gap:6px 12px}
.theme-selected .cta-button{min-height:52px;font-size:14px}
}
@media(max-width:360px){.theme-selected .cta-panel{padding:23px 18px}.theme-selected .cta-copy h2{font-size:27px}.theme-selected .cta-hours{font-size:11px}}
/* Contrast for appointment and a tighter section rhythm. */
.theme-selected .v-section,
.theme-selected .v-section+.v-section:not(.v-prices){padding-block:16px}
/* Match the services' top gap to the two adjoining paddings below it. */
.theme-selected .v-section.v-services{padding-top:32px}
@media(max-width:800px){
.theme-selected .v-section,
.theme-selected .v-section+.v-section:not(.v-prices){padding-block:13px}
.theme-selected .v-section.v-services{padding-top:26px}
}
/* Hero-inspired diffuse ivory/sky backdrop and blue glass appointment button. */
.theme-selected .cta-panel{
 background:radial-gradient(ellipse at 77% 23%,#c7e0fb 0%,#dfebf780 32%,transparent 60%),radial-gradient(ellipse at 13% 88%,#fff4e3 0%,#fbf7f080 34%,transparent 62%),linear-gradient(115deg,#faf7f1 0%,#f0f4f8 58%,#deecfc 100%);
 border:1px solid #e1e8ed;color:#253e4b;box-shadow:inset 0 1px 0 #ffffffb3;
}
.theme-selected .cta-copy h2{color:#253e4b}
.theme-selected .cta-copy h2 em{color:#39779d}
.theme-selected .cta-copy .v-eyebrow{color:#39779d}
.theme-selected .cta-copy .cta-description,.theme-selected .cta-label,.theme-selected .cta-hours{color:#536c7c}
.theme-selected .cta-phone{color:#253e4b}
.theme-selected .cta-phone:hover{color:#39779d}
.theme-selected .cta-action{border-color:#bfd1df}
.theme-selected .cta-button{
 position:relative;isolation:isolate;overflow:hidden;color:#fff;
 background:linear-gradient(180deg,#ffffff24 0%,#ffffff05 45%,#143d5a18 100%),#39779d;
 border:1px solid #ffffff80;border-radius:28px;
 box-shadow:inset 0 1px 0 #ffffff8c,inset 0 -1px 0 #17456340,0 5px 16px #39779d24;
 backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
 transition:box-shadow .25s ease,background-color .25s ease;
}
.theme-selected .cta-button>span{position:relative;z-index:2}
.theme-selected .cta-button::before{
 content:'';position:absolute;pointer-events:none;inset:1px 1px 48%;border-radius:26px 26px 50% 50%;
 background:linear-gradient(180deg,#ffffff1c,transparent);z-index:0;
}
.theme-selected .cta-button::after{
 content:'';position:absolute;pointer-events:none;top:-55%;left:-55%;width:34%;height:210%;z-index:1;
 background:linear-gradient(90deg,transparent,#ffffff12 28%,#ffffff45 50%,#ffffff12 72%,transparent);
 transform:translateX(0) skewX(-20deg);animation:cta-glass-sweep 6.5s ease-in-out infinite;
}
.theme-selected .cta-button:hover{background-color:#306e95;color:white;box-shadow:inset 0 1px 0 #ffffffa6,inset 0 -1px 0 #17456340,0 7px 20px #39779d38}
.theme-selected .cta-button:active{box-shadow:inset 0 2px 5px #173c5a33,0 2px 8px #39779d20}
.theme-selected .cta-panel a:focus-visible{outline:3px solid #285d7e;outline-offset:4px}
@keyframes cta-glass-sweep{0%,60%{transform:translateX(0) skewX(-20deg);opacity:0}65%{opacity:1}89%{opacity:1}95%,100%{transform:translateX(520%) skewX(-20deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.theme-selected .cta-button::after{animation:none;opacity:0}.theme-selected .cta-button{transition:none}}
/* Blue glass hero CTA with a fine, tapered SVG glint. */
.theme-selected .hero-actions .hero-glass-button{
 position:relative;isolation:isolate;overflow:visible;
 background:linear-gradient(180deg,#ffffff24 0%,#ffffff05 45%,#143d5a18 100%),#39779d;
 color:#fff;border:1px solid #ffffff80;
 box-shadow:inset 0 1px 0 #ffffff8c,inset 0 -1px 0 #17456340,0 5px 16px #39779d24;
 backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
 transition:background-color .25s ease,box-shadow .25s ease;
}
.theme-selected .hero-glass-button>span{position:relative;z-index:1}
.theme-selected .hero-glass-button::before{
 content:'';position:absolute;pointer-events:none;inset:1px 2px 48%;
 border-radius:40px 40px 50% 50%;background:linear-gradient(180deg,#ffffff24,transparent);
}
.theme-selected .hero-actions .hero-glass-button:hover{
 background-color:#306e95;transform:none;
 box-shadow:inset 0 1px 0 #ffffffa6,inset 0 -1px 0 #17456340,0 7px 20px #39779d38;
}
.theme-selected .hero-actions .hero-glass-button:active{box-shadow:inset 0 2px 5px #173c5a33,0 2px 8px #39779d20}
.theme-selected .hero-fine-spark{
 position:absolute;top:-11px;right:15px;width:28px;height:28px;z-index:3;
 pointer-events:none;opacity:0;transform:scale(.25);transform-origin:center;
 filter:drop-shadow(0 0 .6px #ffffff66);
 animation:hero-fine-glint 5.8s ease-in-out 1.2s infinite;
}
@keyframes hero-fine-glint{
 0%,3%{opacity:0;transform:scale(.25)}
 10%{opacity:1;transform:scale(1)}
 17%{opacity:.6;transform:scale(.7)}
 25%,100%{opacity:0;transform:scale(.15)}
}
@media(prefers-reduced-motion:reduce){.theme-selected .hero-fine-spark{animation:none;opacity:0}.theme-selected .hero-actions .hero-glass-button{transition:none}}
/* Compact, pinned frosted-glass header. */
html:has(.theme-selected){scroll-padding-top:82px}
.theme-selected .header{
 position:sticky;top:0;z-index:40;height:68px;padding-inline:5%;gap:24px;
 background:transparent;
 backdrop-filter:none;-webkit-backdrop-filter:none;
 border:0;box-shadow:none;
}
.theme-selected .header .brand{font-size:13px;line-height:1.3;letter-spacing:0;gap:10px}
.theme-selected .header .brand svg{width:25px;height:30px}
.theme-selected .header-book{min-height:40px;padding:10px 20px;background:#ffffff2e;border-color:#8babbc}
.theme-selected .header-book:hover{background:#ffffff80;transform:none}
.theme-selected .desktop-nav{gap:23px}
.theme-selected .v-section,.theme-selected #home{scroll-margin-top:0}
.theme-selected .mobile-nav{
 z-index:39;background:rgba(248,250,252,.88);
 backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%);
 max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;
}
@media(max-width:1000px){.theme-selected .header{gap:16px}.theme-selected .desktop-nav{gap:15px}}
@media(max-width:800px){
 html:has(.theme-selected){scroll-padding-top:76px}
 .theme-selected .header{height:62px;padding-inline:18px;gap:12px}
 .theme-selected .header .brand{font-size:12px;line-height:1.3}
 .theme-selected .header .brand svg{width:23px;height:28px}
 .theme-selected .menu-toggle{margin-left:auto;min-width:44px;min-height:44px}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .theme-selected .header{background:rgba(248,250,252,.94)}
 .theme-selected .mobile-nav{background:rgba(248,250,252,.97)}
}
/* The hero now continues behind the glass, with no opaque header strip. */
.theme-selected .header{margin-bottom:-68px}
.theme-selected .header::before{
 content:'';position:absolute;inset:0;pointer-events:none;
 background:radial-gradient(ellipse at 18% 0%,#ffffff40 0%,transparent 57%),radial-gradient(ellipse at 83% 15%,#ffffff26 0%,transparent 54%),linear-gradient(180deg,#ffffff14,transparent 90%);
 mask-image:linear-gradient(180deg,#000 0%,#000 40%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 40%,transparent 100%);
}
.theme-selected .header>*{position:relative}
@media(min-width:801px){
 .theme-selected .hero{min-height:560px;height:100vh;height:100dvh;max-height:none}
 .theme-selected .hero-content{padding-top:clamp(100px,17vh,158px);padding-bottom:clamp(40px,12vh,120px)}
}
@media(max-width:800px){
 .theme-selected .header{margin-bottom:-62px}
 .theme-selected .hero{
  /* Stable viewport + the area behind translucent mobile browser controls.
     Keep actions above expanded controls, without resizing on every scroll. */
  --hero-viewport:100vh;
  --hero-controls-space:38px;
  --hero-safe-bottom:env(safe-area-inset-bottom,0px);
  --hero-browser-overhang:0px;
  padding-top:88px;
  padding-bottom:calc(var(--hero-controls-space) + var(--hero-safe-bottom) + var(--hero-browser-overhang));
  height:auto;min-height:calc(var(--hero-viewport) + var(--hero-safe-bottom) + var(--hero-browser-overhang));max-height:none;
  grid-template-rows:auto auto minmax(180px,1fr) auto;align-content:stretch;
  background:#dce6f2 url('../assets/hero-mobile-studio-v1.webp') center center/cover no-repeat;
 }
 @supports(height:100lvh){
  .theme-selected .hero{
   --hero-viewport:100lvh;
   --hero-controls-space:max(38px,calc(100lvh - 100svh + 16px));
  }
 }
 .theme-selected .hero-media{
  /* Grow with available height; a content minimum permits scrolling on short screens. */
  height:100%;min-height:180px;max-height:clamp(270px,80vw,360px);align-self:center;
  mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 80%,transparent);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 80%,transparent);
 }
}

/* iOS floating browser controls can reveal content beyond the reported viewport,
   including in embedded Safari views where safe-area-inset-bottom can be zero.
   Extend only the bottom background: equal additions to the minimum height and
   padding keep the title, illustration and actions at their existing positions.
   This is a visual allowance, not a measurement of Safari's toolbar height. */
@supports (-webkit-touch-callout:none){
 @media(max-width:800px) and (display-mode:browser){
  .theme-selected .hero{
   --hero-browser-overhang:80px;
   --hero-browser-overhang:clamp(80px,12svh,112px);
  }
 }
}

/* Soft glass depth without a full-width divider or altered hero colors. */
.theme-selected .header::after{
 content:'';position:absolute;inset:5px 4% 4px;pointer-events:none;border-radius:32px;
 box-shadow:inset 0 9px 12px -11px #ffffffb3,inset 9px 0 15px -14px #ffffff80,inset -9px 0 15px -14px #ffffff80;
 background:radial-gradient(ellipse at 50% 0%,#ffffff0d,transparent 65%);
}
.theme-selected .header.is-over-content{
 background:rgba(248,250,252,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
 box-shadow:0 7px 22px -15px #253e4b33;
}
/* A raised clear-glass slab: its curved optical edges define the header. */
.theme-selected .header,.theme-selected .header.is-over-content{
 isolation:isolate;background:transparent;border:0;box-shadow:none;
 backdrop-filter:none;-webkit-backdrop-filter:none;
}
.theme-selected .header>*{z-index:2}
.theme-selected .header::before{
 inset:5px 12px;z-index:0;border-radius:22px;
 mask-image:none;-webkit-mask-image:none;
 background:linear-gradient(165deg,#ffffff40 0%,#ffffff08 35%,#e0eff70d 68%,#ffffff24 100%);
 box-shadow:inset 0 2px 2px #ffffffe6,inset 2px 0 3px #ffffffb3,inset -2px 0 3px #ffffff8c,inset 0 -2px 3px #7098b340,inset 0 -6px 9px -7px #ffffffed,0 3px 3px -2px #426b862e,0 9px 22px -10px #426b8652;
}
.theme-selected .header::after{
 inset:8px 17px auto;height:45%;z-index:1;border-radius:18px 18px 50% 50%;
 box-shadow:none;
 background:linear-gradient(180deg,#ffffff52 0%,#ffffff0d 75%,transparent 100%);
 mask-image:linear-gradient(100deg,transparent,#000 15%,#000 68%,transparent);-webkit-mask-image:linear-gradient(100deg,transparent,#000 15%,#000 68%,transparent);
}
.theme-selected .header.is-over-content::before{
 background:linear-gradient(165deg,#ffffffb3,#f2f7fa8c 55%,#ffffffa6);
 backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
@media(max-width:800px){
 .theme-selected .header{padding-inline:22px}
 .theme-selected .header::before{inset:4px 7px;border-radius:19px}
 .theme-selected .header::after{inset:7px 12px auto;border-radius:16px 16px 50% 50%}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .theme-selected .header.is-over-content::before{background:rgba(248,250,252,.95)}
}
/* Service price navigation uses real links; keep familiar alignment and touch size. */
.theme-selected .v-squeeze-foot #service-price-link{flex-shrink:0;min-height:44px;display:inline-flex;align-items:center}
@media(max-width:800px){.theme-selected .v-squeeze-foot #service-price-link{margin-top:10px}}
/* No decorative numbering: content and spacing carry the hierarchy. */
.theme-selected .v-panel-copy{gap:10px}
.theme-selected .v-price-intro{grid-template-columns:minmax(0,1fr) auto;gap:18px}
.theme-selected .v-price-intro .v-btn{grid-row:1;min-height:46px;padding:13px 23px;font-size:13px;border-radius:24px;color:#fff;border:1px solid #ffffff70;background:linear-gradient(180deg,#ffffff1f,#ffffff00 55%,#173e5614),#39779d;box-shadow:inset 0 1px 0 #ffffff73,0 4px 12px #39779d1a;transition:background-color .2s ease,box-shadow .2s ease}
.theme-selected .v-price-intro .v-btn:hover{background-color:#306b90;color:#fff;border-color:#ffffff80;box-shadow:inset 0 1px 0 #ffffff8c,0 5px 16px #39779d2b}
.theme-selected .v-price-items article{grid-template-rows:minmax(56px,auto) auto 1fr;background:#e6f0f7;transition:background-color .22s ease,box-shadow .22s ease}
.theme-selected .v-price-items article:nth-child(2){background:#e6f0f7}
.theme-selected .v-price-items strong .price-from{font:400 20px/1.2 Arial}
@media(hover:hover){.theme-selected .v-price-items article:hover{background:#cfe4f2;box-shadow:inset 0 0 0 1px #b4d2e5}}
@media(max-width:800px){
.theme-selected .v-squeeze-panel .v-panel-copy{grid-template-columns:minmax(0,1fr)}
.theme-selected .v-squeeze-panel .v-panel-copy>span{grid-column:1}
.theme-selected .v-price-items article{grid-template-rows:auto auto}
}
@media(max-width:460px){.theme-selected .v-price-items article{grid-template-rows:auto auto auto}}
@media(prefers-reduced-motion:reduce){.theme-selected .v-price-items article{transition:none}}

/* Center the questions at their original right-column width. */
.theme-selected .v-faq-inner{display:block}
.theme-selected .v-faq-list{width:calc(60% - 18px);margin-inline:auto}
@media(max-width:800px){.theme-selected .v-faq-list{width:100%}}

/* About: a single information card beside the existing photograph. */
.theme-selected .v-about-integrated{grid-template-rows:auto;align-items:stretch}
.theme-selected .v-about-info{min-width:0;display:flex;flex-direction:column;gap:24px;padding:30px;border-radius:16px;background:#e8f1f6}
.theme-selected .v-about-info .v-about-copy{padding:0;background:none}
.theme-selected .v-about-info .v-about-text{margin-top:18px!important;max-width:510px;font-size:14px;line-height:1.65}
.theme-selected .v-about-visit{margin-top:auto;padding:20px 22px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);border-radius:12px;box-shadow:0 3px 12px rgba(52,90,110,.025)}
.theme-selected .v-visit-label{display:block;color:#39779d;font-size:11px;line-height:1.4;margin-bottom:9px}
.theme-selected .v-about-location h3{font-size:clamp(22px,2.2vw,28px);line-height:1.2;letter-spacing:-.035em;margin:0 0 9px}
.theme-selected .v-about-location p{font-size:12px;line-height:1.6}
.theme-selected .v-about-schedule{margin-top:17px;padding-top:16px;border-top:1px solid #d8e4eb}
.theme-selected .v-schedule-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;line-height:1.6}
.theme-selected .v-schedule-line strong{font-size:17px;font-weight:400;white-space:nowrap;font-variant-numeric:tabular-nums;color:#284b60}
.theme-selected .v-schedule-off{margin-top:5px;font-size:12px;color:var(--v-muted)}
.theme-selected .v-about-integrated>figure{grid-column:2;grid-row:1;min-height:0;height:100%;position:relative;border-radius:16px}
.theme-selected .v-about-integrated>figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:800px){
 .theme-selected .v-about-info{padding:22px;gap:20px}
 .theme-selected .v-about-visit{padding:18px}
 .theme-selected .v-about-integrated>figure{grid-column:1;grid-row:2;height:auto;aspect-ratio:4/3}
 .theme-selected .v-about-location h3{font-size:25px}
}
@media(max-width:380px){
 .theme-selected .v-about-info{padding:18px}
 .theme-selected .v-about-visit{padding:15px}
 .theme-selected .v-schedule-line{font-size:12px;gap:8px}
 .theme-selected .v-schedule-line strong{font-size:16px}
}

/* Documents as layered folders, with a different paper illustration per file. */
.theme-selected .docs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:18px}
.theme-selected .doc-card{--folder:#e0edf5;--folder-edge:#c8dce9;min-width:0;position:relative;isolation:isolate;display:flex;flex-direction:column;background:var(--folder);border:1px solid var(--folder-edge);border-radius:0 18px 18px 18px;box-shadow:0 8px 22px #284b6009;transition:box-shadow .25s,border-color .25s}
.theme-selected .doc-card:nth-child(2){--folder:#efeee8;--folder-edge:#dedfd9}
.theme-selected .doc-card:nth-child(3){--folder:#e8eff4;--folder-edge:#d1dfe9}
.theme-selected .doc-card:before{content:"";position:absolute;left:-1px;top:-19px;width:43%;height:24px;background:var(--folder);border:1px solid var(--folder-edge);border-bottom:0;border-radius:12px 18px 0 0;z-index:-1}
.theme-selected .doc-card-top{height:100px;position:relative;overflow:hidden;border-radius:0 17px 0 0}
.theme-selected .doc-kind{position:absolute;left:23px;top:14px;font:11px/1.4 Arial,sans-serif;letter-spacing:.04em;color:#54798d}
.theme-selected .doc-sheet-stack{position:absolute;right:22px;top:17px;width:145px;height:110px;transition:transform .3s ease}
.theme-selected .doc-sheet-back,.theme-selected .doc-sheet{position:absolute;inset:0;border-radius:7px;border:1px solid #ccdbe4;background:#fbfcfd;box-shadow:0 3px 8px #284b6010}
.theme-selected .doc-sheet-back{transform:translate(-12px,6px) rotate(-8deg);background:#f2f7fa}
.theme-selected .doc-sheet{transform:rotate(5deg);color:#7098b0;box-shadow:0 4px 10px #284b6012}
.theme-selected .doc-sheet svg{display:block;width:100%;height:100px}
.theme-selected .doc-card-copy{position:relative;flex:1;padding:23px 23px 15px;border-top:1px solid #ffffffd9;border-radius:15px 15px 0 0;background:linear-gradient(120deg,#ffffffdb,#ffffff9e);box-shadow:0 -5px 14px #345b7110}
.theme-selected .doc-card h3{font-size:clamp(22px,2vw,26px);font-weight:400;line-height:1.2;letter-spacing:-.035em;margin:0 0 11px;max-width:290px}
.theme-selected .doc-card p{font-size:12px;line-height:1.6;margin:0;color:var(--v-muted)}
.theme-selected .doc-card-bottom{padding:4px 23px 22px;background:linear-gradient(120deg,#ffffffdb,#ffffff9e);border-radius:0 0 17px 17px}
.theme-selected .doc-action{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 19px;border:1px solid #bad1e0;border-radius:10px;background:linear-gradient(180deg,#f9fcffb3,#dcebf4b3);box-shadow:inset 0 1px 0 #fff;color:#356b8c;font:12px/1.4 Arial,sans-serif;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s}
.theme-selected .doc-action:hover{background:#d4e7f3;border-color:#9fbfd4}
.theme-selected .doc-action:focus-visible{outline:2px solid #39779d;outline-offset:4px}
.theme-selected .doc-card:focus-within{border-color:#adcddd;box-shadow:0 10px 25px #39779d16}
.theme-selected .doc-card:focus-within .doc-sheet-stack{transform:translateY(-7px) rotate(-3deg)}
@media(hover:hover){.theme-selected .doc-card:hover{box-shadow:0 10px 25px #39779d16}.theme-selected .doc-card:hover .doc-sheet-stack{transform:translateY(-7px) rotate(-3deg)}}
@media(max-width:800px){.theme-selected .docs-grid{grid-template-columns:1fr;gap:34px}.theme-selected .doc-card-top{height:78px}.theme-selected .doc-sheet-stack{top:10px;width:125px;right:23px}.theme-selected .doc-card-copy{padding:20px 21px 14px}.theme-selected .doc-card h3{font-size:25px;max-width:none}.theme-selected .doc-card-bottom{padding:3px 21px 20px}.theme-selected .doc-action{min-height:42px}.theme-selected .doc-kind{left:21px}}
@media(prefers-reduced-motion:reduce){.theme-selected .doc-card,.theme-selected .doc-action,.theme-selected .doc-sheet-stack{transition:none}.theme-selected .doc-card:hover .doc-sheet-stack,.theme-selected .doc-card:focus-within .doc-sheet-stack{transform:none}}

/* Approved heading family: option 09, Lora. */
@font-face{font-family:"Lora";src:url("../assets/fonts/lora.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url("../assets/fonts/lora-italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}
.theme-selected #hero-title,.theme-selected .v-section h2,.theme-selected .v-section h3{font-family:"Lora",Georgia,serif;font-weight:400;letter-spacing:-.035em}
.theme-selected #hero-title em{font-family:"Lora",Georgia,serif;font-weight:400;font-style:italic;color:#39779d}
.theme-selected .v-section h2 em,.theme-selected .v-section h3 em{font-family:inherit;font-style:normal}

/* Functional release: touch targets, readable responsive type, no horizontal page scroll. */
[hidden]{display:none!important}
.theme-selected .v-contact-details a{color:inherit;text-decoration:none}
.theme-selected a.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.theme-selected .v-section:target{scroll-margin-top:86px}
.theme-selected .v-dialog,.theme-selected dialog{max-width:calc(100vw - 28px)}
.theme-selected .v-faq-list summary{cursor:pointer}
.theme-selected .hero-sub{max-width:450px}
.theme-selected .v-contact-details p,.theme-selected .v-about-location p{overflow-wrap:break-word}
@media(max-width:800px){
 .theme-selected .hero-sub{max-width:360px;justify-self:center}
 .theme-selected #hero-title{font-size:clamp(32px,8.9vw,50px);letter-spacing:-.045em;line-height:1.12;padding-inline:12px}
 .theme-selected .hero-actions a.button{min-height:48px}
 .theme-selected .mobile-nav{overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .theme-selected .mobile-nav a{min-height:44px;display:flex;align-items:center}
 .theme-selected .v-about-info h2{font-size:clamp(27px,7vw,36px);line-height:1.18}
 .theme-selected .v-price-intro h2,.theme-selected .cta-copy h2{font-size:clamp(29px,7.8vw,38px);line-height:1.16}
 .theme-selected .v-price-items h3{font-size:25px}
 .theme-selected .v-faq-list{width:100%;padding-inline:17px}
 .theme-selected .v-faq-list summary{font-size:15px;line-height:1.45;gap:14px}
 .theme-selected .v-faq-list details>p{font-size:14px;line-height:1.65}
 .theme-selected .cta-phone{font-size:clamp(24px,7vw,32px);white-space:nowrap}
 .theme-selected .v-contact-details{min-width:0}
 .theme-selected .v-address h3{font-size:29px;line-height:1.2}
 .theme-selected .v-btn,.theme-selected .doc-action,.theme-selected .text-link{min-height:44px}
 .theme-selected .v-footer .v-wrap{gap:20px}
 .theme-selected .v-footer p{line-height:1.65}
}
@media(max-width:380px){.theme-selected .v-about-location h3{font-size:24px}.theme-selected .v-schedule-line{flex-wrap:wrap;gap:1px 12px}.theme-selected .v-schedule-off{margin-top:9px}.theme-selected .doc-card h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* Compact document preview with a full directory link. */
.theme-selected .docs-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}
.theme-selected .docs-heading h2{margin:0}
.theme-selected .docs-all-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:44px;padding:10px 21px;border:1px solid #bfd5e4;border-radius:24px;background:linear-gradient(145deg,#ffffffc9,#dbeaf4a6);box-shadow:inset 0 1px 0 #fff,0 3px 10px #284b6008;color:#326b90;font-size:13px;font-weight:500;text-decoration:none;transition:background .2s,box-shadow .2s}
.theme-selected .docs-all-button:hover{background:#dcecf6;box-shadow:inset 0 1px 0 #fff,0 4px 12px #284b6012}
.theme-selected .docs-all-button:focus-visible{outline:2px solid #39779d;outline-offset:4px}
@media(max-width:480px){.theme-selected .docs-heading{gap:10px}.theme-selected .docs-heading h2{font-size:30px}.theme-selected .docs-all-button{padding:10px 14px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.theme-selected .docs-all-button{transition:none}}

/* Compact FAQ: independent stacks with one expanded answer at a time. */
.theme-selected .v-faq-inner{display:block}
.theme-selected .v-faq-inner>h2{margin:0 0 24px}
.theme-selected .v-faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.theme-selected .v-faq-column{display:flex;flex-direction:column;gap:10px;min-width:0}
.theme-selected .v-faq-list details{border:1px solid #dbe5ed;border-radius:16px;background:#ffffffde;box-shadow:0 2px 8px #284b6004;overflow:hidden;transition:background-color .2s,border-color .2s}
.theme-selected .v-faq-list details:first-child{border-top:1px solid #dbe5ed}
.theme-selected .v-faq-list summary{display:flex;align-items:center;gap:18px;min-height:76px;padding:17px 20px;font-size:15px;line-height:1.45;list-style:none;color:#25465b;cursor:pointer}
.theme-selected .v-faq-list summary::-webkit-details-marker{display:none}
.theme-selected .v-faq-list summary span{min-width:0}
.theme-selected .v-faq-list summary b{position:relative;display:block;flex:0 0 28px;width:28px;height:28px;margin-left:auto;border-radius:50%;background:#eaf2f7;font-size:0;transform:none;transition:background-color .2s}
.theme-selected .v-faq-list summary b::before,.theme-selected .v-faq-list summary b::after{content:"";position:absolute;top:13px;left:8px;width:12px;height:1.5px;border-radius:1px;background:#39779d}
.theme-selected .v-faq-list summary b::after{transform:rotate(90deg);transition:transform .2s,opacity .2s}
.theme-selected .v-faq-list details[open]{background:#edf5fa;border-color:#bdd5e5;box-shadow:inset 0 1px 0 #fff}
.theme-selected .v-faq-list details[open] summary{color:#326b90}
.theme-selected .v-faq-list details[open] summary b{background:#dceaf4;transform:none}
.theme-selected .v-faq-list details[open] summary b::after{transform:rotate(0);opacity:0}
.theme-selected .v-faq-list details>p{max-width:none;margin:0 20px;padding:0 0 20px;font-size:14px;line-height:1.7;color:#4d6677}
.theme-selected .v-faq-list summary:focus-visible{outline:2px solid #39779d;outline-offset:-4px;border-radius:14px}
@media(hover:hover){.theme-selected .v-faq-list details:hover{background:#f1f7fb;border-color:#bdd5e5}}
@media(max-width:800px){
 .theme-selected .v-faq-inner>h2{font-size:clamp(28px,7vw,36px);margin-bottom:18px}
 .theme-selected .v-faq-list{grid-template-columns:1fr;gap:8px;padding:0}
 .theme-selected .v-faq-column{gap:8px}
 .theme-selected .v-faq-list summary{min-height:64px;padding:14px 16px;gap:12px;font-size:14px}
 .theme-selected .v-faq-list details{border-radius:13px}
 .theme-selected .v-faq-list details>p{margin-inline:16px;padding-bottom:16px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){.theme-selected .v-faq-list details,.theme-selected .v-faq-list summary b,.theme-selected .v-faq-list summary b::after{transition:none}}

/* Contact information beneath a raised, clear glass surface. */
.theme-selected .v-contact-layout{gap:14px;background:transparent;border:0;border-radius:0;overflow:visible}
.theme-selected .v-contact-layout .v-address{
 position:relative;isolation:isolate;border-radius:22px;
 background:linear-gradient(135deg,#f5f8fac9,#e3edf6a6 58%,#eef4f9b3);
 box-shadow:0 9px 24px -16px #426b8670;
}
.theme-selected .v-contact-layout .v-address::before{
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
 background:linear-gradient(155deg,#ffffff73 0%,#ffffff12 35%,#e0eff71a 68%,#ffffff40 100%);
 backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
 box-shadow:inset 0 2px 2px #fffffff2,inset 2px 0 3px #ffffffd9,inset -2px 0 3px #ffffffa6,inset 0 -2px 3px #7098b352,inset 0 -7px 10px -7px #fffffff2,0 3px 3px -2px #426b8633;
}
.theme-selected .v-contact-layout .v-address::after{
 content:"";position:absolute;inset:3px 5px auto;height:34%;z-index:-1;pointer-events:none;border-radius:19px 19px 45% 45%;
 background:linear-gradient(170deg,#ffffff85, #ffffff0d 70%,transparent);
}
.theme-selected .v-contact-layout .v-map{border-radius:22px;overflow:hidden}
.theme-selected .v-address .v-contact-details>div{border-color:#b8cedd70}
@media(max-width:800px){
 .theme-selected .v-contact-layout{gap:12px}
 .theme-selected .v-contact-layout .v-address,.theme-selected .v-contact-layout .v-map{border-radius:18px}
 .theme-selected .v-contact-layout .v-address::after{border-radius:15px 15px 45% 45%}
}

/* Glass treatment for the selected price and FAQ cards. */
.theme-selected .v-price-items article,
.theme-selected .v-faq-list details{
 --card-glass-edge:inset 0 1px 1px #ffffff59,inset 1px 0 2px #ffffff26,inset -1px 0 2px #7098b31a,inset 0 -1px 2px #527e9b2e,inset 0 5px 7px -6px #ffffff73,inset 0 -6px 8px -6px #527e9b33;
 background-image:linear-gradient(155deg,#ffffff40 0%,#ffffff12 22%,#ffffff00 58%,#ffffff1a 100%);
 border:1px solid transparent;
 box-shadow:var(--card-glass-edge),0 7px 18px -13px #426b8666;
 backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
 transition:background-color .2s,border-color .2s,box-shadow .2s;
}
.theme-selected .v-price-items article,
.theme-selected .v-price-items article:nth-child(2){
 background-color:#dbeaf48c;
 background-image:linear-gradient(155deg,#ffffff40 0%,#ffffff12 22%,#ffffff00 58%,#ffffff1a 100%);
}
.theme-selected .v-faq-list details{background-color:#eef5fa80}
.theme-selected .v-faq-list details:first-child{border-top:1px solid transparent}
.theme-selected .v-faq-list details[open]{background-color:#dcecf6cc;border-color:#83a7bf1a;box-shadow:var(--card-glass-edge),0 7px 18px -13px #426b8666}
.theme-selected .v-faq-list summary b{background:linear-gradient(150deg,#ffffffb3,#dcebf5b3);box-shadow:inset 0 1px 1px #ffffff66,inset 0 -1px 2px #7098b324}
.theme-selected .v-faq-list details[open] summary b{background:linear-gradient(150deg,#ffffffb3,#cadfecb3)}
.theme-selected .v-faq-list details[open],.theme-selected .v-faq-list details:hover,.theme-selected .v-price-items article:hover{background-image:linear-gradient(155deg,#ffffff40 0%,#ffffff12 22%,#ffffff00 58%,#ffffff1a 100%)}
@media(hover:hover){
 .theme-selected .v-price-items article:hover{background-color:#c4e0f1e6;border-color:#83a7bf1a;box-shadow:var(--card-glass-edge),0 8px 20px -12px #39779d66}
 .theme-selected .v-faq-list details:hover{background-color:#e3f0f8cc;border-color:#83a7bf14}
 .theme-selected .v-faq-list details[open]:hover{background-color:#dcecf6cc}
}
@media(prefers-reduced-motion:reduce){.theme-selected .v-price-items article,.theme-selected .v-faq-list details{transition:none}}

/* Keep the last links above the system gesture handle in edge-to-edge mode. */
@media(max-width:800px){
 .theme-selected .v-footer{padding-bottom:max(24px,env(safe-area-inset-bottom,0px))}
}
