/*
Theme Name: Luxe Laser Collective
Theme URI: https://facesconsent.com/bookings/luxe-laser-collective
Author: Luxe Laser Collective
Description: Luxe Laser Collective – built to the Brand Standards Manual (Ivory, Stone, Champagne, Espresso, Charcoal; Cormorant Garamond + Montserrat). Every page ships as native Pagelayer content, installed in one click from Appearance › Luxe Setup, with a booking request form that accepts photo uploads.
Version: 1.2.1
Requires at least: 6.2
Tested up to: 7.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: luxe-laser
Tags: one-column, custom-logo, custom-menu, featured-images, full-width-template, theme-options, translation-ready, block-styles, wide-blocks
*/

/* ==========================================================================
   1. Fonts (bundled locally – no Google Fonts requests, GDPR friendly)
   ========================================================================== */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/cormorant-garamond-400.woff) format("woff")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/cormorant-garamond-500.woff) format("woff")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/cormorant-garamond-600.woff) format("woff")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(assets/fonts/cormorant-garamond-400-italic.woff) format("woff")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(assets/fonts/cormorant-garamond-500-italic.woff) format("woff")}

@font-face{font-family:"Montserrat";font-style:normal;font-weight:300;font-display:swap;src:url(assets/fonts/montserrat-300.woff) format("woff")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/montserrat-400.woff) format("woff")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/montserrat-500.woff) format("woff")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/montserrat-600.woff) format("woff")}

/* ==========================================================================
   2. Design tokens
   These mirror the Pagelayer global colours the setup wizard installs
   (Pagelayer › Settings › Colors), so changing one place recolours both.
   ========================================================================== */
:root{
	/* Brand palette – Luxe Laser Collective Brand Standards Manual, vol.1 2026 */
	--llc-gold:var(--pagelayer-color-primary,#C7A36A);      /* Champagne – signature accent */
	--llc-gold-deep:var(--pagelayer-color-golddeep,#82663A); /* Champagne, darkened for small text (WCAG AA) */
	--llc-gold-soft:var(--pagelayer-color-goldsoft,#D8BF94);
	--llc-charcoal:var(--pagelayer-color-secondary,#222222); /* Charcoal – primary typography */
	--llc-espresso:var(--pagelayer-color-espresso,#43362F);  /* Espresso – supporting tone */
	--llc-text:var(--pagelayer-color-text,#3B3633);
	--llc-stone:var(--pagelayer-color-stone,#D9D1C7);        /* Stone – secondary neutral */
	--llc-linen:var(--pagelayer-color-accent,#EDE8E2);       /* Stone tint for alternating sections */
	--llc-ivory:var(--pagelayer-color-ivory,#F7F5F2);        /* Ivory – primary background */
	--llc-white:#FFFFFF;
	--llc-line:var(--pagelayer-color-line,#E2DBD2);
	--llc-serif:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
	--llc-sans:"Montserrat","Helvetica Neue",Arial,sans-serif;
	--llc-wrap:1200px;
	--llc-radius:0;
	--llc-shadow:0 24px 60px -30px rgba(34,34,34,.25);
	--llc-ease:cubic-bezier(.2,.7,.2,1);
}

/* ==========================================================================
   3. Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--llc-ivory);color:var(--llc-text);font-family:var(--llc-sans);font-weight:300;font-size:16px;line-height:1.85;letter-spacing:.02em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
a{color:var(--llc-gold-deep);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .25s var(--llc-ease)}
a:hover{color:var(--llc-charcoal)}
p{margin:0 0 1.1em}
strong,b{font-weight:600;color:var(--llc-charcoal)}
h1,h2,h3,h4,h5,h6{font-family:var(--llc-serif);font-weight:400;color:var(--llc-charcoal);line-height:1.12;letter-spacing:.01em;margin:0 0 .5em}
h1,h2{text-transform:uppercase;letter-spacing:.03em}
h1{font-size:clamp(2.3rem,5vw,4rem)}
h2{font-size:clamp(1.8rem,3.4vw,2.7rem)}
h3{font-size:clamp(1.5rem,2.2vw,1.85rem);font-weight:500}
h4{font-size:1.4rem}
h5{font-size:1.15rem}
h6{font-family:var(--llc-sans);font-size:.74rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase}
em,i{font-style:italic}
h1 em,h2 em,h3 em{font-style:normal;color:inherit}
hr{border:0;height:1px;background:var(--llc-line);margin:2.5em 0}
::selection{background:var(--llc-gold-soft);color:var(--llc-charcoal)}
:focus-visible{outline:2px solid var(--llc-gold);outline-offset:3px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;left:12px;top:12px;z-index:100000;background:var(--llc-charcoal);color:#fff;padding:12px 18px}
.llc-wrap{width:100%;max-width:var(--llc-wrap);margin:0 auto;padding:0 24px}

/* ==========================================================================
   4. Buttons (theme + Pagelayer)
   ========================================================================== */
.llc-btn,
.wp-block-button__link,
button.llc-btn,
input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font-family:var(--llc-sans);font-weight:500;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;line-height:1;padding:18px 34px;border-radius:var(--llc-radius);border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background .3s var(--llc-ease),color .3s var(--llc-ease),border-color .3s var(--llc-ease),transform .3s var(--llc-ease)}
.llc-btn--gold{background:var(--llc-gold);color:var(--llc-charcoal)}
.llc-btn--gold:hover{background:var(--llc-charcoal);color:var(--llc-ivory)}
input[type=submit],.llc-btn--dark{background:var(--llc-charcoal);color:var(--llc-ivory)}
input[type=submit]:hover{background:var(--llc-gold);color:var(--llc-charcoal)}
.llc-btn--dark{background:var(--llc-charcoal);color:var(--llc-ivory)}
.llc-btn--dark:hover{background:var(--llc-gold);color:var(--llc-charcoal)}
.llc-btn--line{border-color:currentColor;color:var(--llc-charcoal);background:transparent}
.llc-btn--line:hover{background:var(--llc-charcoal);color:var(--llc-ivory);border-color:var(--llc-charcoal)}
.llc-btn:active{transform:translateY(1px)}
/* Pagelayer buttons: keep the luxury letterforms whatever colours are picked in the editor */
.pagelayer-btn-holder{font-family:var(--llc-sans);font-weight:500;letter-spacing:.26em;text-transform:uppercase;font-size:.72rem;line-height:1;transition:all .3s var(--llc-ease)!important}

/* ==========================================================================
   5. Top bar + header
   ========================================================================== */
.llc-topbar{background:var(--llc-charcoal);color:#EDE6DC;font-size:.8rem;letter-spacing:.06em}
.llc-topbar .llc-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px}
.llc-topbar a{color:#EDE6DC;text-decoration:none}
.llc-topbar a:hover{color:var(--llc-gold-soft)}
.llc-topbar__msg{display:flex;align-items:center;gap:10px}
.llc-topbar__msg .llc-spark{color:var(--llc-gold)}
.llc-topbar__links{display:flex;align-items:center;gap:22px}
.llc-topbar__links a{display:inline-flex;align-items:center;gap:8px}
.llc-topbar svg{width:15px;height:15px;fill:currentColor}

.llc-header{position:sticky;top:0;z-index:999;background:rgba(251,248,243,.94);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.admin-bar .llc-header{top:32px}
.llc-header.is-scrolled{border-bottom-color:var(--llc-line);box-shadow:0 10px 30px -24px rgba(43,36,33,.35)}
.llc-header__inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:96px;transition:min-height .3s var(--llc-ease)}
.llc-header.is-scrolled .llc-header__inner{min-height:76px}
.llc-brand{display:flex;align-items:center;flex-shrink:0;text-decoration:none}
.llc-brand svg,.llc-brand img{display:block;height:62px;width:auto;transition:height .3s var(--llc-ease)}
.llc-header.is-scrolled .llc-brand svg,.llc-header.is-scrolled .llc-brand img{height:52px}
.llc-brand .custom-logo-link{display:block}

.llc-nav{flex:1;display:flex;justify-content:center}
.llc-nav ul{list-style:none;margin:0;padding:0}
.llc-nav>ul,.llc-nav .menu{display:flex;align-items:center;gap:4px}
.llc-nav li{position:relative}
.llc-nav a{display:block;padding:12px 14px;font-size:.8rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--llc-charcoal);text-decoration:none;position:relative}
.llc-nav>ul>li>a::after,.llc-nav .menu>li>a::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:1px;background:var(--llc-gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--llc-ease)}
.llc-nav li:hover>a::after,.llc-nav .current-menu-item>a::after,.llc-nav .current_page_item>a::after,.llc-nav .current-menu-ancestor>a::after{transform:scaleX(1)}
.llc-nav .menu-item-has-children>a,.llc-nav .page_item_has_children>a{padding-right:26px}
.llc-nav .menu-item-has-children>a::before,.llc-nav .page_item_has_children>a::before{content:"";position:absolute;right:12px;top:50%;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-70%) rotate(45deg)}
.llc-nav .sub-menu,.llc-nav .children{position:absolute;top:100%;left:0;min-width:250px;background:var(--llc-white);border:1px solid var(--llc-line);box-shadow:var(--llc-shadow);padding:10px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .25s var(--llc-ease);z-index:10}
.llc-nav .sub-menu::before,.llc-nav .children::before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--llc-gold)}
.llc-nav li:hover>.sub-menu,.llc-nav li:focus-within>.sub-menu,.llc-nav li:hover>.children,.llc-nav li:focus-within>.children{opacity:1;visibility:visible;transform:none}
.llc-nav .sub-menu a,.llc-nav .children a{padding:10px 22px;font-size:.76rem;letter-spacing:.12em}
.llc-nav .sub-menu a:hover,.llc-nav .children a:hover{background:var(--llc-linen);color:var(--llc-gold-deep)}
.llc-header__cta{display:flex;align-items:center;gap:14px;flex-shrink:0}
.llc-burger{display:none;width:46px;height:46px;border:1px solid var(--llc-line);background:transparent;border-radius:var(--llc-radius);cursor:pointer;position:relative;color:var(--llc-charcoal)}
.llc-burger span{position:absolute;left:12px;right:12px;height:1px;background:currentColor;transition:transform .3s var(--llc-ease),opacity .2s}
.llc-burger span:nth-child(1){top:16px}.llc-burger span:nth-child(2){top:22px}.llc-burger span:nth-child(3){top:28px}
.llc-nav-open .llc-burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.llc-nav-open .llc-burger span:nth-child(2){opacity:0}
.llc-nav-open .llc-burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ==========================================================================
   6. Content areas
   ========================================================================== */
.llc-main{display:block;min-height:40vh}
.llc-pl-content{width:100%}
.llc-pl-content>.pagelayer-row:first-child,.llc-pl-content>div>.pagelayer-row:first-child{margin-top:0}
.llc-page-hero{position:relative;background:var(--llc-linen);padding:84px 0 70px;text-align:center;overflow:hidden}
.llc-page-hero::after{content:"";position:absolute;left:50%;bottom:0;width:1px;height:38px;background:var(--llc-gold);transform:translateX(-50%)}
.llc-page-hero h1{margin:0;font-size:clamp(2.4rem,5vw,3.8rem)}
.llc-crumbs{font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px;color:var(--llc-gold-deep)}
.llc-crumbs a{color:inherit;text-decoration:none}
.llc-content{max-width:820px;margin:0 auto;padding:72px 24px 96px}
.llc-content>*:first-child{margin-top:0}
.llc-content img{border-radius:var(--llc-radius)}
.llc-content blockquote{margin:2em 0;padding:8px 0 8px 28px;border-left:1px solid var(--llc-gold);font-family:var(--llc-serif);font-size:1.5rem;font-style:italic;color:var(--llc-charcoal)}
.llc-content ul li::marker{color:var(--llc-gold)}
.alignwide{max-width:1100px;margin-left:auto;margin-right:auto}
.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
.wp-caption-text,figcaption{font-size:.85rem;color:#8b7f76;text-align:center}

/* Posts list */
.llc-posts{max-width:var(--llc-wrap);margin:0 auto;padding:72px 24px 96px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:36px}
.llc-post-card{background:var(--llc-white);border:1px solid var(--llc-line);transition:transform .4s var(--llc-ease),box-shadow .4s var(--llc-ease)}
.llc-post-card:hover{transform:translateY(-4px);box-shadow:var(--llc-shadow)}
.llc-post-card__img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--llc-linen)}
.llc-post-card__img img{width:100%;height:100%;object-fit:cover}
.llc-post-card__body{padding:28px 30px 32px}
.llc-post-card__meta{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--llc-gold-deep);margin-bottom:8px}
.llc-post-card h2{font-size:1.7rem;margin-bottom:.4em}
.llc-post-card h2 a{color:var(--llc-charcoal);text-decoration:none}
.llc-pagination{grid-column:1/-1;display:flex;justify-content:center;gap:8px}
.llc-pagination .page-numbers{display:inline-flex;min-width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--llc-line);text-decoration:none;color:var(--llc-charcoal)}
.llc-pagination .current{background:var(--llc-charcoal);color:var(--llc-ivory);border-color:var(--llc-charcoal)}

/* Forms */
input[type=text],input[type=email],input[type=tel],input[type=search],input[type=url],textarea,select{width:100%;font:inherit;color:var(--llc-charcoal);background:var(--llc-white);border:1px solid var(--llc-line);border-radius:var(--llc-radius);padding:14px 16px;transition:border-color .2s}
input:focus,textarea:focus,select:focus{border-color:var(--llc-gold);outline:0}
.search-form{display:flex;gap:10px}

/* ==========================================================================
   7. Pagelayer content helpers (classes are set on the elements in Pagelayer
      under Advanced › Custom Classes, so they stay editable)
   ========================================================================== */
/* Eyebrow / kicker label above headings */
.llc-eyebrow .pagelayer-heading-holder,.llc-eyebrow .pagelayer-heading-holder *{font-family:var(--llc-sans)!important;font-size:.7rem!important;font-weight:600!important;letter-spacing:.32em!important;text-transform:uppercase!important;line-height:1.5!important;margin:0!important}
.llc-eyebrow .pagelayer-heading-holder p{display:inline-flex;align-items:center;gap:14px}
.llc-eyebrow .pagelayer-heading-holder p::before{content:"";width:34px;height:1px;background:currentColor;opacity:.7}
.llc-eyebrow.llc-center .pagelayer-heading-holder p::after{content:"";width:34px;height:1px;background:currentColor;opacity:.7}

.pagelayer-heading-holder h1,.pagelayer-heading-holder h2,.pagelayer-heading-holder h3,.pagelayer-heading-holder h4{margin:0}
.llc-display .pagelayer-heading-holder h1{font-size:clamp(2.8rem,6.2vw,5.2rem);line-height:1.02;letter-spacing:-.015em}
.llc-lead .pagelayer-text-holder{font-size:1.14rem;line-height:1.8}
.pagelayer-text-holder p{margin:0 0 1em}
.pagelayer-text-holder p:last-child{margin-bottom:0}
.llc-script .pagelayer-heading-holder *{font-family:var(--llc-serif)!important;font-style:italic}

/* Arched imagery – the theme's signature shape */
.llc-arch img,.llc-arch .pagelayer-img{border-radius:0!important;width:100%;object-fit:cover}
.llc-arch-frame{position:relative}
.llc-arch-frame .pagelayer-image-holder{position:relative;display:block}
.llc-arch-frame .pagelayer-image-holder::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--llc-gold);border-radius:0;z-index:0;pointer-events:none}
.llc-arch-frame img{position:relative;z-index:1}
.llc-soft-img img{border-radius:var(--llc-radius)}
.llc-ratio-tall img{aspect-ratio:4/5;object-fit:cover;width:100%}
.llc-ratio-wide img{aspect-ratio:3/2;object-fit:cover;width:100%}
.llc-ratio-card img{aspect-ratio:5/4;object-fit:cover;width:100%}

/* Hero */
.llc-hero{position:relative;overflow:hidden}
.llc-hero .llc-badge-line .pagelayer-text-holder{display:flex;align-items:center;gap:12px;font-size:.88rem;letter-spacing:.04em}
.llc-stars{color:var(--llc-gold);letter-spacing:.18em;font-size:1rem}

/* Check list */
.llc-checks .pagelayer-list-ul{margin:0;padding:0}
.llc-checks .pagelayer-list-item{font-size:1rem}
.llc-checks .pagelayer-list-icon-holder{align-items:center}

/* Cards – drawn with a pseudo element inset by the row's column gap so cards keep a gutter */
.llc-card,.llc-offer,.llc-review,.llc-price-card{position:relative;--llc-gap:14px}
.llc-card::before,.llc-offer::before,.llc-review::before,.llc-price-card::before{content:"";position:absolute;inset:var(--llc-gap);background:var(--llc-white);border:1px solid var(--llc-line);transition:box-shadow .45s var(--llc-ease),border-color .3s;pointer-events:none}
.llc-card>.pagelayer-col-holder,.llc-offer>.pagelayer-col-holder,.llc-review>.pagelayer-col-holder,.llc-price-card>.pagelayer-col-holder{position:relative;z-index:1}
.llc-card{transition:transform .45s var(--llc-ease)}
.llc-card:hover{transform:translateY(-6px)}
.llc-card:hover::before{box-shadow:var(--llc-shadow)}
.llc-card .pagelayer-image{margin:1px 1px 0}
.llc-card .pagelayer-image img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.llc-card .pagelayer-image-holder{overflow:hidden;display:block}
.llc-card .pagelayer-image img{transition:transform 1.2s var(--llc-ease)}
.llc-card:hover .pagelayer-image img{transform:scale(1.04)}
.llc-card-body{padding:0 30px}
.llc-card .llc-eyebrow{margin-top:14px}
.llc-price-from .pagelayer-text-holder{font-family:var(--llc-serif);font-size:1.35rem;color:var(--llc-gold-deep);font-style:italic}
.llc-link-btn .pagelayer-btn-holder{padding:0 0 6px!important;background:transparent!important;border:0!important;border-bottom:1px solid currentColor!important;border-radius:0!important}
.llc-btn-row>.pagelayer-row-holder{display:flex;flex-wrap:wrap;gap:14px}
.llc-btn-row .pagelayer-col,.llc-btn-row .pagelayer-wrap-col{width:auto!important;flex:0 0 auto!important}
.llc-btn-row .pagelayer-col-holder{padding:0!important}

/* Trust strip */
.llc-trust .pagelayer-service-heading{font-family:var(--llc-serif)}
.llc-trust .pagelayer-service-text{font-size:.92rem}

/* Dark band – text colours flip */
.llc-dark,.llc-dark .pagelayer-text-holder{color:#E6DFD6}
.llc-dark .pagelayer-heading-holder *{color:var(--llc-ivory)}
.llc-dark .llc-eyebrow .pagelayer-heading-holder *{color:var(--llc-gold-soft)!important}
.llc-dark strong{color:var(--llc-ivory)}

/* Offer cards on dark */
.llc-offer{padding:44px 40px!important;text-align:center}
.llc-offer::before{background:transparent;border-color:rgba(199,163,106,.35)}
.llc-offer:hover::before{border-color:var(--llc-gold)}
.llc-offer .llc-offer-price .pagelayer-heading-holder *{font-size:clamp(3rem,6vw,4.4rem)!important;color:var(--llc-gold-soft)!important;font-style:italic;font-weight:400}

/* Price tables (Pagelayer "Rich Text" element – edit rows directly in the editor) */
.llc-price-table .pagelayer-text-holder table,.llc-prices{width:100%;border-collapse:collapse;margin:0;font-size:1rem}
.llc-price-table .pagelayer-text-holder td,.llc-price-table .pagelayer-text-holder th,.llc-prices td,.llc-prices th{padding:15px 4px;border-bottom:1px solid var(--llc-line);vertical-align:baseline;text-align:left}
.llc-price-table .pagelayer-text-holder th{font-family:var(--llc-sans);font-weight:500;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--llc-gold-deep);border-bottom-color:var(--llc-gold)}
.llc-price-table .pagelayer-text-holder td:first-child{color:var(--llc-charcoal);font-weight:400}
.llc-price-table .pagelayer-text-holder td:nth-child(2):not(:last-child){color:#93877D;font-size:.88rem;white-space:nowrap;padding-right:16px}
.llc-price-table .pagelayer-text-holder td:last-child,.llc-price-table .pagelayer-text-holder th:last-child{text-align:right;font-family:var(--llc-serif);font-size:1.3rem;color:var(--llc-charcoal);white-space:nowrap}
.llc-price-table .pagelayer-text-holder th:last-child{font-family:var(--llc-sans);font-size:.72rem}
.llc-price-table .pagelayer-text-holder tr:hover td{background:rgba(244,238,230,.6)}
.llc-price-table .pagelayer-text-holder tr.llc-free td:last-child{color:var(--llc-gold-deep);font-style:italic}

.llc-price-card{padding:30px 30px 22px!important}
.llc-price-card--dark::before{background:var(--llc-espresso);border-color:var(--llc-espresso)}
.llc-note .pagelayer-text-holder{font-size:.9rem;color:#8b7f76}

/* Testimonials */
.llc-review{padding:28px 22px!important}
.llc-review::after{content:"\201C";position:absolute;top:24px;right:44px;font-family:var(--llc-serif);font-size:7rem;line-height:1;color:var(--llc-gold-soft);opacity:.6;z-index:1}
.llc-review .pagelayer-testimonial-content,.llc-review .pagelayer-testimonial-content *{font-family:var(--llc-serif);font-size:1.32rem;line-height:1.55;font-style:italic;color:var(--llc-charcoal)}
.llc-review .pagelayer-testimonial-cite{margin-top:18px}
.llc-review .pagelayer-testimonial-author{font-family:var(--llc-sans)!important;font-size:.8rem!important;letter-spacing:.2em;text-transform:uppercase;font-weight:500!important}
.llc-review .pagelayer-testimonial-author-desig{font-size:.82rem!important}
.llc-review .pagelayer-testimonial-image{display:none}

/* FAQ accordion */
.llc-faq .pagelayer-accordion-tabs{font-family:var(--llc-serif)!important;font-size:1.35rem!important;font-weight:500;border-bottom:1px solid var(--llc-line);transition:color .25s}
.llc-faq .pagelayer-accordion-tabs:hover{color:var(--llc-gold-deep)!important}
.llc-faq .pagelayer-accordion_item{border:0!important;margin:0!important}
.llc-faq .pagelayer-accordion-panel{border:0!important}
.llc-faq .pagelayer-accordion-icon,.llc-faq .pagelayer-accordion-icon i{color:var(--llc-gold)!important;font-size:13px!important}
.llc-faq .pagelayer-accordion-panel .pagelayer-text-holder{padding:6px 0 8px}

/* Steps */
.llc-step-num .pagelayer-heading-holder *{font-family:var(--llc-serif)!important;font-size:3.4rem!important;font-style:italic;color:var(--llc-gold)!important;line-height:1!important;font-weight:400!important}

/* Ornament divider */
.llc-ornament{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--llc-gold)}
.llc-ornament::before,.llc-ornament::after{content:"";width:60px;height:1px;background:currentColor;opacity:.6}

/* Contact detail list */
.llc-contact-list .pagelayer-text-holder p{display:flex;gap:16px;align-items:flex-start;margin:0 0 18px}
.llc-contact-list .pagelayer-text-holder p strong{min-width:110px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--llc-gold-deep);font-weight:500;padding-top:3px}
.llc-map iframe{filter:grayscale(.65) sepia(.15);border:1px solid var(--llc-line)}

/* Reveal on scroll (JS adds .is-in). Respect reduced motion. */
.llc-reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--llc-ease),transform .9s var(--llc-ease)}
.llc-reveal.is-in{opacity:1;transform:none}
.pagelayer-editor .llc-reveal,body.pagelayer-live .llc-reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.llc-reveal{opacity:1;transform:none;transition:none}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* ==========================================================================
   8. Footer
   ========================================================================== */
.llc-footer{background:var(--llc-espresso);color:#D9D1C7;font-size:.95rem;position:relative}
.llc-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--llc-gold),transparent)}
.llc-footer a{color:#EDE6DC;text-decoration:none}
.llc-footer a:hover{color:var(--llc-gold-soft)}
.llc-footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:48px;padding:88px 0 64px}
.llc-footer__brand svg,.llc-footer__brand img{height:110px;width:auto;display:block;margin-bottom:22px}
.llc-footer__brand svg .llc-ink{fill:var(--llc-ivory)}
.llc-footer__brand svg .llc-gold{fill:var(--llc-gold)}
.llc-footer h3{font-family:var(--llc-sans);font-size:.74rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--llc-gold-soft);margin:0 0 22px}
.llc-footer ul{list-style:none;margin:0;padding:0}
.llc-footer li{margin-bottom:10px}
.llc-footer__contact li{display:flex;gap:12px;align-items:flex-start}
.llc-footer__contact svg{width:16px;height:16px;fill:var(--llc-gold-soft);flex-shrink:0;margin-top:6px}
.llc-social{display:flex;gap:10px;margin-top:22px}
.llc-social a{width:42px;height:42px;border:1px solid rgba(199,163,106,.4);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:all .3s}
.llc-social a:hover{background:var(--llc-gold);border-color:var(--llc-gold)}
.llc-social a:hover svg{fill:var(--llc-charcoal)}
.llc-social svg{display:block;width:16px!important;height:16px!important;fill:#EDE6DC}
.llc-footer__bottom{border-top:1px solid rgba(199,163,106,.18);padding:24px 0;font-size:.8rem;letter-spacing:.05em;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.llc-footer__bottom ul{display:flex;gap:20px}
.llc-footer__bottom li{margin:0}
.llc-credit{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
.llc-credit a{display:inline-flex;align-items:center;opacity:.9;transition:opacity .2s}
.llc-credit a:hover{opacity:1}
.llc-credit img{height:24px;width:auto;max-width:150px;display:block}

/* Mobile booking bar */
.llc-mobilebar{display:none}

/* ==========================================================================
   9. Responsive
   ========================================================================== */
@media (max-width:1100px){
	.llc-nav a{padding:12px 10px;letter-spacing:.12em}
	.llc-footer__top{grid-template-columns:1fr 1fr;gap:44px}
}
@media (max-width:960px){
	.llc-topbar__msg{display:none}
	.llc-topbar .llc-wrap{justify-content:center}
	.llc-header__inner{min-height:78px}
	.llc-brand svg,.llc-brand img{height:50px}
	.llc-burger{display:inline-block}
	.llc-header__cta .llc-btn{display:none}
	.llc-nav{position:fixed;inset:0 0 0 auto;width:min(380px,88vw);background:var(--llc-ivory);flex-direction:column;justify-content:flex-start;padding:110px 30px 40px;transform:translateX(100%);visibility:hidden;transition:transform .45s var(--llc-ease),visibility 0s .45s;overflow-y:auto;z-index:998;box-shadow:-30px 0 60px -30px rgba(43,36,33,.35)}
	.llc-nav-open .llc-nav{transform:none;visibility:visible;transition:transform .45s var(--llc-ease)}
	.llc-nav>ul,.llc-nav .menu{flex-direction:column;align-items:stretch;gap:0}
	.llc-nav a{padding:16px 0;font-size:.86rem;border-bottom:1px solid var(--llc-line)}
	.llc-nav>ul>li>a::after,.llc-nav .menu>li>a::after{display:none}
	.llc-nav .menu-item-has-children>a::before,.llc-nav .page_item_has_children>a::before{right:4px}
	.llc-nav .sub-menu,.llc-nav .children{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 16px;display:none;min-width:0;background:transparent}
	.llc-nav .sub-menu::before,.llc-nav .children::before{display:none}
	.llc-nav li.is-open>.sub-menu,.llc-nav li.is-open>.children{display:block}
	.llc-nav-backdrop{position:fixed;inset:0;background:rgba(43,36,33,.4);opacity:0;visibility:hidden;transition:opacity .3s;z-index:997}
	.llc-nav-open .llc-nav-backdrop{opacity:1;visibility:visible}
	.llc-nav-open{overflow:hidden}
	.llc-burger{z-index:999}
	.llc-mobilebar{display:grid;grid-template-columns:repeat(var(--llc-mb-cols,3),1fr);position:fixed;left:0;right:0;bottom:0;z-index:990;background:var(--llc-espresso);border-top:1px solid rgba(199,163,106,.35);padding-bottom:env(safe-area-inset-bottom)}
	.llc-mobilebar a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px 11px;color:#EDE6DC;text-decoration:none;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}
	.llc-mobilebar a svg{width:18px;height:18px;fill:currentColor}
	.llc-mobilebar a.is-primary{background:var(--llc-gold);color:var(--llc-charcoal)}
	body{padding-bottom:64px}
	.llc-offer{padding:30px 16px!important}
	.llc-price-card{padding:18px 8px 12px!important}
}
@media (max-width:782px){.admin-bar .llc-header{top:46px}}
@media (max-width:600px){
	body{font-size:16px}
	.llc-topbar__links{gap:16px;font-size:.74rem}
	.llc-topbar__links .llc-hide-sm{display:none}
	.llc-footer__top{grid-template-columns:1fr;padding:64px 0 40px;gap:36px}
	.llc-footer__bottom{flex-direction:column;align-items:flex-start}
	.llc-page-hero{padding:60px 0 54px}
	.llc-content{padding:48px 20px 72px}
	.llc-price-table .pagelayer-text-holder td:nth-child(2):not(:last-child){display:none}
	.llc-review{padding:20px 12px!important}
}
.llc-footer .llc-brand svg,.llc-footer .llc-brand img{height:120px!important;width:auto}

/* ==========================================================================
   10. Booking request form
   ========================================================================== */
.llc-booking{background:var(--llc-white);border:1px solid var(--llc-line);padding:44px 44px 36px;position:relative}
.llc-booking::before{content:"";position:absolute;left:44px;right:44px;top:-1px;height:2px;background:var(--llc-gold)}
.llc-booking fieldset{border:0;margin:0 0 30px;padding:0}
.llc-booking legend{font-family:var(--llc-sans);font-size:.7rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--llc-charcoal);padding:0 0 14px;margin-bottom:18px;border-bottom:1px solid var(--llc-line);width:100%}
.llc-field{margin:0 0 18px}
.llc-field label{display:block;font-size:.78rem;font-weight:500;letter-spacing:.06em;color:var(--llc-charcoal);margin-bottom:8px}
.llc-field label span{color:var(--llc-gold-deep)}
.llc-field-row{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.llc-booking input[type=text],.llc-booking input[type=email],.llc-booking input[type=tel],.llc-booking select,.llc-booking textarea{background:var(--llc-ivory);border:1px solid var(--llc-line);border-radius:0;padding:15px 16px;font-size:.95rem;font-weight:400;color:var(--llc-charcoal);font-family:var(--llc-sans)}
.llc-booking select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--llc-charcoal) 50%),linear-gradient(135deg,var(--llc-charcoal) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 17px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:44px}
.llc-booking input:focus,.llc-booking select:focus,.llc-booking textarea:focus{border-color:var(--llc-gold);background-color:var(--llc-white);outline:0;box-shadow:0 0 0 3px rgba(199,163,106,.18)}
.llc-booking [hidden]{display:none!important}
.llc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.llc-upload__drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px dashed var(--llc-gold);background:var(--llc-ivory);padding:34px 20px;text-align:center;cursor:pointer;transition:background .25s;position:relative}
.llc-upload__drop:hover,.llc-upload__drop:focus-within{background:#F1ECE5}
.llc-upload__drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.llc-upload__title{font-family:var(--llc-serif);font-size:1.5rem;color:var(--llc-charcoal)}
.llc-upload__title::before{content:"+";display:inline-block;margin-right:10px;color:var(--llc-gold-deep)}
.llc-upload__hint{font-size:.78rem;color:#6E6660}
.llc-upload__list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.llc-upload__list li{display:flex;align-items:center;gap:14px;border:1px solid var(--llc-line);padding:8px 10px;background:var(--llc-white)}
.llc-upload__thumb{width:56px;height:56px;flex-shrink:0;background:var(--llc-linen);display:flex;align-items:center;justify-content:center;font-size:.65rem;letter-spacing:.1em;overflow:hidden}
.llc-upload__thumb img{width:100%;height:100%;object-fit:cover}
.llc-upload__name{flex:1;font-size:.82rem;word-break:break-all}
.llc-upload__remove{border:0;background:transparent;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--llc-charcoal);width:36px;height:36px}
.llc-upload__remove:hover{color:#a03a2b}
.llc-upload__tip{font-size:.8rem;color:#6E6660;margin:12px 0 0}
.llc-checks-row{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-bottom:18px}
.llc-check{display:flex;align-items:flex-start;gap:12px;font-size:.88rem;cursor:pointer}
.llc-check input{width:18px;height:18px;margin:3px 0 0;accent-color:var(--llc-charcoal);flex-shrink:0}
.llc-consent{margin:0 0 14px}
.llc-consent label{display:flex;gap:12px;align-items:flex-start;font-size:.85rem}
.llc-booking__note{font-size:.8rem;color:#6E6660;border-left:2px solid var(--llc-gold);padding-left:14px;margin:0 0 24px}
.llc-booking__submit{width:100%;padding:20px 30px}
.llc-booking__submit[disabled]{opacity:.7;cursor:progress}
.llc-booking__errors{border:1px solid #C9A49B;background:#FBF1EE;padding:18px 22px;margin-bottom:26px;font-size:.88rem}
.llc-booking__errors ul{margin:6px 0 0;padding-left:18px}
.llc-booking__done{text-align:center;padding:30px 10px}
.llc-booking__done-mark{width:64px;height:64px;border:1px solid var(--llc-gold);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.6rem;color:var(--llc-gold-deep);margin:0 auto 18px}
@media (max-width:600px){
	.llc-booking{padding:30px 20px 24px}
	.llc-booking::before{left:20px;right:20px}
	.llc-field-row,.llc-checks-row{grid-template-columns:1fr}
}

/* Price tables: grouped rows (Face / Upper body / …) as on the printed price lists */
.llc-price-table .pagelayer-text-holder tr.llc-group th{padding-top:26px;border-bottom:1px solid var(--llc-charcoal);color:var(--llc-charcoal);font-weight:600}
.llc-price-table .pagelayer-text-holder tbody:first-of-type tr.llc-group:first-child th{padding-top:6px}
.llc-price-table .pagelayer-text-holder td:first-child{text-transform:uppercase;letter-spacing:.08em;font-size:.86rem}
/* Photo helpers */
.llc-pos-top img{object-position:50% 12%}
.llc-pos-center img{object-position:50% 50%}
.llc-ratio-square img{aspect-ratio:1/1;object-fit:cover;width:100%}
.llc-ratio-portrait img{aspect-ratio:3/4;object-fit:cover;width:100%}
.pagelayer-image-caption,.pagelayer-image .wp-caption-text{margin-top:12px;text-align:left}
/* Hero tagline (three short lines, mixed case – as on the brand cards) */
.llc-tagline .pagelayer-heading-holder h1{text-transform:none;letter-spacing:0;font-size:clamp(2.5rem,5.4vw,4.4rem);line-height:1.08}
/* Values / Luxe Standard columns */
.llc-value .pagelayer-heading-holder h3{font-family:var(--llc-sans)!important;font-size:.78rem!important;font-weight:600!important;letter-spacing:.3em!important;text-transform:uppercase!important}
.llc-dark .llc-value .pagelayer-heading-holder h3{color:var(--llc-gold-soft)!important}
.llc-script-line .pagelayer-heading-holder *{font-family:var(--llc-serif)!important;font-style:italic;letter-spacing:.12em;text-transform:none!important}
/* Myth / fact cards */
.llc-myth .pagelayer-heading-holder p{font-family:var(--llc-serif);font-style:italic;font-size:1.35rem;color:var(--llc-charcoal)}
.llc-btn-row--center>.pagelayer-row-holder{justify-content:center}
.llc-gallery-img img{width:100%;height:460px;object-fit:cover;object-position:50% 40%}
@media (max-width:780px){.llc-gallery-img img{height:380px}}
.llc-story .pagelayer-text-holder p{font-size:1.02rem;line-height:2}
.llc-offers-light .llc-offer::before{background:var(--llc-white);border-color:var(--llc-line)}
.llc-offers-light .llc-offer .llc-offer-price .pagelayer-heading-holder *{color:var(--llc-charcoal)!important;font-style:normal}
.llc-package-list .pagelayer-text-holder p{font-size:.9rem;margin-bottom:14px}
.llc-package-list .pagelayer-text-holder strong{font-size:.7rem;letter-spacing:.28em;color:var(--llc-gold-deep)}
.llc-hero .llc-arch-frame img{box-shadow:var(--llc-shadow)}
.llc-nav a{white-space:nowrap}
@media (min-width:961px) and (max-width:1280px){.llc-nav a{padding:12px 9px;font-size:.72rem;letter-spacing:.12em}.llc-header__cta .llc-btn{padding:16px 22px}}
.llc-gallery-img img{height:520px}
