@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');

/* Welcome modal visual layer */
.welcome-backdrop{background:rgba(34,17,43,.72)!important;backdrop-filter:blur(16px) saturate(.88);-webkit-backdrop-filter:blur(16px) saturate(.88);padding:1rem!important;overscroll-behavior:contain}
.welcome-dialog{width:min(100%,38rem)!important;max-height:calc(100svh - 2rem);overflow:hidden;background:rgba(255,253,250,.985)!important;border:1px solid rgba(117,58,145,.2);border-radius:1rem;padding:clamp(2rem,5vw,3.25rem)!important;box-shadow:0 1.75rem 5rem rgba(20,8,28,.34),0 0 0 1px rgba(255,255,255,.45) inset;color:var(--color-text)}
.welcome-dialog h2{color:var(--color-strong);text-wrap:balance}.welcome-dialog p:not(.eyebrow){color:var(--color-muted)}.welcome-dialog .button-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.welcome-dialog .button-row .button{min-height:2.9rem}.welcome-close{width:44px;height:44px;min-width:44px;min-height:44px;display:grid;place-items:center;right:.75rem;top:.75rem;border:1px solid rgba(117,58,145,.22);border-radius:50%;background:rgba(244,235,246,.9);font-size:1.35rem;line-height:1;color:var(--color-strong)}.welcome-close:hover{background:var(--lavender)}
@media(max-width:600px){.welcome-backdrop{padding:1rem!important}.welcome-dialog{width:calc(100vw - 2rem)!important;max-height:calc(100svh - 2rem);padding:2.25rem 1.35rem 1.5rem!important;border-radius:.85rem}.welcome-dialog h2{font-size:2rem}.welcome-dialog .button-row{align-items:stretch;gap:.75rem}.welcome-dialog .button-row .button{width:100%;text-align:center}.welcome-dialog .button-row .text-link{min-height:2.75rem;display:inline-flex;align-items:center}}

/* Purple Estetik design system: primitive > semantic > component */
:root{
  --p-300:#c9a7ee;--p-500:#7335a3;--p-600:#5b2188;--p-700:#461366;--aubergine:#1d0c25;--aubergine-2:#2b1236;
  --warm:#fffdfa;--warm-2:#fbf7f3;--lavender:#f0e8f5;--lavender-2:#e3d4eb;--blush:#f7e9eb;
  --ink:#211a23;--muted:#554b57;--quiet:#786e7a;--line:rgba(48,26,53,.16);--line-inverse:rgba(255,255,255,.18);
  --color-bg:var(--warm);--color-surface:var(--warm-2);--color-text:var(--ink);--color-muted:var(--muted);--color-accent:var(--p-600);--color-strong:var(--p-700);--color-inverse:#fffafc;
  --font-display:'Playfair Display',Georgia,serif;--font-body:'DM Sans',Arial,sans-serif;
  --display-xl:clamp(4.9rem,10vw,9.6rem);--display-lg:clamp(4rem,7.4vw,7.3rem);--heading-lg:clamp(3.2rem,5.9vw,6.2rem);--heading-md:clamp(2.25rem,3.8vw,4.1rem);
  --body-lg:clamp(1.06rem,1.25vw,1.25rem);--body:1rem;--body-sm:.9rem;--label:.76rem;--nav:.875rem;--caption:.8rem;
  --section:clamp(5.5rem,10vw,10rem);--gutter:clamp(1.25rem,4.5vw,4.75rem);--gap:clamp(1.5rem,3vw,3.5rem);--max:92rem;--measure:40rem;
  --radius-image:9rem 9rem .35rem .35rem;--header:5.5rem;--ease:cubic-bezier(.22,1,.36,1);--soft:cubic-bezier(.33,1,.68,1);--fast:220ms;--base:520ms;--slow:1100ms;
}
*,*::before,*::after{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth;background:var(--color-bg)}body{margin:0;overflow-x:clip;background:var(--color-bg);color:var(--color-text);font:var(--body)/1.68 var(--font-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body::after{content:'';position:fixed;inset:0;z-index:1000;pointer-events:none;opacity:.026;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
img{display:block;max-width:100%;object-fit:cover}svg{width:1.1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible,iframe:focus-visible{outline:.19rem solid var(--p-300);outline-offset:.25rem}::selection{background:var(--p-300);color:var(--aubergine)}
.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:9999;padding:.75rem 1rem;transform:translateY(-180%);background:var(--aubergine);color:#fff;font-weight:600}.skip-link:focus{transform:translateY(0)}

.site-header{position:sticky;top:0;z-index:100;min-height:var(--header);padding:.75rem var(--gutter);border-bottom:1px solid rgba(64,30,69,.12);display:grid;grid-template-columns:minmax(10rem,1fr) auto minmax(10rem,1fr);align-items:center;background:rgba(255,253,250,.88);backdrop-filter:blur(18px) saturate(1.2)}
.brand{width:fit-content;display:inline-flex;flex-direction:column;align-items:center;color:var(--color-strong);line-height:1}.brand span{font:600 1.68rem/1 var(--font-display);letter-spacing:.16em}.brand small{margin-top:.35rem;font-size:.61rem;font-weight:600;letter-spacing:.47em}.site-header nav{display:flex;align-items:center;gap:clamp(1.2rem,2.2vw,2.3rem)}.site-header nav a{position:relative;min-height:2.75rem;display:inline-flex;align-items:center;color:var(--color-muted);font-size:var(--nav);font-weight:500}.site-header nav a::after{content:'';position:absolute;inset:auto 0 .2rem;height:1px;transform:scaleX(0);transform-origin:right;background:var(--color-accent);transition:transform var(--base) var(--ease)}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--color-strong)}.site-header nav a:hover::after,.site-header nav a[aria-current=page]::after{transform:scaleX(1);transform-origin:left}
.header-cta{justify-self:end;min-height:2.85rem;padding:.65rem 1.25rem;border:1px solid var(--color-accent);display:inline-flex;align-items:center;gap:.8rem;color:var(--color-strong);font-size:var(--nav);font-weight:600;transition:color var(--fast) var(--soft),background-color var(--fast) var(--soft)}.header-cta:hover{background:var(--color-strong);color:var(--color-inverse)}.menu-button{display:none}
.eyebrow{margin:0 0 1.45rem;color:var(--color-accent);font-size:var(--label);font-weight:600;letter-spacing:.14em;line-height:1.3;text-transform:uppercase}.section-head h2,.booking-band h2{margin:0;font:600 var(--heading-lg)/.94 var(--font-display);letter-spacing:-.055em}h1 em,h2 em,.section-head em{color:var(--color-accent);font-family:var(--font-display);font-weight:600}.section-copy{max-width:33rem;margin:2rem 0 0;color:var(--color-muted);font-size:var(--body-lg);line-height:1.7}
.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:1.45rem}.button{min-height:3.35rem;padding:.8rem 1.4rem;display:inline-flex;align-items:center;justify-content:center;gap:1rem;background:var(--color-strong);color:var(--color-inverse);font-size:.9rem;font-weight:600;line-height:1.25;transition:background-color var(--fast) var(--soft),transform var(--fast) var(--soft)}.button:hover{transform:translateY(-2px);background:var(--aubergine)}.button-light{background:var(--color-inverse);color:var(--aubergine)}.button-light:hover{background:var(--lavender)}.text-link{min-height:2.75rem;padding:.5rem 0;display:inline-flex;align-items:center;gap:.8rem;color:var(--color-strong);font-size:.9rem;font-weight:600}.text-link svg{transition:transform var(--base) var(--ease)}.text-link:hover svg{transform:translateX(.35rem)}.text-link-light{color:var(--color-inverse)}

.home-hero{min-height:calc(100svh - var(--header));padding:clamp(3.5rem,7vw,7.8rem) var(--gutter) clamp(3rem,5vw,5rem);display:grid;grid-template-columns:minmax(0,.88fr) minmax(31rem,1.12fr);align-items:center;gap:var(--gap);overflow:hidden;background:radial-gradient(circle at 12% 18%,rgba(246,227,234,.9),transparent 30%),linear-gradient(135deg,var(--warm),var(--warm-2) 62%,var(--lavender))}.hero-copy{position:relative;z-index:3;padding-left:clamp(0rem,4vw,4.5rem)}.hero-copy h1{margin:0;font:600 var(--display-xl)/.78 var(--font-display);letter-spacing:-.075em}.hero-copy h1 span,.hero-copy h1 em{display:block}.hero-copy h1 em{margin-left:clamp(1rem,5vw,5.5rem);white-space:nowrap}.hero-copy>p{max-width:30rem;margin:3.2rem 0 2rem;color:var(--color-muted);font-size:var(--body-lg);line-height:1.7}
.hero-media{--scroll-y:0px;position:relative;z-index:1;width:min(100%,48rem);min-height:clamp(35rem,68vw,47rem);margin:0 auto;transform:translateY(var(--scroll-y))}.hero-photo{position:absolute;inset:2% 8% 2% 12%;overflow:hidden;border-radius:50% 50% 4% 4%/32% 32% 4% 4%;clip-path:polygon(11% 0,89% 0,100% 12%,96% 100%,4% 100%,0 12%);box-shadow:0 2.5rem 5rem rgba(61,25,67,.14)}.hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(130deg,rgba(255,255,255,.3),transparent 32%,rgba(74,24,93,.12));mix-blend-mode:soft-light}.hero-skin{width:100%;height:100%;object-position:50% 42%}.hero-ribbon{position:absolute;z-index:2;top:31%;left:-15%;width:130%;height:44%;object-fit:contain;filter:saturate(.95) hue-rotate(7deg) drop-shadow(0 1.8rem 1.6rem rgba(45,5,69,.2));transform:rotate(-8deg)}.hero-shine{position:absolute;z-index:3;inset:34% 2% 25% -4%;transform:rotate(-12deg);background:linear-gradient(110deg,transparent 34%,rgba(255,255,255,.5) 48%,transparent 62%);mix-blend-mode:screen;opacity:.55;pointer-events:none}.hero-media figcaption{position:absolute;right:0;bottom:0;color:var(--color-strong);font-size:var(--caption);font-weight:600;letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl}
.quick-info{min-height:6rem;padding:1rem var(--gutter);border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:var(--gap);background:var(--warm)}.quick-info>div{display:flex;align-items:center;gap:.9rem}.quick-info svg{width:1.35rem;color:var(--color-accent)}.quick-info span{display:flex;flex-direction:column}.quick-info small{color:var(--quiet);font-size:var(--caption)}.quick-info b{font-size:var(--body-sm);font-weight:600}.quick-link{min-height:2.75rem;display:flex;align-items:center;gap:1rem;color:var(--color-strong);font-size:var(--body-sm);font-weight:600}

.service-discovery{max-width:var(--max);margin:0 auto;padding:var(--section) var(--gutter)}.service-discovery>.section-head{display:grid;grid-template-columns:minmax(16rem,.75fr) 1.25fr;column-gap:var(--gap)}.service-discovery>.section-head .eyebrow{grid-row:1}.service-discovery>.section-head h2{grid-column:2;grid-row:1/span 2}.service-discovery>.section-head .section-copy{grid-column:1}.service-stage{margin-top:clamp(4rem,8vw,8rem);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(22rem,.8fr);gap:clamp(2rem,6vw,7rem)}.service-list{border-top:1px solid var(--line)}.service-row{min-height:8.25rem;border-bottom:1px solid var(--line);display:grid;grid-template-columns:3.5rem minmax(0,1fr) 2rem;align-items:center;gap:1rem;transition:color var(--fast) var(--soft),padding-left var(--base) var(--ease)}.service-row:hover,.service-row.is-active{padding-left:.8rem;color:var(--color-strong)}.service-number,.service-row small,.service-preview figcaption span{color:var(--quiet);font-size:var(--caption)}.service-row>span:nth-child(2){display:flex;flex-direction:column;gap:.4rem}.service-row strong{font:600 clamp(1.55rem,2.2vw,2.4rem)/1.1 var(--font-display)}.service-row small{line-height:1.5}.service-row svg{justify-self:end;transition:transform var(--base) var(--ease)}.service-row:hover svg{transform:translateX(.35rem)}.service-mobile-image{display:none}.service-preview{position:sticky;top:calc(var(--header) + 2rem);align-self:start;margin:0}.service-preview-frame{height:min(61vh,40rem);overflow:hidden;border-radius:var(--radius-image);background:var(--lavender)}.service-preview-image{width:100%;height:100%;transition:opacity var(--fast) var(--soft),transform var(--slow) var(--ease)}.service-preview-image.is-changing{opacity:.35;transform:scale(1.025)}.service-preview figcaption{padding:1rem 0;display:flex;justify-content:space-between;gap:1rem;font-size:var(--body-sm)}.service-preview figcaption strong{font-weight:600}

.care-standard{min-height:48rem;display:grid;grid-template-columns:minmax(20rem,.85fr) minmax(0,1.15fr);background:var(--aubergine);color:var(--color-inverse)}.care-media{min-height:48rem;overflow:hidden;clip-path:polygon(0 0,91% 0,100% 50%,91% 100%,0 100%)}.care-media img{width:100%;height:100%;object-position:50% 45%;filter:saturate(.8) contrast(1.03)}.care-content{padding:var(--section) var(--gutter);align-self:center}.care-content .eyebrow{color:var(--p-300)}.care-content .section-head em{color:var(--p-300)}.care-content .section-copy{color:rgba(255,250,252,.72)}.care-points{margin:clamp(3rem,6vw,6rem) 0 2.3rem;border-top:1px solid var(--line-inverse);display:grid;grid-template-columns:repeat(3,1fr)}.care-points article{min-width:0;padding:1.4rem 1.1rem 0 0;border-right:1px solid var(--line-inverse)}.care-points article+article{padding-left:1.1rem}.care-points span{color:var(--p-300);font-size:var(--caption)}.care-points h3{margin:1.6rem 0 .65rem;font:600 1.45rem/1.2 var(--font-display)}.care-points p{margin:0;color:rgba(255,250,252,.68);font-size:var(--body-sm);line-height:1.6}
.price-preview{max-width:var(--max);margin:0 auto;padding:var(--section) var(--gutter);display:grid;grid-template-columns:minmax(20rem,.8fr) minmax(0,1.2fr);gap:clamp(3rem,8vw,9rem)}.price-preview-list{border-top:1px solid var(--line)}.price-preview-list a{min-height:7.5rem;border-bottom:1px solid var(--line);display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto 1.5rem;align-items:center;gap:1.2rem}.price-preview-list small{color:var(--quiet);font-size:var(--caption)}.price-preview-list span{font-size:var(--body-lg)}.price-preview-list strong{color:var(--color-strong);font-size:1.1rem;font-weight:600;white-space:nowrap}.price-preview-list svg{transition:transform var(--base) var(--ease)}.price-preview-list a:hover svg{transform:translateX(.35rem)}.price-link{grid-column:2;justify-self:start}
.campaign-strip{position:relative;min-height:31rem;padding:clamp(5rem,9vw,9rem) var(--gutter);display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:var(--gap);overflow:hidden;background:radial-gradient(circle at 65% 100%,rgba(166,90,207,.32),transparent 30%),linear-gradient(125deg,#13051a,#391148 55%,#1d0926);color:var(--color-inverse)}.campaign-strip>*:not(.campaign-glow){position:relative;z-index:2}.campaign-strip .eyebrow{color:var(--p-300)}.campaign-strip h2{margin:0;font:600 var(--heading-lg)/.94 var(--font-display);letter-spacing:-.055em}.campaign-strip h2 em{color:var(--p-300)}.campaign-strip>div>p:not(.eyebrow){max-width:35rem;margin:2rem 0 0;color:rgba(255,250,252,.72);font-size:var(--body-lg)}.campaign-glow{position:absolute;left:20%;top:37%;width:70%;height:9rem;transform:rotate(-9deg);background:linear-gradient(90deg,transparent,rgba(208,116,236,.66),rgba(255,255,255,.7),transparent);filter:blur(2.8rem);opacity:.5}.campaign-mini{padding:clamp(1.5rem,3vw,3rem);border:1px solid var(--line-inverse);background:rgba(255,255,255,.05);backdrop-filter:blur(10px)}.campaign-mini p{margin:0;padding:1rem 0;border-bottom:1px solid var(--line-inverse);display:grid;grid-template-columns:1fr auto auto;gap:1rem;font-size:var(--body-sm)}.campaign-mini del{color:rgba(255,255,255,.52)}.campaign-mini strong{color:var(--p-300)}.campaign-mini .button{margin-top:1.7rem}
.location-section{display:grid;grid-template-columns:minmax(22rem,.7fr) minmax(0,1.3fr);background:var(--blush)}.location-copy{padding:var(--section) var(--gutter)}.location-copy>p{max-width:28rem;margin:1rem 0;color:var(--color-muted)}.location-copy>p:first-of-type{margin-top:3rem}.location-copy .button{margin-top:1.5rem}.map-frame{position:relative;min-height:36rem;overflow:hidden;background:var(--lavender-2)}.map-frame iframe{width:100%;height:100%;min-height:inherit;border:0;filter:grayscale(.25) sepia(.08) contrast(.92)}.map-frame>span{position:absolute;right:1rem;bottom:1rem;padding:.65rem .85rem;background:rgba(255,253,250,.9);color:var(--color-strong);font-size:var(--caption);font-weight:600}.booking-band{padding:var(--section) var(--gutter);text-align:center;background:linear-gradient(120deg,var(--p-600),var(--aubergine));color:var(--color-inverse)}.booking-band .eyebrow,.booking-band h2 em{color:var(--p-300)}.booking-band .button-row{margin-top:2.5rem;justify-content:center}
.site-footer{padding:clamp(4rem,7vw,7rem) var(--gutter) 3rem;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:var(--gap);background:#16091c;color:var(--color-inverse)}.brand-inverse{color:var(--p-300)}.footer-primary{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.footer-primary>p{max-width:20rem;margin:1rem 0 0;color:rgba(255,255,255,.66)}.footer-primary>small{margin-top:2rem;color:rgba(255,255,255,.45);font-size:var(--caption)}.site-footer>div:not(.footer-primary){display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.site-footer h2{margin:0 0 1rem;color:var(--p-300);font-size:var(--label);font-weight:600;letter-spacing:.13em;text-transform:uppercase}.site-footer a,.site-footer p{font-size:var(--body-sm)}.site-footer>div:not(.footer-primary) a{min-height:2rem;color:rgba(255,255,255,.79)}.site-footer .footer-note p{max-width:18rem;margin:0;color:rgba(255,255,255,.57);line-height:1.6}

/* Inner pages */
.inner-hero,.detail-hero,.about-hero,.contact-hero,.price-hero,.campaign-hero{min-height:calc(88svh - var(--header));padding:clamp(4rem,7vw,8rem) var(--gutter);overflow:hidden}.inner-hero h1,.detail-hero h1,.about-hero h1,.contact-hero h1,.price-hero h1,.campaign-hero h1,.legal-page h1,.not-found h1,.go-page h1{margin:0;font:600 var(--display-lg)/.84 var(--font-display);letter-spacing:-.065em}.inner-hero h1 em,.detail-hero h1 em,.about-hero h1 em,.contact-hero h1 em,.price-hero h1 em,.campaign-hero h1 em,.legal-page h1 em,.not-found h1 em,.go-page h1 em{color:var(--color-accent)}
.inner-hero-services{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:var(--gap);background:linear-gradient(135deg,var(--warm),var(--lavender))}.inner-hero-services>div:first-child>p:last-child,.detail-hero>div>p:not(.eyebrow),.about-hero>div>p:not(.eyebrow),.contact-hero>div>p:not(.eyebrow),.campaign-hero>div>p:not(.eyebrow){max-width:34rem;margin:2.5rem 0 0;color:var(--color-muted);font-size:var(--body-lg)}.inner-hero-collage{position:relative;min-height:40rem}.inner-hero-collage img{position:absolute;box-shadow:0 2rem 4rem rgba(68,32,78,.12)}.inner-hero-collage img:first-child{inset:0 25% 10% 4%;width:64%;height:80%;border-radius:45% 45% .3rem .3rem}.inner-hero-collage img:last-child{right:0;bottom:0;width:42%;height:52%;border:.6rem solid var(--warm)}
.directory{max-width:var(--max);margin:0 auto;padding:var(--section) var(--gutter)}.directory>a{min-height:13rem;border-top:1px solid var(--line);display:grid;grid-template-columns:4rem minmax(0,1fr) 15rem 2rem;align-items:center;gap:2rem}.directory>a:last-child{border-bottom:1px solid var(--line)}.directory small{color:var(--quiet)}.directory h2{margin:0;font:600 var(--heading-md)/1 var(--font-display)}.directory p{margin:.6rem 0 0;color:var(--color-muted)}.directory-image{height:10rem;overflow:hidden}.directory-image img{width:100%;height:100%;transition:transform var(--slow) var(--ease)}.directory>a:hover .directory-image img{transform:scale(1.035)}.directory>a svg{transition:transform var(--base) var(--ease)}.directory>a:hover svg{transform:translateX(.4rem)}
.detail-hero{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:var(--gap);background:var(--warm-2)}.detail-hero>div{padding-left:clamp(0rem,4vw,4rem)}.detail-hero .button{margin-top:2rem}.detail-hero figure{position:relative;height:min(70vh,47rem);margin:0;overflow:hidden;border-radius:50% 50% .3rem .3rem/25% 25% .3rem .3rem}.detail-hero figure img{width:100%;height:100%}.detail-hero figcaption{position:absolute;right:1rem;bottom:1rem;padding:.5rem .8rem;background:rgba(255,253,250,.9);color:var(--color-strong);font-size:var(--caption)}
.detail-fit{padding:var(--section) var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem)}.detail-fit .section-head h2,.detail-prices .section-head h2,.campaign-prices .section-head h2,.about-visual .section-head h2{font-size:var(--heading-md)}.detail-fit ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.detail-fit li{position:relative;padding:1.35rem 1rem 1.35rem 2.3rem;border-bottom:1px solid var(--line);font-size:var(--body-lg)}.detail-fit li::before{content:'•';position:absolute;left:.4rem;color:var(--color-accent)}
.process-band{padding:var(--section) var(--gutter);background:var(--aubergine);color:var(--color-inverse)}.process-band .eyebrow{color:var(--p-300)}.process-band>div{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-inverse)}.process-band article{padding:2rem clamp(1rem,2vw,2rem) 0 0;border-right:1px solid var(--line-inverse)}.process-band article+article{padding-left:clamp(1rem,2vw,2rem)}.process-band span{color:var(--p-300);font-size:var(--caption)}.process-band h2{margin:2rem 0 .7rem;font:600 1.65rem/1.2 var(--font-display)}.process-band p{margin:0;color:rgba(255,255,255,.65);font-size:var(--body-sm)}
.detail-prices{padding:var(--section) var(--gutter);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,9rem)}.price-table{border-top:1px solid var(--line)}.price-table p,.price-groups article>div p{min-height:4.5rem;margin:0;padding:1rem 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:1rem}.price-table small,.price-groups small{color:var(--quiet);font-size:var(--caption)}.price-table strong,.price-groups strong{color:var(--color-strong);white-space:nowrap}
.prices-page .price-hero{position:relative;min-height:clamp(35rem,70svh,45rem);padding-block:clamp(3.5rem,6.5vw,7rem);display:grid;grid-template-columns:minmax(0,.9fr) minmax(31rem,1.1fr);align-items:center;gap:clamp(2rem,6vw,7rem);background:radial-gradient(circle at 15% 20%,rgba(247,233,235,.9),transparent 34%),linear-gradient(135deg,var(--warm),var(--warm-2) 54%,var(--lavender));isolation:isolate}.prices-page .price-hero-copy{position:relative;z-index:2;padding-left:clamp(0rem,3vw,3.5rem)}.prices-page .price-hero-copy>p:last-child{max-width:31rem;margin:2.2rem 0 0;color:var(--color-muted);font-size:var(--body-lg);line-height:1.7}.prices-page .price-hero-visual{position:relative;min-height:clamp(28rem,54vw,38rem);margin:0}.prices-page .price-visual-primary{position:absolute;inset:0 22% 3% 5%;overflow:hidden;border-radius:48% 48% .25rem .25rem/24% 24% .25rem .25rem;box-shadow:0 2rem 4.5rem rgba(63,29,70,.14)}.prices-page .price-visual-primary::after{content:'';position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.24),transparent 40%,rgba(76,19,102,.09));pointer-events:none}.prices-page .price-visual-primary img{width:100%;height:100%;object-position:50% 42%}.prices-page .price-visual-secondary{position:absolute;right:0;bottom:0;width:38%;height:47%;overflow:hidden;border:.55rem solid var(--warm);box-shadow:0 1.5rem 3rem rgba(63,29,70,.16)}.prices-page .price-visual-secondary img{width:100%;height:100%;object-position:52% 42%}.prices-page .price-hero-visual figcaption{position:absolute;right:-.2rem;top:2rem;color:var(--color-strong);font-size:var(--caption);font-weight:600;letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl}
.prices-page .price-category-nav{position:sticky;top:var(--header);z-index:40;min-height:5rem;padding:.75rem var(--gutter);border-block:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:clamp(2rem,5vw,6rem);background:rgba(255,253,250,.94);backdrop-filter:blur(16px) saturate(1.1)}.prices-page .price-category-nav>span{color:var(--quiet);font-size:var(--label);font-weight:600;letter-spacing:.13em;text-transform:uppercase}.prices-page .price-category-nav>div{display:grid;grid-template-columns:repeat(4,1fr)}.prices-page .price-category-nav a{min-height:3.4rem;padding:.55rem clamp(.8rem,1.6vw,1.5rem);border-left:1px solid var(--line);display:flex;align-items:center;gap:.75rem;color:var(--color-muted);font-size:var(--body-sm);font-weight:600;white-space:nowrap;transition:color var(--fast) var(--soft),background-color var(--fast) var(--soft)}.prices-page .price-category-nav a:hover,.prices-page .price-category-nav a:focus-visible{background:var(--lavender);color:var(--color-strong)}.prices-page .price-category-nav small{color:var(--color-accent);font-size:var(--caption)}
.prices-page .price-groups{max-width:var(--max);margin:0 auto;padding:clamp(4.5rem,8vw,8rem) var(--gutter) 0;display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,7rem);background:var(--warm)}.prices-page .price-column{min-width:0}.prices-page .price-category{scroll-margin-top:calc(var(--header) + 6rem);margin:0 0 clamp(4rem,7vw,7rem);border-top:1px solid var(--line)}.prices-page .price-category summary{min-height:8.25rem;padding:1.4rem 0;display:grid;grid-template-columns:3rem minmax(0,1fr) 2rem;align-items:center;gap:1rem;cursor:pointer;list-style:none}.prices-page .price-category summary::-webkit-details-marker{display:none}.prices-page .price-category-number{align-self:start;padding-top:.5rem;color:var(--color-accent);font-size:var(--caption);font-weight:600}.prices-page .price-category-title{display:flex;flex-direction:column;gap:.55rem}.prices-page .price-category-title strong{font:600 clamp(2.25rem,3.7vw,4rem)/1 var(--font-display);letter-spacing:-.04em}.prices-page .price-category-title small{max-width:25rem;color:var(--color-muted);font-size:var(--body-sm);font-weight:400;line-height:1.55}.prices-page .price-category-toggle{position:relative;width:2rem;height:2rem}.prices-page .price-category-toggle::before,.prices-page .price-category-toggle::after{content:'';position:absolute;left:.35rem;top:calc(50% - .5px);width:1.3rem;height:1px;background:var(--color-accent);transition:transform var(--base) var(--ease)}.prices-page .price-category-toggle::after{transform:rotate(90deg)}.prices-page .price-category[open] .price-category-toggle::after{transform:rotate(0)}.prices-page .price-lines{border-top:1px solid var(--line)}.prices-page .price-lines p{min-height:3.9rem;margin:0;padding:.8rem 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:center;gap:.9rem;font-size:.95rem}.prices-page .price-lines small{color:var(--quiet);font-size:var(--caption)}.prices-page .price-lines span{min-width:0}.prices-page .price-lines strong{color:var(--color-strong);font-size:.95rem;font-weight:600;white-space:nowrap}.prices-page .price-note{grid-column:1/-1;margin-top:-1rem;padding:clamp(2.5rem,5vw,5rem) clamp(1.5rem,4vw,4rem);display:grid;grid-template-columns:.4fr 1.1fr .9fr auto;align-items:center;gap:clamp(1.25rem,3vw,3.5rem);background:linear-gradient(120deg,var(--blush),var(--lavender));border-top:1px solid var(--line)}.prices-page .price-note .eyebrow{margin:0}.prices-page .price-note strong{font:600 clamp(1.35rem,2vw,2rem)/1.3 var(--font-display)}.prices-page .price-note>span{color:var(--color-muted);font-size:var(--body-sm);line-height:1.6}.prices-page .price-note .text-link{white-space:nowrap}
.campaign-hero{position:relative;display:flex;align-items:center;background:radial-gradient(circle at 75% 45%,rgba(167,71,205,.4),transparent 28%),linear-gradient(125deg,#17071f,#421352 62%,#1a0723);color:var(--color-inverse)}.campaign-hero>div{position:relative;z-index:2}.campaign-hero .eyebrow,.campaign-hero h1 em{color:var(--p-300)}.campaign-hero>div>p:not(.eyebrow){color:rgba(255,255,255,.68)}.campaign-hero>img{position:absolute;right:-8%;top:16%;width:70%;height:66%;object-fit:contain;filter:hue-rotate(8deg) saturate(.95) drop-shadow(0 2rem 2rem rgba(0,0,0,.25));transform:rotate(-9deg)}.campaign-prices{padding:var(--section) var(--gutter);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,9rem)}.campaign-prices .button{margin-top:2rem}.campaign-price-table{border-top:1px solid var(--line)}.campaign-price-table p{min-height:5.2rem;margin:0;padding:1rem 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto auto;align-items:center;gap:1rem}.campaign-price-table small,.campaign-price-table del{color:var(--quiet)}.campaign-price-table strong{color:var(--color-strong)}.campaign-empty{padding:var(--section) var(--gutter);text-align:center}
.about-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--gap);background:var(--blush)}.about-hero>div:last-child{height:min(70vh,46rem);overflow:hidden;border-radius:12rem 12rem .3rem .3rem}.about-hero img{width:100%;height:100%}.about-statement{position:relative;min-height:28rem;padding:var(--section) var(--gutter);display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--aubergine);color:var(--color-inverse);text-align:center}.about-statement p{position:relative;z-index:2;max-width:50rem;margin:0;font:600 var(--heading-md)/1.1 var(--font-display)}.about-statement span{position:absolute;right:5%;top:-40%;color:rgba(201,167,238,.08);font:600 40rem/1 var(--font-display)}.value-list{padding:var(--section) var(--gutter);display:grid;grid-template-columns:repeat(3,1fr)}.value-list article{padding:2rem clamp(1rem,2vw,2.5rem) 0;border-top:1px solid var(--line);border-right:1px solid var(--line)}.value-list article:first-child{padding-left:0}.value-list article:last-child{border-right:0}.value-list small{color:var(--quiet)}.value-list h2{margin:2.3rem 0 1rem;font:600 2rem/1.2 var(--font-display)}.value-list p{color:var(--color-muted)}.about-visual{padding:var(--section) var(--gutter);display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(3rem,8vw,9rem);background:var(--lavender)}.about-visual>div:first-child{height:38rem;overflow:hidden;clip-path:polygon(0 0,89% 0,100% 50%,89% 100%,0 100%)}.about-visual img{width:100%;height:100%}.about-visual .text-link{margin-top:1.5rem}
.contact-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(3rem,8vw,9rem);background:linear-gradient(135deg,var(--warm),var(--blush))}.contact-actions{border-top:1px solid var(--line)}.contact-action{min-height:5.5rem;padding:1rem 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:var(--body-lg);font-weight:600}.contact-action svg{transition:transform var(--base) var(--ease)}.contact-action:hover svg{transform:translateX(.4rem)}.contact-location{display:grid;grid-template-columns:.65fr 1.35fr;background:var(--warm-2)}.contact-location>div:first-child{padding:var(--section) var(--gutter)}.contact-location h2{margin:0 0 2rem;font:600 var(--heading-md)/1 var(--font-display)}.contact-location p{max-width:30rem;color:var(--color-muted)}.contact-location .button{margin-top:1.5rem}
.legal-page,.not-found{min-height:calc(100svh - var(--header));padding:var(--section) var(--gutter);display:grid;place-content:center;text-align:center;background:var(--warm-2)}.legal-page section>p:last-child{max-width:36rem;margin:2.5rem auto 0;color:var(--color-muted);font-size:var(--body-lg)}.not-found .button{margin:2.5rem auto 0}.go-page{min-height:100svh;padding:clamp(2rem,6vw,5rem) var(--gutter);display:flex;flex-direction:column;align-items:center;text-align:center;background:radial-gradient(circle at 50% 10%,var(--blush),transparent 32%),linear-gradient(145deg,var(--warm),var(--lavender))}.go-page h1{max-width:60rem;margin:4rem 0;font-size:var(--heading-lg)}.go-page>div{width:min(100%,38rem);border-top:1px solid var(--line)}.go-page>div a{min-height:4.7rem;padding:.8rem .25rem;border-bottom:1px solid var(--line);display:grid;grid-template-columns:2.5rem 1fr 1.5rem;align-items:center;text-align:left}.go-page>div a:hover svg{transform:translateX(.35rem)}.go-page>div small{color:var(--quiet)}.go-page>div span{font-size:1.05rem;font-weight:600}.go-page>p{margin:2.5rem 0 0;color:var(--color-muted)}

/* Motion: strong art direction; visible content remains the baseline. */
.motion-ready .hero-copy h1 span,.motion-ready .hero-copy h1 em,.motion-ready .hero-copy>p,.motion-ready .hero-copy .button-row{opacity:0;transform:translateY(2.2rem)}.motion-ready.page-ready .hero-copy h1 span,.motion-ready.page-ready .hero-copy h1 em,.motion-ready.page-ready .hero-copy>p,.motion-ready.page-ready .hero-copy .button-row{opacity:1;transform:translateY(0);transition:opacity var(--slow) var(--ease),transform var(--slow) var(--ease)}.motion-ready.page-ready .hero-copy h1 em{transition-delay:100ms}.motion-ready.page-ready .hero-copy>p{transition-delay:220ms}.motion-ready.page-ready .hero-copy .button-row{transition-delay:310ms}.motion-ready .hero-photo{clip-path:polygon(11% 48%,89% 48%,100% 48%,96% 52%,4% 52%,0 48%)}.motion-ready.page-ready .hero-photo{clip-path:polygon(11% 0,89% 0,100% 12%,96% 100%,4% 100%,0 12%);transition:clip-path 1350ms var(--ease) 100ms}.motion-ready.page-ready .hero-ribbon{animation:ribbon-drift 9s var(--soft) 1.2s infinite alternate}.motion-ready.page-ready .hero-shine{animation:ribbon-shine 5.8s var(--soft) 1.4s infinite}.motion-ready.page-ready .campaign-glow{animation:glow-breathe 7s var(--soft) infinite alternate}.motion-ready [data-reveal]{opacity:.76;transform:translateY(1.4rem)}.motion-ready [data-reveal].in-view{opacity:1;transform:translateY(0);transition:opacity 850ms var(--ease),transform 850ms var(--ease)}
@keyframes ribbon-drift{0%{transform:translate3d(-1.5%,0,0) rotate(-8deg) scale(.98)}55%{transform:translate3d(2%,-2%,0) rotate(-5.5deg) scale(1.025)}100%{transform:translate3d(-.5%,2%,0) rotate(-9.5deg) scale(1.01)}}@keyframes ribbon-shine{0%,18%{opacity:0;transform:translate3d(-22%,0,0) rotate(-12deg)}48%{opacity:.58}78%,100%{opacity:0;transform:translate3d(24%,0,0) rotate(-12deg)}}@keyframes glow-breathe{from{opacity:.35;transform:rotate(-9deg) scaleX(.92)}to{opacity:.7;transform:rotate(-5deg) scaleX(1.08)}}

@media(max-width:1100px){:root{--display-xl:clamp(4.5rem,9vw,7rem)}.site-header{grid-template-columns:1fr auto 1fr}.site-header nav{gap:1rem}.home-hero{grid-template-columns:.92fr 1.08fr}.hero-copy{padding-left:0}.hero-copy h1 em{margin-left:1rem}.service-stage{grid-template-columns:1fr 22rem;gap:3rem}.site-footer{grid-template-columns:1.3fr 1fr 1fr}.footer-note{grid-column:2/-1}.prices-page .price-hero{grid-template-columns:minmax(0,.9fr) minmax(27rem,1.1fr);gap:2rem}.prices-page .price-category-nav{gap:1.5rem}.prices-page .price-category-nav a{padding-inline:.75rem}.prices-page .price-groups{gap:3.5rem}.prices-page .price-note{grid-template-columns:.45fr 1fr 1fr}.prices-page .price-note .text-link{grid-column:2}}
@media(max-width:860px){
  :root{--header:4.75rem;--section:6rem}.site-header{grid-template-columns:1fr auto;padding-block:.5rem}.site-header nav{position:fixed;top:var(--header);left:0;right:0;height:calc(100svh - var(--header));padding:2rem var(--gutter) 5rem;display:flex;flex-direction:column;align-items:stretch;gap:0;background:rgba(255,253,250,.98);clip-path:inset(0 0 0 100%);visibility:hidden;transition:clip-path var(--base) var(--ease),visibility 0s linear var(--base)}.site-header nav a{min-height:4rem;border-bottom:1px solid var(--line);font:600 1.65rem/1.2 var(--font-display)}.site-header nav a::after{display:none}.nav-open .site-header nav{clip-path:inset(0);visibility:visible;transition-delay:0s}.nav-open{overflow:hidden}.header-cta{display:none}.menu-button{position:relative;width:3rem;height:3rem;border:0;display:grid;place-content:center;gap:.4rem;background:transparent;color:var(--color-strong)}.menu-button span{width:1.45rem;height:1px;background:currentColor;transition:transform var(--fast) var(--soft)}.nav-open .menu-button span:first-child{transform:translateY(.22rem) rotate(45deg)}.nav-open .menu-button span:last-child{transform:translateY(-.22rem) rotate(-45deg)}
  .home-hero{min-height:auto;padding-top:4.5rem;grid-template-columns:1fr}.hero-copy{z-index:2}.hero-copy h1{max-width:43rem}.hero-copy h1 em{margin-left:12%}.hero-copy>p{margin-top:2.4rem}.hero-media{width:min(100%,41rem);min-height:38rem;margin-top:1.2rem}.quick-info{grid-template-columns:1fr 1fr}.quick-link{grid-column:1/-1}.service-discovery>.section-head{display:block}.service-stage{grid-template-columns:1fr}.service-preview{display:none}.service-row{min-height:auto;padding:1.4rem 0;grid-template-columns:2.5rem minmax(0,1fr) 1.5rem}.service-row:hover,.service-row.is-active{padding-left:0}.service-mobile-image{grid-column:2;width:100%;height:13rem;margin-top:.8rem;display:block;overflow:hidden}.service-mobile-image img{width:100%;height:100%}.service-row>svg{grid-column:3;grid-row:1}.care-standard{grid-template-columns:1fr}.care-media{min-height:34rem;clip-path:polygon(0 0,100% 0,100% 90%,50% 100%,0 90%)}.price-preview,.campaign-strip,.detail-fit,.detail-prices,.campaign-prices,.about-visual{grid-template-columns:1fr}.price-link{grid-column:1}.location-section,.contact-location{grid-template-columns:1fr}.map-frame{min-height:28rem}.site-footer{grid-template-columns:1.5fr 1fr 1fr}.footer-note{grid-column:1/-1}
  .inner-hero,.detail-hero,.about-hero,.contact-hero{min-height:auto;grid-template-columns:1fr}.inner-hero-collage{min-height:32rem}.directory>a{grid-template-columns:3rem minmax(0,1fr) 10rem 1.5rem}.detail-hero>div{padding-left:0}.detail-hero figure{height:38rem}.process-band>div{grid-template-columns:repeat(2,1fr)}.process-band article{min-height:13rem;border-bottom:1px solid var(--line-inverse)}.campaign-hero>img{right:-28%;width:105%;opacity:.55}.about-hero>div:last-child{height:37rem}.value-list{grid-template-columns:1fr}.value-list article{min-height:14rem;padding-left:0;border-right:0}.about-visual>div:first-child{height:33rem}.prices-page .price-hero{min-height:auto;grid-template-columns:1fr;align-items:start}.prices-page .price-hero-copy{padding-left:0}.prices-page .price-hero-visual{width:min(100%,40rem);min-height:31rem;margin:0 auto}.prices-page .price-category-nav{grid-template-columns:1fr;gap:.35rem;padding-block:.45rem}.prices-page .price-category-nav>span{display:none}.prices-page .price-category-nav>div{display:flex;overflow-x:auto;scrollbar-width:none}.prices-page .price-category-nav>div::-webkit-scrollbar{display:none}.prices-page .price-category-nav a{flex:0 0 auto;min-height:3.15rem;border-left:0;border-right:1px solid var(--line)}.prices-page .price-groups{grid-template-columns:1fr;gap:0;padding-top:4.5rem}.prices-page .price-category{margin-bottom:3.5rem}.prices-page .price-category summary{min-height:7rem}.prices-page .price-note{grid-template-columns:1fr 1fr;margin-top:0}.prices-page .price-note .eyebrow{grid-column:1/-1}.prices-page .price-note .text-link{grid-column:1}
}
@media(max-width:600px){
  :root{--display-xl:clamp(3.8rem,19vw,5.6rem);--display-lg:clamp(3.45rem,16vw,5rem);--heading-lg:clamp(3rem,14vw,4.6rem);--heading-md:clamp(2.35rem,11vw,3.5rem);--gutter:1.25rem;--section:5rem;--body:1rem}body{line-height:1.65}.brand span{font-size:1.42rem}.brand small{font-size:.56rem}.home-hero{padding-top:3.2rem}.hero-copy h1{line-height:.82}.hero-copy h1 em{margin-left:.5rem;white-space:normal}.hero-copy>p{max-width:22rem;margin-top:2rem;font-size:1rem}.button-row{gap:.8rem 1.15rem}.hero-media{min-height:29rem;margin-top:1rem}.hero-photo{inset:2% 2% 1% 7%}.hero-ribbon{left:-22%;width:145%}.hero-media figcaption{display:none}.quick-info{padding-block:1.3rem;grid-template-columns:1fr;gap:1rem}.quick-link{grid-column:auto}.section-head h2,.booking-band h2{line-height:.97}.section-copy{font-size:1rem}.service-stage{margin-top:3.5rem}.service-row strong{font-size:1.8rem}.service-mobile-image{height:11rem}.care-media{min-height:27rem}.care-content{padding:4.5rem var(--gutter)}.care-points{grid-template-columns:1fr}.care-points article,.care-points article+article{min-height:auto;padding:1.25rem 0;border-right:0;border-bottom:1px solid var(--line-inverse);display:grid;grid-template-columns:2rem 1fr;gap:.3rem 1rem}.care-points h3{margin:0}.care-points p{grid-column:2}.price-preview-list a{min-height:6.5rem;grid-template-columns:2rem minmax(0,1fr) auto;gap:.8rem}.price-preview-list svg{display:none}.price-preview-list span{font-size:1rem}.price-preview-list strong{font-size:.95rem}.campaign-strip{min-height:auto}.campaign-mini p{grid-template-columns:1fr auto}.campaign-mini p span{grid-column:1/-1}.map-frame{min-height:23rem}.site-footer{grid-template-columns:1fr 1fr}.footer-primary,.footer-note{grid-column:1/-1}
  .inner-hero-collage{min-height:25rem}.inner-hero-collage img:first-child{inset:0 17% 7% 0;width:73%}.inner-hero-collage img:last-child{width:47%;height:48%}.directory>a{min-height:auto;padding:1.5rem 0;grid-template-columns:2.2rem minmax(0,1fr) 1.5rem;gap:1rem}.directory-image{grid-column:2;grid-row:2;width:100%;height:10rem}.directory>a>svg{grid-column:3;grid-row:1}.directory h2{font-size:2.15rem}.detail-hero figure{height:29rem}.detail-fit{gap:3rem}.detail-fit li{font-size:1rem}.process-band>div{grid-template-columns:1fr}.process-band article,.process-band article+article{min-height:auto;padding:1.6rem 0;border-right:0}.process-band h2{margin:.6rem 0 .4rem}.price-table p{grid-template-columns:2rem minmax(0,1fr) auto;gap:.6rem;font-size:.9rem}.campaign-hero{min-height:38rem;align-items:flex-end}.campaign-hero>img{top:8%;right:-55%;width:150%}.campaign-price-table p{grid-template-columns:2rem 1fr auto}.campaign-price-table del{grid-column:2}.campaign-price-table strong{grid-column:3;grid-row:1/span 2}.about-hero>div:last-child{height:29rem}.about-statement{min-height:23rem}.about-visual>div:first-child{height:28rem}.contact-actions{margin-top:1rem}.go-page h1{margin:3rem 0}.prices-page .price-hero{padding-top:3.25rem;padding-bottom:2.5rem}.prices-page .price-hero-copy>p:last-child{font-size:1rem;margin-top:1.65rem}.prices-page .price-hero-visual{min-height:23rem;margin-top:.5rem}.prices-page .price-visual-primary{inset:0 14% 3% 0}.prices-page .price-visual-secondary{width:39%;height:43%;border-width:.35rem}.prices-page .price-hero-visual figcaption{display:none}.prices-page .price-category-nav{top:var(--header);margin:0}.prices-page .price-category-nav a{padding-inline:.7rem;font-size:.84rem}.prices-page .price-groups{padding-top:3.5rem}.prices-page .price-category{margin-bottom:2.5rem}.prices-page .price-category summary{min-height:6.4rem;grid-template-columns:2rem minmax(0,1fr) 1.75rem;gap:.7rem}.prices-page .price-category-title strong{font-size:2.2rem}.prices-page .price-category-title small{font-size:.86rem}.prices-page .price-lines p{min-height:3.8rem;grid-template-columns:1.8rem minmax(0,1fr) auto;gap:.55rem;font-size:.9rem}.prices-page .price-lines strong{font-size:.9rem}.prices-page .price-note{grid-template-columns:1fr;padding:2.5rem 1.25rem}.prices-page .price-note .eyebrow,.prices-page .price-note .text-link{grid-column:auto}.prices-page .price-note strong{font-size:1.5rem}
}
@media(max-width:390px){:root{--gutter:1rem}.button{padding-inline:1.1rem}.text-link{font-size:.86rem}.hero-media{min-height:26rem}.service-row{grid-template-columns:1.9rem minmax(0,1fr) 1.2rem}.site-footer{grid-template-columns:1fr}.footer-primary,.footer-note{grid-column:auto}.campaign-mini{padding:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hero-media,.hero-ribbon,.hero-shine,[data-reveal]{transform:none!important;opacity:1!important}.hero-photo{clip-path:polygon(11% 0,89% 0,100% 12%,96% 100%,4% 100%,0 12%)!important}}

/* Pricing navigation stays editorial and exits naturally before the closing CTA. */
.prices-page .price-category-nav{position:relative;top:auto;background:var(--warm);backdrop-filter:none}
.prices-page .price-category{scroll-margin-top:calc(var(--header) + 1.25rem)}

/* Final public polish: resilient text wrapping and concise accordion state motion. */
.campaign-strip>div,.prices-page .price-category-title,.prices-page .price-note>*{min-width:0}
.campaign-strip>div>p:not(.eyebrow),.prices-page .price-note>span,.prices-page .price-note strong{overflow-wrap:anywhere}
.prices-page .price-note strong{white-space:normal}
.site-header{grid-template-columns:minmax(8rem,1fr) auto auto minmax(8rem,1fr);position:sticky}
.search-trigger{justify-self:end;min-height:2.75rem;padding:.45rem .7rem;border:0;background:transparent;color:var(--color-muted);font:600 var(--nav)/1 var(--font-body);cursor:pointer;transition:color var(--fast) var(--ease)}
.search-trigger:hover,.search-trigger:focus-visible{color:var(--color-accent)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.floating-dock{position:fixed;left:clamp(.75rem,2vw,1.5rem);right:clamp(.75rem,2vw,1.5rem);bottom:clamp(.75rem,2vw,1.5rem);z-index:90;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none;opacity:0;transform:translateY(1rem);transition:opacity 220ms var(--ease),transform 220ms var(--ease)}
.floating-dock.is-visible{opacity:1;transform:translateY(0)}.floating-dock>div{display:flex;gap:.4rem;pointer-events:auto}.floating-dock a,.floating-dock button{min-width:2.9rem;min-height:2.9rem;padding:.55rem .7rem;border:1px solid rgba(64,30,69,.16);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,253,250,.94);backdrop-filter:blur(14px);color:var(--color-strong);font-size:.72rem;font-weight:700;box-shadow:0 .5rem 1.5rem rgba(53,25,61,.12);cursor:pointer;transition:transform var(--fast) var(--ease),background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.floating-dock a:hover,.floating-dock a:focus-visible,.floating-dock button:hover,.floating-dock button:focus-visible{background:var(--color-strong);color:var(--color-inverse);transform:translateY(-.18rem)}
.search-overlay{position:fixed;inset:0;z-index:120;padding:clamp(1rem,5vw,5rem);display:grid;place-items:start center;background:rgba(30,12,36,.48);backdrop-filter:blur(12px);animation:search-fade 180ms var(--ease)}.search-dialog{position:relative;width:min(100%,52rem);max-height:calc(100svh - 2rem);overflow:auto;padding:clamp(1.5rem,5vw,4.5rem);background:var(--warm);box-shadow:0 2rem 5rem rgba(24,9,30,.25)}.search-dialog h2{margin:.3rem 0 2rem;font:600 clamp(2.8rem,7vw,5.8rem)/.9 var(--font-display);letter-spacing:-.06em}.search-dialog h2 em{color:var(--color-accent);font-weight:400}.search-close{position:absolute;top:1rem;right:1rem;width:2.8rem;height:2.8rem;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--color-strong);font-size:1.5rem;cursor:pointer}.search-field input{width:100%;min-height:3.5rem;padding:.8rem 0;border:0;border-bottom:1px solid var(--line);outline:0;background:transparent;color:var(--color-strong);font:500 1.1rem var(--font-body)}.search-field input:focus{border-color:var(--color-accent)}.search-results{margin-top:1rem;border-top:1px solid var(--line)}.search-results a{padding:1rem 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:7rem 1fr;gap:.25rem 1rem}.search-results a:hover,.search-results a:focus-visible{background:var(--lavender);outline-offset:-3px}.search-results small{grid-row:1 / span 2;color:var(--color-accent);font-size:var(--caption);font-weight:700;text-transform:uppercase}.search-results strong{font:600 1.25rem/1.1 var(--font-display)}.search-results span{color:var(--color-muted);font-size:var(--body-sm)}.search-empty{color:var(--color-muted)}@keyframes search-fade{from{opacity:0}to{opacity:1}}
@media(max-width:860px){.site-header{grid-template-columns:1fr auto;position:sticky}.search-trigger{position:absolute;right:4.15rem;top:.55rem}.floating-dock{left:.6rem;right:.6rem;bottom:.6rem}.floating-dock a,.floating-dock button{min-width:2.75rem;min-height:2.75rem;padding-inline:.55rem;font-size:.68rem}.search-dialog{padding:2.25rem 1.25rem 1.5rem}.search-results a{grid-template-columns:5rem 1fr}.search-results strong{font-size:1.1rem}}
@media(max-width:390px){.floating-dock a,.floating-dock button{font-size:0}.floating-dock a::first-letter,.floating-dock button::first-letter{font-size:1rem}.floating-dock a{width:2.9rem}.floating-dock a:nth-child(1)::before{content:'W';font-size:.8rem}.floating-dock a:nth-child(2)::before{content:'☎';font-size:.9rem}.floating-dock a:nth-child(3)::before{content:'R';font-size:.8rem}.floating-dock button::before{content:'↑';font-size:1rem}}
@media(prefers-reduced-motion:reduce){.floating-dock,.search-overlay{animation:none;transition:opacity 180ms ease}.floating-dock{transform:none}.floating-dock.is-visible{transform:none}}
.prices-page .price-lines{transform-origin:top;animation:price-lines-in 200ms var(--ease-out)}
@keyframes price-lines-in{from{opacity:0;transform:translateY(-.35rem)}to{opacity:1;transform:translateY(0)}}
/* Phase 2 content foundation */
.blog-hero,.legal-copy{max-width:72rem;margin:0 auto;padding:clamp(4rem,10vw,8rem) 5vw 3rem}.blog-hero h1,.legal-copy h1{font-size:clamp(3rem,7vw,6rem);margin:.5rem 0 1rem}.blog-hero>p:last-child{max-width:38rem;color:var(--color-muted);font-size:var(--body-lg)}
.blog-filters{max-width:72rem;margin:0 auto;padding:0 5vw 2rem;display:flex;gap:.5rem;flex-wrap:wrap}.blog-filters button{border:1px solid var(--line);background:transparent;padding:.65rem 1rem;border-radius:999px;color:inherit;cursor:pointer}.blog-filters button.is-active{background:var(--aubergine);color:#fff}.blog-grid{max-width:72rem;margin:0 auto;padding:1rem 5vw 7rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.blog-card{border-top:1px solid var(--line);padding:1.5rem 0}.blog-card h2{font-size:1.5rem;line-height:1.2}.blog-card h2 a{color:inherit}.blog-card>p:not(.eyebrow){color:var(--color-muted);line-height:1.65}.blog-card[hidden]{display:none}.blog-article{max-width:72rem;margin:auto;padding:clamp(4rem,9vw,8rem) 5vw}.blog-article h1{max-width:58rem;font-size:clamp(3rem,7vw,6.5rem);line-height:1.03}.article-lead{max-width:44rem;font-size:1.3rem;color:var(--color-muted);line-height:1.6}.blog-article-copy{max-width:44rem;margin:3rem 0;font-size:1.08rem;line-height:1.85}.related-articles{border-top:1px solid var(--line);padding-top:2rem}.related-articles div{display:flex;gap:1rem;flex-wrap:wrap}.related-articles a{color:inherit;text-decoration:underline}.faq-list{max-width:52rem;margin:0 auto;padding:1rem 5vw 7rem}.faq-item{border-top:1px solid var(--line)}.faq-item summary{list-style:none;display:flex;gap:1rem;align-items:center;min-height:4.5rem;cursor:pointer;font-size:1.12rem}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{font-family:ui-monospace,monospace;color:var(--color-muted)}.faq-answer{padding:0 0 1.5rem 2.5rem;color:var(--color-muted);line-height:1.7}.legal-copy{max-width:64rem}.legal-copy section{max-width:44rem;border-top:1px solid var(--line);padding:1.5rem 0}.legal-copy h2{font-size:1.4rem}.legal-copy p{line-height:1.75;color:var(--color-muted)}.legal-note{font-size:.95rem;font-style:italic}.form-section{max-width:72rem;margin:0 auto;padding:2rem 5vw 6rem;display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem}.form-intro h2{font-size:clamp(2rem,4vw,3.5rem)}.form-intro p:last-child{color:var(--color-muted);line-height:1.6}.public-form{border:1px solid var(--line);padding:clamp(1.25rem,3vw,2.5rem);background:rgba(255,255,255,.5)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:grid;gap:.45rem;margin-bottom:1rem}.field>span,.checkbox-field span{font-size:.95rem}.field input,.field select,.field textarea{font:inherit;padding:.85rem 1rem;border:1px solid var(--line);background:var(--warm-white);color:inherit;border-radius:.25rem}.field textarea{resize:vertical}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#a53f5a}.field-error{min-height:1.1rem;color:#a53f5a;font-size:.82rem}.checkbox-field{display:flex;gap:.7rem;align-items:flex-start;margin:1rem 0;line-height:1.45}.checkbox-field input{margin-top:.25rem;min-width:1.1rem;min-height:1.1rem}.checkbox-field a{color:inherit;text-decoration:underline}.form-status{min-height:1.4rem;color:var(--color-muted);line-height:1.4}.honeypot{position:absolute;left:-9999px}.online-actions{max-width:72rem;margin:0 auto;padding:1rem 5vw 7rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.online-actions>a,.online-disabled{border-top:1px solid var(--line);padding:1.5rem 0;display:grid;gap:.4rem;color:inherit}.online-actions span{color:var(--color-muted)}.online-disabled{opacity:.55}.welcome-backdrop{position:fixed;inset:0;z-index:100;background:rgba(35,16,39,.4);display:grid;place-items:center;padding:1rem}.welcome-dialog{position:relative;max-width:32rem;background:var(--warm-white);padding:2.5rem;box-shadow:0 1rem 4rem rgba(35,16,39,.2)}.welcome-dialog h2{font-size:2.4rem;line-height:1.1}.welcome-dialog p:not(.eyebrow){color:var(--color-muted);line-height:1.6}.welcome-close{position:absolute;right:1rem;top:1rem;border:0;background:none;font-size:1.5rem;cursor:pointer;color:inherit}.blog-grid,.online-actions{min-width:0}@media(max-width:860px){.blog-grid,.online-actions{grid-template-columns:1fr 1fr}.form-section{grid-template-columns:1fr;gap:1rem}.site-footer{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.blog-grid,.online-actions,.form-grid{grid-template-columns:1fr}.blog-hero,.legal-copy,.blog-article{padding-top:3.5rem}.form-section{padding-bottom:4rem}.welcome-dialog{padding:2rem 1.35rem}}@media(prefers-reduced-motion:reduce){.welcome-backdrop,.welcome-dialog{transition:none;animation:none}}

/* Phase 4 final master cleanup */
.search-trigger{width:44px;height:44px;min-width:44px;padding:0;display:grid;place-items:center;border:1px solid transparent;border-radius:50%}.search-trigger svg,.floating-dock svg,.contact-action-icon svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.search-trigger:hover,.search-trigger:focus-visible{border-color:var(--line);background:var(--lavender)}
.floating-dock a,.floating-dock button{gap:.48rem;padding-inline:.8rem}.floating-dock svg{flex:0 0 auto}.floating-dock span{line-height:1}
.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem}.contact-action{position:relative;min-height:5.25rem;justify-content:start}.contact-action>strong{font-weight:600}.contact-action>svg{margin-left:auto}.contact-action-icon{width:2.5rem;height:2.5rem;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--color-accent);transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.contact-action:hover .contact-action-icon,.contact-action:focus-visible .contact-action-icon{background:var(--aubergine);color:var(--color-inverse)}
.campaign-hero{isolation:isolate}.campaign-hero-media{position:absolute;z-index:1;inset:3% 0 0 44%;margin:0;overflow:hidden}.campaign-hero-media>img:first-child{width:100%;height:100%;object-fit:cover;object-position:center 28%;mask-image:linear-gradient(90deg,transparent 0,#000 20%,#000 100%)}.campaign-hero-ribbon{position:absolute;inset:8% -12% auto -8%;width:120%;height:82%;object-fit:contain;opacity:.34;mix-blend-mode:screen;pointer-events:none}.campaign-prices{background:linear-gradient(135deg,var(--warm) 0,var(--warm) 66%,var(--lavender) 100%)}
.contact-editorial img{object-position:center 25%}.booking-page .contact-hero,.contact-page .contact-hero{padding-block:clamp(3.5rem,6vw,6.5rem)}.booking-page .contact-hero h1{font-size:clamp(4rem,7.7vw,7.2rem);line-height:.88}.booking-page .form-section{padding-top:clamp(1.5rem,3vw,3rem)}.form-intro h2{margin:.35rem 0 .8rem;line-height:1.02}.blog-hero{padding-top:clamp(3.5rem,7vw,6rem);padding-bottom:1.5rem}.blog-hero h1{line-height:.93;margin:.35rem 0 .8rem}.blog-filters{padding-bottom:1.25rem}.blog-grid{padding-top:.5rem}
@media(max-width:860px){body.nav-open{overflow:visible;overscroll-behavior:contain}.site-header nav{z-index:101}.search-trigger{right:4.35rem;top:.6rem}.campaign-hero-media{inset:5% -8% 0 34%}.campaign-hero-media>img:first-child{opacity:.78}.contact-actions{grid-template-columns:1fr}.booking-page .contact-hero h1{font-size:clamp(3.6rem,12vw,5.6rem)}.blog-hero{padding-bottom:1rem}}
@media(max-width:600px){.floating-dock{align-items:center}.floating-dock a,.floating-dock button{width:48px;height:48px;min-width:48px;min-height:48px;padding:0;border-radius:50%}.floating-dock span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.floating-dock svg{width:1.2rem;height:1.2rem}.campaign-hero{min-height:40rem}.campaign-hero-media{inset:4% -25% 0 14%}.campaign-hero-media>img:first-child{object-position:58% 28%;opacity:.62;mask-image:linear-gradient(180deg,#000 0,#000 62%,transparent 100%)}.campaign-hero>div{align-self:end;padding-bottom:2rem}.contact-hero{gap:2rem}.contact-editorial{height:27rem}.booking-page .contact-hero h1{font-size:clamp(3.2rem,15vw,4.6rem);line-height:.9}.booking-page .contact-hero>div>p:not(.eyebrow){margin-top:1.25rem}.blog-hero{padding-top:3rem}.blog-hero h1{font-size:clamp(3rem,15vw,4.6rem)}.blog-filters{padding-bottom:.75rem}.blog-grid{padding-top:0}}
@media(max-width:390px){.floating-dock a,.floating-dock button{font-size:inherit}.floating-dock a::before,.floating-dock button::before{content:none!important}}
