/*
Theme Name: NM Glam Artist
Theme URI: https://nmglamartist.com
Author: NM Glam Artist
Description: Custom luxury one-page theme for NM Glam Artist, Nabila Mahmood, hair & makeup artist in Dubai. Edit contact details, hero text, price list and testimonials in Appearance → Customize → NM Glam Settings.
Version: 1.4.1
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: nm-glam-artist
*/

/* ============ Tokens ============ */
:root{
	--ink:#0b0a09; --ink-2:#12100e; --ink-3:#1b1815;
	--gold:#d4a982; --gold-2:#b8875f; --gold-3:#f1d8bd;
	--ivory:#f7f1ea; --cream:#efe5d8; --sand:#e6d8c6;
	--text:#2a231e; --text-soft:#6d6058;
	--light:rgba(247,241,234,.92); --light-soft:rgba(247,241,234,.62); --line-dark:rgba(212,169,130,.22); --line-light:rgba(42,35,30,.14);
	--serif:'Cormorant Garamond', 'Times New Roman', serif;
	--sans:'Jost', 'Helvetica Neue', Arial, sans-serif;
	--grad:linear-gradient(135deg,#f3dcc3 0%,#d4a982 38%,#a8754f 70%,#e9c7a4 100%);
	--ease:cubic-bezier(.22,.8,.24,1);
	--wrap:1240px;
	--r:2px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.75;color:var(--light);background:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.no-scroll{overflow:hidden}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
h1,h2,h3,h4,h5{margin:0;font-weight:400}
p{margin:0 0 1.1em}
em{font-style:italic}
::selection{background:var(--gold);color:var(--ink)}
.container{width:min(100% - 48px,var(--wrap));margin-inline:auto}
.section{padding:clamp(80px,11vw,150px) 0;position:relative}

/* ============ Type ============ */
.eyebrow{font-family:var(--sans);font-size:12px;font-weight:400;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin:0 0 22px;display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor;opacity:.7}
.center .eyebrow{justify-content:center}
.h2{font-family:var(--serif);font-weight:300;font-size:clamp(36px,4.6vw,64px);line-height:1.08;letter-spacing:-.01em;margin-bottom:28px}
.h2 em,.hero-title em,.big-quote em{font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}
.section-head{max-width:760px;margin-bottom:64px}
.section-head.center{margin-inline:auto;text-align:center}
.section-sub{color:var(--light-soft);font-size:17px;max-width:600px}

/* ============ Buttons ============ */
.btn{--h:56px;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--h);padding:0 34px;font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;border-radius:var(--r);position:relative;overflow:hidden;transition:color .5s var(--ease),border-color .5s var(--ease),transform .5s var(--ease)}
.btn-sm{--h:44px;padding:0 24px;font-size:11px}
.btn-block{width:100%}
.btn-gold{background:var(--grad);background-size:200% 100%;color:var(--ink);transition:background-position .8s var(--ease),transform .5s var(--ease),box-shadow .5s}
.btn-gold:hover{background-position:100% 0;box-shadow:0 12px 40px -12px rgba(212,169,130,.6);transform:translateY(-2px)}
.btn-ghost{border:1px solid var(--line-dark);color:var(--light)}
.btn-ghost::before{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease);z-index:-1}
.btn-ghost:hover{color:var(--ink);border-color:var(--gold)}
.btn-ghost:hover::before{transform:scaleX(1);transform-origin:left}
.link-arrow{display:inline-flex;gap:12px;align-items:center;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);padding-bottom:6px;border-bottom:1px solid currentColor}
.link-arrow span{transition:transform .5s var(--ease)}
.link-arrow:hover span{transform:translateX(6px)}

/* ============ Preloader ============ */
.preloader{position:fixed;inset:0;z-index:999;background:var(--ink);display:grid;place-items:center;align-content:center;gap:26px;transition:opacity .9s var(--ease),visibility .9s}
.preloader img{width:150px;height:auto;animation:pl-in 1.4s var(--ease) both}
.preloader-line{width:150px;height:1px;background:rgba(212,169,130,.2);position:relative;overflow:hidden}
.preloader-line::after{content:"";position:absolute;inset:0;background:var(--grad);animation:pl-line 1.3s var(--ease) both}
.loaded .preloader{opacity:0;visibility:hidden}
@keyframes pl-in{from{opacity:0;transform:scale(.92);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes pl-line{from{transform:translateX(-100%)}to{transform:none}}

/* ============ Header ============ */
.site-header{position:fixed;inset:0 0 auto;z-index:100;transition:background .5s,backdrop-filter .5s,border-color .5s,transform .5s var(--ease);border-bottom:1px solid transparent}
.header-inner{width:min(100% - 48px,1400px);margin-inline:auto;height:92px;display:flex;align-items:center;gap:40px;transition:height .5s var(--ease)}
.site-header.is-scrolled{background:rgba(11,10,9,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-color:var(--line-dark)}
.site-header.is-scrolled .header-inner{height:74px}
.site-header.is-hidden{transform:translateY(-100%)}
.brand{display:flex;align-items:center;gap:14px;margin-right:auto}
.brand img{width:70px;height:auto;transition:width .5s var(--ease)}
.is-scrolled .brand img{width:58px}
.brand-text{font-family:var(--serif);font-size:20px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-3);white-space:nowrap}
.brand-text i{font-style:italic;text-transform:none;letter-spacing:.04em;color:var(--gold)}
.main-nav{display:flex;gap:34px}
.main-nav a{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--light-soft);position:relative;padding:6px 0;transition:color .3s}
.main-nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.main-nav a:hover,.main-nav a.is-current{color:var(--gold-3)}
.main-nav a:hover::after,.main-nav a.is-current::after{transform:scaleX(1);transform-origin:left}
.menu-toggle{display:none;width:44px;height:44px;position:relative;z-index:120}
.menu-toggle span{position:absolute;left:10px;right:10px;height:1px;background:var(--gold-3);transition:transform .5s var(--ease),top .5s var(--ease)}
.menu-toggle span:first-child{top:18px}.menu-toggle span:last-child{top:26px}
.menu-open .menu-toggle span:first-child{top:22px;transform:rotate(45deg)}
.menu-open .menu-toggle span:last-child{top:22px;transform:rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:90;background:var(--ink);display:flex;flex-direction:column;justify-content:center;padding:110px 32px 40px;clip-path:circle(0% at calc(100% - 46px) 46px);transition:clip-path .9s var(--ease);visibility:hidden}
.menu-open .mobile-menu{clip-path:circle(150% at calc(100% - 46px) 46px);visibility:visible}
.mobile-menu nav{display:flex;flex-direction:column;gap:6px}
.mobile-menu nav a{font-family:var(--serif);font-size:clamp(38px,10vw,56px);line-height:1.2;color:var(--light);opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s var(--ease),color .3s}
.mobile-menu nav a:hover{color:var(--gold)}
.menu-open .mobile-menu nav a{opacity:1;transform:none}
.menu-open .mobile-menu nav a:nth-child(2){transition-delay:.05s}.menu-open .mobile-menu nav a:nth-child(3){transition-delay:.1s}.menu-open .mobile-menu nav a:nth-child(4){transition-delay:.15s}.menu-open .mobile-menu nav a:nth-child(5){transition-delay:.2s}.menu-open .mobile-menu nav a:nth-child(6){transition-delay:.25s}
.mobile-menu-foot{margin-top:48px;color:var(--light-soft);font-size:14px}
.mobile-menu-foot .btn{margin-bottom:18px}

/* ============ Hero ============ */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:140px 0 90px;overflow:hidden;background:radial-gradient(ellipse at 70% 40%,#1d1814 0%,var(--ink) 62%)}
.hero-bg .glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.35;pointer-events:none}
.g1{width:520px;height:520px;background:#8a5a3a;right:-120px;top:-80px;animation:float 14s ease-in-out infinite}
.g2{width:380px;height:380px;background:#5a3c28;left:-140px;bottom:-120px;animation:float 18s ease-in-out infinite reverse}
@keyframes float{50%{transform:translate(40px,30px) scale(1.08)}}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(40px,6vw,90px);align-items:center;position:relative}
.hero-title{font-family:var(--serif);font-weight:300;font-size:clamp(54px,8vw,118px);line-height:.98;letter-spacing:-.02em;margin-bottom:32px}
.hero-title .line{display:block;overflow:hidden;padding-bottom:.06em}
.hero-title .line>span{display:inline-block;transform:translateY(105%);transition:transform 1.3s var(--ease)}
.is-in .hero-title .line>span,.hero-title.is-in .line>span{transform:none}
.hero-title .line:nth-child(2)>span{transition-delay:.12s}
.hero-text{font-size:18px;color:var(--light-soft);max-width:520px;margin-bottom:42px}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:56px}
.hero-creds{list-style:none;margin:0;padding:26px 0 0;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;gap:10px 28px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--light-soft)}
.hero-creds li{display:flex;align-items:center;gap:10px}
.hero-creds li::before{content:"✦";color:var(--gold);font-size:9px}
.hero-media{position:relative;justify-self:end;width:min(100%,470px)}
.arch{border-radius:999px 999px var(--r) var(--r);overflow:hidden;position:relative;background:var(--ink-3)}
.arch::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(241,216,189,.18);pointer-events:none}
.arch-video{aspect-ratio:9/14}
.arch-video video,.arch img{width:100%;height:100%;object-fit:cover}
.hero-media::before{content:"";position:absolute;inset:-18px -18px 18px 18px;border:1px solid var(--line-dark);border-radius:999px 999px var(--r) var(--r);pointer-events:none}
.hero-float{position:absolute;left:-90px;bottom:60px;width:190px;margin:0;background:var(--ink-2);padding:10px 10px 14px;box-shadow:0 30px 60px -20px rgba(0,0,0,.7);animation:bob 7s ease-in-out infinite}
.hero-float img{aspect-ratio:4/5;object-fit:cover;width:100%}
.hero-float figcaption{font-family:var(--serif);font-size:18px;line-height:1.1;padding:12px 6px 0;color:var(--gold-3)}
.hero-float em{color:var(--gold)}
@keyframes bob{50%{transform:translateY(-14px)}}
.hero-badge{position:absolute;right:-34px;top:40px;width:128px;height:128px;border-radius:50%;background:rgba(11,10,9,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center}
.hero-badge svg{position:absolute;inset:0;animation:spin 22s linear infinite;fill:var(--gold);font-size:10.5px;letter-spacing:.28em;font-family:var(--sans)}
.hero-badge img{width:48px}
@keyframes spin{to{transform:rotate(360deg)}}
.scroll-cue{position:absolute;left:50%;bottom:28px;width:24px;height:40px;border:1px solid var(--line-dark);border-radius:20px;transform:translateX(-50%)}
.scroll-cue span{position:absolute;left:50%;top:8px;width:2px;height:8px;margin-left:-1px;background:var(--gold);border-radius:2px;animation:cue 2s var(--ease) infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

/* ============ Marquee ============ */
.marquee{background:var(--ink-2);border-block:1px solid var(--line-dark);overflow:hidden;padding:26px 0}
.marquee-track{display:flex;width:max-content;gap:40px;align-items:center;animation:marq 38s linear infinite}
.marquee span{font-family:var(--serif);font-size:clamp(26px,3vw,40px);font-style:italic;color:var(--gold-3);white-space:nowrap}
.marquee i{font-style:normal;color:var(--gold);font-size:14px}
@keyframes marq{to{transform:translateX(-50%)}}

/* ============ Light sections ============ */
.about,.process,.experience,.reviews,.faq{background:var(--ivory);color:var(--text)}
.process{background:var(--cream)}
.faq{background:var(--cream)}
.about .eyebrow,.process .eyebrow,.experience .eyebrow,.reviews .eyebrow,.faq .eyebrow{color:var(--gold-2)}
.about .h2 em,.process .h2 em,.experience .h2 em,.reviews .h2 em,.faq .h2 em{background:linear-gradient(135deg,#c48c5e,#8d5a37 60%,#b47a4f);-webkit-background-clip:text;background-clip:text}
.about p,.experience p,.faq p{color:var(--text-soft)}
.about strong{color:var(--text);font-weight:500}
.about .link-arrow,.experience .link-arrow,.faq .link-arrow{color:var(--gold-2)}

/* ============ About ============ */
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(48px,8vw,120px);align-items:center}
.about-media{position:relative}
.arch-tall{aspect-ratio:3/4.4}
.arch-tall img{object-position:center 20%;transform:scale(1.08);transition:transform 1.6s var(--ease)}
.about-media.is-in .arch-tall img{transform:scale(1)}
.about-media::before{content:"";position:absolute;inset:24px -24px -24px 24px;border:1px solid rgba(184,135,95,.45);border-radius:999px 999px var(--r) var(--r)}
.about-sign{position:absolute;right:-30px;bottom:48px;background:var(--ink);color:var(--gold-3);font-family:var(--serif);font-style:italic;font-size:28px;line-height:1.1;padding:22px 28px;box-shadow:0 24px 50px -20px rgba(0,0,0,.5)}
.about-sign small{display:block;font-family:var(--sans);font-style:normal;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-top:8px}
.about-copy .h2{font-size:clamp(32px,3.6vw,52px)}
.about-points{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:44px 0;padding-top:34px;border-top:1px solid var(--line-light)}
.about-points .num{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--gold-2)}
.about-points h4{font-family:var(--serif);font-size:24px;margin:4px 0 6px;color:var(--text)}
.about-points p{font-size:14px;line-height:1.6;margin:0}

/* ============ Services ============ */
.services{background:var(--ink)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.service-card{background:var(--ink-2);border:1px solid var(--line-dark);position:relative;overflow:hidden;transition:border-color .6s,transform .8s var(--ease)}
.service-card:hover{border-color:rgba(212,169,130,.6);transform:translateY(-6px)}
.service-img{aspect-ratio:4/4.3;overflow:hidden;position:relative}
.service-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--ink-2) 0%,transparent 45%)}
.service-img img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform 1.4s var(--ease),filter 1s;filter:saturate(.9)}
.service-card:hover .service-img img{transform:scale(1.07);filter:saturate(1.05)}
.service-body{padding:0 30px 30px;margin-top:-34px;position:relative}
.service-tag{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.service-body h3{font-family:var(--serif);font-size:32px;line-height:1.1;margin:10px 0 12px}
.service-body p{font-size:15px;color:var(--light-soft);margin-bottom:24px}
.service-foot{display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid var(--line-dark);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-3)}
.service-foot a{width:40px;height:40px;border:1px solid var(--line-dark);border-radius:50%;display:grid;place-items:center;color:var(--gold);transition:background .4s,color .4s}
.service-card:hover .service-foot a{background:var(--gold);color:var(--ink)}

/* ============ Quote band ============ */
.quote-band{position:relative;padding:clamp(120px,16vw,220px) 0;text-align:center;overflow:hidden}
.quote-bg{position:absolute;inset:-15% 0;background-size:cover;background-position:center 30%;filter:grayscale(.35) brightness(.38);will-change:transform}
.quote-band .container{position:relative}
.big-quote{font-family:var(--serif);font-weight:300;font-size:clamp(40px,6.4vw,92px);line-height:1.04;max-width:1000px;margin:0 auto 26px}
.quote-by{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}

/* ============ Process ============ */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-light)}
.steps li{padding:42px 34px 10px 0;position:relative}
.steps li+li{padding-left:34px;border-left:1px solid var(--line-light)}
.steps span{font-family:var(--serif);font-style:italic;font-size:54px;line-height:1;color:var(--gold-2);display:block;margin-bottom:22px}
.steps h4{font-family:var(--serif);font-size:30px;color:var(--text);margin-bottom:10px}
.steps p{color:var(--text-soft);font-size:15px}

/* ============ Portfolio ============ */
.portfolio{background:var(--ink)}
.portfolio .section-head{display:flex;flex-direction:column}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin:-24px 0 46px}
.filters button{font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:12px 22px;border:1px solid var(--line-dark);border-radius:40px;color:var(--light-soft);transition:all .4s var(--ease)}
.filters button:hover{color:var(--gold-3);border-color:var(--gold)}
.filters button.is-active{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.gallery{columns:4 260px;column-gap:18px}
.g-item{display:block;break-inside:avoid;margin-bottom:18px;position:relative;overflow:hidden;cursor:zoom-in;transition:opacity .5s,transform .5s var(--ease)}
.g-item img{width:100%;height:auto;transition:transform 1.2s var(--ease),filter .8s}
.g-item::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,10,9,.75),transparent 50%);opacity:0;transition:opacity .6s}
.g-cap{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;font-family:var(--serif);font-style:italic;font-size:20px;color:var(--gold-3);transform:translateY(12px);opacity:0;transition:all .6s var(--ease)}
.g-item:hover img{transform:scale(1.05)}
.g-item:hover::after,.g-item:hover .g-cap{opacity:1}
.g-item:hover .g-cap{transform:none}
.g-item.is-hidden{display:none}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(8,7,6,.96);display:grid;grid-template-columns:80px 1fr 80px;align-items:center;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}
.lightbox.is-open{opacity:1;visibility:visible}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;padding:40px 0}
.lightbox img{max-height:calc(100vh - 140px);width:auto;object-fit:contain;transform:scale(.96);transition:transform .6s var(--ease)}
.lightbox.is-open img{transform:none}
.lightbox figcaption{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--gold-3);margin-top:18px}
.lightbox button{width:56px;height:56px;border:1px solid var(--line-dark);border-radius:50%;color:var(--gold-3);font-size:20px;justify-self:center;transition:background .3s,color .3s}
.lightbox button:hover{background:var(--gold);color:var(--ink)}
.lb-close{position:absolute;top:24px;right:24px;font-size:28px!important}

/* ============ Reels ============ */
.reels{background:var(--ink-2);overflow:hidden}
.reels-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:56px}
.reels-head .h2{margin:0}
.reel-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(24px,calc((100vw - var(--wrap))/2)) 20px;scrollbar-width:thin;scrollbar-color:var(--gold-2) transparent;cursor:grab}
.reel-track::-webkit-scrollbar{height:3px}.reel-track::-webkit-scrollbar-thumb{background:var(--gold-2)}
.reel{flex:0 0 clamp(230px,24vw,300px);margin:0;scroll-snap-align:start;position:relative;aspect-ratio:9/16;overflow:hidden;border-radius:var(--r);background:var(--ink-3)}
.reel video{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.reel:hover video{transform:scale(1.04)}
.reel::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,10,9,.8),transparent 40%);pointer-events:none}
.reel figcaption{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;font-family:var(--serif);font-size:20px;line-height:1.2;font-style:italic;color:var(--gold-3)}

/* ============ Experience ============ */
.exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,110px);align-items:center}
.exp-media{position:relative}
.exp-media img{width:100%;aspect-ratio:4/5;object-fit:cover}
.exp-media::after{content:"";position:absolute;inset:-20px 20px 20px -20px;border:1px solid rgba(184,135,95,.45);z-index:-1}
.exp-media{z-index:0}
.exp-list{list-style:none;padding:0;margin:34px 0 0}
.exp-list li{padding:22px 0;border-top:1px solid var(--line-light);color:var(--text-soft);font-size:15px;line-height:1.7}
.exp-list span{display:block;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-2);margin-bottom:6px}
.names-marquee{margin-top:clamp(70px,9vw,120px);border-block:1px solid var(--line-light);padding:30px 0;overflow:hidden}
.names-track{display:flex;width:max-content;animation:marq 46s linear infinite}
.names-track span{font-family:var(--serif);font-size:clamp(24px,2.6vw,36px);color:var(--text);opacity:.75;padding:0 44px;white-space:nowrap;position:relative}
.names-track span::after{content:"✦";position:absolute;right:-6px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--gold-2)}

/* ============ Pricing ============ */
.pricing{background:var(--ink)}
.pricing-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,7vw,100px);align-items:start}
.pricing-side{position:sticky;top:120px}
.pricing-side>p{color:var(--light-soft)}
.price-notes{list-style:none;padding:0;margin:28px 0 36px}
.price-notes li{padding:12px 0 12px 26px;border-bottom:1px solid var(--line-dark);font-size:14px;color:var(--light-soft);position:relative}
.price-notes li::before{content:"✦";position:absolute;left:0;color:var(--gold);font-size:10px;top:15px}
.pricing-img{aspect-ratio:16/10;overflow:hidden}
.pricing-img img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.price-tabs{display:flex;flex-wrap:wrap;gap:6px 30px;border-bottom:1px solid var(--line-dark);margin-bottom:12px}
.price-tab{padding:16px 0;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--light-soft);position:relative;transition:color .3s}
.price-tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--grad);transform:scaleX(0);transition:transform .5s var(--ease)}
.price-tab.is-active,.price-tab:hover{color:var(--gold-3)}
.price-tab.is-active::after{transform:scaleX(1)}
.price-panel{display:none}
.price-panel.is-active{display:block;animation:fadeUp .7s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.price-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:end;gap:18px;padding:26px 0;border-bottom:1px solid var(--line-dark)}
.price-info h4{font-family:var(--serif);font-size:28px;line-height:1.15;margin-bottom:4px}
.price-info p{font-size:14px;color:var(--light-soft);margin:0;max-width:420px}
.price-dots{border-bottom:1px dotted rgba(212,169,130,.4);margin-bottom:10px;min-width:20px}
.price-val{font-family:var(--serif);font-size:28px;color:var(--gold-3);white-space:nowrap;line-height:1.2}
.price-val small{font-family:var(--sans);font-size:11px;letter-spacing:.18em;color:var(--gold)}
.price-book{font-size:10px;letter-spacing:.22em;text-transform:uppercase;border:1px solid var(--line-dark);padding:9px 14px;border-radius:30px;color:var(--gold);transition:all .4s;margin-bottom:4px}
.price-book:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}

/* ============ Reviews ============ */
.testi-wrap{max-width:900px;margin:0 auto;text-align:center;position:relative}
.testi-mark{font-family:var(--serif);font-size:200px;line-height:.6;color:var(--gold-2);opacity:.35;display:block;height:80px}
.testi-slides{display:grid}
.testi{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease),visibility .8s}
.testi.is-active{opacity:1;visibility:visible;transform:none}
.testi blockquote{font-family:var(--serif);font-weight:300;font-size:clamp(24px,3vw,38px);line-height:1.35;margin:0 0 30px;color:var(--text)}
.testi.is-placeholder blockquote{color:#a08c7d;font-style:italic}
.testi figcaption{display:flex;flex-direction:column;gap:4px;align-items:center}
.testi-name{font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:var(--text);font-weight:500}
.testi-event{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--gold-2)}
.testi-nav{display:flex;justify-content:center;align-items:center;gap:26px;margin-top:44px}
.testi-nav button:not(.dot){width:50px;height:50px;border:1px solid var(--line-light);border-radius:50%;color:var(--text);transition:all .4s}
.testi-nav button:not(.dot):hover{background:var(--text);color:var(--ivory)}
.testi-dots{display:flex;gap:10px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--line-light);transition:all .4s}
.dot.is-active{background:var(--gold-2);width:28px;border-radius:6px}

/* ============ FAQ ============ */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,7vw,100px);align-items:start}
.acc-item{border-bottom:1px solid var(--line-light)}
.acc-item:first-child{border-top:1px solid var(--line-light)}
.acc-q{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;font-family:var(--serif);font-size:clamp(21px,2vw,26px);color:var(--text);line-height:1.3}
.acc-icon{flex:0 0 34px;height:34px;border:1px solid var(--line-light);border-radius:50%;position:relative;transition:all .4s}
.acc-icon::before,.acc-icon::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:currentColor;transform:translate(-50%,-50%);transition:transform .5s var(--ease)}
.acc-icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.acc-item.is-open .acc-icon{background:var(--text);color:var(--ivory)}
.acc-item.is-open .acc-icon::after{transform:translate(-50%,-50%) rotate(0)}
.acc-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.acc-a>p{overflow:hidden;margin:0;padding-right:54px}
.acc-item.is-open .acc-a{grid-template-rows:1fr}
.acc-item.is-open .acc-a>p{padding-bottom:26px}

/* ============ Contact ============ */
.contact{overflow:hidden;background:var(--ink)}
.contact-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.22) saturate(.6)}
.contact-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px);align-items:center}
.contact-copy>p{color:var(--light-soft);max-width:480px}
.contact-list{list-style:none;padding:0;margin:40px 0 0}
.contact-list li{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line-dark);font-size:16px}
.contact-list span{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);padding-top:4px}
.contact-list a:hover{color:var(--gold-3)}
.booking-form{background:rgba(18,16,14,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line-dark);padding:clamp(28px,4vw,50px)}
.booking-form h3{font-family:var(--serif);font-size:36px;margin-bottom:28px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{display:block;margin-bottom:22px}
.field span{display:block;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-dark);color:var(--light);font:inherit;font-size:16px;padding:10px 0;outline:none;transition:border-color .4s;border-radius:0;color-scheme:dark}
.field select{appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23d4a982'/%3E%3C/svg%3E") no-repeat right center}
.field select option{background:var(--ink-2)}
.field textarea{resize:vertical;min-height:80px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}
.field.is-error input,.field.is-error select{border-color:#d9776b}
.form-note{font-size:13px;color:var(--light-soft);text-align:center;margin:16px 0 0}
.form-note a{color:var(--gold);text-decoration:underline}

/* ============ Footer ============ */
.site-footer{background:#070606;border-top:1px solid var(--line-dark);padding:90px 0 30px}
.footer-top{display:grid;grid-template-columns:auto 1fr;gap:80px;align-items:start;padding-bottom:60px;border-bottom:1px solid var(--line-dark)}
.footer-brand img{width:220px;height:auto}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;justify-self:end;width:min(100%,720px)}
.footer-cols h5{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.footer-cols a,.footer-cols span{display:block;font-size:15px;color:var(--light-soft);padding:5px 0;transition:color .3s}
.footer-cols a:hover{color:var(--gold-3)}
.socials{display:flex;gap:10px;margin-top:16px}
.socials a{width:42px;height:42px;border:1px solid var(--line-dark);border-radius:50%;display:grid!important;place-items:center;padding:0!important;transition:all .4s}
.socials svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4}
.socials a:hover{background:var(--gold);color:var(--ink)!important;border-color:var(--gold)}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:26px;font-size:13px;color:rgba(247,241,234,.4)}
.footer-bottom p{margin:0}
.wa-float{position:fixed;right:24px;bottom:24px;z-index:80;width:60px;height:60px;border-radius:50%;background:var(--grad);color:var(--ink);display:grid;place-items:center;box-shadow:0 14px 40px -10px rgba(212,169,130,.55);transition:transform .5s var(--ease);opacity:0;transform:scale(.6);pointer-events:none}
.wa-float.is-visible{opacity:1;transform:none;pointer-events:auto}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:28px;height:28px}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--gold);animation:ping 2.6s var(--ease) infinite}
@keyframes ping{from{transform:scale(1);opacity:.8}to{transform:scale(1.6);opacity:0}}

/* ============ Generic pages ============ */
.page-main{padding:170px 0 110px;background:var(--ivory);color:var(--text)}
.page-container{max-width:820px}
.page-article{margin-bottom:60px}
.page-content{color:var(--text-soft)}
.page-content a{color:var(--gold-2);text-decoration:underline}
.page-thumb{margin:20px 0 30px;width:100%;height:auto}

/* ============ Reveal ============ */
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);transition-delay:calc(var(--d,0) * .1s)}
.reveal.is-in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}

/* ============ Responsive ============ */
@media (max-width:1100px){
	.main-nav{gap:22px}
	.hero-float{left:-40px}
	.service-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:960px){
	.main-nav,.header-cta{display:none}
	.menu-toggle{display:block}
	.header-inner{height:76px}
	.brand img{width:56px}
	.hero{padding-top:120px}
	.hero-grid,.about-grid,.exp-grid,.pricing-grid,.faq-grid,.contact-grid{grid-template-columns:1fr}
	.hero-media{justify-self:center;width:min(78%,420px);margin-top:20px}
	.hero-float{left:-14%;width:150px;bottom:30px}
	.hero-badge{right:-8%;width:104px;height:104px}
	.about-media{max-width:440px;margin-inline:auto}
	.about-sign{right:-10px}
	.steps{grid-template-columns:repeat(2,1fr)}
	.steps li:nth-child(3){padding-left:0;border-left:0}
	.pricing-side{position:static}
	.pricing-img{display:none}
	.footer-top{grid-template-columns:1fr;gap:50px}
	.footer-cols{justify-self:start}
}
@media (max-width:640px){
	body{font-size:15px}
	.container{width:min(100% - 36px,var(--wrap))}
	.brand-text{font-size:15px;letter-spacing:.14em}
	.hero-title{font-size:clamp(50px,14vw,72px)}
	.hero-text{font-size:16px}
	.hero-actions .btn{flex:1 1 100%}
	.hero-creds{font-size:10px}
	.hero-float{width:120px;left:-8%;padding:6px 6px 10px}
	.hero-float figcaption{font-size:14px}
	.about-points{grid-template-columns:1fr;gap:20px}
	.about-sign{font-size:22px;padding:16px 20px;right:0}
	.service-grid{grid-template-columns:1fr}
	.steps{grid-template-columns:1fr}
	.steps li,.steps li+li{padding:32px 0 6px;border-left:0;border-top:1px solid var(--line-light)}
	.steps li:first-child{border-top:0}
	.gallery{columns:2;column-gap:10px}
	.g-item{margin-bottom:10px}
	.g-cap{display:none}
	.reels-head{flex-direction:column;align-items:flex-start}
	.reel{flex-basis:68vw}
	.price-row{grid-template-columns:1fr auto;gap:8px 14px}
	.price-dots{display:none}
	.price-info{grid-column:1/-1}
	.price-info h4{font-size:24px}
	.price-val{font-size:24px}
	.f-row{grid-template-columns:1fr;gap:0}
	.contact-list li{grid-template-columns:1fr;gap:2px}
	.footer-cols{grid-template-columns:1fr 1fr}
	.lightbox{grid-template-columns:1fr;}
	.lb-prev,.lb-next{position:absolute;bottom:24px}
	.lb-prev{left:calc(50% - 70px)}.lb-next{right:calc(50% - 70px)}
	.lightbox img{max-height:calc(100vh - 220px)}
	.wa-float{right:16px;bottom:16px;width:54px;height:54px}
}
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation:none!important;transition:none!important}
	.reveal{opacity:1;transform:none}
	.hero-title .line>span{transform:none}
}
.experience{padding-bottom:0}
.names-marquee{border-bottom:0}

/* v1.1: full logo in header, pricing CTA, review stars */
.brand img{width:auto;height:72px;transition:height .5s var(--ease)}
.is-scrolled .brand img{width:auto;height:56px}
.header-inner{height:104px}
.preloader img{width:190px}
.pricing-cta{border:1px solid var(--line-dark);padding:30px;background:var(--ink-2)}
.pricing-cta p{font-family:var(--serif);font-size:24px;line-height:1.25;color:var(--gold-3);margin-bottom:20px}
.testi-stars{display:block;color:var(--gold-2);font-size:20px;letter-spacing:.3em;margin-bottom:22px}
@media (max-width:960px){.header-inner{height:84px}.brand img{height:58px}.is-scrolled .brand img{height:50px}}

/* =====================================================================
   v1.2 — new sections
   ===================================================================== */
.main-nav{gap:28px}
.main-nav a{font-size:11.5px}

/* Stats */
.stats{background:var(--ink-2);border-block:1px solid var(--line-dark);padding:clamp(50px,6vw,80px) 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{text-align:center;position:relative}
.stat+.stat::before{content:"";position:absolute;left:-10px;top:10%;bottom:10%;width:1px;background:var(--line-dark)}
.stat-num{font-family:var(--serif);font-weight:300;font-size:clamp(52px,6vw,84px);line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat-suf{font-family:var(--serif);font-size:clamp(24px,2.4vw,34px);color:var(--gold);margin-left:4px}
.stat p{margin:12px 0 0;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--light-soft)}

/* Signature */
.signature{background:var(--ivory);color:var(--text);overflow:hidden}
.signature .eyebrow{color:var(--gold-2)}
.signature .h2 em{background:linear-gradient(135deg,#c48c5e,#8d5a37 60%,#b47a4f);-webkit-background-clip:text;background-clip:text}
.signature p{color:var(--text-soft)}
.signature strong{color:var(--text);font-weight:500}
.sig-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(48px,7vw,110px);align-items:start}
.sig-lead{font-family:var(--serif);font-size:clamp(21px,2vw,26px);line-height:1.45;color:var(--text)!important}
.sig-steps{list-style:none;padding:0;margin:36px 0 30px}
.sig-steps li{display:grid;grid-template-columns:56px 1fr;gap:10px;padding:18px 0;border-top:1px solid var(--line-light)}
.sig-steps li>span{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--gold-2)}
.sig-steps h4{font-family:var(--serif);font-size:24px;color:var(--text);margin-bottom:4px}
.sig-steps p{font-size:14.5px;margin:0;line-height:1.65}
.sig-tags{display:flex;flex-wrap:wrap;gap:8px}
.sig-tags span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:9px 16px;border:1px solid rgba(184,135,95,.45);border-radius:30px;color:var(--gold-2)}
.sig-media{position:relative;padding-bottom:120px;position:sticky;top:110px}
.sig-main{aspect-ratio:4/5;overflow:hidden;border-radius:999px 999px var(--r) var(--r)}
.sig-main img,.sig-small img{width:100%;height:100%;object-fit:cover}
.sig-small{position:absolute;width:46%;aspect-ratio:3/4;left:-14%;bottom:0;overflow:hidden;border:10px solid var(--ivory);box-shadow:0 30px 60px -25px rgba(0,0,0,.35)}
.sig-label{position:absolute;right:0;bottom:40px;font-family:var(--serif);font-size:24px;color:var(--text);background:var(--cream);padding:16px 24px}
.sig-label em{color:var(--gold-2)}

/* Services: 3x3 */
.service-grid{grid-template-columns:repeat(3,1fr)}

/* Lessons */
.lessons{background:var(--ink)}
.lesson-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:-20px 0 40px}
.lesson-tab{font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:14px 24px;border:1px solid var(--line-dark);border-radius:40px;color:var(--light-soft);transition:all .45s var(--ease)}
.lesson-tab:hover{border-color:var(--gold);color:var(--gold-3)}
.lesson-tab.is-active{background:var(--grad);border-color:transparent;color:var(--ink)}
.lesson-panel{display:none;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,5vw,70px);background:var(--ink-2);border:1px solid var(--line-dark);padding:clamp(20px,3vw,40px)}
.lesson-panel.is-active{display:grid;animation:fadeUp .8s var(--ease)}
.lesson-img{overflow:hidden;aspect-ratio:4/5}
.lesson-img img{width:100%;height:100%;object-fit:cover;animation:kenburns 14s ease-in-out infinite alternate}
@keyframes kenburns{to{transform:scale(1.1) translate(-2%,-2%)}}
.lesson-body h3{font-family:var(--serif);font-size:clamp(30px,3vw,44px);line-height:1.1;margin-bottom:16px}
.lesson-body h3 em{color:var(--gold)}
.lesson-for{color:var(--light-soft);font-size:16px}
.lesson-body h5{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin:26px 0 12px}
.lesson-list{list-style:none;padding:0;margin:0 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:10px 26px}
.lesson-list li{position:relative;padding-left:22px;font-size:14.5px;line-height:1.6;color:var(--light)}
.lesson-list li::before{content:"✦";position:absolute;left:0;top:1px;color:var(--gold);font-size:10px}
.lesson-info{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);margin-bottom:28px}
.lesson-info span{background:var(--ink-2);padding:16px 18px;font-family:var(--serif);font-size:20px;color:var(--gold-3);line-height:1.25}
.lesson-info small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.kit{margin-top:60px;border:1px solid var(--line-dark);padding:clamp(28px,4vw,56px);background:radial-gradient(ellipse at top right,rgba(212,169,130,.12),transparent 60%),var(--ink-2)}
.kit-head{max-width:760px}
.kit-head h3{font-family:var(--serif);font-size:clamp(28px,3vw,42px);line-height:1.15;margin-bottom:16px}
.kit-head h3 em{color:var(--gold)}
.kit-head p:not(.eyebrow){color:var(--light-soft)}
.kit-steps{list-style:none;padding:0;margin:36px 0 26px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:k}
.kit-steps li{position:relative;padding-top:26px;border-top:1px solid var(--line-dark)}
.kit-steps span{position:absolute;top:-17px;left:0;width:34px;height:34px;border-radius:50%;background:var(--grad);color:var(--ink);display:grid;place-items:center;font-size:13px;font-weight:500}
.kit-steps h4{font-family:var(--serif);font-size:24px;margin:10px 0 6px}
.kit-steps p{font-size:14px;color:var(--light-soft);margin:0}
.kit-price{margin:0;padding-top:22px;border-top:1px solid var(--line-dark);font-size:14px;color:var(--light-soft)}
.kit-price strong{color:var(--gold-3);font-weight:500}

/* Brands */
.brands{background:var(--ink-2);padding-bottom:0}
.brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark)}
.brand-card{background:var(--ink-2);padding:34px 28px;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:background .6s}
.brand-card::before{content:"";position:absolute;inset:0;background:var(--grad);opacity:0;transform:translateY(100%);transition:transform .7s var(--ease),opacity .7s}
.brand-card:hover::before{opacity:.12;transform:none}
.brand-card h4{font-family:var(--serif);font-size:clamp(22px,2vw,28px);line-height:1.15;color:var(--gold-3);margin-bottom:8px;position:relative}
.brand-card p{font-size:12px;letter-spacing:.08em;color:var(--light-soft);margin:0;position:relative}
.brands .names-marquee{border-color:var(--line-dark);margin-top:clamp(60px,8vw,100px)}
.brands .names-track span{color:var(--gold-3);opacity:.55}
.brands .names-track span::after{color:var(--gold)}

/* Education */
.education{background:var(--ivory);color:var(--text)}
.education .eyebrow{color:var(--gold-2)}
.education .h2 em{background:linear-gradient(135deg,#c48c5e,#8d5a37 60%,#b47a4f);-webkit-background-clip:text;background-clip:text}
.edu-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(48px,7vw,110px);align-items:start}
.edu-media{position:sticky;top:110px}
.edu-img{aspect-ratio:4/4.6;overflow:hidden}
.edu-img img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.edu-cap{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--text-soft);margin-top:16px}
.timeline{list-style:none;padding:0;margin:10px 0 0;position:relative}
.timeline::before{content:"";position:absolute;left:68px;top:8px;bottom:8px;width:1px;background:linear-gradient(var(--gold-2),rgba(184,135,95,.15))}
.timeline li{display:grid;grid-template-columns:68px 1fr;gap:34px;padding:0 0 30px;position:relative}
.timeline li::after{content:"";position:absolute;left:63px;top:10px;width:11px;height:11px;border-radius:50%;background:var(--ivory);border:1px solid var(--gold-2);transition:background .6s}
.timeline li.is-in::after{background:var(--gold-2)}
.tl-year{font-family:var(--serif);font-style:italic;font-size:24px;color:var(--gold-2);line-height:1.2}
.timeline h4{font-family:var(--serif);font-size:25px;color:var(--text);line-height:1.2;margin-bottom:4px}
.timeline p{font-size:14.5px;color:var(--text-soft);margin:0;line-height:1.65}
.edu-note{font-size:14px;color:var(--text-soft);padding-left:102px}

@media (max-width:1180px){.main-nav{gap:18px}.main-nav a{font-size:10.5px;letter-spacing:.16em}}
@media (max-width:960px){
	.stats-grid{grid-template-columns:repeat(2,1fr);gap:40px 20px}
	.stat:nth-child(3)::before{display:none}
	.sig-grid,.edu-grid{grid-template-columns:1fr}
	.sig-media,.edu-media{position:relative;top:0;max-width:520px;margin-inline:auto;width:100%}
	.sig-small{left:-4%}
	.lesson-panel{grid-template-columns:1fr}
	.lesson-img{aspect-ratio:16/10}
	.kit-steps{grid-template-columns:repeat(2,1fr);row-gap:44px}
	.brand-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
	.lesson-list{grid-template-columns:1fr}
	.lesson-info{grid-template-columns:1fr}
	.lesson-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin-inline:-18px;padding-inline:18px}
	.lesson-tab{white-space:nowrap}
	.kit-steps{grid-template-columns:1fr}
	.brand-card{min-height:120px;padding:24px 18px}
	.timeline::before{left:52px}.timeline li{grid-template-columns:52px 1fr;gap:26px}.timeline li::after{left:47px}
	.tl-year{font-size:20px}
	.edu-note{padding-left:78px}
	.sig-label{font-size:18px;padding:12px 16px}
}

/* =====================================================================
   v1.2 — animations & effects
   ===================================================================== */
/* Scroll progress */
.scroll-progress{position:fixed;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--grad);z-index:200;pointer-events:none}

/* Custom cursor (desktop only) */
.cursor{display:none}
@media (hover:hover) and (pointer:fine){
	.has-cursor,.has-cursor a,.has-cursor button{cursor:none}
	.has-cursor input,.has-cursor textarea,.has-cursor select{cursor:auto}
	.cursor{display:block;position:fixed;inset:0;pointer-events:none;z-index:400}
	.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;border-radius:50%;transform:translate(-50%,-50%);will-change:transform}
	.cursor-dot{width:6px;height:6px;background:var(--gold)}
	.cursor-ring{width:38px;height:38px;border:1px solid rgba(212,169,130,.7);transition:width .4s var(--ease),height .4s var(--ease),background .4s,border-color .4s}
	.cursor.is-hover .cursor-ring{width:70px;height:70px;background:rgba(212,169,130,.12);border-color:var(--gold)}
	.cursor.is-view .cursor-ring{width:90px;height:90px;background:rgba(11,10,9,.55);backdrop-filter:blur(4px)}
	.cursor.is-view .cursor-ring::after{content:"View";position:absolute;inset:0;display:grid;place-items:center;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-3)}
	.cursor.is-hidden{opacity:0}
}

/* Hero gold dust */
.hero-dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.hero-grid{z-index:1}

/* Gold shimmer on italic accents */
.h2 em,.hero-title em,.big-quote em,.stat-num{background-size:220% 100%;animation:shimmer 6s ease-in-out infinite}
@keyframes shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* Logo shine sweep */
.brand.shine{position:relative;overflow:hidden}
.brand.shine::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,236,214,.55),transparent);transform:skewX(-20deg);animation:sweep 6s ease-in-out infinite 2s}
@keyframes sweep{0%,70%{left:-60%}100%{left:140%}}

/* Word-by-word heading reveal */
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split .w>span{display:inline-block;transform:translateY(110%);transition:transform 1s var(--ease);transition-delay:calc(var(--i) * 45ms)}
.split.is-in .w>span{transform:none}
.split em .w>span{padding-right:.04em}

/* Image curtain reveal */
.img-reveal{position:relative;overflow:hidden}
.img-reveal::before{content:"";position:absolute;inset:0;z-index:2;background:var(--gold-2);transform-origin:top;transition:transform 1.2s cubic-bezier(.77,0,.18,1) .15s}
.img-reveal img{transform:scale(1.18);transition:transform 1.8s var(--ease) .2s}
.img-reveal.is-in::before{transform:scaleY(0)}
.img-reveal.is-in img{transform:scale(1)}
.arch-tall.img-reveal img{transform:scale(1.18)}
.about-media.is-in .arch-tall.img-reveal img,.arch-tall.img-reveal.is-in img{transform:scale(1)}

/* Card tilt */
.tilt{transform-style:preserve-3d;will-change:transform}
.service-card.tilt:hover{transform:none}
.tilt .service-body{transform:translateZ(30px)}

/* Gallery stagger */
.g-item{opacity:0;transform:translateY(40px) scale(.98)}
.g-item.is-in{opacity:1;transform:none;transition:opacity .9s var(--ease),transform 1s var(--ease)}
.g-item.is-hidden{display:none}

/* Brand card / timeline / buttons polish */
.btn-gold::after{content:"";position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .9s var(--ease)}
.btn-gold:hover::after{left:130%}
.magnetic{transition:transform .35s var(--ease),background-position .8s var(--ease),box-shadow .5s,color .5s,border-color .5s}

@media (prefers-reduced-motion:reduce){
	.split .w>span,.img-reveal img{transform:none!important}
	.img-reveal::before{display:none}
	.g-item{opacity:1;transform:none}
	.hero-dust,.cursor{display:none!important}
}
@media (max-width:1100px){.service-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.service-grid{grid-template-columns:1fr}}

/* v1.3 — publications, gallery load-more */
.press{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center;margin-top:60px;padding:clamp(28px,4vw,50px);border:1px solid var(--line-dark);background:radial-gradient(ellipse at left,rgba(212,169,130,.1),transparent 60%),var(--ink)}
.press-head h3{font-family:var(--serif);font-size:clamp(32px,3.4vw,48px);line-height:1.05;margin-bottom:12px}
.press-head h3 em{color:var(--gold)}
.press-head p:not(.eyebrow){color:var(--light-soft);font-size:15px;margin:0}
.press-links{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.press-card{display:flex;flex-direction:column;gap:12px;padding:26px;border:1px solid var(--line-dark);background:var(--ink-2);transition:border-color .5s,transform .6s var(--ease)}
.press-card:hover{border-color:var(--gold);transform:translateY(-4px)}
.press-card span{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.press-card h4{font-family:var(--serif);font-size:22px;line-height:1.25;color:var(--gold-3)}
.press-card i{font-style:normal;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--light-soft);margin-top:auto}
.gallery:not(.show-all) .g-item:nth-child(n+25){display:none}
.gallery-more{text-align:center;margin-top:40px}
.gallery.show-all+.gallery-more{display:none}
@media (max-width:960px){.press{grid-template-columns:1fr}}
@media (max-width:640px){.press-links{grid-template-columns:1fr}.gallery:not(.show-all) .g-item:nth-child(n+17){display:none}}

/* =====================================================================
   v1.4 — service details popup, certificates, responsive polish
   ===================================================================== */
.service-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:28px}
.service-card{flex:0 1 calc((100% - 56px)/3);display:flex}
.service-open{display:flex;flex-direction:column;width:100%;text-align:left;color:inherit;cursor:pointer}
.service-open .service-img{display:block;width:100%}
.service-open .service-body{display:flex;flex-direction:column;flex:1;padding:0 30px 30px;margin-top:-34px;position:relative}
.service-title{display:block;font-family:var(--serif);font-size:32px;line-height:1.1;margin:10px 0 12px}
.service-short{display:block;font-size:15px;color:var(--light-soft);margin-bottom:24px;flex:1}
.service-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--line-dark);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-3)}
.service-arrow{flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line-dark);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:16px;letter-spacing:0;transition:background .4s,color .4s,transform .4s var(--ease)}
.service-card:hover .service-arrow,.service-open:focus-visible .service-arrow{background:var(--gold);color:var(--ink);transform:translateX(4px)}
.service-open:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media (max-width:1100px){.service-card{flex-basis:calc((100% - 28px)/2)}}
@media (max-width:640px){.service-grid{gap:20px}.service-card{flex-basis:100%}.service-title{font-size:28px}.service-open .service-body{padding:0 22px 24px}}

/* Price strike */
.price-val s,.m-prices s{font-size:.7em;color:var(--light-soft);margin-right:6px;text-decoration-thickness:1px}

/* Modal */
.modal{position:fixed;inset:0;z-index:350;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility .45s}
.modal.is-open{opacity:1;visibility:visible}
.modal-backdrop{position:absolute;inset:0;background:rgba(6,5,4,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.modal-box{position:relative;width:min(980px,100%);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow:auto;background:var(--ink-2);border:1px solid var(--line-dark);transform:translateY(30px) scale(.98);transition:transform .6s var(--ease);overscroll-behavior:contain}
.modal.is-open .modal-box{transform:none}
.modal-close{position:absolute;top:14px;right:14px;z-index:3;width:44px;height:44px;border-radius:50%;background:rgba(11,10,9,.75);border:1px solid var(--line-dark);color:var(--gold-3);font-size:26px;line-height:1;transition:background .3s,color .3s}
.modal-close:hover{background:var(--gold);color:var(--ink)}
.modal-content{display:grid;grid-template-columns:.85fr 1.15fr}
.m-media{min-height:100%;position:relative;overflow:hidden}
.m-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.m-body{padding:clamp(26px,4vw,48px)}
.m-body .eyebrow{margin-bottom:14px}
.m-body h3{font-family:var(--serif);font-size:clamp(30px,3.4vw,44px);line-height:1.08;margin-bottom:16px}
.m-body h3 em{color:var(--gold)}
.m-body>p{color:var(--light-soft);font-size:15.5px}
.m-body h5{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin:22px 0 10px}
.m-list{list-style:none;padding:0;margin:0 0 22px;display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}
.m-list li{position:relative;padding-left:20px;font-size:14.5px;line-height:1.55}
.m-list li::before{content:"✦";position:absolute;left:0;top:1px;color:var(--gold);font-size:10px}
.m-prices{border-top:1px solid var(--line-dark);margin-bottom:14px}
.m-prices div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--line-dark);font-size:15px}
.m-prices strong{font-family:var(--serif);font-weight:400;font-size:22px;color:var(--gold-3);white-space:nowrap}
.m-time{font-size:13px;color:var(--light-soft)}
.m-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
@media (max-width:760px){
	.modal{padding:0;align-items:flex-end}
	.modal-box{max-height:92vh;max-height:92dvh;border-radius:18px 18px 0 0;transform:translateY(100%)}
	.modal-content{grid-template-columns:1fr}
	.m-media{height:220px;min-height:0}
	.m-list{grid-template-columns:1fr}
	.m-actions .btn{flex:1 1 100%}
}

/* Press cards are buttons now */
.press-card{text-align:left;width:100%;cursor:pointer;color:inherit}

/* Certificates */
.certs-wrap{margin-top:clamp(60px,8vw,100px)}
.certs-title{font-family:var(--serif);font-size:clamp(28px,3vw,40px);color:var(--text);margin-bottom:26px;text-align:center}
.certs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cert{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line-light);padding:12px;cursor:zoom-in;transition:transform .6s var(--ease),box-shadow .6s}
.cert:hover{transform:translateY(-6px);box-shadow:0 24px 50px -24px rgba(60,40,20,.35)}
.cert img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}
.cert span{font-size:12.5px;line-height:1.45;color:var(--text-soft);padding:12px 4px 2px}
@media (max-width:960px){.certs{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.certs{gap:10px}.cert{padding:8px}.cert span{font-size:11.5px}}

/* Responsive polish */
img,video{height:auto}
.service-img img,.lesson-img img,.edu-img img,.sig-main img,.sig-small img,.arch img,.arch video,.m-media img,.cert img,.reel video,.pricing-img img,.exp-media img{height:100%}
.cert img{height:auto}
html,body{max-width:100%;overflow-x:hidden}
@media (max-width:1180px){.header-cta{padding:0 18px}}
@media (max-width:400px){
	.container{width:min(100% - 28px,var(--wrap))}
	.hero-title{font-size:46px}
	.btn{padding:0 22px;letter-spacing:.18em}
	.stat-num{font-size:46px}
	.price-tab{font-size:10.5px;letter-spacing:.16em}
	.lesson-info span{font-size:18px}
	.hero-badge{display:none}
	.hero-float{width:104px}
}
@media (min-width:1600px){:root{--wrap:1400px}.hero-title{font-size:128px}}
@media (max-width:1320px) and (min-width:961px){.hero-badge{right:-8px}}
body.no-scroll .wa-float{opacity:0!important;pointer-events:none!important}
/* v1.4.1 — readable dropdown groups on all browsers */
.field select optgroup{background:#12100e;color:#d4a982;font-style:normal;font-weight:500}
.field select option{background:#12100e;color:#f7f1ea;font-weight:300}
.field select option:checked{background:#3a2c22}
