/* Glamorous You by Tania: design system + components
   Built by The Vault Media Co. One type pairing, one spacing scale, one radius scale, one accent. */

/* ---------- fonts (self-hosted, upright only) ---------- */
@font-face{font-family:"Cormorant Garamond";src:url(../fonts/cormorant-300.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(../fonts/cormorant-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(../fonts/cormorant-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(../fonts/cormorant-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Albert Sans";src:url(../fonts/albert-sans-300.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Albert Sans";src:url(../fonts/albert-sans-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Albert Sans";src:url(../fonts/albert-sans-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Albert Sans";src:url(../fonts/albert-sans-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}

/* ---------- tokens ---------- */
:root{
  /* colour: warm neutrals from Tania's palette, one copper accent */
  --bg:#fffdfa; --bg-alt:#fbf4ee; --bg-hero:#f9f0e9; --surface:#ffffff;
  --ink:#2b1f1b; --ink-2:#47362f; --muted:#5c4c43; --line:#e8dbd1; --line-strong:#d6c3b6;
  --accent:#a35a33;           /* CTA fill, links: 5.6:1 on white */
  --accent-hover:#8a4726;
  --accent-text:#9a522c;      /* accent used as text on light backgrounds */
  --accent-soft:#f5e4d6;
  --dark:#3f2e27; --on-dark:#fff; --on-dark-muted:#e9ddd5;
  --danger:#a3261c; --success:#1f5c3e;
  /* type */
  --display:"Cormorant Garamond","Didot","Bodoni 72",Georgia,serif;
  --body:"Albert Sans","Helvetica Neue",Arial,sans-serif;
  --t-xs:.8125rem; --t-sm:.9375rem; --t-md:1.0625rem; --t-lg:1.25rem; --t-xl:1.625rem;
  --t-2xl:clamp(2rem,3.6vw,2.75rem); --t-3xl:clamp(2.5rem,5vw,3.75rem); --t-hero:clamp(3rem,7vw,5.75rem);
  /* space: 4pt scale */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px;
  /* radius: inner = outer - padding (see .nest) */
  --r-sm:6px; --r-md:12px; --r-lg:20px; --r-pill:999px;
  --shadow:0 18px 40px -24px rgba(72,46,33,.35);
  --ease:cubic-bezier(.22,1,.36,1);
  --z-header:30; --z-skip:50;
  --header-h:72px;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
*{font-style:normal}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-synthesis:none}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--t-md)/1.65 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video,svg{display:block;max-width:100%}
img{height:auto;background:var(--bg-alt);transition:opacity .5s var(--ease)}
img.is-loading{opacity:0}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{margin:0;font-weight:500;line-height:1.08;text-wrap:balance}
p,li,dd{text-wrap:pretty}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
q{quotes:'"' '"'}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.i{width:1.15em;height:1.15em;flex:none;transform:translateY(.02em)}
.i.flip{transform:scaleX(-1)}
.sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.num,.price,.price-table b,.car-count,.facts,.f-row{font-variant-numeric:tabular-nums lining-nums}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
[id]{scroll-margin-top:calc(var(--header-h) + var(--s5))}
[hidden]{display:none!important}
.skip{position:absolute;left:var(--s4);top:-60px;z-index:var(--z-skip);background:var(--ink);color:#fff;padding:var(--s3) var(--s4);border-radius:var(--r-sm)}
.skip:focus{top:var(--s4)}
.container{width:min(1200px,100% - 2*var(--s5));margin-inline:auto}
.container.narrow{width:min(820px,100% - 2*var(--s5))}

/* ---------- type roles ---------- */
.eyebrow{color:var(--accent-text);font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin-bottom:var(--s4)}
.sec-title{font-family:var(--display);font-size:var(--t-2xl);letter-spacing:-.01em;line-height:1.05}
.sec-sub{color:var(--muted);max-width:40em;margin-top:var(--s3)}
.lede{font-size:var(--t-lg);line-height:1.6;color:var(--muted);max-width:34em}
.lede + .lede{margin-top:var(--s3)}

/* ---------- buttons + links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:48px;padding:0 var(--s5);border-radius:var(--r-pill);border:1px solid transparent;font-weight:600;font-size:var(--t-sm);letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}
.btn .i{transition:transform .25s var(--ease)}
.btn:hover .i{transform:translateX(3px)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 10px 24px -14px rgba(163,90,51,.9)}
.btn-primary:hover{background:var(--accent-hover)}
.btn-lg{min-height:56px;padding:0 var(--s6);font-size:var(--t-md)}
.btn-block{width:100%}
.btn-ghost-light{color:#fff;border-color:rgba(255,255,255,.45)}
.btn-ghost-light:hover{background:rgba(255,255,255,.1);border-color:#fff}
.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent-text);font-weight:600;font-size:var(--t-sm);text-decoration:none;min-height:44px}
.text-link .i{transition:transform .25s var(--ease)}
.text-link:hover .i{transform:translateX(3px)}
.text-link:hover{text-decoration:underline;text-underline-offset:4px}

/* loading state on submit buttons */
.spinner{display:none;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite}
.btn.is-loading{pointer-events:none;opacity:.85}
.btn.is-loading .spinner{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:var(--z-header);background:rgba(255,252,248,.92);backdrop-filter:saturate(1.2) blur(12px);-webkit-backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid var(--line)}
.header-inner{width:min(1340px,100% - 2*var(--s5));margin-inline:auto;display:flex;align-items:center;gap:var(--s5);min-height:var(--header-h)}
.brand{display:flex;align-items:center;gap:var(--s3);text-decoration:none}
.brand img{width:44px;height:44px;border-radius:var(--r-sm)}
.brand-text strong{display:block;font-size:var(--t-sm);letter-spacing:.14em;font-weight:600}
.brand-text span{display:block;font-size:.6875rem;letter-spacing:.16em;color:var(--muted);margin-top:2px}
.site-nav{display:flex;gap:var(--s5);margin-left:auto;font-size:var(--t-sm);font-weight:500}
.site-nav a{text-decoration:none;padding:var(--s2) 0;position:relative;color:var(--ink-2)}
.site-nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.site-nav a:hover::after,.site-nav a[aria-current="page"]::after{transform:scaleX(1)}
.site-nav a[aria-current="page"]{color:var(--ink)}
.header-cta{margin-left:var(--s2);min-height:44px}
.menu-btn{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);cursor:pointer;place-items:center}
.menu-btn .i{width:20px;height:20px;transform:none}

/* ---------- hero (home) ---------- */
.hero{background:var(--bg-hero);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s8);align-items:center;min-height:min(760px,calc(100svh - var(--header-h)));padding-block:var(--s8)}
.hero h1{font-family:var(--display);font-size:var(--t-hero);line-height:.96;letter-spacing:-.02em;font-weight:500;margin-bottom:var(--s5)}
.hero h1 span{color:var(--accent-text)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s5);margin-top:var(--s6)}
.hero-note{margin-top:var(--s5);color:var(--muted);font-size:var(--t-sm)}
.hero-visual{position:relative;margin:0;justify-self:end;width:min(520px,100%)}
.arch{border-radius:999px 999px var(--r-lg) var(--r-lg);overflow:hidden;aspect-ratio:3/4;background:#e8cdb9;box-shadow:var(--shadow)}
.arch img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero-quote{position:absolute;left:-64px;bottom:48px;width:min(300px,80%);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s4) var(--s5);box-shadow:var(--shadow);display:grid;gap:var(--s2)}
.hero-quote q{font-family:var(--display);font-size:1.3rem;line-height:1.3;font-weight:500;text-indent:-.4em}
.hero-quote .who{font-size:var(--t-xs);color:var(--muted);font-weight:500}
.stars{display:inline-flex;gap:2px;color:var(--accent)}
.stars svg{width:15px;height:15px}
.stars svg.off{opacity:.25}

/* ---------- page hero (inner pages) ---------- */
.page-hero{background:var(--bg-hero);padding-block:var(--s8) var(--s8)}
.page-hero:not(.has-visual){padding-bottom:var(--s7)}
.ph-grid{display:grid;grid-template-columns:1fr;gap:var(--s7);align-items:center}
.page-hero.has-visual .ph-grid{grid-template-columns:1.1fr .9fr}
.page-hero h1{font-family:var(--display);font-size:var(--t-3xl);letter-spacing:-.015em;line-height:1;margin-bottom:var(--s4);max-width:16em}
.ph-visual{margin:0;justify-self:end;width:min(460px,100%);aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow)}
.ph-visual img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.crumbs ol{display:flex;flex-wrap:wrap;gap:var(--s2);font-size:var(--t-xs);color:var(--muted);margin-bottom:var(--s4)}
.crumbs li+li::before{content:"/";margin-right:var(--s2);opacity:.6}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.facts{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s5)}
.facts li{padding:6px var(--s3);border:1px solid var(--line-strong);border-radius:var(--r-pill);font-size:var(--t-xs);font-weight:500;color:var(--ink-2);background:rgba(255,255,255,.6)}

/* ---------- sections ---------- */
.section{padding-block:var(--s9)}
.section-tight{padding-block:var(--s7)}
.section-flush-top{padding-top:var(--s7)}
.section-alt{background:var(--bg-alt)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s5);margin-bottom:var(--s6)}
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--s8);align-items:center}
.split-text{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--s8);align-items:start}
.two-up{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}

/* ---------- prose ---------- */
.prose{max-width:40em;color:var(--ink-2)}
.prose > * + *{margin-top:var(--s4)}
.prose h2{font-family:var(--display);font-size:var(--t-xl);margin-top:var(--s7);color:var(--ink)}
.prose h3{font-size:var(--t-md);font-weight:600;margin-top:var(--s5);color:var(--ink)}
.prose ul{display:grid;gap:var(--s3)}
.prose ul li{position:relative;padding-left:var(--s5)}
.prose ul li::before{content:"";position:absolute;left:2px;top:.7em;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.prose a{color:var(--accent-text);text-underline-offset:3px}
.prose strong{font-weight:600;color:var(--ink)}
.legal .updated{color:var(--muted);font-size:var(--t-sm)}

/* ---------- about ---------- */
.about-photo{margin:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;background:#e2c2ab}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.about-copy .sec-title{margin-bottom:var(--s5)}
.about-copy p{color:var(--muted);max-width:36em}
.about-copy p + p{margin-top:var(--s3)}
.about-copy .actions{margin-top:var(--s5)}
.about-proof{margin-top:var(--s8)}
.section-tight-bottom{padding-bottom:var(--s5)}

/* ---------- proof strip ---------- */
.rv{transition:transform 1s var(--ease),filter 1s var(--ease)}
.rv.pre{transform:translateY(22px);filter:blur(4px)}
.proof{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(22,18,17,.13);border-bottom:1px solid rgba(22,18,17,.13)}
.proof li{display:flex;flex-direction:column;gap:6px;padding:22px clamp(10px,2vw,26px);border-left:1px solid rgba(22,18,17,.13);min-width:0}
.proof li:first-child{border-left:0;padding-left:0}
.proof b{font-family:var(--display);font-weight:300;font-size:clamp(2.6rem,5vw,4.2rem);line-height:.9;color:#a9501a;white-space:nowrap;font-variant-numeric:oldstyle-nums tabular-nums}
.proof li:last-child b{font-family:var(--body);font-size:clamp(1.1rem,2vw,1.5rem);letter-spacing:.12em;line-height:clamp(2.3rem,4.5vw,3.8rem)}
.proof span{font-weight:300;font-size:.82rem;color:#5a4b43;line-height:1.4}

/* ---------- services ---------- */
.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.service{position:relative;min-height:420px;border-radius:var(--r-lg);overflow:hidden;color:#fff;display:flex;align-items:flex-end;background:#352722;isolation:isolate}
.service img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;z-index:-2;transition:transform .6s var(--ease),opacity .5s var(--ease)}
.service::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,9,8,0) 30%,rgba(15,9,8,.5) 58%,rgba(12,7,7,.92) 100%)}
.service:hover img{transform:scale(1.03)}
.service-body{padding:var(--s5)}
.service h3{font-family:var(--body);font-size:var(--t-lg);font-weight:600;line-height:1.25;margin-bottom:var(--s2)}
.service h3 a{text-decoration:none}
.service h3 a::after{content:"";position:absolute;inset:0}
.service p{font-size:var(--t-sm);line-height:1.5;color:#f7efe9}
.service .price{color:#ffd2b3;font-weight:600;margin-top:var(--s2)}
.service:focus-within{outline:2px solid var(--accent);outline-offset:3px}

/* ---------- price table ---------- */
.price-table{width:100%;border-collapse:collapse;margin-top:var(--s6)}
.price-table tr{border-top:1px solid var(--line)}
.price-table tr:last-child{border-bottom:1px solid var(--line)}
.price-table th,.price-table td{padding:var(--s4) 0;vertical-align:top;text-align:left}
.price-table th{font-weight:600;padding-right:var(--s5)}
.price-table th a{text-decoration:none}
.price-table th a:hover{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.price-table small{display:block;font-weight:400;color:var(--muted);font-size:var(--t-sm);margin-top:2px}
.price-table td{text-align:right;white-space:nowrap}
.price-table td b{font-family:var(--display);font-size:var(--t-xl);font-weight:500;color:var(--accent-text)}
.table-note{margin-top:var(--s4)}

/* ---------- occasions + link cards ---------- */
.occ-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s7);margin-top:var(--s6)}
.occ-group h3{font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:var(--s3)}
.occ-list li{border-top:1px solid var(--line)}
.occ-list li:last-child{border-bottom:1px solid var(--line)}
.occ-list a{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s4) 0;text-decoration:none;font-weight:500;transition:color .2s,padding .25s var(--ease)}
.occ-list a:hover{color:var(--accent-text);padding-left:var(--s2)}
.link-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:var(--s6)}
.link-card{position:relative;display:grid;gap:var(--s1);padding:var(--s5);padding-right:var(--s8);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);text-decoration:none;height:100%;transition:border-color .2s,transform .25s var(--ease),box-shadow .25s var(--ease)}
.link-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}
.lc-t{font-weight:600}
.lc-d{color:var(--muted);font-size:var(--t-sm)}
.link-card .i{position:absolute;right:var(--s5);top:50%;margin-top:-.55em;color:var(--accent-text);transition:transform .25s var(--ease)}
.link-card:hover .i{transform:translateX(3px)}
.place-card{display:grid;gap:var(--s3);padding:var(--s6);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);text-decoration:none;transition:border-color .2s,box-shadow .25s var(--ease)}
.place-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}
.place-card h3{display:flex;align-items:center;gap:var(--s2);font-family:var(--display);font-size:var(--t-xl)}
.place-card h3 .i{color:var(--accent)}
.place-card p{color:var(--muted)}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5);margin-top:var(--s6);counter-reset:none}
.steps li{padding-top:var(--s5);border-top:1px solid var(--line-strong)}
.steps .n{display:block;font-family:var(--display);font-size:var(--t-xl);color:var(--accent-text);margin-bottom:var(--s3);font-variant-numeric:tabular-nums lining-nums}
.steps h3{font-size:var(--t-lg);font-weight:600;margin-bottom:var(--s2);font-family:var(--body)}
.steps p{color:var(--muted)}

/* ---------- reviews ---------- */
.feature-review{margin:0;padding:var(--s7);background:var(--dark);color:#fff;border-radius:var(--r-lg)}
.feature-review p{font-family:var(--display);font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.3;font-weight:500;max-width:40em;text-indent:-.35em}
.feature-review footer{margin-top:var(--s4);color:var(--on-dark-muted);font-weight:500;font-size:var(--t-sm)}
.carousel{overflow:hidden;touch-action:pan-y;border-radius:var(--r-lg)}
.carousel:focus-visible{outline-offset:4px}
.track{display:flex;transition:transform .5s var(--ease);will-change:transform}
.slide{flex:0 0 100%;display:flex}
.review{flex:1;display:flex;flex-direction:column;gap:var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s6)}
.review p{font-size:var(--t-lg);line-height:1.6;color:var(--ink-2);text-indent:-.4em}
.review strong{font-weight:600}
.car-controls{display:flex;align-items:center;justify-content:center;gap:var(--s4);margin-top:var(--s4)}
.car-btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);display:grid;place-items:center;cursor:pointer;transition:border-color .2s,background-color .2s}
.car-btn:hover{border-color:var(--accent);background:var(--accent-soft)}
.car-btn .i{width:20px;height:20px}
.car-btn .i.flip{transform:scaleX(-1)}
.car-count{color:var(--muted);font-weight:600;font-size:var(--t-sm);min-width:4.5em;text-align:center}
.review-grid{columns:3 300px;column-gap:var(--s4);margin-top:var(--s6)}
.review-grid li{break-inside:avoid;margin-bottom:var(--s4)}
.review-grid .review{padding:var(--s5)}
.review-grid .review p{font-size:var(--t-md)}

/* ---------- stacked review carousel (What clients say) ---------- */
.stack{position:relative;width:100%;max-width:56rem;margin-inline:auto;height:440px;outline:none}
.stack:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:var(--r-lg)}
.stack-stage{position:relative;height:100%;padding-block:var(--s7) var(--s8)}
.stack-card{position:absolute;left:50%;top:50%;width:calc(100% - 2rem);max-width:600px;margin:0;border:1px solid rgba(43,31,27,.1);border-radius:16px;background:rgba(255,253,250,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 30px -12px rgba(72,46,33,.28);padding:var(--s5);transform:translate(-50%,-50%);transition:transform .45s cubic-bezier(.34,1.3,.64,1),opacity .25s cubic-bezier(.4,0,.2,1),filter .25s cubic-bezier(.4,0,.2,1);will-change:transform,opacity,filter}
.stack-card blockquote{position:relative;margin:0}
.stack-card .qm{position:absolute;top:-.35em;left:-.15em;font-family:var(--display);font-size:3rem;line-height:1;color:rgba(43,31,27,.1)}
.stack-card p{position:relative;font-size:var(--t-sm);line-height:1.7;color:var(--ink-2)}
.stack-card figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:2px var(--s3);margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid rgba(43,31,27,.06)}
.sc-author{font-weight:600;font-size:var(--t-xs);color:var(--ink)}
.sc-title{font-size:var(--t-xs);color:var(--muted)}
.stack-card .stars{margin-left:auto}
.stack-card .stars svg{width:12px;height:12px}
.stack-nav{position:absolute;left:50%;bottom:var(--s2);transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:var(--s2)}
.stack-btn{position:relative;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;border:.5px solid rgba(43,31,27,.12);background:rgba(255,253,250,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:rgba(43,31,27,.6);cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .2s,color .2s}
.stack-btn::after{content:"";position:absolute;inset:-8px}
.stack-btn .i{width:14px;height:14px;transform:none}
.stack-btn:hover:not(:disabled){border-color:rgba(43,31,27,.22);background:rgba(255,253,250,.9);box-shadow:var(--shadow);color:var(--ink)}
.stack-btn:disabled{opacity:.3;cursor:not-allowed}
.stack-dots{display:flex;align-items:center;gap:6px}
.stack-dot{position:relative;width:8px;height:8px;padding:0;border:0;border-radius:var(--r-pill);background:rgba(163,90,51,.3);cursor:pointer;transition:width .2s,background-color .2s}
.stack-dot::after{content:"";position:absolute;inset:-10px -3px}
.stack-dot:hover{background:rgba(163,90,51,.5)}
.stack-dot[aria-current="true"]{width:32px;background:var(--accent)}
@media (max-width:760px){.stack{height:520px}.stack-dots{gap:4px}.stack-dot{width:6px;height:6px}.stack-dot[aria-current="true"]{width:20px}}
@media (max-width:420px){.stack{height:580px}}
@media (max-width:380px){.stack{height:640px}}

/* ---------- recent work: horizontal scroll row ---------- */
.sec-tools{display:flex;align-items:center;gap:var(--s5)}
.row-arrows{display:flex;gap:var(--s2)}
.row-btn{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;transition:opacity .3s,background-color .2s,border-color .2s}
.row-btn:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}
.row-btn:disabled{opacity:.3;cursor:not-allowed}
.row-btn .i{width:20px;height:20px;transform:none}
.work-row{display:flex;gap:var(--s5);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-block:var(--s2) var(--s3);margin-block:calc(-1 * var(--s2)) 0}
.work-row::-webkit-scrollbar{display:none}
.work-card{flex:0 0 280px;scroll-snap-align:start}
.work-card a{display:block;text-decoration:none}
.work-card img{width:100%;height:380px;object-fit:cover;object-position:center 30%;border-radius:var(--r-md);border:1px solid var(--line);margin-bottom:var(--s3);transition:transform .3s var(--ease),box-shadow .3s var(--ease),opacity .5s var(--ease)}
.work-card a:hover img,.work-card a:focus-visible img{transform:translateY(-4px);box-shadow:var(--shadow)}
.wc-label{font-weight:600;font-size:var(--t-md)}
.work-card a:hover .wc-label{color:var(--accent-text)}
@media (max-width:640px){.row-arrows{display:none}.work-card{flex-basis:240px}.work-card img{height:320px}.work-row{gap:var(--s4)}}

/* ---------- gallery ---------- */
.filters{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s5)}
.filter-btn{min-height:44px;padding:0 var(--s4);border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r-pill);font-weight:600;font-size:var(--t-sm);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.filter-btn:hover{border-color:var(--accent)}
.filter-btn[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.gallery-home{grid-template-columns:repeat(4,minmax(0,1fr))}
.g-item{aspect-ratio:3/4;border-radius:var(--r-md);overflow:hidden;background:var(--bg-alt);animation:fadeUp .4s var(--ease) both}
.g-item img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .5s var(--ease),opacity .5s var(--ease)}
.g-item:hover img{transform:scale(1.03)}
.gallery-empty{border:1px dashed var(--line-strong);border-radius:var(--r-lg);padding:var(--s7) var(--s5);text-align:center;color:var(--muted)}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- video ---------- */
.video-band{background:var(--bg-alt);padding:0 var(--s5) var(--s8)}
.video-frame{position:relative;width:min(760px,100%);margin-inline:auto;border-radius:var(--r-lg);overflow:hidden;background:#c8a18b;aspect-ratio:16/10}
.showcase-video{width:100%;height:100%;object-fit:cover}
.video-toggle{position:absolute;right:var(--s4);bottom:var(--s4);min-height:44px;padding:0 var(--s5);border-radius:var(--r-pill);border:0;background:rgba(43,31,27,.85);color:#fff;font-weight:600;cursor:pointer}

/* ---------- areas ---------- */
.areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s7);margin:var(--s6) 0 0}
.areas div{padding:var(--s4) 0;border-top:1px solid var(--line)}
.areas dt{font-weight:600}
.areas dd{margin:var(--s1) 0 0;color:var(--muted);font-size:var(--t-sm)}

/* ---------- contact ---------- */
.contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.contact-cards a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:var(--s4);align-items:center;padding:var(--s5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);text-decoration:none;height:100%;transition:border-color .2s,box-shadow .25s var(--ease)}
.contact-cards a:hover{border-color:var(--accent);box-shadow:var(--shadow)}
.contact-cards .i{grid-row:1/3;width:24px;height:24px;color:var(--accent)}
.cc-k{font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.cc-v{font-weight:600;overflow-wrap:anywhere}
.contact-list{display:grid;gap:var(--s3)}
.contact-list li{display:flex;align-items:center;gap:var(--s3)}
.contact-list .i{color:var(--accent)}
.contact-list a{font-weight:600;text-decoration:none;min-height:36px;display:inline-flex;align-items:center}
.contact-list a:hover{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}

/* ---------- booking ---------- */
.book-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:var(--s7);align-items:start}
.booking-form{--pad:var(--s6);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--pad);box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
.field{display:grid;gap:6px;align-content:start;min-width:0;border:0;margin:0;padding:0}
.field.full{grid-column:1/-1}
.field label,.field legend{font-size:var(--t-sm);font-weight:600;color:var(--ink-2);padding:0}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);font-size:16px;transition:border-color .2s,box-shadow .2s}
.field textarea{resize:vertical;min-height:110px}
.field input::placeholder,.field textarea::placeholder{color:#8a7a70}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(163,90,51,.18)}
.field [aria-invalid="true"]{border-color:var(--danger);box-shadow:0 0 0 3px rgba(163,38,28,.12);animation:nudge .3s var(--ease)}
.field .error{color:var(--danger);font-size:var(--t-xs);font-weight:600;animation:fadeUp .25s var(--ease)}
@keyframes nudge{0%,100%{transform:none}30%{transform:translateX(-3px)}60%{transform:translateX(3px)}}
.hint{color:var(--muted);font-size:var(--t-xs)}
.events{animation:fadeUp .3s var(--ease)}
.checks{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s1)}
.check{position:relative;cursor:pointer}
.check input{position:absolute;opacity:0;width:1px;height:1px}
.check span{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s4);border:1px solid var(--line-strong);border-radius:var(--r-pill);font-size:var(--t-sm);font-weight:500;transition:background-color .2s,border-color .2s,color .2s}
.check input:checked + span{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}
.check input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.upload input[type=file]{padding:10px;background:var(--bg-alt);border-style:dashed;cursor:pointer}
.more{margin-top:var(--s5);border-top:1px solid var(--line);padding-top:var(--s3)}
.more summary{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;cursor:pointer;font-weight:600;color:var(--accent-text);list-style:none}
.more summary::-webkit-details-marker{display:none}
.more summary .i{transition:transform .25s var(--ease)}
.more[open] summary .i{transform:rotate(45deg)}
.more[open] .form-grid{margin-top:var(--s3);animation:fadeUp .3s var(--ease)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.consent{font-size:var(--t-xs);color:var(--muted);margin:var(--s5) 0 var(--s3)}
.consent a{color:var(--accent-text)}
.form-status{margin-top:var(--s4);padding:var(--s4);border-radius:calc(var(--r-lg) - var(--s4));font-weight:500;line-height:1.5;animation:fadeUp .3s var(--ease)}
.form-status.err{background:#fbeeea;color:#7d2418}
.form-status a{font-weight:700}
.form-done{display:grid;justify-items:center;text-align:center;gap:var(--s3);padding:var(--s7) var(--s4);animation:fadeUp .4s var(--ease)}
.form-done h2{font-family:var(--display);font-size:var(--t-2xl)}
.form-done p{color:var(--muted);max-width:28em}
.tick{width:64px;height:64px;color:var(--success)}
.tick circle{stroke-dasharray:166;stroke-dashoffset:166;animation:draw .6s var(--ease) forwards}
.tick path{stroke-dasharray:48;stroke-dashoffset:48;animation:draw .35s .5s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.book-aside{position:sticky;top:calc(var(--header-h) + var(--s5));display:grid;gap:var(--s5)}
.book-aside h2{font-family:var(--display);font-size:var(--t-xl)}
.mini-steps{display:grid;gap:var(--s3);padding-top:var(--s5);border-top:1px solid var(--line);color:var(--muted);font-size:var(--t-sm)}
.mini-steps b{color:var(--ink);font-weight:600}
.aside-note{font-size:var(--t-sm);color:var(--muted)}

/* ---------- FAQ ---------- */
.faq-list{border-top:1px solid var(--line)}
.faq{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s5) 0;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary h2{font-family:var(--body);font-size:var(--t-lg);font-weight:600;line-height:1.35}
.faq summary .i{color:var(--accent-text);transition:transform .25s var(--ease)}
.faq[open] summary .i{transform:rotate(45deg)}
.faq-a{padding:0 0 var(--s5);color:var(--muted);max-width:40em;animation:fadeUp .3s var(--ease)}
.faq-a a{color:var(--accent-text)}

/* ---------- CTA band ---------- */
.cta-band{background:var(--dark);color:#fff;padding-block:var(--s8)}
.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:var(--s6);flex-wrap:wrap}
.cta-band h2{font-family:var(--display);font-size:var(--t-2xl);margin-bottom:var(--s2)}
.cta-band p{color:var(--on-dark-muted);max-width:32em}
.cta-actions{display:flex;flex-wrap:wrap;gap:var(--s3)}
.cta-band .btn-primary{box-shadow:none}

/* ---------- links page (Instagram bio) ---------- */
.links-page{background:var(--bg-hero);padding-block:var(--s8);min-height:70vh}
.links-inner{width:min(520px,100% - 2*var(--s5));margin-inline:auto;text-align:center}
.links-logo{width:96px;height:96px;border-radius:var(--r-lg);margin:0 auto var(--s4)}
.links-page h1{font-family:var(--display);font-size:var(--t-2xl)}
.links-page p{color:var(--muted);margin:var(--s2) auto var(--s6);max-width:30em}
.links-list{display:grid;gap:var(--s3)}
.lk{display:flex;align-items:center;gap:var(--s3);min-height:56px;padding:0 var(--s5);border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);font-weight:600;text-decoration:none;text-align:left;transition:border-color .2s,transform .2s var(--ease)}
.lk span{flex:1}
.lk .i:first-child{color:var(--accent)}
.lk:hover{border-color:var(--accent);transform:translateY(-1px)}
.links-list li:first-child .lk{background:var(--accent);color:#fff;border-color:var(--accent)}
.links-list li:first-child .lk .i{color:#fff}

/* ---------- footer (carried over from the original Glamorous You site) ---------- */
.site-foot{--f-bg:#F6DCC7;--f-bg-2:#EFCDB3;--f-ink:#161211;--f-soft:#4f4139;--f-faint:#62524a;--f-line:rgba(22,18,17,.14);--f-warm:#D57435;--f-warm-text:#9a4a18;--f-spring:cubic-bezier(.34,1.36,.64,1);position:relative;isolation:isolate;overflow:hidden;background:var(--f-bg);color:var(--f-ink);color-scheme:light;font-family:var(--body);font-weight:300;font-size:16px;line-height:1.75}
.site-foot .f-wrap{padding-top:clamp(56px,7vw,90px)}
.site-foot ::selection{background:var(--f-ink);color:var(--f-bg)}
.f-grid{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px);padding-block:clamp(44px,5vw,64px)}
.f-brand{display:flex;flex-direction:column;gap:18px;min-width:0}
.f-brand .lockup{display:flex;align-items:center;gap:14px}
.f-brand .lockup img{height:52px;width:auto;background:none}
.f-brand .lockup b{display:block;font-family:var(--display);font-weight:400;font-size:1.55rem;line-height:1.1}
.f-brand .lockup small{display:block;margin-top:3px;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--f-faint)}
.f-brand p{color:var(--f-soft);font-weight:300;max-width:30rem}
.site-foot .f-h{margin:0 0 16px;font-family:var(--body);font-size:.66rem;font-weight:500;letter-spacing:.26em;line-height:1.2;text-transform:uppercase;color:var(--f-faint)}
.f-list{display:grid;gap:9px;font-size:.95rem}
.f-link{color:var(--f-ink);text-decoration:none;background-image:linear-gradient(var(--f-warm),var(--f-warm));background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;padding-bottom:1px;transition:background-size .45s var(--ease),color .3s var(--ease)}
.f-link:hover{background-size:100% 1px;color:var(--f-warm-text)}
button.f-link{border:0;background-color:transparent;padding:0 0 1px;font:inherit;cursor:pointer;text-align:left}
.f-contact{display:grid;gap:10px}
.f-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.f-row .k{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--f-faint);min-width:64px}
.copy{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;border-radius:999px;padding:4px 11px;font-size:.74rem;font-family:inherit;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease)}
.site-foot .copy{box-shadow:inset 0 0 0 1px rgba(28,21,15,.28);color:var(--f-ink)}
.site-foot .copy:hover{background:rgba(28,21,15,.06)}
.site-foot .copy.ok{box-shadow:inset 0 0 0 1px var(--f-warm);color:var(--f-warm-text)}
.ig{display:inline-flex;align-items:center;gap:12px;width:fit-content;max-width:100%;padding:8px 18px 8px 8px;border-radius:999px;background:var(--f-bg-2);color:var(--f-ink);text-decoration:none;line-height:1.4;transition:transform .45s var(--f-spring),background .3s var(--ease)}
.ig:hover{transform:translateY(-2px);background:#E9C2A4}
.ig .glyph{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--f-ink);color:#F8F1E9;transition:transform .6s var(--ease)}
.ig:hover .glyph{transform:rotate(-12deg) scale(1.06)}
.ig .glyph svg{width:18px;height:18px}
.ig b{display:block;font-weight:500;font-size:.92rem;line-height:1.2;overflow-wrap:anywhere}
.ig small{display:block;font-size:.74rem;color:var(--f-soft)}
.f-legal{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 28px;padding-block:20px;border-top:1px solid var(--f-line);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--f-soft)}
.f-legal .sep{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center}
.f-legal a,.f-legal button{color:var(--f-ink);letter-spacing:inherit;text-transform:inherit;font-size:inherit}
.up{text-transform:uppercase}
.up .arr{display:inline-block;transition:transform .45s var(--ease)}
.up:hover .arr{transform:translateY(-3px)}
.f-mark{position:relative;width:100%;height:clamp(110px,22vw,320px);touch-action:pan-y;cursor:crosshair}
.f-mark canvas{position:absolute;inset:0;width:100%;height:100%;display:block;max-width:none}
.f-mark .f-hint{position:absolute;right:max(18px,env(safe-area-inset-right,0px));top:8px;z-index:1;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--f-faint);pointer-events:none;opacity:.85}
@media (pointer:coarse){.f-mark .f-hint{display:none}}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:var(--s2) var(--s5) var(--s4);box-shadow:0 16px 30px rgba(56,37,27,.08)}
  .site-nav.open{display:flex;animation:fadeUp .25s var(--ease)}
  .site-nav a{padding:var(--s3) 0;font-size:var(--t-md);border-bottom:1px solid var(--line)}
  .site-nav a::after{display:none}
  .site-nav a[aria-current="page"]{color:var(--accent-text)}
  .menu-btn{display:grid}
  .header-cta{margin-left:0;order:2}
  .menu-btn{order:3;margin-left:var(--s2)}
  .brand{margin-right:auto}
}
@media (max-width:960px){
  .f-grid{grid-template-columns:1fr 1fr}.f-brand{grid-column:1/-1}
  .services,.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-home{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split,.split-text,.book-grid{grid-template-columns:1fr;gap:var(--s6)}
  .about-photo{max-width:520px}
  .link-cards,.contact-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-hero.has-visual .ph-grid{grid-template-columns:1fr}
  .ph-visual{justify-self:start;width:min(420px,100%)}
  .book-aside{position:static}
}
@media (max-width:760px){
  :root{--header-h:64px}
  .hero-grid{grid-template-columns:1fr;min-height:0;padding-block:var(--s7) var(--s8);gap:var(--s7)}
  .hero-visual{justify-self:center;width:min(400px,92%)}
  .hero-quote{left:auto;right:-4%;bottom:-28px}
  .section{padding-block:var(--s8)}
  .sec-head{flex-direction:column;align-items:flex-start;gap:var(--s2)}
  .form-grid,.steps,.occ-grid,.two-up,.areas{grid-template-columns:1fr}
  .steps{gap:var(--s4)}
  .feature-review{padding:var(--s5)}
  .review{padding:var(--s5)}
  .booking-form{--pad:var(--s5)}
  .proof{grid-template-columns:1fr 1fr}
  .proof li:nth-child(3),.proof li:nth-child(5){border-left:0;padding-left:0}
  .proof li:nth-child(n+3){border-top:1px solid rgba(22,18,17,.13)}
  .proof li:nth-child(5){grid-column:1/-1}
  .f-list{gap:0}
  .f-list a,.f-list button{display:inline-block;padding:9px 0}
  .site-foot .copy{padding:10px 16px;font-size:.8rem}
  .f-legal a,.f-legal button{display:inline-block;padding:10px 0}
  .f-link{display:inline-block;padding:10px 0}
  .f-grid{grid-template-columns:1fr 1fr;column-gap:20px}
  .price-table td b{font-size:var(--t-lg)}
  .cta-inner{flex-direction:column;align-items:flex-start}
}
@media (max-width:560px){
  .header-cta{display:none}
  .brand-text span{display:none}
  .lede{font-size:var(--t-md)}
  .services,.link-cards,.contact-cards{grid-template-columns:1fr}
  .service{min-height:400px}
  .gallery{gap:var(--s2)}
  .actions .btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* ---------- approved: tap feedback + page cross-fade ---------- */
a,button,summary,label.check,.filter-btn{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.btn:active,.car-btn:active,.row-btn:active:not(:disabled),.stack-btn:active:not(:disabled),.filter-btn:active,.menu-btn:active,.copy:active,.check span:active{transform:scale(.97)}
.car-btn,.row-btn,.stack-btn,.filter-btn,.menu-btn,.check span{transition-property:transform,background-color,border-color,color,box-shadow,opacity;transition-duration:.18s;transition-timing-function:var(--ease)}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s;animation-timing-function:cubic-bezier(.4,0,.2,1)}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}

/* ---------- lean pages: bridal events, contact areas, anchor arrival ---------- */
.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5) var(--s6);margin-top:var(--s6)}
.event-grid li{padding-top:var(--s4);border-top:1px solid var(--line-strong)}
.event-grid h3{font-family:var(--body);font-size:var(--t-lg);font-weight:600;margin-bottom:var(--s2)}
.event-grid p{color:var(--muted)}
.place-card h2{display:flex;align-items:center;gap:var(--s2);font-family:var(--display);font-size:var(--t-xl)}
.place-card h2 .i{color:var(--accent)}
.area-tags{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s2)}
.area-tags li{padding:6px var(--s3);border:1px solid var(--line-strong);border-radius:var(--r-pill);font-size:var(--t-xs);font-weight:500;color:var(--ink-2);background:var(--bg)}
.row-cta{text-align:right;padding-left:var(--s4);vertical-align:middle;width:1%}
.price-table tr,.event-grid li,.place-card{transition:background-color .6s var(--ease)}
.price-table tr:target,.event-grid li:target,.place-card:target{background:var(--accent-soft)}
@media (max-width:960px){.event-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.event-grid{grid-template-columns:1fr}.row-cta{display:block;width:auto;text-align:left;padding:0 0 var(--s3)}.price-table tr{display:grid;grid-template-columns:1fr auto}.price-table .row-cta{grid-column:1/-1}}
.two-up>div.place-card{align-content:start}
/* Statement band with the animated G monogram (carried over from the original Glamorous You site) */
.statement{--copper:#D57435;background:#161211;color:#fff}
.statement .container{padding-block:clamp(70px,10vw,130px);text-align:center}
.statement p.q{font-family:var(--display);font-style:normal;font-weight:300;font-size:clamp(1.15rem,2.4vw,1.8rem);letter-spacing:.06em;text-transform:uppercase;line-height:1.45;max-width:46rem;margin-inline:auto;text-wrap:balance}
.reel{--T:7.2s;display:flex;flex-direction:column;align-items:center;gap:18px;margin:0 auto 34px;width:fit-content}
.reel-mark{position:relative;height:clamp(96px,11vw,132px);aspect-ratio:272/682;max-width:100%}
.reel svg{display:block;width:100%;height:100%;overflow:visible}
.reel .grp{transform-box:fill-box;transform-origin:50% 50%}
.reel .ol{fill:none;stroke:var(--copper);stroke-width:5;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;opacity:0}
.reel .wipe{transform-box:fill-box;transform-origin:50% 100%}
.reel .term{transform-box:fill-box;transform-origin:50% 50%}
.reel .glint{transform-box:fill-box;transform-origin:50% 50%;opacity:0}
.reel .sheen{transform-box:view-box}
.reel-word{display:flex;gap:.42em;font-family:var(--body);font-weight:500;font-size:clamp(.7rem,1.2vw,.86rem);letter-spacing:.34em;text-transform:uppercase;color:inherit;padding-left:.34em}
.reel-word .w{display:inline-flex;overflow:hidden;padding-block:2px}
.reel-word .w span{display:inline-block}
.reel-word .l1{--i:1}.reel-word .l2{--i:2}.reel-word .l3{--i:3}.reel-word .l4{--i:4}.reel-word .l5{--i:5}.reel-word .l6{--i:6}.reel-word .l7{--i:7}.reel-word .l8{--i:8}.reel-word .l9{--i:9}.reel-word .l10{--i:10}.reel-word .l11{--i:11}.reel-word .l12{--i:12}
.reel-rule{height:1px;width:clamp(120px,16vw,190px);background:var(--copper);transform-origin:50% 50%}
.reel.run .grp-all{animation:gl-out var(--T) cubic-bezier(.22,1,.36,1) infinite}
.reel.run .ol{animation:gl-draw var(--T) cubic-bezier(.65,0,.35,1) infinite}
.reel.run .ol.r{animation-delay:.35s}
.reel.run .ol.d{animation-delay:.6s}
.reel.run .wipe{animation:gl-wipe var(--T) cubic-bezier(.65,0,.35,1) infinite}
.reel.run .term{animation:gl-term var(--T) cubic-bezier(.34,1.56,.64,1) infinite}
.reel.run .glint{animation:gl-glint var(--T) cubic-bezier(.22,1,.36,1) infinite}
.reel.run .sheen{animation:gl-sheen var(--T) cubic-bezier(.45,0,.2,1) infinite}
.reel.run .reel-word,.reel.run .reel-rule{animation:gl-out var(--T) cubic-bezier(.22,1,.36,1) infinite}
.reel.run .reel-word .w span{animation:gl-letter var(--T) cubic-bezier(.22,1,.36,1) infinite;animation-delay:calc(var(--i) * 45ms)}
.reel.run .reel-rule{animation:gl-rule var(--T) cubic-bezier(.65,0,.35,1) infinite}
@keyframes gl-out{0%,85%{opacity:1;transform:none}95%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes gl-draw{0%{stroke-dashoffset:1;opacity:1}17%{stroke-dashoffset:0;opacity:1}26%{opacity:1}34%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes gl-wipe{0%,13%{transform:scaleY(0)}27%,100%{transform:scaleY(1)}}
@keyframes gl-term{0%,12%{transform:scale(.001)}19%{transform:scale(1.16)}24%,100%{transform:scale(1)}}
@keyframes gl-glint{0%,27%{opacity:0;transform:scale(.001) rotate(0deg)}31%{opacity:1;transform:scale(1) rotate(45deg)}38%{opacity:0;transform:scale(.3) rotate(90deg)}38.1%,63%{opacity:0;transform:scale(.001)}67%{opacity:.85;transform:scale(.75) rotate(45deg)}73%,100%{opacity:0;transform:scale(.2) rotate(90deg)}}
@keyframes gl-sheen{0%,29%{transform:translateX(-140%)}41%{transform:translateX(140%)}41.01%,62%{transform:translateX(-140%)}74%,100%{transform:translateX(140%)}}
@keyframes gl-letter{0%,22%{transform:translateY(115%)}33%,100%{transform:none}}
@keyframes gl-rule{0%,26%{transform:scaleX(0);opacity:1}40%,86%{transform:scaleX(1);opacity:1}95%,100%{transform:scaleX(1);opacity:0}}
@media (prefers-reduced-motion:reduce){.reel .ol,.reel .glint{opacity:0!important}.reel .wipe,.reel .term,.reel .reel-word .w span,.reel .reel-rule,.reel .grp-all{transform:none!important;opacity:1!important}.reel .sheen{display:none}}
/* "Most booked" corner badge on the makeup and hair card */
.service-badge{position:absolute;top:var(--s4);right:var(--s4);z-index:1;pointer-events:none;padding:6px 12px;border-radius:var(--r-pill);background:#fff;color:var(--ink);font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 8px 20px -12px rgba(0,0,0,.45)}
/* Instagram strip (from the original Glamorous You site) */
.ig-strip{background:#fff;padding-block:clamp(40px,6vw,70px)}
.ig-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px}
.ig-who{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.ig-who img{width:42px;height:42px;border-radius:50%;background:var(--accent-soft);object-fit:contain;padding:7px}
.ig-who b{display:block;font-weight:500;font-size:.92rem}
.ig-who small{display:block;color:var(--muted);font-size:.78rem}
.ig-follow{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 18px;border-radius:4px;background:#161211;color:#fff;font-size:.6875rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:background .25s var(--ease),transform .25s var(--ease)}
.ig-follow:hover{background:var(--accent)}
.ig-follow:active{transform:scale(.97)}
.ig-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:0}
.ig-row a{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:var(--bg-alt)}
.ig-row img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.ig-row a::after{content:"";position:absolute;inset:0;background:rgba(63,59,59,0);transition:background .4s var(--ease)}
.ig-row a:hover img{transform:scale(1.06)}
.ig-row a:hover::after{background:rgba(63,59,59,.12)}
.ig-row a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (max-width:760px){.ig-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* About page */
.about-roles{font-size:var(--t-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);margin-bottom:var(--s3);line-height:1.7}
.about-tag{font-family:var(--display);font-size:var(--t-xl);line-height:1.25;margin-bottom:var(--s4)}
.about-prose{max-width:none}
.about-prose h2:first-child{margin-top:0}
.about-close{max-width:46em;margin-top:var(--s6)}
.about-sign{font-family:var(--display);font-size:var(--t-xl);line-height:1.3;color:var(--ink)}
