@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Barlow+Condensed:wght@500;600;700;800;900&family=Cormorant+Garamond:ital,wght@1,500;1,600&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --burgundy:#9E010D;
  --blue:#002B9A;
  --gold:#FEE586;
  --ink:#080808;
  --detail:#41413F;
  --paper:#F3F0E8;
  --white:#FFFFFF;
  --line:rgba(255,255,255,.16);
  --shadow:0 24px 70px rgba(0,0,0,.2);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Inter',sans-serif;overflow-x:hidden}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
::selection{background:var(--gold);color:#111}

.container{width:min(1380px,calc(100% - 64px));margin:0 auto}
.section{position:relative;padding:110px 0}
.section-dark{background:var(--ink);color:#fff}
.section-blue{background:var(--blue);color:#fff}
.section-burgundy{background:var(--burgundy);color:#fff}
.section-gold{background:var(--gold);color:#111}
.section-kicker{display:flex;align-items:center;gap:14px;font-family:'Barlow Condensed',sans-serif;font-size:17px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:28px}
.section-kicker .num{display:grid;place-items:center;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;font-size:15px}
.display-title{font-family:'Barlow Condensed',sans-serif;font-size:clamp(58px,8vw,128px);line-height:.82;letter-spacing:-.045em;text-transform:uppercase;margin:0;max-width:1100px}
.display-title.small{font-size:clamp(44px,6vw,92px);line-height:.88}
.display-title,.display-title.small,.hero h1,.blade-title,.faq-intro h2,.faq-qtext,.mv-card h3,.service-card h3{overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
.lead{font-size:clamp(18px,2vw,24px);line-height:1.55;max-width:760px;color:inherit;opacity:.8}
.eyebrow{font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:15px}
.muted{opacity:.62}

/* Header */
.site-header{position:absolute;inset:0 0 auto 0;z-index:40;color:#fff;border-bottom:1px solid rgba(255,255,255,.15)}
.site-header.internal{position:relative;background:var(--ink);border-color:rgba(255,255,255,.1)}
.header-row{height:106px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo-link{display:flex;align-items:center;flex:0 0 auto}
.logo-link img{width:300px;height:auto;max-height:96px;object-fit:contain;background:transparent;padding:0}
.main-nav{display:flex;align-items:center;gap:25px;font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.main-nav a{position:relative;padding:10px 0;opacity:.82;transition:.25s ease}
.main-nav a:hover,.main-nav a.active{opacity:1;color:var(--gold)}
.main-nav a:after{content:'';position:absolute;left:0;bottom:2px;width:100%;height:2px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s ease}
.main-nav a:hover:after,.main-nav a.active:after{transform:scaleX(1);transform-origin:left}
.header-cta{display:inline-flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.45);padding:15px 18px;font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.08em;transition:.25s ease}
.header-cta:hover{background:var(--gold);border-color:var(--gold);color:#111;transform:translateY(-2px)}
.menu-toggle{display:none;width:46px;height:46px;border:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;align-items:center;justify-content:center;cursor:pointer}
.menu-toggle span,.menu-toggle:before,.menu-toggle:after{content:'';display:block;width:22px;height:2px;background:currentColor;position:absolute;transition:.3s ease}
.menu-toggle:before{transform:translateY(-7px)}
.menu-toggle:after{transform:translateY(7px)}
.menu-toggle.open span{opacity:0}.menu-toggle.open:before{transform:rotate(45deg)}.menu-toggle.open:after{transform:rotate(-45deg)}

/* Hero */
.hero{position:relative;min-height:100svh;background:#000;color:#fff;display:flex;align-items:flex-end;overflow:hidden}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.42) 48%,rgba(0,0,0,.2) 75%,rgba(0,0,0,.46) 100%),linear-gradient(0deg,rgba(0,0,0,.7) 0%,transparent 50%)}
.hero-content{position:relative;z-index:2;padding:190px clamp(26px,3vw,56px) 74px;width:100%}
.hero-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:28px}
.hero-meta span{display:flex;align-items:center;gap:10px}.hero-meta span:before{content:'';width:8px;height:8px;background:var(--gold);border-radius:50%}
.hero h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(76px,11vw,178px);line-height:.76;letter-spacing:-.055em;text-transform:uppercase;margin:0;max-width:1160px;text-shadow:0 8px 32px rgba(0,0,0,.32)}
.hero h1 .accent{color:var(--gold)}
.hero-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;margin-top:42px}
.hero-copy{max-width:650px;font-size:19px;line-height:1.6;color:rgba(255,255,255,.78)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:17px 22px;border:1px solid currentColor;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-weight:800;overflow:hidden;transition:.25s ease}
.btn:before{content:'';position:absolute;inset:0;background:var(--gold);transform:translateY(105%);transition:.3s ease;z-index:-1}
.btn:hover:before{transform:translateY(0)}.btn:hover{color:#111;border-color:var(--gold);transform:translateY(-3px)}
.btn.solid{background:var(--burgundy);border-color:var(--burgundy);color:#fff}.btn.solid:hover{background:transparent;color:#111}
.scroll-cue{position:absolute;right:36px;bottom:38px;z-index:3;display:flex;align-items:center;gap:10px;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:13px;writing-mode:vertical-rl}.scroll-cue:after{content:'';width:1px;height:60px;background:#fff;opacity:.6}

/* Internal banner */
.page-banner{position:relative;background:var(--blue);color:#fff;padding:115px 0 80px;overflow:hidden}
.page-banner:before,.page-banner:after{content:'';position:absolute;border-radius:50%;filter:blur(1px);opacity:.45}
.page-banner:before{width:420px;height:420px;background:var(--burgundy);right:-90px;top:-230px}
.page-banner:after{width:280px;height:280px;background:var(--gold);right:230px;bottom:-210px}
.page-banner .container{position:relative;z-index:2}
.page-banner h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(70px,10vw,150px);line-height:.76;letter-spacing:-.05em;text-transform:uppercase;margin:0}
.page-banner p{max-width:700px;font-size:20px;line-height:1.55;color:rgba(255,255,255,.78);margin:32px 0 0}

/* Ticker */
.ticker{overflow:hidden;background:var(--gold);color:#111;border-top:1px solid #111;border-bottom:1px solid #111}
.ticker-track{display:flex;width:max-content;animation:ticker 28s linear infinite}
.ticker span{display:inline-flex;align-items:center;gap:26px;padding:15px 28px;font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.ticker span:after{content:'✦';font-size:14px}
@keyframes ticker{to{transform:translateX(-50%)}}

/* Editorial rows */
.split-intro{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}
.big-index{font-family:'Barlow Condensed',sans-serif;font-size:clamp(92px,14vw,220px);line-height:.7;font-weight:900;color:var(--burgundy);letter-spacing:-.05em}
.text-stack{display:grid;gap:28px}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid currentColor;border-left:1px solid currentColor;margin-top:64px}
.metric{padding:28px 22px;border-right:1px solid currentColor;border-bottom:1px solid currentColor}
.metric strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:clamp(42px,5vw,72px);line-height:1;font-weight:900;color:var(--gold)}
.metric span{display:block;margin-top:8px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;opacity:.72}

/* Services */
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(0,0,0,.2);border-left:1px solid rgba(0,0,0,.2)}
.service-card{position:relative;min-height:310px;padding:34px;border-right:1px solid rgba(0,0,0,.2);border-bottom:1px solid rgba(0,0,0,.2);overflow:hidden;background:var(--paper);transition:.35s ease}
.service-card:before{content:'';position:absolute;inset:0;background:var(--burgundy);transform:translateY(101%);transition:.4s cubic-bezier(.2,.7,.2,1)}
.service-card:hover:before{transform:translateY(0)}
.service-card>*{position:relative;z-index:2}.service-card:hover{color:#fff}.service-card:hover .service-no{color:var(--gold)}
.service-no{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:18px;letter-spacing:.12em;color:var(--burgundy)}
.service-card h3{font-family:'Barlow Condensed',sans-serif;font-size:clamp(34px,4vw,58px);line-height:.92;text-transform:uppercase;margin:50px 0 20px}
.service-card p{max-width:520px;line-height:1.6;opacity:.72;margin:0}
.service-card .arrow{position:absolute;right:28px;bottom:24px;font-size:32px;transition:.3s}.service-card:hover .arrow{transform:translate(8px,-8px)}

/* sticky ritual / process */
.process-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
.process-copy{position:sticky;top:40px;padding-top:12px}
.process-list{display:grid;gap:18px}
.process-step{min-height:62vh;display:grid;align-content:center;padding:48px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02));position:relative;overflow:hidden}
.process-step:after{content:attr(data-step);position:absolute;right:-6px;bottom:-40px;font-family:'Barlow Condensed',sans-serif;font-size:180px;font-weight:900;color:rgba(255,255,255,.05);line-height:1}
.process-step h3{font-family:'Barlow Condensed',sans-serif;font-size:clamp(42px,5vw,74px);line-height:.9;text-transform:uppercase;margin:0 0 20px}.process-step p{font-size:18px;line-height:1.6;max-width:620px;color:rgba(255,255,255,.72)}

/* image bands */
.image-band{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;min-height:640px}
.image-card{position:relative;overflow:hidden;background:#222;min-height:420px}.image-card img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.image-card:hover img{transform:scale(1.06)}
.image-label{position:absolute;left:20px;bottom:18px;background:rgba(0,0,0,.78);color:#fff;padding:10px 12px;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.stacked-images{display:grid;grid-template-rows:1fr 1fr;gap:18px}

/* gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.gallery-item{position:relative;min-height:340px;overflow:hidden;background:#222;cursor:zoom-in}.gallery-item:nth-child(1){grid-column:span 7}.gallery-item:nth-child(2){grid-column:span 5}.gallery-item:nth-child(3){grid-column:span 4}.gallery-item:nth-child(4){grid-column:span 8}.gallery-item:nth-child(5){grid-column:span 6}.gallery-item:nth-child(6){grid-column:span 6}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .75s ease,filter .5s ease}.gallery-item:hover img{transform:scale(1.045);filter:saturate(1.08)}
.gallery-item:after{content:'VIEW ↗';position:absolute;right:18px;bottom:18px;padding:9px 11px;background:var(--gold);font-family:'Barlow Condensed',sans-serif;font-weight:900;letter-spacing:.09em;transform:translateY(14px);opacity:0;transition:.3s}.gallery-item:hover:after{transform:translateY(0);opacity:1}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:100;display:none;place-items:center;padding:34px}.lightbox.open{display:grid}.lightbox img{max-width:min(1400px,92vw);max-height:88vh;object-fit:contain}.lightbox button{position:absolute;right:28px;top:24px;width:48px;height:48px;border:1px solid #fff;background:transparent;color:#fff;font-size:25px;cursor:pointer}

/* locations */
.location-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}
.location-card{padding:42px;background:var(--burgundy);color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:470px}
.location-card h2{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:clamp(46px,6vw,84px);line-height:.9;margin:0 0 22px}.location-list{display:grid;gap:12px;margin-top:34px}.location-list span{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.2);font-family:'Barlow Condensed',sans-serif;font-size:21px;text-transform:uppercase;font-weight:700}
.map-wrap{min-height:470px;overflow:hidden;background:#ddd}.map-wrap iframe{width:100%;height:100%;min-height:470px;border:0;filter:grayscale(.12) contrast(1.03)}

/* video */
.video-stage{position:relative;background:#000;aspect-ratio:16/8;overflow:hidden;box-shadow:var(--shadow)}.video-stage video{width:100%;height:100%;object-fit:cover}.video-stage .video-caption{position:absolute;left:22px;bottom:20px;background:rgba(0,0,0,.75);color:#fff;padding:10px 12px;font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.08em}

/* contact */
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:stretch}.contact-info{background:var(--blue);color:#fff;padding:48px}.contact-info h2{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:clamp(48px,6vw,80px);line-height:.9;margin:0 0 24px}.contact-info p{line-height:1.65;color:rgba(255,255,255,.72)}
.contact-form{padding:48px;background:#fff;border:1px solid rgba(0,0,0,.1)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:8px;margin-bottom:16px}.field label{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-weight:800;letter-spacing:.08em;font-size:13px}.field input,.field textarea,.field select{width:100%;border:1px solid rgba(0,0,0,.22);background:#fafafa;padding:15px 14px;outline:none;transition:.2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--burgundy);box-shadow:0 0 0 3px rgba(158,1,13,.10)}.field textarea{min-height:140px;resize:vertical}.form-note{display:none;margin-top:16px;padding:12px 14px;background:#eef7ed;border-left:4px solid #437b41}

/* CTA */
.big-cta{position:relative;padding:110px 0;background:var(--gold);overflow:hidden}.big-cta:after{content:'LR';position:absolute;right:-10px;bottom:-165px;font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:410px;line-height:1;color:rgba(0,0,0,.06)}.big-cta .container{position:relative;z-index:2}.big-cta h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(60px,9vw,132px);line-height:.8;text-transform:uppercase;letter-spacing:-.04em;max-width:1100px;margin:0 0 32px}

/* Footer */
.site-footer{background:var(--ink);color:#fff;padding:78px 0 20px}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .7fr;gap:50px;padding-bottom:58px;border-bottom:1px solid rgba(255,255,255,.16)}.footer-brand img{width:250px;background:transparent;padding:0;margin-bottom:24px}.footer-brand p{max-width:520px;color:rgba(255,255,255,.64);line-height:1.6}.footer-col h4{font-family:'Barlow Condensed',sans-serif;font-size:20px;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin:0 0 16px}.footer-col a{display:block;padding:6px 0;color:rgba(255,255,255,.72);transition:.2s}.footer-col a:hover{color:#fff;transform:translateX(5px)}.footer-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-top:18px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.5)}

/* reveal animations */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}.reveal-left{opacity:0;transform:translateX(-44px);transition:opacity .8s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.reveal-left.in{opacity:1;transform:none}
.letter-animate .word{display:inline-block;white-space:nowrap}.letter-animate .char{display:inline-block;opacity:0;transform:translateY(.65em) rotate(2deg);transition:opacity .55s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.letter-animate.in .char{opacity:1;transform:none}

/* decorative lines */
.rule{height:1px;background:currentColor;opacity:.2;margin:32px 0}.corner-marks:before,.corner-marks:after{content:'';position:absolute;width:60px;height:60px;border-color:var(--gold)}.corner-marks:before{left:24px;top:24px;border-left:2px solid var(--gold);border-top:2px solid var(--gold)}.corner-marks:after{right:24px;bottom:24px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold)}

@media (max-width:1100px){
  .container{width:min(100% - 40px,1380px)}
  .main-nav{gap:15px;font-size:16px}.header-cta{display:none}
  .hero h1{font-size:clamp(72px,12vw,130px)}
  .split-intro,.process-wrap,.location-layout,.contact-grid{grid-template-columns:1fr}
  .process-copy{position:relative;top:0}.process-step{min-height:430px}
  .image-band{min-height:560px}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
}

@media (max-width:860px){
  .header-row{height:96px}.logo-link img{width:240px;max-height:80px}.menu-toggle{display:flex;position:relative}
  .main-nav{position:fixed;left:0;right:0;top:92px;background:var(--ink);padding:26px 24px 34px;display:grid;gap:6px;transform:translateY(-140%);opacity:0;pointer-events:none;transition:.35s ease;border-top:1px solid rgba(255,255,255,.12);box-shadow:0 20px 40px rgba(0,0,0,.25)}.main-nav.open{transform:none;opacity:1;pointer-events:auto}.main-nav a{padding:12px;font-size:23px}
  .hero{min-height:780px}.hero-content{padding-top:155px}.hero-bottom{grid-template-columns:1fr}.scroll-cue{display:none}
  .metrics{grid-template-columns:repeat(2,1fr)}
  .service-grid{grid-template-columns:1fr}
  .image-band{grid-template-columns:1fr;min-height:auto}.image-card{min-height:420px}.stacked-images{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .gallery-item:nth-child(n){grid-column:span 6;min-height:310px}
  .form-row{grid-template-columns:1fr}
}

@media (max-width:600px){
  .container{width:min(100% - 28px,1380px)}
  .section{padding:78px 0}
  .header-row{height:86px}.logo-link img{width:200px;max-height:68px}.main-nav{top:86px}
  .hero{min-height:700px}.hero-content{padding:138px 18px 46px}.hero h1{font-size:clamp(58px,18vw,92px);line-height:.8}.hero-copy{font-size:16px}.hero-actions{width:100%}.hero-actions .btn{flex:1 1 180px}
  .page-banner{padding:85px 0 58px}.page-banner h1{font-size:clamp(58px,18vw,92px)}.page-banner p{font-size:17px}
  .display-title{font-size:clamp(50px,16vw,78px)}.display-title.small{font-size:clamp(44px,13vw,68px)}
  .split-intro{gap:34px}.big-index{font-size:120px}
  .metrics{grid-template-columns:1fr 1fr}.metric{padding:22px 16px}
  .service-card{min-height:280px;padding:28px}.service-card h3{margin-top:38px}
  .process-step{min-height:auto;padding:32px 26px}.process-step:after{font-size:120px}.process-list{gap:12px}
  .stacked-images{grid-template-columns:1fr}.image-card{min-height:320px}
  .gallery-grid{gap:10px}.gallery-item:nth-child(n){grid-column:span 12;min-height:320px}
  .location-card,.contact-info,.contact-form{padding:30px 24px}
  .big-cta{padding:78px 0}.big-cta h2{font-size:clamp(54px,17vw,82px)}
  .footer-grid{grid-template-columns:1fr;gap:30px}.footer-brand{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
  .reveal,.reveal-left,.letter-animate .char{opacity:1!important;transform:none!important}
}


/* Folding-blade image story — sticky section inspired by the supplied reference. */
.blade-story{height:310vh;position:relative;background:#0b0b0b;color:#f4f4f4}
.blade-sticky{position:sticky;top:0;height:100svh;min-height:720px;display:flex;align-items:center;overflow:hidden}
.blade-layout{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(540px,1.1fr);gap:clamp(42px,5vw,90px);align-items:center;width:min(1500px,calc(100% - 64px));height:100%}
.blade-copy{align-self:center;max-width:720px;padding:34px 0}
.blade-copy .section-kicker{margin-bottom:24px;color:var(--gold)}
.blade-title{font-family:'Inter',sans-serif;font-size:clamp(32px,3vw,54px);line-height:1.08;letter-spacing:-.035em;margin:0 0 24px;text-transform:none}
.blade-lead{max-width:690px;margin:0;color:rgba(255,255,255,.68);font-size:clamp(17px,1.35vw,21px);line-height:1.6}
.blade-rule{height:1px;background:rgba(255,255,255,.14);margin:32px 0}
.blade-points{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.blade-points article{position:relative}
.blade-points h3{font-family:'Inter',sans-serif;font-size:clamp(20px,1.55vw,27px);margin:0 0 14px;letter-spacing:-.02em}
.blade-points p{margin:0;color:rgba(255,255,255,.66);line-height:1.58;font-size:15px}
.blade-statement{font-size:clamp(20px,1.75vw,29px);line-height:1.45;max-width:690px;margin:0;color:rgba(255,255,255,.94);letter-spacing:-.02em}
.blade-link{margin-top:28px}
.blade-visual{position:relative;height:min(78vh,760px);min-height:590px;align-self:center;isolation:isolate}
.blade-deck{position:absolute;inset:0;display:grid;place-items:center;perspective:1200px}
.blade-frame{--rot:0deg;--tx:0px;--ty:0px;--scale:1;position:absolute;width:56%;height:84%;margin:0;overflow:hidden;background:#191919;border:1px solid rgba(255,255,255,.07);box-shadow:0 28px 80px rgba(0,0,0,.38);transform-origin:50% 104%;transform:translate3d(var(--tx),var(--ty),0) rotate(var(--rot)) scale(var(--scale));transition:opacity .25s linear;will-change:transform;opacity:.98}
.blade-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.96) contrast(1.02)}
.blade-frame:nth-child(1){z-index:6}
.blade-frame:nth-child(2){z-index:5}
.blade-frame:nth-child(3){z-index:4}
.blade-frame:nth-child(4){z-index:3}
.blade-frame:nth-child(5){z-index:2}
.blade-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.22));pointer-events:none}
.blade-pivot{position:absolute;z-index:20;left:50%;bottom:1.2%;width:68px;height:68px;border-radius:50%;background:#f5f5f3;transform:translateX(-50%);box-shadow:0 8px 30px rgba(0,0,0,.25)}
.blade-pivot:after{content:'';position:absolute;inset:25px;border-radius:50%;background:var(--blue)}
.blade-progress{position:absolute;right:0;bottom:2px;width:120px;height:2px;background:rgba(255,255,255,.17);overflow:hidden}
.blade-progress span{display:block;height:100%;width:100%;background:var(--gold);transform-origin:left;transform:scaleX(0)}

/* Why choose — keep the existing card composition, add iconography and motion. */
.why-choose-section{overflow:hidden}
.why-grid{position:relative}
.why-card{cursor:default;padding-top:32px}
.why-card .why-icon{position:absolute;right:28px;top:28px;width:58px;height:58px;border:1px solid rgba(0,0,0,.28);border-radius:50%;display:grid;place-items:center;transition:transform .45s cubic-bezier(.2,.8,.2,1),background .3s ease,border-color .3s ease}
.why-card .why-icon svg{width:30px;height:30px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.why-card:hover .why-icon{transform:rotate(12deg) scale(1.08);background:var(--gold);border-color:var(--gold);color:#111}
.why-card:hover .why-icon svg{transform:rotate(-24deg)}
.why-card .why-spark{position:absolute;left:31px;bottom:23px;font-size:18px;opacity:.35;transition:transform .5s ease,opacity .35s ease}
.why-card:hover .why-spark{transform:rotate(180deg) scale(1.35);opacity:1;color:var(--gold)}
.why-card h3{max-width:72%;margin-top:58px}
.why-card:after{content:'';position:absolute;width:120px;height:120px;border:1px solid currentColor;border-radius:50%;right:-62px;bottom:-62px;opacity:.12;transition:transform .55s ease}
.why-card:hover:after{transform:scale(1.35)}

@media (max-width:1100px){
  .blade-story{height:auto;min-height:0}
  .blade-sticky{position:relative;height:auto;min-height:0;padding:105px 0}
  .blade-layout{grid-template-columns:1fr;gap:58px;height:auto}
  .blade-copy{max-width:850px}
  .blade-visual{height:680px;width:min(100%,820px);margin:0 auto}
  .blade-frame{width:50%;height:76%}
}

@media (max-width:700px){
  .blade-sticky{padding:78px 0}
  .blade-layout{width:min(100% - 28px,1380px);gap:38px}
  .blade-title{font-size:clamp(30px,9vw,44px)}
  .blade-points{grid-template-columns:1fr;gap:24px}
  .blade-rule{margin:25px 0}
  .blade-visual{height:480px;min-height:480px}
  .blade-frame{width:57%;height:72%}
  .blade-pivot{width:48px;height:48px}.blade-pivot:after{inset:18px}
  .blade-progress{display:none}
  .why-card h3{max-width:74%}
  .why-card .why-icon{width:50px;height:50px;right:22px;top:22px}.why-card .why-icon svg{width:25px;height:25px}
}


/* Los Reyes Barbershop refinements */
.custom-bronze{background:#BB7A21;color:#111;overflow:hidden}
.custom-bronze .rule{opacity:.3}
.custom-bronze .section-kicker{color:#111}
.hero-content{padding-left:clamp(54px,6vw,110px);padding-right:clamp(30px,4vw,70px)}

/* Blade section: sequential pocket-knife reveal, one image at a time. */
.blade-story{height:430vh;position:relative;background:#0b0b0b;color:#f4f4f4}
.blade-sticky{position:sticky;top:0;height:100svh;min-height:760px;display:flex;align-items:center;overflow:hidden;padding:24px 0}
.blade-layout{grid-template-columns:minmax(430px,.92fr) minmax(560px,1.08fr);gap:clamp(52px,6vw,110px);height:100%}
.blade-copy{padding:46px 0 72px;max-width:740px}
.blade-copy .section-kicker{color:var(--gold);margin-bottom:24px}
.blade-link{margin-top:32px;margin-bottom:28px}
.blade-visual{height:min(82vh,760px);min-height:620px;display:grid;place-items:center;position:relative}
.blade-deck{position:relative;width:100%;height:100%;display:grid;place-items:center;perspective:1400px}
.blade-frame{--rot:0deg;--tx:0px;--ty:0px;--scale:1;--open:0;position:absolute;width:56%;height:84%;margin:0;overflow:hidden;background:#181818;border:1px solid rgba(255,255,255,.09);box-shadow:0 32px 90px rgba(0,0,0,.46);transform-origin:50% 104%;transform:translate3d(var(--tx),var(--ty),0) rotate(var(--rot)) scale(var(--scale));opacity:calc(.18 + var(--open) * .82);filter:saturate(calc(.75 + var(--open) * .25));will-change:transform,opacity;transition:filter .25s linear}
.blade-frame img{width:100%;height:100%;object-fit:cover}
.blade-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 56%,rgba(0,0,0,.24));pointer-events:none}
.blade-pivot{position:absolute;z-index:60;left:50%;bottom:1.4%;width:70px;height:70px;border-radius:50%;background:#f5f5f3;transform:translateX(-50%);box-shadow:0 8px 30px rgba(0,0,0,.28)}
.blade-pivot:after{content:'';position:absolute;inset:26px;border-radius:50%;background:var(--blue)}
.blade-progress{position:absolute;right:0;bottom:2px;width:130px;height:2px;background:rgba(255,255,255,.17);overflow:hidden}.blade-progress span{display:block;height:100%;width:100%;background:var(--gold);transform-origin:left;transform:scaleX(0)}

/* Why choose: no numbering, more expressive icons and floating motion. */
.why-label{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:15px;letter-spacing:.15em;color:#5a2a00}
.why-card{min-height:330px;background:#f7f1df;border-color:rgba(0,0,0,.26);isolation:isolate}
.why-card:before{background:#111;transform:translateY(102%) rotate(-2deg);transform-origin:bottom left}
.why-card:hover:before{transform:translateY(0) rotate(0)}
.why-card:hover .why-label{color:var(--gold)}
.why-card .why-icon{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:30px;line-height:1;background:rgba(255,255,255,.45);color:#111;animation:iconFloat 3.6s ease-in-out infinite}
.why-card:nth-child(2) .why-icon{animation-delay:-.7s}.why-card:nth-child(3) .why-icon{animation-delay:-1.4s}.why-card:nth-child(4) .why-icon{animation-delay:-2.1s}
.why-card h3{margin-top:54px}
@keyframes iconFloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-9px) rotate(5deg)}}

/* Process: retain sticky scroll layout, remove numbering and add floating symbols. */
.home-process .section-kicker,.process-step .eyebrow{color:var(--gold)}
.process-step.no-number:after{display:none!important}
.process-step.no-number{min-height:62vh;border-radius:2px;transition:transform .45s cubic-bezier(.2,.8,.2,1),background .4s ease,border-color .4s ease,box-shadow .4s ease}
.process-step.no-number:hover{transform:translateX(-12px) scale(1.012);background:linear-gradient(145deg,rgba(158,1,13,.30),rgba(0,43,154,.18));border-color:rgba(254,229,134,.72);box-shadow:0 30px 70px rgba(0,0,0,.28)}
.process-float{position:absolute;right:34px;top:30px;font-size:48px;color:var(--gold);opacity:.7;animation:processFloat 3.2s ease-in-out infinite}
.process-step:nth-child(2) .process-float{animation-delay:-.8s}.process-step:nth-child(3) .process-float{animation-delay:-1.6s}.process-step:nth-child(4) .process-float{animation-delay:-2.4s}
.process-step.no-number:before{content:'';position:absolute;width:140px;height:140px;border:1px solid rgba(254,229,134,.18);border-radius:50%;right:-38px;top:-42px;transition:transform .55s ease}.process-step.no-number:hover:before{transform:scale(1.45) rotate(25deg)}
@keyframes processFloat{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(10px) rotate(8deg)}}

.services-five .service-card:last-child{grid-column:1/-1;min-height:280px}
.gallery-five .gallery-item:nth-child(5){grid-column:span 12;min-height:420px}
.footer-bottom{flex-wrap:wrap}

@media(max-width:1100px){
  .blade-story{height:auto;min-height:0}.blade-sticky{position:relative;height:auto;min-height:0;padding:110px 0 135px}.blade-layout{grid-template-columns:1fr;gap:66px;height:auto}.blade-copy{padding-bottom:0}.blade-visual{height:720px;width:min(100%,860px);margin:0 auto}.blade-frame{width:52%;height:78%}
}
@media(max-width:700px){
  .hero-content{padding-left:26px;padding-right:22px}.blade-sticky{padding:80px 0 110px}.blade-visual{height:510px;min-height:510px}.blade-frame{width:62%;height:74%}.blade-pivot{width:50px;height:50px}.blade-pivot:after{inset:19px}.blade-link{margin-bottom:12px}.process-step.no-number{min-height:auto}.process-step.no-number:hover{transform:none}.process-float{font-size:38px;right:24px;top:20px}.gallery-five .gallery-item:nth-child(5){min-height:320px}
}


/* === Home readability + Mission/Vision + FAQ refinements === */
/* Keep the folding-blade visual intact, but never let the opened cards obscure the copy. */
.blade-copy{position:relative;z-index:90;isolation:isolate;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.blade-copy:before{content:'';position:absolute;z-index:-1;inset:-26px -86px -26px -24px;background:linear-gradient(90deg,rgba(11,11,11,1) 0%,rgba(11,11,11,.98) 75%,rgba(11,11,11,.74) 90%,rgba(11,11,11,0) 100%);pointer-events:none}
.blade-visual{z-index:10}
.blade-title,.blade-lead,.blade-points,.blade-statement,.blade-link,.blade-rule,.blade-copy .section-kicker{position:relative;z-index:2}

/* Mission & Vision — vintage barber-card composition based on the supplied reference. */
.mission-vision-section{background:#F3F0E8;color:#0b0b0b;padding:112px 0 126px;position:relative;overflow:hidden}
.mission-vision-section:before{content:'';position:absolute;width:260px;height:260px;border:1px solid rgba(158,1,13,.22);border-radius:50%;left:-145px;top:-145px}
.mission-vision-section:after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:var(--burgundy);left:3.6vw;top:42px;box-shadow:0 0 0 1px rgba(158,1,13,.18)}
.mv-heading{display:flex;align-items:end;justify-content:space-between;gap:34px;margin-bottom:54px;border-bottom:1px solid rgba(0,0,0,.16);padding-bottom:30px}
.mv-heading .section-kicker{margin:0;color:var(--burgundy)}
.mv-heading .display-title{font-size:clamp(48px,6vw,88px);max-width:none;text-align:right}
.mv-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:980px;margin:0 auto}
.mv-card{background:#f5ead6;border:2px solid #171512;border-radius:7px;overflow:hidden;box-shadow:7px 8px 0 #171512;transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s ease;transform-origin:center bottom}
.mv-card:hover{transform:translateY(-10px) rotate(-.6deg);box-shadow:11px 14px 0 #171512}
.mv-card:nth-child(2):hover{transform:translateY(-10px) rotate(.6deg)}
.mv-photo-wrap{position:relative;height:355px;overflow:hidden;border-bottom:2px solid #171512;background:#171512}
.mv-photo-wrap img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04);transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s ease}
.mv-card:hover .mv-photo-wrap img{transform:scale(1.055);filter:saturate(1) contrast(1.04)}
.mv-badge{position:absolute;left:18px;top:18px;background:var(--burgundy);color:#fff;border:2px solid #171512;border-radius:4px;padding:6px 10px;font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:900;letter-spacing:.08em;box-shadow:2px 2px 0 #171512}
.mv-card-body{padding:24px 25px 25px}
.mv-mini{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:13px;letter-spacing:.15em;color:var(--burgundy);margin-bottom:9px}
.mv-card h3{font-family:'Barlow Condensed',sans-serif;font-size:clamp(31px,3vw,43px);line-height:.95;margin:0 0 12px;text-transform:uppercase;letter-spacing:-.02em}
.mv-card p{font-size:15.5px;line-height:1.58;color:#4f4b45;margin:0 0 17px}
.mv-accent{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:900;letter-spacing:.14em;color:var(--burgundy)}

/* FAQ — split editorial accordion inspired by the supplied reference. */

.home-portfolio{background:#FEE586;color:#090909;padding:104px 0 118px;position:relative;overflow:hidden}
.home-portfolio:before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(0,0,0,.14) 1px, transparent 1px);background-size:12px 12px;opacity:.18;pointer-events:none}
.portfolio-head{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:34px}
.portfolio-head h2{margin:0;font-family:'Barlow Condensed',sans-serif;font-size:clamp(56px,8vw,120px);line-height:.82;letter-spacing:-.045em;text-transform:uppercase;max-width:760px}
.portfolio-head h2 strong{display:block;font-weight:900}
.portfolio-head h2 em{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;text-transform:none;font-size:.76em;line-height:.92;letter-spacing:-.01em}
.portfolio-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(0,0,0,.18);padding:18px 30px;border-radius:999px;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:23px;letter-spacing:.04em;text-transform:uppercase;background:rgba(255,255,255,.16);box-shadow:0 10px 26px rgba(0,0,0,.08);transition:transform .25s ease, background .25s ease, box-shadow .25s ease}
.portfolio-btn:hover{transform:translateY(-2px);background:#0b0b0b;color:#FEE586;box-shadow:0 14px 30px rgba(0,0,0,.14)}
.portfolio-carousel{position:relative;z-index:2;width:100%;overflow:hidden}
.portfolio-track{display:flex;gap:20px;width:max-content;animation:portfolio-scroll 44s linear infinite;will-change:transform;padding:12px 24px 16px}
.portfolio-carousel:hover .portfolio-track{animation-play-state:running}
.portfolio-slide{position:relative;flex:0 0 350px;width:350px;height:480px;margin:0;overflow:hidden;border-radius:28px;background:#171717;box-shadow:0 22px 46px rgba(0,0,0,.16);transform:translateY(0) scale(1);transition:transform .3s ease, box-shadow .3s ease, filter .3s ease;cursor:pointer}
.portfolio-slide:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 30px 54px rgba(0,0,0,.22);filter:saturate(1.03)}
.portfolio-slide img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.8,.2,1)}
.portfolio-slide:hover img{transform:scale(1.12)}
.portfolio-slide:after{content:'';position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.42));pointer-events:none}
.slide-no{position:absolute;left:18px;top:18px;min-width:58px;height:58px;border-radius:16px;background:rgba(0,0,0,.66);backdrop-filter:blur(5px);display:grid;place-items:center;color:#fff;font-family:'Barlow Condensed',sans-serif;font-size:27px;font-weight:900;letter-spacing:.06em;border:1px solid rgba(255,255,255,.16)}
@keyframes portfolio-scroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 10px))}}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;padding:28px;z-index:200;opacity:0;pointer-events:none;transition:opacity .25s ease}
.lightbox.open{opacity:1;pointer-events:auto}
.lightbox img{max-width:min(92vw,1200px);max-height:88vh;border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.42)}
.lightbox button{position:absolute;right:26px;top:20px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.home-faq{background:#F3F0E8;color:#080808;padding:116px 0 126px;position:relative;overflow:hidden}
.home-faq:before{content:'';position:absolute;left:0;top:0;bottom:0;width:8vw;min-width:72px;background:rgba(0,0,0,.018);border-right:1px solid rgba(0,0,0,.025)}
.home-faq:after{content:'';position:absolute;width:32px;height:32px;border:1px solid #d22;border-radius:50%;left:-12px;top:-10px}
.faq-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(70px,8vw,150px);position:relative;z-index:1}
.faq-intro{padding-top:88px}
.faq-overline{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:800;letter-spacing:.23em;text-transform:uppercase;display:flex;align-items:center;gap:12px;margin-bottom:20px}
.faq-overline span{width:8px;height:8px;border-radius:50%;background:#d92525;display:inline-block}
.faq-intro h2{margin:0 0 38px;display:flex;flex-direction:column;align-items:flex-start;line-height:.72}
.faq-intro h2 strong{font-family:'Barlow Condensed',sans-serif;font-size:clamp(76px,8vw,126px);letter-spacing:-.06em;line-height:.75}
.faq-intro h2 em{font-family:Georgia,'Times New Roman',serif;font-size:clamp(62px,7vw,108px);font-weight:400;line-height:.8;color:#d92525;letter-spacing:-.055em;transform:skew(-7deg);margin-top:6px}
.faq-call{display:inline-flex;align-items:center;gap:13px;border:1px solid rgba(0,0,0,.32);border-radius:999px;padding:16px 22px;font-family:'Barlow Condensed',sans-serif;font-weight:900;letter-spacing:.08em;font-size:15px;transition:.3s ease;background:rgba(255,255,255,.08)}
.faq-call span{color:#d92525;font-size:17px}
.faq-call:hover{background:#0a0a0a;color:#fff;border-color:#0a0a0a;transform:translateY(-3px)}
.faq-list{border-top:2px solid #d92525}
.faq-item{border-bottom:1px solid rgba(0,0,0,.17)}
.faq-question{width:100%;border:0;background:transparent;color:inherit;display:grid;grid-template-columns:34px 1fr 46px;align-items:center;gap:8px;text-align:left;padding:28px 0;cursor:pointer}
.faq-no{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:900;letter-spacing:.14em;color:#d92525}
.faq-qtext{font-family:'Barlow Condensed',sans-serif;font-size:clamp(27px,2.6vw,43px);font-weight:900;line-height:.95;letter-spacing:-.025em;text-transform:uppercase}
.faq-plus{width:38px;height:38px;border:1px solid rgba(0,0,0,.26);border-radius:50%;position:relative;justify-self:end;transition:.35s ease}
.faq-plus:before,.faq-plus:after{content:'';position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:#080808;transform:translate(-50%,-50%);transition:.35s ease}
.faq-plus:after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item.open .faq-plus{background:#080808;border-color:#080808;transform:rotate(180deg)}
.faq-item.open .faq-plus:before,.faq-item.open .faq-plus:after{background:#fff}.faq-item.open .faq-plus:after{transform:translate(-50%,-50%) rotate(0deg)}
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s cubic-bezier(.2,.8,.2,1)}
.faq-answer>p{overflow:hidden;margin:0;padding:0 58px 0 42px;max-width:820px;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:18px;line-height:1.55;color:#5d5851;transition:padding .42s ease}
.faq-item.open .faq-answer{grid-template-rows:1fr}
.faq-item.open .faq-answer>p{padding-bottom:26px}

@media(max-width:1100px){
  .blade-copy:before{display:none}.blade-copy{text-shadow:none}
  .mv-card-grid{max-width:900px}.mv-photo-wrap{height:330px}
  .faq-layout{grid-template-columns:1fr;gap:56px}.faq-intro{padding-top:34px;max-width:760px}.home-faq:before{width:52px;min-width:52px}
}
@media(max-width:700px){
  .mission-vision-section,.home-faq{padding:78px 0 88px}
  .mv-heading{display:block;margin-bottom:34px}.mv-heading .section-kicker{margin-bottom:18px}.mv-heading .display-title{text-align:left}
  .mv-card-grid{grid-template-columns:1fr;gap:25px}.mv-photo-wrap{height:300px}.mv-card{box-shadow:5px 6px 0 #171512}.mv-card:hover{transform:none;box-shadow:5px 6px 0 #171512}
  .home-faq:before{display:none}.faq-layout{gap:42px}.faq-intro{padding-top:0}.faq-intro h2{margin-bottom:28px}.faq-call{font-size:14px;padding:14px 17px}
  .faq-question{grid-template-columns:28px 1fr 38px;padding:23px 0}.faq-qtext{font-size:clamp(24px,8vw,34px)}.faq-plus{width:34px;height:34px}.faq-answer>p{padding-left:36px;padding-right:12px;font-size:16.5px}
}


@media (max-width: 1100px){
  .portfolio-head{display:block;margin-bottom:26px}.portfolio-btn{margin-top:24px}
  .portfolio-slide{flex-basis:320px;width:320px;height:430px}
}
@media (max-width: 768px){
  .home-portfolio{padding:78px 0 88px}.portfolio-head h2{font-size:clamp(48px,16vw,78px)}.portfolio-btn{font-size:18px;padding:15px 22px}
  .portfolio-track{gap:14px;padding:8px 12px 12px;animation-duration:36s}
  .portfolio-slide{flex-basis:260px;width:260px;height:360px;border-radius:22px}
  .slide-no{width:46px;height:46px;min-width:46px;font-size:22px;border-radius:12px}
}


/* === Requested home section updates (portfolio + sticky grooming routine) === */
.home-portfolio .section-kicker,.grooming-story .section-kicker{position:relative;z-index:2}
.portfolio-head h2,.grooming-story-head h2,.grooming-copy-panel h3{hyphens:none;word-break:keep-all;overflow-wrap:normal;text-wrap:balance}

/* Portfolio: no numbering, icon badges, staggered cards like the supplied reference. */
.portfolio-track{padding:24px 24px 26px}
.portfolio-slide{--offset:0px;transform:translateY(var(--offset)) scale(1);background:#121212}
.portfolio-slide:nth-child(4n+1),.portfolio-slide:nth-child(4n+3){--offset:28px}
.portfolio-slide:nth-child(4n+2),.portfolio-slide:nth-child(4n+4){--offset:-18px}
.portfolio-slide:hover{transform:translateY(calc(var(--offset) - 10px)) scale(1.02)}
.portfolio-icon{position:absolute;right:18px;top:18px;width:58px;height:58px;border-radius:18px;background:rgba(14,14,14,.72);backdrop-filter:blur(5px);display:grid;place-items:center;color:#fff;font-size:26px;border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 18px rgba(0,0,0,.14)}
.portfolio-slide:before{content:'';position:absolute;left:18px;top:18px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.08);z-index:2}
.portfolio-slide:after{height:0}
.portfolio-slide img{filter:saturate(1.03) contrast(1.02)}

/* Sticky grooming services section. */
.grooming-story{--story-bg:#FBE285;--story-fg:#0c0c0c;position:relative;height:360vh;background:var(--story-bg);color:var(--story-fg);overflow:hidden;transition:background .42s ease,color .42s ease}
.grooming-story[data-tone="dark"]{--story-bg:#050505;--story-fg:#f4efe4}
.grooming-story:before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(0,0,0,.15) 1px, transparent 1px);background-size:11px 11px;opacity:.16;pointer-events:none}
.grooming-sticky{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden;padding:76px 0}
.grooming-story-head{position:relative;z-index:2;max-width:920px;margin-bottom:34px}
.grooming-story-head .display-title{max-width:900px}
.grooming-stage{position:relative;min-height:620px}
.grooming-scene{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(42px,5vw,88px);align-items:center;opacity:0;transform:translateY(38px);pointer-events:none;transition:opacity .45s ease,transform .55s cubic-bezier(.2,.8,.2,1)}
.grooming-scene.active{opacity:1;transform:none;pointer-events:auto}
.grooming-copy-panel{max-width:560px}
.grooming-meta{display:flex;align-items:center;gap:12px;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:14px;opacity:.82}
.grooming-dot{width:8px;height:8px;border-radius:50%;background:#d92525;display:inline-block;flex:0 0 auto}
.grooming-icon{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:50%;border:1px solid currentColor;font-size:32px;margin:24px 0 22px;box-shadow:0 14px 36px rgba(0,0,0,.12)}
.grooming-copy-panel h3{font-family:'Barlow Condensed',sans-serif;font-size:clamp(64px,8vw,116px);line-height:.82;letter-spacing:-.05em;text-transform:uppercase;margin:0 0 18px}
.grooming-copy-panel p{font-size:clamp(18px,1.45vw,24px);line-height:1.6;max-width:540px;margin:0 0 30px;opacity:.8}
.grooming-btn{border-color:currentColor}
.grooming-story[data-tone="gold"] .grooming-btn:hover,.grooming-story:not([data-tone="dark"]) .grooming-btn:hover{color:#111}
.grooming-story[data-tone="dark"] .grooming-btn:before{background:#FBE285}
.grooming-story[data-tone="dark"] .grooming-btn:hover{border-color:#FBE285;color:#111}
.grooming-photo{position:relative;width:min(100%,620px);height:min(74vh,710px);min-height:540px;margin:0 0 0 auto;border-radius:34px;overflow:hidden;box-shadow:0 26px 68px rgba(0,0,0,.18)}
.grooming-photo:before{content:'';position:absolute;inset:-14px auto auto -14px;width:120px;height:120px;border:1px solid rgba(0,0,0,.14);border-radius:50%;opacity:.5;pointer-events:none}
.grooming-story[data-tone="dark"] .grooming-photo:before{border-color:rgba(255,255,255,.12)}
.grooming-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.grooming-scene.active .grooming-photo img{transform:scale(1.04)}
.grooming-photo figcaption{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.92);color:#111;padding:8px 14px;border-radius:10px;font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;box-shadow:0 10px 20px rgba(0,0,0,.12)}
.grooming-story[data-tone="dark"] .grooming-photo figcaption{background:#f4efe4}
.grooming-scene:nth-child(1) .grooming-photo{transform:rotate(-1.3deg)}
.grooming-scene:nth-child(2) .grooming-photo{transform:rotate(1deg)}
.grooming-scene:nth-child(3) .grooming-photo{transform:rotate(-1deg)}
.grooming-scene:nth-child(4) .grooming-photo{transform:rotate(1.3deg)}

@media (max-width:1100px){
  .grooming-story{height:auto}
  .grooming-sticky{position:relative;height:auto;padding:84px 0}
  .grooming-stage{display:grid;gap:30px;min-height:0}
  .grooming-scene{position:relative;opacity:1;pointer-events:auto;transform:none;grid-template-columns:1fr;gap:26px;padding:28px 24px;border-radius:28px}
  .grooming-scene[data-tone="gold"]{background:#FBE285;color:#111;border:1px solid rgba(0,0,0,.12)}
  .grooming-scene[data-tone="dark"]{background:#050505;color:#f4efe4;border:1px solid rgba(255,255,255,.12)}
  .grooming-photo{width:100%;height:540px;min-height:0;max-width:none;transform:none!important}
}
@media (max-width:768px){
  .portfolio-track{gap:14px;padding:8px 12px 18px;animation-duration:36s}
  .portfolio-slide{flex-basis:260px;width:260px;height:360px;border-radius:22px}
  .portfolio-icon{width:46px;height:46px;font-size:21px;border-radius:14px}
  .portfolio-slide:before{left:14px;top:14px;width:34px;height:34px}
  .grooming-story-head{margin-bottom:28px}
  .grooming-copy-panel h3{font-size:clamp(48px,13vw,72px)}
  .grooming-copy-panel p{font-size:17px}
  .grooming-photo{height:380px;border-radius:22px}
  .grooming-scene{padding:22px 18px;border-radius:22px}
  .grooming-icon{width:58px;height:58px;font-size:26px;margin:18px 0}
}


/* === FINAL REQUESTED REFINEMENTS: title typography + sticky service story === */
/* Use the same bold editorial title family as the OUR LOOKS treatment throughout the site. */
.hero h1,.page-banner h1,.display-title,.display-title.small,.blade-title,.service-card h3,.process-step h3,.contact-info h2,.portfolio-head h2 strong,.faq-intro h2 strong,.faq-qtext,.mv-card h3,.grooming-copy-panel h3,.big-cta h2,.split-intro h2,.text-stack h2,
main section h1,main section h2,main section h3{font-family:'Archivo Black','Arial Black',sans-serif;letter-spacing:-.045em;word-break:normal;overflow-wrap:normal;hyphens:none}
.portfolio-head h2 em,.faq-intro h2 em{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:600;letter-spacing:-.035em}
/* Keep small labels/buttons in the condensed utility font. */
.section-kicker,.eyebrow,.grooming-meta,.btn,.portfolio-btn,.faq-overline,.mv-mini,.mv-accent{font-family:'Barlow Condensed',sans-serif;letter-spacing:.12em}

/* Portfolio cards: alternate high/low like the reference, keep continuous animation and icons only. */
.portfolio-track{align-items:center;padding-top:48px;padding-bottom:50px}
.portfolio-slide:nth-child(odd){--offset:34px}
.portfolio-slide:nth-child(even){--offset:-28px}
.portfolio-slide:hover{transform:translateY(calc(var(--offset) - 12px)) scale(1.025) rotate(.35deg)}
.portfolio-slide:nth-child(even):hover{transform:translateY(calc(var(--offset) - 12px)) scale(1.025) rotate(-.35deg)}

/* Grooming routine: one fixed section, four scroll stages. First two yellow, last two black. */
.grooming-story{height:430vh;overflow:visible}
.grooming-story:before{position:fixed;opacity:0;transition:opacity .25s ease}
.grooming-story[data-active]:before{opacity:.13}
.grooming-sticky{position:sticky;top:0;height:100svh;min-height:650px;padding:18px 0 16px;display:block;overflow:hidden}
.grooming-sticky>.container{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);align-content:stretch}
.grooming-story-head{max-width:860px;margin:0 0 12px;padding-top:4px;position:relative;z-index:5}
.grooming-story-head .section-kicker{font-size:14px;margin-bottom:10px}
.grooming-story-head .display-title{font-size:clamp(40px,4.4vw,70px);line-height:.92;max-width:820px;text-wrap:balance;margin:0}
.grooming-stage{position:relative;min-height:0;height:100%;overflow:hidden}
.grooming-scene{position:absolute;inset:0;grid-template-columns:minmax(330px,.78fr) minmax(470px,1.22fr);gap:clamp(34px,4vw,72px);align-items:center;min-height:0;opacity:0;transform:translateY(48px);pointer-events:none;transition:opacity .36s ease,transform .5s cubic-bezier(.2,.8,.2,1)}
.grooming-scene.active{opacity:1;transform:translateY(0);pointer-events:auto}
.grooming-copy-panel{max-width:540px;align-self:center;padding-bottom:8px}
.grooming-meta{font-size:12px;margin-bottom:10px}
.grooming-icon{width:54px;height:54px;font-size:24px;margin:8px 0 14px;box-shadow:none}
.grooming-copy-panel h3{font-size:clamp(48px,5.5vw,82px);line-height:.88;margin:0 0 12px;text-wrap:balance}
.grooming-copy-panel p{font-size:clamp(16px,1.25vw,20px);line-height:1.5;max-width:500px;margin:0 0 20px}
.grooming-btn{padding:13px 18px;font-size:14px}
.grooming-photo{height:min(66vh,580px);min-height:390px;width:min(100%,620px);border-radius:28px;margin-left:auto;align-self:center}
.grooming-photo img{height:100%;object-fit:cover}
.grooming-photo figcaption{display:none!important}

/* Exact two-and-two color sequence on desktop/tablet. */
.grooming-story[data-tone="gold"]{background:#FBE285;color:#0b0b0b}
.grooming-story[data-tone="dark"]{background:#050505;color:#f4efe4}

@media (max-width:1050px) and (min-width:768px){
  .grooming-sticky{padding:16px 0 14px}
  .grooming-story-head .display-title{font-size:clamp(38px,5.8vw,58px);max-width:720px}
  .grooming-scene{grid-template-columns:minmax(280px,.9fr) minmax(380px,1.1fr);gap:28px}
  .grooming-copy-panel h3{font-size:clamp(44px,6vw,64px)}
  .grooming-copy-panel p{font-size:16px;line-height:1.45}
  .grooming-photo{height:min(60vh,520px);min-height:350px}
}

@media (max-width:767px){
  /* Mobile uses the same 2+2 color system as individual service cards without breaking page scroll. */
  .grooming-story{height:auto;background:#FBE285;color:#111;overflow:hidden}
  .grooming-sticky{position:relative;height:auto;min-height:0;padding:68px 0}
  .grooming-sticky>.container{display:block;height:auto}
  .grooming-story-head{margin-bottom:28px}
  .grooming-story-head .display-title{font-size:clamp(42px,12vw,62px)}
  .grooming-stage{display:grid;gap:0;height:auto;overflow:visible;border-radius:22px;overflow:hidden}
  .grooming-scene{position:relative;inset:auto;display:grid;grid-template-columns:1fr;gap:22px;opacity:1;transform:none;pointer-events:auto;padding:34px 20px;border:0;border-radius:0}
  .grooming-scene[data-tone="gold"]{background:#FBE285;color:#111}
  .grooming-scene[data-tone="dark"]{background:#050505;color:#f4efe4}
  .grooming-photo{height:360px;min-height:0;width:100%;border-radius:20px;order:-1}
  .grooming-copy-panel h3{font-size:clamp(45px,14vw,68px)}
  .grooming-icon{margin-top:2px}
}


/* === V6 REFINEMENTS === */
/* Keep the OUR LOOKS editorial title language across the site: bold display + optional script accents. */
.hero h1,.page-banner h1,.display-title,.display-title.small,.blade-title,.service-card h3,.process-step h3,.contact-info h2,.portfolio-head h2 strong,.faq-intro h2 strong,.faq-qtext,.mv-card h3,.grooming-copy-panel h3,.big-cta h2,.split-intro h2,.text-stack h2,.cut-title,
main section h1,main section h2,main section h3{font-family:'Archivo Black','Arial Black',sans-serif;letter-spacing:-.045em;word-break:normal;overflow-wrap:normal;hyphens:none}
.portfolio-head h2 em,.faq-intro h2 em,.hero h1 .accent,.page-banner h1 .accent,.title-script,.cut-script{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:600;letter-spacing:-.03em;text-transform:none}

/* Grooming routine: alternate yellow/black per service while keeping pinned scroll. */
.grooming-story{height:430vh;overflow:visible}
.grooming-story-head{max-width:960px}
.grooming-story-head .display-title{font-size:clamp(38px,4.1vw,66px);line-height:.92;max-width:940px}
.grooming-scene{grid-template-columns:minmax(340px,.8fr) minmax(500px,1.2fr)}
.grooming-copy-panel{max-width:560px}
.grooming-copy-panel h3{font-size:clamp(52px,5.8vw,86px)}
.grooming-photo{position:relative;overflow:hidden;transition:transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .7s ease,filter .5s ease;box-shadow:0 30px 80px rgba(0,0,0,.18)}
.grooming-photo:before{content:'';position:absolute;inset:14px;border:1px solid rgba(255,255,255,.14);border-radius:20px;pointer-events:none;z-index:2;opacity:.75;transition:opacity .35s ease,transform .55s ease}
.grooming-photo img{height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),filter .55s ease;transform:scale(1.02)}
.grooming-scene.active .grooming-photo{transform:translateY(-8px) rotate(-1deg)}
.grooming-scene:nth-child(even).active .grooming-photo{transform:translateY(-8px) rotate(1deg)}
.grooming-scene.active .grooming-photo img{transform:scale(1.08)}
.grooming-scene.active .grooming-photo:before{transform:scale(.985);opacity:1}
.grooming-story[data-tone="gold"]{background:#FBE285;color:#0b0b0b}
.grooming-story[data-tone="dark"]{background:#050505;color:#f4efe4}
.grooming-story[data-tone="gold"] .grooming-photo:before{border-color:rgba(17,17,17,.18)}
.grooming-story[data-tone="dark"] .grooming-photo:before{border-color:rgba(255,255,255,.14)}

/* Cut study: black editorial before/after section with pinned scroll stages. */
.cut-study{position:relative;height:220vh;background:#060707;color:#f3efe5;overflow:visible}
.cut-study:before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.075) 1px, transparent 1px);background-size:11px 11px;opacity:.18;pointer-events:none}
.cut-study-sticky{position:sticky;top:0;height:100svh;display:flex;align-items:center;padding:28px 0}
.cut-study-layout{display:grid;grid-template-columns:minmax(360px,.98fr) minmax(360px,1.02fr);gap:58px;align-items:center}
.cut-study-copy{position:relative;min-height:620px}
.cut-stage{position:absolute;inset:0;display:grid;align-content:center;opacity:0;transform:translateY(28px);transition:opacity .38s ease,transform .58s cubic-bezier(.2,.8,.2,1)}
.cut-stage.is-active{opacity:1;transform:none}
.cut-overline{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.86);margin-bottom:22px}
.cut-title{font-size:clamp(62px,7vw,124px);line-height:.84;text-transform:uppercase;margin:0 0 28px;max-width:720px;color:#f0ede5}
.cut-title span{display:block}
.cut-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px;margin:0 0 30px}
.cut-tabs span{display:block;padding:16px 0 14px;border-top:1px solid rgba(255,255,255,.14);font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.76)}
.cut-tabs span.active{color:#DDFE5C;border-top-color:#DDFE5C}
.cut-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 34px;margin:12px 0 30px;max-width:660px}
.cut-specs small{display:block;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.64);margin-bottom:8px}
.cut-specs strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:700;line-height:1.05;letter-spacing:.02em;color:#f5f1e8}
.cut-note{font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35);margin:0}
.cut-study-visual{position:relative;min-height:680px;display:flex;align-items:center;justify-content:flex-end}
.cut-figure{position:absolute;right:0;top:50%;transform:translateY(-50%) translateX(24px) scale(.98);width:min(100%,848px);opacity:0;transition:opacity .42s ease,transform .62s cubic-bezier(.2,.8,.2,1);margin:0;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 34px 88px rgba(0,0,0,.38);background:#111}
.cut-figure.is-active{opacity:1;transform:translateY(-50%) translateX(0) scale(1)}
.cut-figure img{width:100%;height:auto;display:block}
.cut-figure:before,.cut-figure:after{content:'';position:absolute;width:78px;height:78px;pointer-events:none;z-index:2}
.cut-figure:before{left:18px;top:18px;border-left:2px solid rgba(251,226,133,.74);border-top:2px solid rgba(251,226,133,.74);border-radius:14px 0 0 0}
.cut-figure:after{right:18px;bottom:18px;border-right:2px solid rgba(251,226,133,.74);border-bottom:2px solid rgba(251,226,133,.74);border-radius:0 0 14px 0}

@media (max-width:1100px){
  .cut-study-layout{grid-template-columns:minmax(280px,.95fr) minmax(320px,1.05fr);gap:36px}
  .cut-study-copy{min-height:560px}
  .cut-title{font-size:clamp(52px,7vw,96px)}
  .cut-specs strong{font-size:24px}
}

@media (max-width:767px){
  .grooming-story-head .display-title{font-size:clamp(40px,11.5vw,58px)}
  .grooming-scene[data-tone="gold"]{background:#FBE285;color:#111}
  .grooming-scene[data-tone="dark"]{background:#050505;color:#f4efe4}
  .grooming-photo{box-shadow:0 22px 60px rgba(0,0,0,.2)}
  .grooming-scene.active .grooming-photo,.grooming-scene:nth-child(even).active .grooming-photo{transform:none}

  .cut-study{height:auto;overflow:hidden}
  .cut-study-sticky{position:relative;height:auto;padding:74px 0}
  .cut-study-layout{grid-template-columns:1fr;gap:26px}
  .cut-study-copy{min-height:0;display:grid;gap:22px}
  .cut-stage{position:relative;opacity:1;transform:none;padding:0}
  .cut-study-visual{min-height:0;display:grid;gap:22px}
  .cut-figure{position:relative;top:auto;right:auto;opacity:1;transform:none!important;width:100%}
  .cut-title{font-size:clamp(46px,14vw,72px)}
  .cut-tabs{grid-template-columns:1fr 1fr;gap:12px 20px}
  .cut-tabs span{font-size:16px;padding:13px 0 11px}
  .cut-specs{grid-template-columns:1fr 1fr;gap:18px 20px}
  .cut-specs strong{font-size:22px}
}


/* === V7 refinements === */
.logo-link img{width:300px;max-height:100px}
@media (max-width:860px){.header-row{height:98px}.logo-link img{width:240px;max-height:82px}.main-nav{top:98px}}
@media (max-width:600px){.header-row{height:88px}.logo-link img{width:204px;max-height:70px}.main-nav{top:88px}}

.hero h1{font-size:clamp(62px,9vw,138px);max-width:820px}
.hero h1 .accent{display:inline-block;font-size:.86em}
@media (max-width:1100px){.hero h1{font-size:clamp(58px,10vw,118px);max-width:700px}}
@media (max-width:600px){.hero h1{font-size:clamp(48px,15vw,82px);max-width:100%}}

/* Internal banners redesigned with reference-inspired background and animated barber-pole detail. */
.page-banner{position:relative;background:#101010;color:#fff;padding:132px 0 94px;overflow:hidden;isolation:isolate}
.page-banner:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.7)),url('https://assets.cdn.filesafe.space/zobjJn9qCY24Qxxxdhn1/media/6ab2c3037f434ba2c0818f9e.png') center/cover no-repeat;opacity:.92;z-index:-2;transform:scale(1.02)}
.page-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.3),rgba(0,0,0,.68));z-index:-1}
.page-banner .container{position:relative;z-index:2;display:grid;justify-items:center;text-align:center}
.page-banner h1{font-size:clamp(58px,8vw,126px);line-height:.84;max-width:12ch;text-shadow:0 12px 28px rgba(0,0,0,.32)}
.page-banner p{max-width:760px;font-size:18px;line-height:1.55;color:rgba(255,255,255,.88);margin:22px auto 0}
.page-banner .eyebrow{justify-content:center;color:#fff;margin-bottom:18px;text-shadow:0 2px 10px rgba(0,0,0,.3)}
.page-banner .eyebrow:after{content:'';display:block;width:170px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin-left:14px}
.banner-pole{position:absolute;left:30px;bottom:-6px;width:54px;height:200px;border:3px solid rgba(15,15,15,.85);border-radius:14px;background:linear-gradient(135deg,#f8f4ea 0 18%,#c33a2d 18% 33%,#f8f4ea 33% 49%,#2f4e78 49% 65%,#f8f4ea 65% 81%,#c33a2d 81% 100%);background-size:100% 88px;box-shadow:0 18px 40px rgba(0,0,0,.28);overflow:hidden;z-index:3;animation:poleShift 5s linear infinite}
.banner-pole:before,.banner-pole:after{content:'';position:absolute;left:50%;transform:translateX(-50%);width:68px;height:20px;background:#171312;border-radius:10px;box-shadow:0 3px 0 rgba(255,255,255,.08) inset}
.banner-pole:before{top:-13px}.banner-pole:after{bottom:-13px}
@keyframes poleShift{to{background-position:0 88px}}
@media (max-width:900px){.banner-pole{width:42px;height:156px;left:18px}}
@media (max-width:600px){.page-banner{padding:104px 0 64px}.page-banner h1{font-size:clamp(46px,14vw,76px)}.page-banner p{font-size:16px;padding:0 8px}.page-banner .eyebrow:after{width:90px}.banner-pole{width:30px;height:120px;left:10px;border-radius:10px}}

/* Cut study visibility fixes */
.cut-study{height:210vh}
.cut-study-layout{grid-template-columns:minmax(330px,.95fr) minmax(360px,1.05fr);gap:42px;width:min(100% - 40px,1620px)}
.cut-study-copy{min-height:520px;padding:14px 0}
.cut-stage{justify-content:center}
.cut-title{font-size:clamp(50px,5.8vw,104px);line-height:.86;max-width:8.8ch}
.cut-tabs{gap:14px 24px;margin:0 0 24px}
.cut-tabs span{font-size:16px;padding:14px 0 12px}
.cut-specs strong{font-size:24px}
.cut-study-visual{min-height:600px;justify-content:center;align-items:center}
.cut-figure{right:auto;left:50%;transform:translate(-50%,-50%) translateX(16px) scale(.98);width:min(100%,720px)}
.cut-figure.is-active{transform:translate(-50%,-50%) translateX(0) scale(1)}
.cut-figure img{display:block;width:100%;height:auto}
@media (max-width:1200px){.cut-study-layout{grid-template-columns:1fr 1fr;gap:26px}.cut-title{font-size:clamp(46px,6vw,86px)}.cut-study-visual{min-height:520px}.cut-figure{width:min(100%,620px)}}
@media (max-width:767px){.cut-study{height:auto}.cut-study-layout{width:min(100% - 28px,1620px)}.cut-title{max-width:none}}

/* Portfolio richer gallery */
.gallery-rich{grid-auto-flow:dense}
.gallery-rich .gallery-item{border-radius:18px;min-height:340px;box-shadow:0 18px 44px rgba(0,0,0,.12);transform:translateY(0);transition:transform .45s ease, box-shadow .45s ease}
.gallery-rich .gallery-item:hover{transform:translateY(-8px);box-shadow:0 26px 56px rgba(0,0,0,.18)}
.gallery-rich .gallery-item:nth-child(5n+1){grid-column:span 7;min-height:420px}
.gallery-rich .gallery-item:nth-child(5n+2){grid-column:span 5;min-height:420px}
.gallery-rich .gallery-item:nth-child(5n+3){grid-column:span 4;min-height:320px}
.gallery-rich .gallery-item:nth-child(5n+4){grid-column:span 4;min-height:320px}
.gallery-rich .gallery-item:nth-child(5n){grid-column:span 4;min-height:320px}
@media (max-width:860px){.gallery-rich .gallery-item:nth-child(n){grid-column:span 6;min-height:280px}}
@media (max-width:600px){.gallery-rich .gallery-item:nth-child(n){grid-column:span 12;min-height:300px;border-radius:14px}}

/* Video coming soon */
.coming-soon-section{position:relative;overflow:hidden}
.coming-soon-section:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 20%, rgba(251,226,133,.18), transparent 35%),radial-gradient(circle at 80% 20%, rgba(128,1,31,.16), transparent 32%),radial-gradient(circle at 50% 100%, rgba(49,78,130,.24), transparent 38%);pointer-events:none}
.coming-soon-stage{position:relative;max-width:980px;margin:0 auto;text-align:center;padding:80px 28px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02));box-shadow:0 24px 80px rgba(0,0,0,.25);overflow:hidden}
.coming-soon-stage:before{content:'';position:absolute;inset:-2px;background:linear-gradient(90deg,transparent,rgba(251,226,133,.35),transparent);transform:translateX(-100%);animation:shimmer 4s linear infinite}
.coming-soon-stage>*{position:relative;z-index:1}
.coming-kicker{font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.coming-title{font-size:clamp(60px,10vw,160px);line-height:.84;margin:0;color:#fff}
.coming-copy{max-width:700px;margin:22px auto 0;font-size:20px;line-height:1.65;color:rgba(255,255,255,.8)}
.coming-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px}
@keyframes shimmer{to{transform:translateX(100%)}}
@media (max-width:600px){.coming-soon-stage{padding:52px 18px}.coming-copy{font-size:17px}}


/* === V8 revisions === */
.page-banner:before{background:linear-gradient(180deg,rgba(0,0,0,.32),rgba(0,0,0,.42)),url('https://assets.cdn.filesafe.space/zobjJn9qCY24Qxxxdhn1/media/6ab2c3037f434ba2c0818f9e.png') center/cover no-repeat;opacity:.98}
.page-banner:after{background:linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,.1),rgba(0,0,0,.28))}
.banner-pole{left:28px;bottom:-8px}
.banner-pole.right{left:auto;right:28px}
@media (max-width:900px){.banner-pole.right{right:18px}}
@media (max-width:600px){.banner-pole.right{right:10px}}

.cut-study-layout{grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);align-items:center;max-width:1320px}
.cut-study-copy{max-width:620px}
.cut-study-visual{min-height:520px}
.cut-figure{width:min(100%,560px)}
@media (max-width:1200px){.cut-figure{width:min(100%,500px)}}

.home-portfolio{padding:90px 0 54px}
.portfolio-track{padding-top:34px;padding-bottom:18px}

.heritage-story{background:var(--paper);padding:86px 0 96px;border-top:1px solid rgba(17,17,17,.16);border-bottom:1px solid rgba(17,17,17,.16)}
.heritage-top{text-align:center;max-width:980px;margin:0 auto 42px}
.title-script{display:inline-block;color:#c23b28;font-size:clamp(32px,4vw,48px);margin-bottom:10px}
.heritage-year{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(64px,11vw,170px);line-height:.84;letter-spacing:-.05em;text-transform:uppercase;margin:0;color:#0a0a0a}
.heritage-intro{max-width:700px;margin:18px auto 0;font-size:clamp(19px,2.2vw,24px);line-height:1.55;color:rgba(17,17,17,.82)}
.heritage-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(320px,1.1fr);gap:52px;align-items:center;padding-top:42px;border-top:1px solid rgba(17,17,17,.3)}
.heritage-image{margin:0;background:#111;padding:0;box-shadow:0 16px 42px rgba(0,0,0,.16)}
.heritage-image img{width:100%;height:100%;min-height:460px;object-fit:cover}
.heritage-copy{font-size:clamp(20px,2vw,22px);line-height:1.72;color:#232323}
.heritage-copy p{margin:0 0 24px}
.heritage-signoff{margin-top:28px;font-size:clamp(30px,4vw,44px)}
.mission-vision-section{background:#050505}
.mission-vision-section .mv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:36px}
.mission-vision-section .mv-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.mission-vision-section .mv-card h3{font-size:clamp(26px,3vw,40px)}
@media (max-width:860px){.heritage-grid,.mission-vision-section .mv-grid{grid-template-columns:1fr}.heritage-top{text-align:left}.heritage-intro{margin-left:0;margin-right:0}.heritage-image img{min-height:320px}}

.location-list a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.2);font-family:'Barlow Condensed',sans-serif;font-size:21px;text-transform:uppercase;font-weight:700}
.location-list a:hover{color:var(--gold)}
.service-area-section{background:#F3F0E8;color:#0d0d0d}
.service-area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}
.service-area-grid span{display:grid;place-items:center;min-height:88px;padding:16px 14px;border:1px solid rgba(17,17,17,.14);background:#fff;font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
@media (max-width:980px){.service-area-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.service-area-grid{grid-template-columns:repeat(2,1fr)}}

.gallery-rich{grid-auto-flow:initial}
.gallery-rich .gallery-item{grid-column:span 4;min-height:340px}
.gallery-rich .gallery-item:nth-child(n){grid-column:span 4;min-height:340px}
@media (max-width:860px){.gallery-rich .gallery-item:nth-child(n){grid-column:span 6;min-height:280px}}
@media (max-width:600px){.gallery-rich .gallery-item:nth-child(n){grid-column:span 12;min-height:300px}}

.coming-soon-stage{max-width:900px;padding:62px 24px}
.coming-title{font-size:clamp(44px,7vw,92px)}
.coming-copy{font-size:18px;max-width:620px}

.contact-redesign{background:linear-gradient(180deg,#f7f3ea 0%,#f1ecdf 100%)}
.contact-page-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(360px,1.15fr);gap:26px;align-items:start}
.contact-panel{background:#0b0b0b;color:#fff;padding:40px;box-shadow:0 24px 70px rgba(0,0,0,.12)}
.contact-panel h2{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:clamp(48px,6vw,84px);line-height:.9;margin:0 0 18px}
.contact-panel p{line-height:1.65;color:rgba(255,255,255,.78)}
.contact-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px}
.contact-detail{display:grid;gap:8px;padding:18px 16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.contact-detail.full{grid-column:1/-1}
.contact-detail a,.contact-detail span:last-child{font-family:'Barlow Condensed',sans-serif;font-size:21px;font-weight:700;line-height:1.2;text-transform:uppercase}
.contact-detail a:hover{color:var(--gold)}
.contact-form-shell{background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.12);padding:14px}
.contact-embed-wrap{min-height:760px}
.contact-map-section{background:#050505;color:#fff}
.contact-map-card{margin-top:28px;border:1px solid rgba(255,255,255,.08);background:#111;padding:10px;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.contact-map-card iframe{display:block;width:100%;height:460px;border:0}
@media (max-width:980px){.contact-page-grid{grid-template-columns:1fr}.contact-detail-grid{grid-template-columns:1fr}.contact-detail.full{grid-column:auto}.contact-panel,.contact-form-shell{padding:28px}.contact-embed-wrap{min-height:780px}}

.logo-link img{width:300px;max-height:100px}
@media (max-width:860px){.header-row{height:98px}.logo-link img{width:240px;max-height:82px}.main-nav{top:98px}}
@media (max-width:600px){.header-row{height:88px}.logo-link img{width:204px;max-height:70px}.main-nav{top:88px}}


/* === V9 requested refinements === */
/* Show the complete banner image without cropping on every internal tab. */
.page-banner{background:#0a0a0a;min-height:330px;padding:104px 0 72px}
.page-banner:before{
  background-image:linear-gradient(180deg,rgba(0,0,0,.20),rgba(0,0,0,.28)),url('https://assets.cdn.filesafe.space/zobjJn9qCY24Qxxxdhn1/media/6ab2c3037f434ba2c0818f9e.png');
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  transform:none;
  opacity:1;
}
.page-banner:after{background:linear-gradient(90deg,rgba(0,0,0,.20),rgba(0,0,0,.04),rgba(0,0,0,.20))}
.page-banner h1{font-size:clamp(42px,5vw,82px);line-height:.9;max-width:15ch}
.page-banner p{font-size:17px;max-width:680px;margin-top:18px}

/* Larger header logo. */
.logo-link img{width:340px;max-height:112px}
.header-row{height:116px}
.site-header.internal .header-row{height:116px}

/* About refinements. */
.mission-vision-section .display-title,.mission-vision-section h2{color:#fff!important}
.heritage-image img{object-position:center}

/* Contact refinements. */
.contact-detail a[href^="mailto:"]{text-transform:lowercase!important}
.contact-form-intro{padding:22px 22px 8px;background:#fff}
.contact-form-intro .eyebrow{color:var(--burgundy)}
.contact-form-intro h2{font-family:'Archivo Black','Arial Black',sans-serif;font-size:clamp(34px,4vw,58px);line-height:.95;letter-spacing:-.04em;margin:10px 0 14px;text-transform:uppercase}
.contact-form-intro p{margin:0;max-width:680px;line-height:1.55;color:rgba(17,17,17,.72)}

/* Smaller Coming Soon treatment inside the Video tab. */
.coming-title{font-size:clamp(38px,5.5vw,74px)}

@media (max-width:860px){
  .page-banner{min-height:300px;padding:92px 0 58px}
  .page-banner h1{font-size:clamp(40px,8vw,66px)}
  .header-row,.site-header.internal .header-row{height:102px}
  .logo-link img{width:270px;max-height:90px}
  .main-nav{top:102px}
}
@media (max-width:600px){
  .page-banner{min-height:250px;padding:78px 0 48px}
  .page-banner h1{font-size:clamp(36px,11vw,56px)}
  .page-banner p{font-size:15px}
  .header-row,.site-header.internal .header-row{height:90px}
  .logo-link img{width:224px;max-height:72px}
  .main-nav{top:90px}
}


/* === V10 requested refinements === */
/* Internal banner: use the full background image across the complete section while keeping the design. */
.page-banner{background:#070707;min-height:340px;padding:108px 0 76px;isolation:isolate}
.page-banner:before{
  inset:0;
  background-image:linear-gradient(180deg,rgba(0,0,0,.44),rgba(0,0,0,.48)),url('https://assets.cdn.filesafe.space/zobjJn9qCY24Qxxxdhn1/media/6ab2c3037f434ba2c0818f9e.png');
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  opacity:1;
  transform:none;
}
.page-banner:after{background:linear-gradient(90deg,rgba(0,0,0,.54),rgba(0,0,0,.18),rgba(0,0,0,.54))}
.page-banner .container{display:grid;justify-items:center;text-align:center;position:relative;z-index:2}
.page-banner h1{font-size:clamp(42px,5.1vw,82px);line-height:.9;max-width:13ch}
.page-banner p{max-width:700px;font-size:17px;line-height:1.55;color:rgba(255,255,255,.9)}

/* About section — make the cards and all text white on the dark background. */
.mission-vision-section .mv-card,
.mission-vision-section .mv-card h3,
.mission-vision-section .mv-card p,
.mission-vision-section .mv-card .eyebrow,
.mission-vision-section .mv-card span{color:#fff !important}
.mission-vision-section .mv-card p{opacity:.9}

/* Footer redesign inspired by the supplied reference image. */
.site-footer{
  position:relative;
  overflow:hidden;
  color:#fff;
  padding:0 0 20px;
  background:#090909;
}
.site-footer:before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.70),rgba(0,0,0,.82)),url('https://assets.cdn.filesafe.space/zobjJn9qCY24Qxxxdhn1/media/6ab2ddabdf49425783777e40.png') center/cover no-repeat;
  z-index:0;
}
.site-footer:after{
  content:'';
  position:absolute;
  left:32px;
  top:18px;
  bottom:18px;
  width:56px;
  border:3px solid rgba(12,12,12,.95);
  border-radius:14px;
  background:linear-gradient(135deg,#f5f1e8 0 18%,#c53b30 18% 33%,#f5f1e8 33% 49%,#365886 49% 65%,#f5f1e8 65% 81%,#c53b30 81% 100%);
  background-size:100% 92px;
  box-shadow:0 16px 40px rgba(0,0,0,.28);
  animation:poleShift 5s linear infinite;
  z-index:1;
}
.site-footer .container{position:relative;z-index:2;padding-left:118px}
.footer-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:44px 0 34px;border-bottom:1px solid rgba(255,255,255,.18)}
.footer-top-copy h2{margin:0;font-family:'Cormorant Garamond',serif;font-style:normal;font-size:clamp(36px,4.8vw,64px);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.footer-top-copy p{margin:10px 0 0;color:rgba(255,255,255,.74);font-size:20px;line-height:1.45}
.footer-book-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:290px;padding:22px 28px;background:linear-gradient(135deg,#8f060f,#b00e18 72%,#d33a2f);border:1px solid rgba(255,255,255,.18);color:#fff;font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;letter-spacing:.02em;transition:transform .3s ease,box-shadow .3s ease}
.footer-book-btn:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,0,0,.3)}
.footer-main{display:grid;grid-template-columns:1.1fr .9fr .9fr .8fr;gap:34px;padding:38px 0 28px;border-bottom:1px solid rgba(255,255,255,.16)}
.footer-brand img{width:260px;max-width:100%;margin-bottom:16px}
.footer-brand p{max-width:420px;color:rgba(255,255,255,.74);line-height:1.65;margin:0}
.footer-col h4{margin:0 0 18px;font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#e24736}
.footer-col a,.footer-col span{display:block;padding:7px 0;color:rgba(255,255,255,.82);font-size:19px;line-height:1.45}
.footer-col a:hover{color:#fff;transform:translateX(4px)}
.footer-schedule div{display:grid;gap:12px;font-size:18px}
.footer-schedule span{padding:0;color:rgba(255,255,255,.8)}
.footer-schedule strong{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-top:18px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.65)}

@media (max-width:1100px){
  .site-footer .container{padding-left:94px}
  .footer-main{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
}
@media (max-width:860px){
  .page-banner{min-height:300px;padding:92px 0 60px}
  .page-banner h1{font-size:clamp(38px,8vw,64px)}
  .site-footer:after{left:18px;width:40px;top:14px;bottom:14px;background-size:100% 72px}
  .site-footer .container{padding-left:72px}
  .footer-top{grid-template-columns:1fr}
  .footer-book-btn{min-width:0;width:100%}
}
@media (max-width:600px){
  .page-banner{min-height:250px;padding:76px 0 48px}
  .page-banner h1{font-size:clamp(34px,11vw,54px)}
  .page-banner p{font-size:15px}
  .site-footer:after{left:10px;width:28px;top:12px;bottom:12px;border-radius:10px;background-size:100% 60px}
  .site-footer .container{padding-left:46px}
  .footer-top{padding:34px 0 26px}
  .footer-top-copy h2{font-size:clamp(28px,8vw,40px)}
  .footer-top-copy p{font-size:16px}
  .footer-main{grid-template-columns:1fr;gap:26px;padding:30px 0 22px}
  .footer-col h4{font-size:26px}
  .footer-col a,.footer-col span{font-size:17px}
  .footer-schedule strong{font-size:24px}
  .footer-bottom{flex-direction:column;align-items:flex-start}
}


/* === V11 services + footer refinements === */
.services-luxe-section{
  background:linear-gradient(180deg,#080808 0%,#0f0f0f 100%);
  color:#f7f1e4;
}
.services-luxe-head{text-align:center;max-width:980px;margin:0 auto 40px}
.services-luxe-head .section-kicker{color:#d7b16a}
.services-luxe-head h2{color:#f4ebda;margin-bottom:18px}
.services-luxe-head .lead{color:rgba(255,255,255,.78)}
.services-luxe-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch}
.service-luxe-card{position:relative;min-height:560px;border:1px solid rgba(215,177,106,.26);border-radius:20px;overflow:hidden;background:#121212;box-shadow:0 22px 50px rgba(0,0,0,.28);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.service-luxe-card:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,.18) 0%,rgba(5,5,5,.44) 40%,rgba(5,5,5,.9) 100%);z-index:1}
.service-luxe-card:hover{transform:translateY(-8px);border-color:rgba(231,194,120,.55);box-shadow:0 28px 70px rgba(0,0,0,.4)}
.service-luxe-image{position:absolute;inset:0;background-position:center;background-size:cover;transition:transform .8s ease,filter .4s ease;filter:saturate(.92) brightness(.9)}
.service-luxe-card:hover .service-luxe-image{transform:scale(1.07);filter:saturate(1) brightness(1)}
.service-luxe-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding:38px 24px 30px;text-align:center}
.service-luxe-micro{display:block;min-height:48px;margin-bottom:20px;color:#e7c178;font-size:12px;line-height:1.45;letter-spacing:.28em;text-transform:uppercase;text-align:left;max-width:12ch}
.service-luxe-icon{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 18px;border:1px solid rgba(231,193,120,.88);border-radius:50%;color:#e7c178;font-size:34px;background:rgba(0,0,0,.18);backdrop-filter:blur(2px)}
.service-luxe-card h3{margin:0 0 12px;font-family:'Cormorant Garamond',serif;font-size:clamp(34px,2.9vw,50px);line-height:.95;letter-spacing:.04em;text-transform:uppercase;color:#f7f1e4}
.service-luxe-card p{margin:0;color:rgba(247,241,228,.88);font-size:18px;line-height:1.55}
.service-luxe-card-more{grid-column:2 / span 2;min-height:520px}
.service-luxe-card-more .service-luxe-copy{align-items:center}
.service-luxe-card-more .section-kicker{margin-bottom:10px;color:#e7c178}
.service-luxe-card-more .service-luxe-micro{text-align:center;max-width:none;min-height:auto}

.site-footer:after{display:none !important}
.site-footer .container{padding-left:0 !important}
.footer-col h4{display:flex;align-items:center;gap:10px}
.footer-hicon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(226,71,54,.14);border:1px solid rgba(226,71,54,.38);color:#f0b75f;font-size:16px;line-height:1}
.footer-col a,.footer-col span{transition:color .25s ease,transform .25s ease}
.footer-col a:hover{color:#e7c178;transform:translateX(5px)}
.footer-col a[href^="tel"],.footer-col a[href^="mailto"]{font-weight:500}
.footer-col a[href^="tel"]:hover,.footer-col a[href^="mailto"]:hover{color:#ffcf78}
.footer-schedule strong{color:#f7f1e4}

@media (max-width:1180px){
  .services-luxe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-luxe-card-more{grid-column:1/-1}
}
@media (max-width:700px){
  .services-luxe-grid{grid-template-columns:1fr}
  .service-luxe-card,.service-luxe-card-more{min-height:500px;grid-column:auto}
  .service-luxe-card h3{font-size:38px}
  .service-luxe-card p{font-size:16px}
  .service-luxe-micro{min-height:auto}
}


/* === V13 requested refinements === */
/* Internal page banners: the supplied image is now the true full-section background. */
.page-banner{
  background:
    linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.16),rgba(0,0,0,.48)),
    linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.30)),
    url('https://assets.cdn.filesafe.space/zobjJn9qCY24Qxxxdhn1/media/6ab2c3037f434ba2c0818f9e.png') center center / cover no-repeat !important;
}
.page-banner:before{background:none !important;opacity:0 !important}
.page-banner:after{background:linear-gradient(90deg,rgba(0,0,0,.34),rgba(0,0,0,.04),rgba(0,0,0,.34)) !important}

/* Services cards: only service name + description, revealed on hover/focus. */
.service-luxe-card{min-height:560px;cursor:default}
.service-luxe-card:before{background:linear-gradient(180deg,rgba(5,5,5,.04) 0%,rgba(5,5,5,.16) 48%,rgba(5,5,5,.92) 100%);transition:background .4s ease}
.service-luxe-copy{justify-content:flex-end;align-items:flex-start;text-align:left;padding:34px 28px;opacity:0;transform:translateY(34px);transition:opacity .38s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.service-luxe-card:hover .service-luxe-copy,.service-luxe-card:focus-within .service-luxe-copy{opacity:1;transform:translateY(0)}
.service-luxe-card:hover:before,.service-luxe-card:focus-within:before{background:linear-gradient(180deg,rgba(5,5,5,.12) 0%,rgba(5,5,5,.44) 48%,rgba(5,5,5,.94) 100%)}
.service-luxe-card h3{margin:0 0 12px;font-size:clamp(38px,3vw,54px)}
.service-luxe-card p{font-size:17px;line-height:1.55;max-width:430px}
.service-luxe-card-more .service-luxe-copy{align-items:flex-start;text-align:left}
@media (hover:none){.service-luxe-copy{opacity:1;transform:none}.service-luxe-card:before{background:linear-gradient(180deg,rgba(5,5,5,.08) 0%,rgba(5,5,5,.35) 48%,rgba(5,5,5,.94) 100%)}}

/* Footer: icons belong to the information rows, not the section headings. */
.footer-col h4{display:block}
.footer-info-line{display:flex !important;align-items:flex-start;gap:10px;padding:7px 0 !important;color:rgba(255,255,255,.82)}
.footer-info-line > span,.footer-info-line > div{padding:0 !important}
.footer-info-line strong{display:block;margin-top:5px;font-family:'Cormorant Garamond',serif;font-size:25px;color:#fff}
.footer-item-icon{flex:0 0 auto;width:19px;height:19px;margin-top:3px;fill:none;stroke:#d9aa5f;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .25s ease,transform .25s ease}
a.footer-info-line:hover{color:#e7c178 !important;transform:translateX(4px)}
a.footer-info-line:hover .footer-item-icon{stroke:#ffd58a;transform:translateX(2px)}


/* === V14 Home Mission & Vision background === */
.home-mission-vision{background:#F3F0E8 !important;color:#0b0b0b !important}
.home-mission-vision .display-title,.home-mission-vision h2,.home-mission-vision .section-kicker{color:#0b0b0b !important}
.home-mission-vision .mv-card{background:#f5ead6 !important;border:2px solid #171512 !important}
.home-mission-vision .mv-card h3{color:#171512 !important}
.home-mission-vision .mv-card p{color:#4f4b45 !important;opacity:1 !important}
.home-mission-vision .mv-mini,.home-mission-vision .mv-accent{color:#000 !important}

/* === V15 Home Mission & Vision text refinements === */
.home-mission-vision .mv-accent{color:#000 !important}

/* Disable any loader / splash screen */
#loader,#preloader,.loader,.preloader,.loading-screen,.site-loader,.page-loader,.splash-screen{display:none !important;opacity:0 !important;visibility:hidden !important;pointer-events:none !important}

/* Google Maps links in header, footer, and contact */
.google-g-icon{display:block;width:22px;height:22px;flex:none}
.header-google-link{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(0,0,0,.16);transition:background .25s ease,border-color .25s ease,transform .25s ease}
.header-google-link:hover{background:rgba(255,255,255,.15);border-color:var(--gold);transform:translateY(-2px)}
.footer-google-link .google-g-icon{width:20px;height:20px;margin-right:2px}
.contact-google-link{display:inline-flex;align-items:center;gap:10px}
.contact-google-link .google-g-icon{width:22px;height:22px}
@media(max-width:860px){.header-google-link{width:38px;height:38px;margin-left:auto}.header-google-link .google-g-icon{width:21px;height:21px}}
@media(max-width:600px){.header-row{gap:12px}.header-google-link{width:34px;height:34px}.header-google-link .google-g-icon{width:19px;height:19px}}
