/*
Theme Name: ReFire Digital Staging
Description: Responsive homepage based on approved ReFire Digital Figma design. Editable homepage with noindex enabled and inquiry delivery.
Version: 0.5.18
Author: ReFire Digital
Text Domain: refire-digital
*/
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/inter-400.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/inter-500.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/inter-600.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/inter-700.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/inter-800.woff2) format('woff2');
}

:root{--pink:#c52d70;--soft:#f8e8ef;--ink:#29282c;--muted:#69676d;--cream:#fefaf0;--gold:#ffb915;--peach:#ff9466}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:white;font-family:Inter,Arial,sans-serif;font-size:18px;line-height:1.45}img{max-width:100%;vertical-align:middle}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}h1,h2,h3,h4,p,figure,blockquote{margin:0}h2{font-size:clamp(30px,2.315vw,40px);line-height:1.4}p+p{margin-top:1.4em}.eyebrow{text-transform:uppercase;color:var(--pink);font-size:12px;line-height:1.45;font-weight:700;letter-spacing:.06em}.button{display:inline-flex;align-items:center;justify-content:center;min-height:69px;padding:20px 48px;border:0;border-radius:100px;background:var(--pink);color:#fff;text-decoration:none;font-size:18px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#a4215c;transform:translateY(-2px)}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}.skip-link{position:fixed;top:8px;left:8px;z-index:50;background:white;padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:absolute;top:clamp(24px,2.55vw,44px);left:50%;transform:translateX(-50%);width:630px;max-width:90%;min-height:73px;border-radius:100px;background:#1e1e1e;color:white;display:flex;align-items:center;justify-content:space-between;padding:20px 50px;gap:44px;z-index:10;font-size:18px;font-weight:700}.wordmark{text-decoration:none;white-space:nowrap;font-size:22px;color:var(--soft)}.site-header nav{display:flex;gap:clamp(24px,3.65vw,63px)}.site-header nav a{text-decoration:none}.site-header nav a:hover{color:var(--peach)}
.hero{position:relative;height:58.85vw;min-height:720px;max-height:1100px;overflow:hidden}.hero-scene{position:absolute;inset:0;isolation:isolate}.room{position:absolute;left:4.5%;top:0;width:110%;max-width:none;height:100%;object-fit:fill}.gina{position:absolute;z-index:2;top:7.2%;left:34.14%;width:80.8%;max-width:none;height:92%;object-fit:fill}.hero-white{position:absolute;inset:0 auto 0 0;width:44.68%;background:white;overflow:hidden}.hero-white>img{position:absolute;width:186%;max-width:none;left:-91%;top:-.1%;height:50%;object-fit:fill}.hero-copy{position:absolute;z-index:2;top:37.5%;left:5.2%;width:32.1%}.hero h1{font-size:clamp(42px,4.05vw,74px);line-height:1.03;letter-spacing:-.035em;font-weight:700}.hero h1 .hero-highlight{display:block;background:linear-gradient(110deg,var(--pink) 10%,var(--gold) 100%);background-clip:text;color:transparent}.hero-copy>p{font-size:clamp(16px,1.042vw,20px);margin-top:26px;line-height:1.45}.hero-copy .button{margin-top:28px;min-height:clamp(56px,4vw,72px);padding:18px 42px}.badge{position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;color:white;font-size:clamp(13px,1.042vw,20px);font-weight:700;border-radius:100px;padding:18px 36px;animation:float 5s ease-in-out infinite}.presence{left:56.54%;top:30.58%;background:linear-gradient(82deg,var(--peach),var(--pink));}.strategy{left:51.9%;top:46.8%;background:linear-gradient(256deg,var(--gold),var(--peach))}.story{left:83.16%;top:39.9%;background:linear-gradient(123deg,var(--pink),var(--gold));animation-delay:-2s}.hero-quote{position:absolute;left:44.68%;bottom:0;width:55.32%;height:45%;padding:10.6% 9% 3.4%;background:linear-gradient(transparent,#000 87%);color:white;text-align:center;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;gap:18px}.hero-quote img{width:clamp(48px,3.76vw,65px);height:auto}.hero-quote blockquote{font-weight:600;font-size:clamp(16px,1.157vw,21px);line-height:1.4;max-width:430px}.hero-quote figcaption{font-size:14px;line-height:1.4}.hero-quote em,.hero-quote strong{display:block}.hero-quote strong{font-weight:600}.hero-quote em{font-weight:400}
.trusted{padding:6.4vw 5.2%;text-align:center}.logo-row{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:42px}.logo-row img{width:auto;max-width:13%;height:auto;max-height:55px;object-fit:contain}.logo-row .tony{width:197px;max-height:none}.logo-row .amy-logo{max-width:18%}.services{position:relative;background:var(--cream) url('assets/service-rays-hq.webp') center bottom/100% auto no-repeat;padding:8.3vw 5.2% 10vw}.intro{position:relative;z-index:1;max-width:800px;margin:auto;text-align:center}.intro h2{margin:18px 0 38px}.intro>p:not(.eyebrow){color:var(--muted)}.service-card{position:relative;z-index:1;max-width:959px;margin:90px auto 0;background:#fff;border-radius:10px;border-top:11px solid var(--pink);padding:65px 70px 80px;text-align:center;box-shadow:0 15px 70px #c52d7008}.service-card img{width:96px;height:96px}.service-card h3{font-size:36px;line-height:1.4;margin:24px 0 22px}.service-card p{max-width:681px;margin:auto}
.section-heading{text-align:center;position:relative;z-index:1}.section-heading h2{margin-top:12px}.client-stories{position:relative;padding:8.8vw 5.2% 7.8vw}.client-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5.67vw;margin-top:42px}.client-card{position:relative;overflow:hidden;min-height:576px;border-radius:10px;color:white;background:#29282c;display:flex;align-items:flex-end;transition:transform .3s}.client-card:hover{transform:translateY(-6px)}.client-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.bo>img{object-position:50% 0}.mary>img{object-position:47% 0}.mft>img{object-position:21% 0}.client-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 12%,#000b 42%,#000 80%)}.client-card>div:not(.client-photo){position:relative;z-index:1;padding:40px 10% 32px;width:100%}.client-card h3{font-size:28px;line-height:1.3;margin-bottom:10px}.client-card h4{font-size:18px;line-height:1.45;margin-bottom:22px}.client-card p{font-size:16px;line-height:1.45}.client-card a,.client-card div>em{font-size:16px;font-weight:700;display:block;margin-top:24px}.client-card a{color:var(--gold);text-decoration:none}.client-card a:hover{text-decoration:underline}.client-card a span{margin-left:6px}.about{position:relative;min-height:55.2vw;overflow:hidden;display:flex;align-items:center;padding:7% 5.2%;color:#f2f1f3}.about-image{position:absolute;inset:0;width:100%;height:143.5%;max-width:none;object-fit:cover;object-position:50% top}.about-copy{position:relative;width:42.4%;background:rgb(0 0 0 / 20%);border:1px solid rgb(255 255 255 / 1%);border-radius:10px;padding:6.4%;-webkit-backdrop-filter:blur(21px);backdrop-filter:blur(21px)}.about-copy .eyebrow{color:var(--gold)}.about-copy h2{margin:28px 0}.about-copy p{font-size:18px;line-height:1.45}.about-copy .eyebrow{font-size:12px}
.testimonials{padding:10.8vw 5.2% 9.6vw;background:white url('assets/imgExec5E926Ce050Ed4E64B083284E9B13669F1.webp') center top/100% 114% no-repeat}.testimonials h2{color:white}.section-heading>p:not(.eyebrow){margin-top:10px}.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5.67vw;margin-top:54px}.testimonial-grid figure{background:white;border:1.5px solid var(--peach);border-radius:10px;padding:46px 14.5% 38px;display:flex;flex-direction:column}.testimonial-grid img{width:92px;height:92px;margin-bottom:30px}.testimonial-grid blockquote{font-size:16px;line-height:1.5;flex:1}.testimonial-grid figcaption{margin-top:28px;font-size:16px;line-height:1.45}.testimonial-grid strong{display:block;color:var(--pink)}.testimonial-grid em{font-size:14px;color:var(--muted);display:block;margin-top:8px}.contact{position:relative;background:var(--cream);padding:6.4vw 5.2% 3vw 13.1%;display:grid;grid-template-columns:1fr 1.42fr;gap:7.4vw}.contact>div,.contact>form{position:relative;z-index:1}.contact h2{margin:14px 0 18px}.contact form{display:grid;gap:18px}.contact input,.contact textarea{width:100%;border:2px solid var(--ink);border-radius:5px;background:white;color:var(--ink);padding:16px;font-size:16px;line-height:1.45}.contact textarea{min-height:140px;resize:vertical}.contact .button{width:100%;margin-top:12px}.form-status{font-size:13px;color:var(--muted);min-height:20px}footer{background:var(--cream);padding:24px;text-align:center;font-size:12px}.confetti-points{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti-points i{position:absolute;display:block;width:clamp(7px,.75vw,13px);height:clamp(7px,.75vw,13px);animation:twinkle 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-9px)}}@keyframes twinkle{50%{opacity:.55;transform:rotate(90deg)}}
@media(min-width:1800px){.hero-copy>p{font-size:20px}.about{min-height:950px}.about-copy{max-width:720px}.client-card{min-height:630px}}
@media(max-width:1200px){.hero-copy{top:31%;width:34%}.hero h1{font-size:clamp(42px,4.5vw,58px)}.hero-copy .button{margin-top:20px}.hero-quote{padding:10% 6% 4%}.client-grid,.testimonial-grid{gap:28px}.client-card{min-height:640px}.client-card>div:not(.client-photo){padding:32px 24px}.client-card h3{font-size:24px}.testimonial-grid figure{padding:30px 26px}.about-copy{width:48%;padding:36px}.logo-row{gap:25px}.contact{padding-left:7%;gap:6vw}}
@media(max-width:900px){.site-header{padding:20px 28px;gap:28px;width:580px}.site-header nav{gap:30px}.hero{min-height:780px}.hero-copy{top:26%;left:5%;width:37%}.hero h1{font-size:44px}.hero-copy>p{font-size:16px}.hero-white{width:46%}.hero-quote{left:46%;width:54%;padding:12% 4% 5%}.badge{font-size:12px;padding:12px 18px}.presence{left:52%;top:30%}.story{left:84%;top:41%}.strategy{left:49%;top:46%}.logo-row{flex-wrap:wrap;justify-content:center;gap:25px 40px}.logo-row img{max-width:18%;max-height:40px}.logo-row .amy-logo{max-width:24%}.intro{max-width:680px}.service-card{margin-top:60px;padding:48px}.client-grid{gap:18px}.client-card{min-height:720px}.client-card>div:not(.client-photo){padding:28px 18px}.client-card h3{font-size:22px}.client-card p{font-size:15px}.about{min-height:700px}.about-copy{width:54%;padding:30px}.about-copy p{font-size:16px}.about-image{height:100%;object-position:60% top}.testimonial-grid{gap:18px}.testimonial-grid figure{padding:26px 20px}.contact{grid-template-columns:1fr 1.25fr;padding:70px 5%;gap:40px}}
@media(max-width:650px){body{font-size:16px}html{scroll-padding-top:24px}.site-header{top:20px;padding:18px 20px;min-height:64px;width:calc(100% - 32px);max-width:none;gap:18px}.wordmark{font-size:17px}.site-header nav{gap:18px;font-size:12px}.hero{height:auto;min-height:0;max-height:none;padding-top:138px;display:flex;flex-direction:column}.hero-white{inset:0 0 auto;width:100%;height:620px}.hero-white>img{width:135%;left:-64%;height:300px}.hero-copy{position:relative;top:auto;left:auto;width:auto;padding:44px 28px 52px;order:0}.hero h1{font-size:48px;max-width:420px}.hero-copy>p{font-size:16px;max-width:450px;margin-top:24px}.hero-copy .button{margin-top:26px;padding:18px 36px;min-height:58px;font-size:16px}.hero-scene{position:relative;inset:auto;height:540px;order:1;overflow:hidden;background:#153c38}.room{left:-31%;width:162%;height:100%;object-fit:cover;object-position:50% center}.gina{display:none}.hero-quote{left:0;bottom:0;width:100%;height:265px;padding:30px 42px 28px;z-index:3;gap:14px}.hero-quote blockquote{font-size:17px}.hero-quote img{width:50px;height:50px}.hero-quote figcaption{font-size:12px}.badge{font-size:12px;padding:12px 18px}.presence{left:7%;top:16%}.story{left:auto;right:7%;top:30%}.strategy{left:6%;top:39%}.hero>.confetti-points{height:620px}.trusted{padding:58px 25px}.logo-row{margin-top:28px;gap:20px 28px}.logo-row img{max-width:24%;max-height:35px}.logo-row .amy-logo{max-width:35%}.logo-row .tony{max-width:30%}.services{padding:70px 25px 90px;background-size:auto 300px}.intro h2{font-size:30px;margin:18px 0 28px;line-height:1.3}.service-card{padding:38px 24px 44px;margin-top:48px;border-top-width:7px}.service-card img{width:76px;height:76px}.service-card h3{font-size:28px;margin:20px 0 16px}.client-stories{padding:68px 25px}.section-heading h2{font-size:30px;line-height:1.3}.client-grid{grid-template-columns:1fr;gap:26px;margin-top:34px}.client-card{min-height:560px;max-width:450px;width:100%;margin:auto}.client-card>div:not(.client-photo){padding:34px 28px}.client-card h3{font-size:28px}.client-card h4{font-size:18px;margin-bottom:20px}.client-card p{font-size:16px}.client-card a,.client-card div>em{margin-top:22px}.mft{min-height:620px}.about{display:flex;flex-direction:column;align-items:stretch;padding:0;min-height:0;background:#29282c}.about-image{position:relative;height:400px;object-fit:cover;object-position:62% 15%;order:0}.about-copy{width:100%;padding:46px 28px 50px;border:0;border-radius:0;background:#29282c;order:1}.about-copy h2{font-size:32px;margin:20px 0}.about-copy p{font-size:16px}.testimonials{padding:65px 25px 70px;background-size:auto 700px;background-position:center top}.testimonials h2{font-size:32px}.testimonial-grid{grid-template-columns:1fr;gap:24px;margin-top:34px}.testimonial-grid figure{padding:32px;max-width:450px;width:100%;margin:auto}.testimonial-grid img{width:76px;height:76px;margin-bottom:24px}.testimonial-grid blockquote{font-size:16px}.testimonial-grid figcaption{margin-top:24px}.contact{grid-template-columns:1fr;padding:60px 25px 22px;gap:32px}.contact h2{font-size:32px}.contact form{gap:16px}.contact .button{min-height:60px;font-size:16px}footer{padding:26px}.confetti-points i{width:7px;height:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media(min-width:1201px){.site-header{width:36.46vw;max-width:630px;min-height:4.22vw;padding:1.16vw 2.9vw;gap:2.55vw;font-size:1.042vw}.site-header .wordmark{font-size:1.273vw}}

/* Review refinements */
.contact input:focus,.contact textarea:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 1px var(--pink)}
.form-status:empty{display:none}
.client-stories>.section-heading{width:100%;max-width:none;margin-inline:auto}
.client-grid{align-items:stretch}
@media(min-width:651px){.client-card>div:not(.client-photo){display:grid;grid-template-rows:auto 3.25em 1fr auto;align-self:stretch;align-content:end;padding-top:240px}.client-card h3{align-self:end}.client-card h4{margin-bottom:22px}.client-card a,.client-card div>em{align-self:end}}
.confetti-points i{translate:0 var(--parallax-y,0px);will-change:translate}
@media(prefers-reduced-motion:reduce){.confetti-points i{translate:none;will-change:auto}}

.service-stack{position:relative;max-width:959px;margin:90px auto 0;padding-bottom:12vh;isolation:isolate}
.service-stack .service-card{position:sticky;top:calc(32px + var(--card-index,0)*24px);z-index:calc(2 + var(--card-index,0));margin:0 0 15vh;min-height:460px;transform-origin:center top;scale:var(--card-scale,1);filter:brightness(var(--card-brightness,1));transition:scale .15s ease-out,filter .15s ease-out}
.service-stack .service-card:nth-child(2){--card-index:1;border-top-color:var(--peach)}
.service-stack .service-card:nth-child(3){--card-index:2;border-top-color:var(--gold)}
.service-stack .service-card:nth-child(4){--card-index:3;border-top-color:#1e1e1e;margin-bottom:0}
.service-link{display:inline-block;margin-top:26px;color:var(--pink);font-weight:700;text-decoration:none}.service-link:hover{text-decoration:underline}
@media(max-width:650px){.service-stack{margin-top:48px;padding-bottom:8vh}.service-stack .service-card{top:calc(16px + var(--card-index,0)*18px);min-height:420px;padding:32px 24px 40px;margin-bottom:12vh}.service-stack .service-card:last-child{margin-bottom:0}}
@media(max-height:600px),(prefers-reduced-motion:reduce){.service-stack .service-card{position:relative;top:auto;scale:1;filter:none;transition:none}}

/* Override copied plugin grid margins so the heading and cards share a center. */
.client-stories .client-grid{margin:42px 0 0;width:100%}
@media(max-width:650px){.client-stories .client-grid{margin-top:34px}}

.service-stack{z-index:2;padding-bottom:calc(50vh + 96px)}
.service-stack .service-card{top:calc(var(--stack-top,20vh) + var(--card-index,0)*24px);transition:scale .18s ease-out,filter .18s ease-out}
@media(max-width:650px){.service-stack{padding-bottom:calc(50vh + 72px)}.service-stack .service-card{top:calc(var(--stack-top,16px) + var(--card-index,0)*18px)}}
@media(max-height:600px),(prefers-reduced-motion:reduce){.service-stack{padding-bottom:0}.service-stack .service-card{top:auto}}
/* The final hold must be content height: sticky ignores trailing padding. */
.service-stack{padding-bottom:0}
.service-stack::after{content:'';display:block;height:calc(50vh + 96px)}
@media(max-width:650px){.service-stack{padding-bottom:0}.service-stack::after{height:calc(50vh + 72px)}}
@media(max-height:600px),(prefers-reduced-motion:reduce){.service-stack::after{display:none}}
.text-reveal .reveal-word{display:inline-block;opacity:0;transform:translateY(.22em);transition:opacity .28s ease-out var(--line-delay),transform .32s cubic-bezier(.2,.8,.2,1) var(--line-delay)}
.text-reveal.text-revealed .reveal-word{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.text-reveal .reveal-word{opacity:1;transform:none;transition:none}}
/* Keep navigation proportions consistent with the 630px Figma pill. */
.site-header{position:fixed;top:clamp(16px,2.55vw,44px);width:630px;max-width:calc(100% - 32px);min-height:73px;padding:20px 50px;gap:44px;font-size:18px;animation:nav-drop .5s cubic-bezier(.16,1,.3,1) both;box-shadow:0 6px 22px #0000000d}
.site-header .wordmark{font-size:22px;line-height:1.45}
.site-header nav{flex:1;justify-content:space-between;align-items:center;gap:0}
@keyframes nav-drop{from{opacity:0;translate:0 -36px}to{opacity:1;translate:0 0}}
@media(max-width:900px){.site-header{width:580px;padding:20px 28px;gap:28px}}
@media(max-width:650px){.site-header{top:16px;width:calc(100% - 32px);min-height:64px;padding:18px 20px;gap:18px;font-size:12px}.site-header .wordmark{font-size:17px}.site-header nav{gap:16px}}
@media(prefers-reduced-motion:reduce){.site-header{animation:none}}
.logos-ready img{opacity:0;translate:0 12px;transition:opacity .3s ease-out var(--logo-delay),translate .35s cubic-bezier(.2,.8,.2,1) var(--logo-delay)}
.logos-ready.logos-revealed img{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){.logos-ready img{opacity:1;translate:none;transition:none}}
.hero h1 .hero-highlight .reveal-word{background:linear-gradient(110deg,var(--pink) 10%,var(--gold) 100%);background-size:var(--gradient-width,100%) var(--gradient-height,100%);background-position:var(--gradient-x,0px) var(--gradient-y,0px);background-clip:text;-webkit-background-clip:text;color:transparent}
.confetti-points i{animation:confetti-drift 16s ease-in-out infinite alternate;--drift-x:34px;--drift-y:-45px;--drift-turn:65deg}
.confetti-points i:nth-child(3n){--drift-x:-42px;--drift-y:55px;--drift-turn:-50deg;animation-duration:20s}
.confetti-points i:nth-child(3n+1){--drift-x:48px;--drift-y:30px;animation-duration:18s}
.confetti-points i:nth-child(even){animation-direction:alternate-reverse}
@keyframes confetti-drift{from{transform:translate3d(calc(var(--drift-x)*-.5),calc(var(--drift-y)*-.5),0) rotate(-15deg);opacity:.65}to{transform:translate3d(var(--drift-x),var(--drift-y),0) rotate(var(--drift-turn));opacity:1}}
@media(prefers-reduced-motion:reduce){.confetti-points i{animation:none;transform:none}}
.hero-white>img{animation:ribbon-wipe .85s linear .1s both}
@keyframes ribbon-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.testimonial-grid .card-reveal{opacity:0;translate:0 24px;transition:opacity .35s ease-out var(--card-delay),translate .45s cubic-bezier(.2,.8,.2,1) var(--card-delay)}
.testimonial-grid .card-reveal.card-revealed{opacity:1;translate:0 0}
.site-header>a,.site-header>nav{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.hero-white>img{animation:none}.testimonial-grid .card-reveal{opacity:1;translate:none;transition:none}}
.site-header{isolation:isolate}
.site-header>a,.site-header>nav{transform:translateZ(0)}
.button-text-clip{display:block;overflow:hidden;line-height:1.4;padding-block:2px}
.button-text-label{display:block;position:relative;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.button-text-label::after{content:attr(data-label);position:absolute;top:150%;left:0;width:100%;white-space:nowrap}
:is(.button,.site-header nav a,.service-link,.client-card a):is(:hover,:focus-visible) .button-text-label{transform:translateY(-150%)}
.button:hover{transform:none}
@media(prefers-reduced-motion:reduce){.button-text-label{transition:none}}

.button:hover{transform:scale(.95)}
.site-header{top:calc(clamp(16px,2.55vw,44px) + var(--admin-offset,0px));transition:translate .3s ease-out,opacity .25s ease-out}
html:has(body.admin-bar){--admin-offset:32px}
@media(max-width:782px){html:has(body.admin-bar){--admin-offset:46px}}
.site-header.nav-hidden{translate:0 calc(-100% - 100px);opacity:0;pointer-events:none}
.site-header.nav-hidden:focus-within{translate:0 0;opacity:1;pointer-events:auto}
.service-stack.stack-static .service-card{position:relative;top:auto;scale:1;filter:none}
.service-stack.stack-static::after{display:none}
.client-card{flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:0;background:#161618}
.client-photo>img{position:relative;inset:auto;width:100%;height:300px;object-fit:contain;object-position:center;background:#29282c;flex-shrink:0}
.client-card::after{display:none}
.client-card>div:not(.client-photo){flex:1;display:grid;grid-template-rows:auto minmax(5.5em,auto) 1fr auto;align-content:start;padding:28px 10% 32px}
.client-card h3{align-self:start}
@media(max-width:900px) and (min-width:651px){.client-grid{grid-template-columns:1fr}.client-card{display:grid;grid-template-columns:42% 1fr}.client-photo>img{height:100%;min-height:300px}.client-card>div:not(.client-photo){padding:28px}.client-card h4{margin-bottom:20px}}
@media(max-width:650px){.client-photo>img{height:280px}.client-card>div:not(.client-photo){display:block;padding:26px 28px 32px}.client-card h4{margin-bottom:20px}}
.about-image{translate:0 var(--photo-offset,0px);will-change:translate}
.about-copy{translate:0 var(--glass-offset,0px);will-change:translate}
.testimonial-grid figure{transition:transform .25s ease-out}
.testimonial-grid figure:hover{transform:translateY(-10px)}
.testimonial-grid .card-reveal{transition:opacity .35s ease-out var(--card-delay),translate .45s cubic-bezier(.2,.8,.2,1) var(--card-delay),transform .25s ease-out}
@media(prefers-reduced-motion:reduce){.about-image,.about-copy{translate:none;will-change:auto}.site-header{transition:none}}

.hero-quote>img{animation:quote-photo-in .4s ease-out .65s both}
.hero-quote>figcaption{animation:quote-photo-in .3s ease-out 1.1s both}
@keyframes quote-photo-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.hero-quote>img,.hero-quote>figcaption{animation:none}}
.hero-scene{transform-origin:75% 40%;animation:hero-photo-zoom .8s cubic-bezier(.2,.8,.2,1) both}
@keyframes hero-photo-zoom{from{transform:scale(1.06);opacity:.6}to{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.hero-scene{animation:none}}

/* Readability and touch safeguards. */
.testimonials .section-heading{max-width:100%;margin-inline:auto;padding:0;background:transparent}
.testimonials .section-heading h2{color:var(--ink)}
.about-copy{background:rgb(0 0 0 / 62%)}
.site-header nav a{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
.client-card a,.service-link{min-height:44px;display:inline-flex;align-items:center}
.site-header{min-height:84px;padding-block:16px}
html{scroll-padding-top:calc(150px + var(--admin-offset,0px))}
#services,#clients,#about,#contact,#testimonials-title{scroll-margin-top:16px}
@media(max-width:650px){.site-header{min-height:72px;padding:12px 16px;gap:14px}.site-header nav{gap:10px}.site-header nav a{font-size:12px}.site-header .wordmark{font-size:16px}.about-copy{-webkit-backdrop-filter:none;backdrop-filter:none;background:#29282c}.testimonials .section-heading{padding:0}.confetti-points i:nth-child(n+17){display:none}.about-image{will-change:auto}}
@media(prefers-reduced-motion:reduce){.confetti-points i{will-change:auto}.button:hover{transform:scale(.95)}}

.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact button:disabled{opacity:.6;cursor:wait}.form-status{font-size:14px;line-height:1.5;color:var(--ink)}

.client-photo>img{height:auto;aspect-ratio:4/3;object-fit:contain}
@media(max-width:900px) and (min-width:651px){.client-photo>img{height:100%;min-height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 20%;align-self:stretch}}
@media(max-width:650px){.client-photo>img{height:auto}}
/* Let scroll-direction state take over after the one-time entrance. */
.site-header{animation-fill-mode:backwards}

@media(max-width:1200px){.services .confetti-points i:nth-child(odd){left:2%!important}.services .confetti-points i:nth-child(even){left:97%!important}}
@media(max-width:650px){.confetti-points i{--drift-x:6px!important}.hero>.confetti-points i:nth-child(odd){left:2%!important}.hero>.confetti-points i:nth-child(even){left:97%!important}}

.form-privacy{font-size:14px;line-height:1.6;color:#57535c;margin:8px 0 0}.form-privacy a{color:#9e2058;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:10px 0;min-height:44px}.form-status:empty{display:none}

.consent-panel{position:fixed;bottom:20px;left:20px;z-index:10000;width:min(460px,calc(100vw - 40px));padding:24px;background:#fff;border:1px solid #ddd;border-radius:18px;box-shadow:0 8px 40px #0002;font:16px/1.5 Inter,sans-serif;color:#29282c}.consent-panel[hidden]{display:none}.consent-panel p{font-size:16px;margin:0 0 8px}.consent-panel a{color:#9e2058;text-decoration:underline;display:inline-block;padding:8px 0}.consent-panel div{display:flex;gap:12px;margin-top:8px}.consent-panel button{min-height:44px;padding:10px 16px;border:1px solid #9e2058;border-radius:24px;background:white;color:#9e2058;font:600 14px Inter,sans-serif;cursor:pointer}.consent-panel button[data-choice=allow]{background:#9e2058;color:#fff}.consent-settings{display:block;margin:12px auto 20px;min-height:44px;padding:8px 16px;background:transparent;border:0;text-decoration:underline;color:#69676d;font:14px Inter,sans-serif;cursor:pointer}.error-page{min-height:70vh;text-align:center;display:grid;place-content:center;padding:100px 24px;gap:24px}.error-page h1{font-size:clamp(40px,6vw,80px);line-height:1.1}.error-page .button{justify-self:center}

.service-stack .service-card>*{opacity:var(--content-opacity,1);transition:opacity .16s ease-out}

/* Tighter gutters between client stories. */
.client-stories .client-grid{gap:clamp(18px,2.4vw,36px)}

/* Align names independently of wrapped role lengths. */
@media(min-width:651px){.testimonial-grid figure{display:grid;grid-template-rows:auto 1fr auto}.testimonial-grid figcaption{min-height:5.1em}.testimonial-grid em{min-height:2.9em}}
.contact :is(input,textarea):focus::placeholder{color:transparent}

.keep-together{white-space:nowrap}
.site-header{background:rgb(24 24 26 / 80%);-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%);border:1px solid rgb(255 255 255 / 12%)}
.about-copy{background:rgb(18 18 20 / 62%);-webkit-backdrop-filter:blur(18px) saturate(120%);backdrop-filter:blur(18px) saturate(120%);border:1px solid rgb(255 255 255 / 12%);box-shadow:inset 0 1px rgb(255 255 255 / 7%),0 12px 36px #0002}
@media(max-width:650px){.about-copy{background:rgb(24 24 26 / 88%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}
.logo-row img[alt="Bo Eason"]{scale:.92}

.service-stack .service-card{box-shadow:none}
footer>a{margin-left:12px}
/* Slowly expand the service rays without moving cards or copy. */
.services{background-size:0 0;isolation:isolate}
.services::before{content:'';position:absolute;inset:auto 0 0;height:33.334vw;min-height:300px;background-image:inherit;background-size:100% 100%;background-repeat:no-repeat;transform-origin:center bottom;animation:service-rays-expand 14s ease-in-out infinite alternate;pointer-events:none;z-index:-1}
@keyframes service-rays-expand{from{transform:scaleX(1) scaleY(1)}to{transform:scaleX(1.12) scaleY(1.18)}}
@media(prefers-reduced-motion:reduce){.services::before{animation:none}}
.services{overflow:clip}


/* One-time icon entrance: lift, reveal, overshoot, then settle. */
.service-card>img{transform-origin:50% 65%}
.service-card>img.refire-art-ready{opacity:0;transform:translateY(18px) scale(.8) rotate(-7deg);clip-path:inset(0 0 100% 0 round 12px)}
.service-card>img.refire-art-entered{animation:service-icon-enter .58s cubic-bezier(.16,1,.3,1) both}
@keyframes service-icon-enter{
0%{opacity:0;transform:translateY(18px) scale(.8) rotate(-7deg);clip-path:inset(0 0 100% 0 round 12px)}
38%{opacity:1;clip-path:inset(0 0 0 0 round 0)}
68%{opacity:1;transform:translateY(-3px) scale(1.045) rotate(1.8deg);clip-path:inset(0 0 0 0)}
85%{transform:translateY(1px) scale(.99) rotate(-.5deg)}
100%{opacity:1;transform:translateY(0) scale(1) rotate(0deg);clip-path:inset(0 0 0 0)}
}
.about-copy{background:linear-gradient(135deg,rgb(255 255 255 / 10%),rgb(255 255 255 / 2%) 40%,rgb(0 0 0 / 12%)),rgb(18 20 22 / 43%);-webkit-backdrop-filter:blur(30px) saturate(150%);backdrop-filter:blur(30px) saturate(150%);border:1px solid rgb(255 255 255 / 24%);box-shadow:inset 0 1px 0 rgb(255 255 255 / 20%),inset 1px 0 0 rgb(255 255 255 / 8%)}
@media(max-width:650px){.about-copy{-webkit-backdrop-filter:blur(12px) saturate(130%);backdrop-filter:blur(12px) saturate(130%);background:rgb(24 24 26 / 76%)}}
@media(prefers-reduced-motion:reduce){.service-card>img.refire-art-ready,.service-card>img.refire-art-entered{animation:none;opacity:1;transform:none;clip-path:none}}
.site-header{background:linear-gradient(125deg,rgb(255 255 255 / 13%),rgb(255 255 255 / 2%) 48%,rgb(0 0 0 / 8%)),rgb(20 22 24 / 58%);-webkit-backdrop-filter:blur(28px) saturate(160%);backdrop-filter:blur(28px) saturate(160%);border:1px solid rgb(255 255 255 / 27%);box-shadow:inset 0 1px rgb(255 255 255 / 20%),inset 0 -1px rgb(255 255 255 / 7%)}

.client-card>.client-photo{position:relative;overflow:hidden;flex-shrink:0;aspect-ratio:4/3;display:block;background:#29282c}
.client-photo>img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.client-card.mft .client-photo>img{transform:scale(1.65);transform-origin:42% 28%}
@media(max-width:900px) and (min-width:651px){.client-card>.client-photo{aspect-ratio:auto;height:100%;min-height:0}.client-photo>img{position:absolute;inset:0;height:100%;object-position:50% 20%}.client-card.mft .client-photo>img{transform:scale(1.32);transform-origin:42% 25%}}
.button:hover{background:var(--peach);color:var(--ink)}
.client-card h3{color:var(--peach)}

/* Shared smoked-glass surface, including the frame behind Gina. */
.hero-scene::before{content:'';position:absolute;z-index:1;left:51.5%;right:3%;top:7%;bottom:5%;border-radius:18px;pointer-events:none}
.hero-scene::before,.site-header,.about-copy{background:linear-gradient(130deg,rgb(255 255 255 / 10%),rgb(255 255 255 / 2%) 46%,rgb(0 0 0 / 12%)),rgb(17 26 27 / 38%);-webkit-backdrop-filter:blur(24px) saturate(145%);backdrop-filter:blur(24px) saturate(145%);border:1px solid rgb(255 255 255 / 30%);box-shadow:inset 0 1px 0 rgb(255 255 255 / 20%),inset 0 -1px 0 rgb(255 255 255 / 6%)}
@media(max-width:650px){.hero-scene::before{left:7%;right:7%;top:5%;bottom:8%;background:linear-gradient(135deg,rgb(255 255 255 / 7%),transparent);-webkit-backdrop-filter:none;backdrop-filter:none}.about-copy{-webkit-backdrop-filter:blur(12px) saturate(145%);backdrop-filter:blur(12px) saturate(145%);background-color:rgb(17 26 27 / 76%)}}

.site-header{border-color:transparent;box-shadow:none}
.client-card>div:not(.client-photo){background:linear-gradient(145deg,#29282c 0%,#18181b 42%,#0b0b0d 100%)}
/* Retain readable navigation over white sections with the same glass finish. */
.site-header{background-color:rgb(17 26 27 / 68%)}
/* Client portraits remain behind all copy, fading continuously into black. */
.client-card{position:relative;display:flex;flex-direction:column;min-height:720px;background:#000;isolation:isolate}
.client-card>.client-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;background:#000;z-index:-1}
.client-photo>img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;object-position:50% top;aspect-ratio:auto;transform:none}
.client-card.mft .client-photo>img{transform:none;object-position:50% top}
.client-card.mary .client-photo>img{height:62%;object-position:50% 18%;-webkit-mask-image:linear-gradient(#000 65%,transparent 100%);mask-image:linear-gradient(#000 65%,transparent 100%)}
.client-card>div:not(.client-photo){position:relative;z-index:1;display:flex;flex-direction:column;flex:1;padding:clamp(280px,22vw,360px) 10% 36px;background:linear-gradient(180deg,transparent 14%,rgb(0 0 0 / 20%) 34%,rgb(0 0 0 / 78%) 62%,#000 100%)}
.client-card h3{margin:0 0 14px}.client-card h4{min-height:0;margin:0 0 16px}.client-card p{flex:1}.client-card a,.client-card div>em{margin-top:30px}
.service-card>img{background:transparent;border-radius:0;padding:0;box-shadow:none}
@media(max-width:900px) and (min-width:651px){.client-card{display:flex;min-height:720px;max-width:540px;margin-inline:auto}.client-card>div:not(.client-photo){padding:320px 36px 36px}.client-card>.client-photo{height:100%}}
@media(max-width:650px){.client-card{min-height:700px}.client-card>div:not(.client-photo){padding:280px 28px 32px}.client-card.mary .client-photo>img{height:55%}}
.client-card.bo .client-photo>img{height:650px;max-height:100%;-webkit-mask-image:linear-gradient(#000 65%,transparent);mask-image:linear-gradient(#000 65%,transparent)}
.client-card.mary .client-photo>img{height:55%}
@media(max-width:650px){.client-card>div:not(.client-photo){padding-top:320px}.client-card.mary .client-photo>img{height:50%}}
.client-card.mft .client-photo>img{transform:translateY(-20px) scale(1.12);transform-origin:50% top}
.client-card a,.client-card div>em{align-self:flex-start;text-align:left}
/* Match testimonial gutters and content insets to the project cards. */
.testimonial-grid{gap:clamp(18px,2.4vw,36px)}
.testimonial-grid figure{padding:36px 10%}
@media(min-width:651px) and (max-width:900px){.testimonial-grid{grid-template-columns:1fr}.testimonial-grid figure{width:100%;max-width:540px;margin-inline:auto;padding:36px}}
@media(max-width:650px){.testimonial-grid figure{padding:32px 28px}}

/* Lift Mary within her existing portrait crop. */
.client-card.mary .client-photo>img{transform:translateY(-24px)}

/* Mobile portrait framing and two balanced logo rows. */
@media(max-width:650px){
 .hero-scene{height:640px;animation:none}
 .hero-scene .room{left:0;width:100%;height:100%;object-fit:cover;object-position:69% center}
 .hero-scene .presence{left:5%;top:4%}
 .hero-scene .strategy{left:4%;top:46%}
 .hero-scene .story{right:4%;left:auto;top:46%}
 .trusted .logo-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px 14px;align-items:center;justify-items:center}
 .trusted .logo-row img{grid-column:span 4;width:100%;max-width:100%;height:34px;max-height:34px;object-fit:contain}
 .trusted .logo-row img:nth-child(n+4){grid-column:span 3;height:30px;max-height:30px}
}
@media(max-width:650px){.trusted .logo-row .tony{height:auto;max-height:none}}

/* Additional admin-managed logos wrap while the original seven keep their layout. */
@media(min-width:901px){.logo-row:has(img:nth-child(8)){flex-wrap:wrap;justify-content:center}}

/* Mobile revisions: compact navigation, higher intro, and shared card stacks. */
@media(max-width:650px){
 .site-header nav{flex:0 0 auto;margin-left:auto;justify-content:flex-end;gap:10px}
 .hero{padding-top:110px}
 .about-copy{border:0;box-shadow:none}
 .client-stories .client-grid,.testimonial-grid{display:block;position:relative;isolation:isolate}
 .client-card,.client-card.mft{min-height:0}
 .client-card>div:not(.client-photo){padding:190px 24px 26px}
 .client-card h3{font-size:26px;margin-bottom:10px}
 .client-card h4{font-size:17px;margin-bottom:14px}
 .client-card p{font-size:15px;line-height:1.45}
 .client-card a,.client-card div>em{font-size:14px;margin-top:20px}
 .client-card.mary .client-photo>img{height:62%}
 .client-card.bo .client-photo>img{height:100%}
 .client-grid>.client-card,.testimonial-grid>figure{margin:0 auto 12vh;transform-origin:center top;scale:var(--card-scale,1);filter:brightness(var(--card-brightness,1));transition:scale .18s ease-out,filter .18s ease-out}
 .mobile-card-stack:not(.stack-static)>:not(:last-child){position:sticky;top:calc(var(--stack-top,110px) + var(--card-index,0)*18px);z-index:calc(2 + var(--card-index,0))}
 .mobile-card-stack:not(.stack-static)>:last-child{position:sticky;top:calc(var(--stack-top,110px) + var(--card-index,0)*18px);z-index:calc(2 + var(--card-index,0))}
 .mobile-card-stack::after{content:'';display:block;height:45vh}
 .mobile-card-stack.stack-static::after{display:none}
 .testimonial-grid figure{padding:26px 24px}
 .testimonial-grid img{width:62px;height:62px;margin-bottom:20px}
 .testimonial-grid blockquote{font-size:15px;line-height:1.45}
 .testimonial-grid figcaption{font-size:15px;margin-top:20px}
 .testimonial-grid em{font-size:13px}
}
@media(max-width:370px){.site-header{padding-inline:12px;gap:8px}.site-header .wordmark{font-size:14px}.site-header nav{gap:6px}.site-header nav a{font-size:11px}}
@media(prefers-reduced-motion:reduce){.mobile-card-stack>*{position:relative!important;top:auto!important;scale:1!important;filter:none!important}.mobile-card-stack::after{display:none}}

/* Register the transparent portrait over the mobile photo so labels pass behind Gina. */
@media(max-width:650px){
 .hero-scene .gina{display:block;z-index:2;top:57.016px;left:calc(69% - 500.091px);width:857.393px;height:572.527px;object-fit:fill;transform:rotate(-.16414deg);transform-origin:top left}
 .hero-scene .badge{z-index:1}
}
