/* October 2026: a shared, lighter brand system. Existing CSS is retained for rollback. */
:root { --width:1200px; --soft:#fff5f6; --muted:#636674; --radius:22px; --border:#e7e4e7; }
html { scroll-padding-top:24px; }
body { font-size:16px; line-height:1.75; }
h1,h2,h3 { letter-spacing:-.035em; text-wrap:balance; overflow-wrap:anywhere; }
h1 { font-size:clamp(36px,4.4vw,60px); font-weight:600; text-transform:none; line-height:1.15; }
h2 { font-size:clamp(29px,3.1vw,42px); font-weight:500; line-height:1.2; }
h3 { font-size:22px; font-weight:600; line-height:1.35; }
.lead { font-size:20px; line-height:1.6; }
.eyebrow { font-size:11px; letter-spacing:.13em; margin-bottom:16px; }
.section { padding-block:70px; }
.section + .section:not(.section-soft),.service-section + .section { padding-top:32px; }
.grid,.intro-row,.split,.service-hero { gap:30px; }
.grid > *,.intro-row > *,.split > *,.service-hero > *, .home-hero-grid > *, .contact-shell > *, .treatment-layout > *, .booking-layout > * { min-width:0; }
.grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.grid-2,.intro-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
.split { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:70px; }
.btn { min-height:52px; padding:14px 25px; font-size:14px; font-weight:600; text-transform:none; letter-spacing:0; text-align:center; }
.btn-rose:hover { background:#f9a9b6; }
.btn-outline { border-width:1px; }
.actions { align-items:center; gap:16px; margin-top:26px; }
.text-link { padding:12px 0; font-size:14px; font-weight:500; }
.announcement { background:#fff0f3; color:var(--black); font-size:12px; padding:11px 20px; letter-spacing:0; line-height:1.55; }
.announcement a { margin-left:7px; font-weight:600; }
.header-inner { padding-block:21px; gap:24px; }
.brand img { width:200px; }
#site-nav { gap:22px; }
#site-nav > a,.services-menu > summary { font-size:13px; text-transform:none; font-weight:500; letter-spacing:0; min-height:44px; display:flex; align-items:center; }
#site-nav > .btn { padding:12px 19px; font-size:13px; }
.menu-toggle { font-size:13px; min-height:44px; }
.submenu a { padding-block:13px; }
.home-hero { background:var(--soft); padding-block:58px 64px; overflow:hidden; }
.home-hero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:64px; align-items:center; }
.home-hero-copy h1 { max-width:600px; font-size:clamp(40px,4.6vw,64px); font-weight:500; margin-bottom:24px; }
.home-hero-copy > p:not(.eyebrow):not(.hero-note) { max-width:535px; }
.home-hero-copy .lead { font-size:22px; }
.home-hero-visual { position:relative; margin:0; }
.home-hero-visual > img { width:100%; height:530px; object-fit:cover; object-position:center 43%; border-radius:160px 160px 24px 24px; }
.home-hero-visual figcaption { margin:0; padding:19px 22px; background:white; border-radius:16px; box-shadow:0 12px 32px #2629360b; position:relative; margin-top:-52px; margin-left:-26px; max-width:330px; font-size:12px; color:var(--muted); }
.home-hero-visual figcaption span { display:block; font-size:20px; color:var(--black); margin-bottom:4px; }
.hero-note { color:var(--muted); opacity:1; margin-top:22px; font-size:12px; }
.availability-note { margin-top:24px; padding:16px 18px; border-left:3px solid #c46b80; background:#fff; border-radius:0 12px 12px 0; font-size:13px; max-width:560px; }
.availability-note strong { font-weight:600; }
.availability-note p { font-size:12px; margin:7px 0 0; line-height:1.7; }
.availability-note a { color:#87364b; }
.availability-inline { font-size:12px; margin-top:20px; color:var(--muted); }
.service-card { box-shadow:0 8px 28px #26293604; }
.service-card img { height:auto; aspect-ratio:1.2; transition:transform .25s; }
.service-image-link { overflow:hidden; display:block; }
.service-image-link:hover img { transform:scale(1.025); }
.card-body { padding:24px; }
.card-body h3 { font-size:22px; }
.card-body p { line-height:1.75; }
.card-bottom { padding-top:16px; border-top:1px solid var(--border); flex-wrap:wrap; }
.card-bottom a { font-size:13px; }
.section-heading { margin-bottom:32px; }
.section-heading > p { max-width:400px; font-size:15px; }
.result-pair { margin:0; }
.pair-images { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; border-radius:18px; overflow:hidden; }
.pair-images > div { min-width:0; position:relative; }
.pair-images img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.pair-images span { position:absolute; top:12px; left:10px; font-size:11px; font-weight:600; padding:4px 10px; color:var(--black); background:#fffffff2; border-radius:20px; }
.result-pair figcaption { font-size:13px; margin-top:13px; }
.result-gallery { gap:22px; }
.result-section { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:64px; align-items:center; }
.result-section .pair-images img { max-height:400px; }
.artist-photo { background:#f5e7e9; padding:28px 24px 0; border-radius:150px 150px 24px 24px; }
.portrait { max-width:350px; width:100%; }
.proof-row { display:flex; align-items:center; justify-content:space-between; gap:36px; }
.proof-row > div { max-width:670px; }
.proof-row > .btn { flex-shrink:0; }
.artist-section { align-items:center; }
.steps { gap:34px; }
.step { padding:24px 0; }
.step:before { margin-bottom:18px; }
.step h3 { font-size:21px; }
.location-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px; align-items:center; }
.faq-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:70px; }
.faq-list details { padding:20px 0; }
.faq-list details:first-child { border-top:1px solid var(--border); }
.faq-list summary { font-size:17px; font-weight:500; }
.faq-list details[open] summary { color:#87364b; }
.faq-list details p { font-size:15px; }
.cta { padding-block:65px; }
.cta h2 { color:white; font-size:clamp(34px,3.6vw,48px); font-weight:500; }
.cta > .container > p { font-size:16px; }
.cta > .container > .small { font-size:13px; margin-top:24px; }
.cta a:not(.btn) { color:var(--rose); }
.page-hero { padding-block:42px 48px; }
.compact-hero h1 { font-size:clamp(34px,4vw,53px); }
.compact-hero .lead { max-width:780px; font-size:19px; }
.breadcrumbs { margin-bottom:22px; font-size:12px; }
.service-page-hero { padding-bottom:56px; }
.service-hero { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:56px; }
.service-hero h1 { font-size:clamp(34px,3.9vw,53px); }
.service-hero .lead { font-size:18px; }
.service-hero img { height:auto; max-height:480px; aspect-ratio:4/5; object-fit:cover; }
.service-hero img[src*="lash-line"],.service-hero img[src*="removal"] { aspect-ratio:1.15; }
.service-facts { display:flex; gap:30px; padding-block:18px; border-block:1px solid #e5dce0; margin:24px 0 0; }
.service-facts span { font-size:12px; color:var(--muted); }
.service-facts strong { display:block; font-size:23px; color:var(--black); font-weight:600; }
.variant { background:#fff; padding:26px; border-radius:18px; border:1px solid var(--border); }
.variant h3 { font-size:21px; }
.variant p { font-size:15px; }
.treatment-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:70px; align-items:start; }
.treatment-layout > div > h3 { margin-top:30px; }
.treatment-price { padding:30px; border:1px solid var(--border); border-radius:22px; background:var(--soft); }
.large-price { font-size:36px; font-weight:500; margin-bottom:20px; }
.treatment-price p { font-size:14px; }
.treatment-price .btn { width:100%; }
hr { border:0; border-top:1px solid var(--border); margin:25px 0; }
.prose { max-width:860px; }
.prose h2 { margin-top:38px; font-weight:500; }
.prose.section + .prose.section { border-top:1px solid var(--border); padding-top:44px; }
.pricing-content { max-width:960px; }
.pricing-content .availability-note { max-width:none; margin:0 0 28px; }
.price-group { margin-bottom:42px; }
.price-group h2 { font-size:28px; font-weight:500; }
.price-row strong { font-size:19px; font-weight:600; }
.price-row h3 { font-size:17px; }
.anchor-nav a { padding:11px 18px; min-height:44px; border-color:#edb5c0; font-size:14px; }
.external-panel { padding:28px; background:white; border-radius:20px; }
.map-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.map-heading .eyebrow { margin-bottom:8px; }
.map-heading p { margin-bottom:0; }
.map-heading .btn { flex-shrink:0; }
.external-frame { width:100%; }
.map-frame { height:400px; }
.map-panel > .small { font-size:11px; }
.contact-section { padding-top:42px; }
.quick-contact { display:none; }
.contact-shell { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); border-radius:22px; box-shadow:0 16px 64px #2629360a; border:1px solid var(--border); overflow:hidden; }
.contact-info { padding:40px; background:var(--black); color:white; }
.contact-info .eyebrow { color:var(--rose); }
.contact-info h2 { font-size:29px; font-weight:600; }
.contact-info > p:not(.eyebrow) { color:var(--rose); font-size:18px; }
.contact-details { margin:36px 0; }
.contact-details > div { margin-bottom:23px; }
.contact-details dt { font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:#d4d5de; margin-bottom:6px; }
.contact-details dd { margin:0; font-size:15px; overflow-wrap:anywhere; }
.contact-info a { color:white; }
.contact-info a:hover { color:var(--rose); }
.contact-availability { border-top:1px solid #ffffff2b; padding-top:24px; font-size:13px; }
.contact-availability strong { color:var(--rose); font-weight:500; font-size:16px; }
.contact-availability p { margin:12px 0; color:#e0e0e7; }
.contact-availability a { font-size:12px; }
.contact-form-panel { padding:40px; }
.contact-form-panel h2 { font-size:29px; }
.contact-form-panel > p:not(.eyebrow) { font-size:14px; margin-bottom:24px; color:var(--muted); }
.form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:18px; }
.form-field { min-width:0; }
.form-field p { margin:0; }
.wpcf7 label { font-size:12px; font-weight:500; margin-bottom:0; }
.wpcf7 .form-field > br,.wpcf7 .form-field p > br { display:none; }
.wpcf7 input:not([type=checkbox]):not([type=submit]),.wpcf7 textarea,.wpcf7 select { border:0; border-bottom:1px solid #a1a3ad; border-radius:0; width:100%; min-height:46px; padding:10px 2px; font:inherit; font-size:14px; background:white; color:var(--black); margin-top:6px; }
.wpcf7 textarea { height:110px; }
.wpcf7 select { cursor:pointer; }
.wpcf7 .form-message { margin-bottom:15px; }
.wpcf7 .wpcf7-acceptance label { font-size:12px; display:flex; align-items:flex-start; gap:9px; }
.wpcf7 input[type=checkbox] { margin:5px 0 0; flex-shrink:0; accent-color:#8b394d; width:16px; height:16px; }
.wpcf7 input[type=submit] { cursor:pointer; }
.wpcf7 input[type=submit]:disabled { opacity:.6; cursor:not-allowed; }
.wpcf7 .form-submit { margin:20px 0 0; }
.wpcf7 .form-note { margin:16px 0; font-size:11px; }
.wpcf7-not-valid-tip { color:#a32740; }
.visit-notes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:60px; margin-top:35px; }
.visit-notes h3 { font-size:20px; margin-bottom:12px; }
.visit-notes p { font-size:14px; }
.booking-layout { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:45px; align-items:start; }
.booking-summary { padding:28px; border:1px solid var(--border); border-radius:20px; }
.booking-summary h2 { font-size:30px; }
.booking-summary h3 { font-size:20px; }
.booking-summary p { font-size:14px; }
.scheduler-panel h2 { font-size:30px; }
.scheduler-panel > p { font-size:14px; }
.site-footer { background:#fffafa; padding-top:52px; }
.site-footer a { padding-block:8px; }
.footer-grid { gap:50px; }
.footer-grid p { overflow-wrap:anywhere; }
:focus-visible { outline:3px solid #ae435a; outline-offset:4px; }
@media(max-width:1100px){ .brand img{width:170px} #site-nav{gap:15px} #site-nav>a,.services-menu>summary{font-size:12px} .home-hero-grid{gap:40px} .home-hero-visual>img{height:480px} .proof-row{align-items:start;flex-direction:column} }
@media(max-width:900px){
  .section{padding-block:55px}.home-hero-grid{gap:30px}.home-hero-copy h1{font-size:46px}.home-hero-visual>img{height:450px}.home-hero-visual figcaption{margin-left:0}.home-hero-copy .lead{font-size:20px}
  #site-nav.is-open>a,#site-nav.is-open .services-menu>summary{font-size:15px}#site-nav.is-open>.btn{font-size:14px}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.steps.grid-3{grid-template-columns:1fr}
  .split,.location-layout,.faq-layout,.treatment-layout,.result-section{gap:35px}.contact-info,.contact-form-panel{padding:28px}
  .contact-shell{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.form-grid{grid-template-columns:1fr;gap:13px}.service-hero{gap:30px}
  .booking-layout{grid-template-columns:1fr}.booking-summary{display:block}.service-facts{gap:24px}
}
@media(max-width:600px){
  .container{width:calc(100% - 36px)}.announcement{font-size:11px;padding:10px 18px}.announcement a{display:inline-block;margin-left:0}
  .header-inner{padding-block:15px}.brand img{width:166px}.home-hero{padding-block:36px 44px}.home-hero-grid{grid-template-columns:1fr;gap:32px}
  .home-hero-copy h1{font-size:clamp(35px,9.5vw,44px);max-width:480px}.home-hero-copy .lead{font-size:19px}.home-hero-copy>p{font-size:15px}
  .home-hero-visual>img{height:auto;aspect-ratio:4/4.5;max-height:460px;border-radius:100px 100px 18px 18px}.home-hero-visual figcaption{margin-top:-38px;margin-left:16px;max-width:calc(100% - 32px);padding:14px 18px}
  .home-hero-visual figcaption span{font-size:18px}.home-hero-copy .hero-note{font-size:11px}
  .section{padding-block:44px}.section+.section:not(.section-soft){padding-top:26px}h1{font-size:34px}h2{font-size:30px}h3{font-size:21px}.lead{font-size:18px}
  .grid-3,.grid-2,.intro-row,.split,.location-layout,.faq-layout,.service-hero,.treatment-layout,.result-section,.contact-shell,.visit-notes{grid-template-columns:minmax(0,1fr);gap:28px}
  .service-card img{height:auto;aspect-ratio:1.15}.card-body{padding:23px}.section-heading>p{font-size:14px}.result-gallery{gap:30px}.result-pair figcaption{font-size:12px}
  .pair-images img{max-height:360px}.artist-photo{max-width:370px;margin-inline:auto;width:100%}.artist-section{gap:30px}.portrait{max-width:290px}
  .faq-layout{gap:20px}.faq-list summary{font-size:16px}.proof-row{gap:20px}.proof-row>.btn{flex-shrink:1}.cta{padding-block:50px}.cta>.container>p{font-size:15px}
  .actions{gap:12px}.actions .btn{flex-grow:0;width:100%}.actions>.text-link{padding-block:4px}.btn{padding-inline:20px;font-size:14px}.availability-note{padding:14px 16px;font-size:12px}.availability-note p{font-size:11px}
  .page-hero{padding-block:30px 34px}.compact-hero h1{font-size:34px}.compact-hero .lead{font-size:17px}.breadcrumbs{font-size:11px;margin-bottom:17px;overflow-wrap:anywhere}
  .service-hero h1{font-size:clamp(30px,8vw,36px)}.service-hero .lead{font-size:16px}.service-hero img{height:auto;max-height:420px;aspect-ratio:4/4.5}
  .service-facts{gap:25px;flex-wrap:wrap}.service-facts strong{font-size:22px}.service-facts span{font-size:11px}.service-page-hero{padding-bottom:36px}
  .treatment-price{padding:26px}.treatment-layout>div>h3{margin-top:24px}.variant{padding:24px}.prose h2{font-size:28px}
  .contact-shell{gap:0}.contact-section{padding-top:28px}.contact-info,.contact-form-panel{padding:27px}.contact-info h2,.contact-form-panel h2{font-size:27px}
  .contact-form-panel{order:-1}.quick-contact{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:14px;font-size:13px}.quick-contact a{padding-block:8px;overflow-wrap:anywhere}
  .contact-details{margin:26px 0}.contact-details>div{margin-bottom:19px}.contact-details dd{font-size:14px}.contact-info>p:not(.eyebrow){font-size:17px}
  .form-grid{grid-template-columns:minmax(0,1fr);gap:15px}.map-heading{display:block}.map-heading>.btn{margin-top:18px}.external-panel{padding:22px}.map-frame{height:320px}
  .visit-notes{gap:22px}.booking-summary{padding:24px}.scheduler-panel h2{font-size:27px}.booking-layout{gap:24px}
  .price-row{gap:16px}.price-row h3{font-size:15px}.price-row strong{font-size:17px}.price-row p{font-size:12px}.price-group h2{font-size:26px}
  .anchor-nav a{font-size:12px;padding:10px 14px}.footer-grid{gap:28px}.site-footer{padding-top:40px}
}
@media(max-width:350px){.brand img{width:145px}.menu-toggle{padding:8px 12px;gap:6px}.contact-info,.contact-form-panel{padding:22px}.service-facts{gap:18px}.home-hero-copy h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){.service-image-link:hover img{transform:none}}

/* October 6: Vancouver film, with a soft Oakville colour transition. */
.home-hero { position:relative; isolation:isolate; overflow:hidden; padding-block:62px; background:var(--soft); }
.home-hero-grid { display:block; position:relative; z-index:2; pointer-events:none; }
.home-hero-copy { width:54%; max-width:650px; pointer-events:auto; }
.home-hero-copy h1 { font-size:clamp(42px,4.2vw,60px); max-width:650px; }
.home-hero-copy .lead { font-size:22px; margin-top:26px; }
.home-hero-copy > .eyebrow { font-size:11px; }
.home-hero-copy > p:not(.lead):not(.eyebrow) { max-width:560px; }
.home-hero-copy .availability-note { max-width:550px; background:#ffffffd9; }
.home-hero-media { position:absolute; z-index:0; inset:0 0 0 40%; }
.home-hero-video { display:block; width:100%; height:100%; object-fit:cover; object-position:58% center; }
.home-hero::after { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(90deg,var(--soft) 0%,var(--soft) 40%,rgba(255,245,246,.97) 46%,rgba(255,245,246,.76) 54%,rgba(255,245,246,.25) 67%,rgba(255,245,246,0) 80%); }
.hero-video-tools { position:absolute; z-index:3; right:28px; bottom:24px; display:flex; align-items:center; gap:16px; color:white; }
.hero-video-tools > span { font-size:11px; padding:7px 12px; border-radius:20px; background:#252733b3; }
.hero-video-toggle { display:flex; align-items:center; gap:10px; border:1px solid #ffffffa6; border-radius:32px; padding:13px 18px; background:#252733d9; color:white; cursor:pointer; font:600 13px/1.2 Montserrat,sans-serif; min-height:48px; }
.hero-video-toggle:hover { background:#252733; }
.hero-video-state { display:grid; place-items:center; background:var(--rose); color:var(--black); width:26px; height:26px; border-radius:50%; font-size:12px; }
.hero-achievements { display:flex; align-items:stretch; gap:12px; flex-wrap:wrap; margin:23px 0; }
.hero-achievement-badge { display:flex; align-items:center; gap:10px; min-height:57px; padding:11px 17px; border:1px solid #c9899a; border-radius:36px; background:#fff8f9e6; color:var(--black); text-decoration:none; }
a.hero-achievement-badge:hover { background:white; border-color:#9b4e63; }
.hero-achievement-icon { width:25px; height:27px; display:flex; align-items:center; color:#ac536c; flex-shrink:0; }
.hero-achievement-icon svg { width:100%; height:100%; }
.hero-achievement-text { display:flex; flex-direction:column; font-size:10px; font-weight:700; line-height:1.4; text-transform:uppercase; letter-spacing:.03em; }
.hero-achievement-text > span:first-child { color:#9a425a; }
.ekbe-back-to-top { position:fixed; z-index:90; right:28px; bottom:28px; display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid #e2e1e5; border-radius:50%; background:white; color:var(--black); box-shadow:0 5px 20px #25273326; cursor:pointer; }
.ekbe-back-to-top[hidden] { display:none; }
.ekbe-back-to-top__icon { width:44px; height:44px; }
.ekbe-back-to-top__track,.ekbe-back-to-top__progress { fill:none; stroke-width:2.4; }
.ekbe-back-to-top__track { stroke:#ecebf0; }
.ekbe-back-to-top__progress { stroke:var(--rose); stroke-dasharray:100; stroke-dashoffset:var(--ekbe-scroll-offset,100); transform:rotate(-90deg); transform-origin:center; stroke-linecap:round; }
.ekbe-back-to-top__arrow { fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.ekbe-back-to-top:hover { color:#9b4e63; }
@media(min-width:901px) and (max-width:1100px){ #site-nav{gap:12px}.header-inner{gap:15px}.brand img{width:155px}.hero-achievement-badge{padding:10px 12px}.hero-achievements{gap:8px}.hero-achievement-text{font-size:9px} }
@media(max-width:900px){
  .home-hero{padding-top:46px;padding-bottom:365px}.home-hero-copy{width:100%;max-width:650px}.home-hero-media{inset:auto 0 0;height:340px}
  .home-hero-video{object-position:center 58%}.home-hero::after{inset:auto 0 0;height:340px;background:linear-gradient(180deg,var(--soft) 0%,rgba(255,245,246,.7) 14%,rgba(255,245,246,0) 42%)}
  .home-hero-copy h1{font-size:46px}.hero-video-tools{right:20px;bottom:20px}
}
@media(max-width:600px){
  .home-hero{padding-top:34px;padding-bottom:280px}.home-hero-copy{width:100%}.home-hero-copy h1{font-size:clamp(34px,9.5vw,44px)}.home-hero-copy .lead{font-size:19px}
  .home-hero-media{height:260px}.home-hero::after{height:260px}.hero-video-tools{left:18px;right:18px;bottom:16px;justify-content:space-between;gap:8px}
  .hero-video-tools>span{font-size:9px;max-width:170px}.hero-video-toggle{padding:10px 12px;font-size:11px;gap:7px}.hero-video-state{width:23px;height:23px}
  .hero-achievements{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:8px;margin:20px 0}.hero-achievement-badge{gap:7px;padding:10px;border-radius:20px}.hero-achievement-text{font-size:9px;letter-spacing:0}.hero-achievement-icon{width:20px;height:23px}
  .ekbe-back-to-top{right:16px;bottom:18px}
}
