/* JA Fades — clear type, vibrant photography, consistent branded details. */
:root{--bg:#08080b;--bg-2:#111116;--paper:#faf9fc;--paper-2:#b9b8c2;--paper-3:#92909e;--red:#ff496d;--red-2:#ff7188;--line:rgba(255,255,255,.15)}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-size:1.0625rem;line-height:1.65;background:radial-gradient(ellipse at 5% 5%,#29101f 0,transparent 27%),#08080b}
:focus-visible{outline:3px solid #ff92bc;outline-offset:6px}
.skip-link{position:fixed;top:8px;left:16px;z-index:999;background:#fff;color:#111;padding:12px 20px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.reveal{opacity:1;transform:none}
.site-graffiti{opacity:.035}
.graf-splatter{opacity:.08}
.nav{background:rgba(8,8,11,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);padding:10px max(24px,calc((100vw - 1280px)/2));min-height:88px}
.nav__mark{display:flex;align-items:center}
.nav__mark img{height:66px;width:92px;object-fit:contain}
.nav__links{gap:32px;align-items:center}
.nav__links a{font-size:.875rem;letter-spacing:.09em}
.nav__links a:last-child{background:#bc1646;color:white;padding:12px 22px;border:1px solid #f45b83}
.nav__mobile-cta{font-size:.875rem;letter-spacing:.06em;min-height:44px;background:#bc1646;color:white}
.nav__burger{width:44px;height:44px}
.nav__overlay{background:#0c0c11;padding:112px 24px 32px;overflow-y:auto;visibility:hidden}
.nav__overlay.open{visibility:visible}
.nav__overlay a{font-size:clamp(1.75rem,7vw,3rem);line-height:1.4}
.hero{min-height:auto;padding:134px 32px 64px;text-align:left;overflow:visible}
.hero-layout{display:grid;grid-template-columns:1.07fr 1fr;gap:60px;align-items:center;width:100%;max-width:1280px}
.hero-copy{min-width:0}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:.8125rem;letter-spacing:.14em;color:var(--paper-2);margin-bottom:22px}
.hero__logo{width:240px;max-width:65%;height:auto;margin:0 0 24px;animation:none!important;transform:none!important;opacity:1;object-fit:contain;filter:drop-shadow(0 8px 30px #d0165b24)}
h1{font-family:'Archivo Black',Impact,sans-serif;font-size:clamp(3rem,5.8vw,5.75rem);line-height:1.04;letter-spacing:-.045em;margin:0 0 24px}
h1 span{color:var(--red)}
.hero-description{font-size:clamp(1.0625rem,1.5vw,1.25rem);color:var(--paper-2);max-width:30em;margin-bottom:32px}
.hero__ctas{justify-content:flex-start;gap:12px;margin:0;max-width:none;flex-wrap:wrap}
.btn,.ig__btn,.book__btn,.location__directions{font-size:.875rem;letter-spacing:.06em;min-height:52px;padding:16px 23px;line-height:1.4;text-align:center;justify-content:center}
.btn::before{display:none}
.btn-primary,.book__btn,.location__directions{background:linear-gradient(120deg,#c91852,#b51436);border:1px solid #f05482;color:#fff;box-shadow:0 8px 32px #e41e5b22}
.btn-primary:hover,.book__btn:hover,.location__directions:hover{background:#a50f3c;color:white;border-color:#ff789e}
.btn--ghost{border-color:#60535d;color:var(--paper);background:transparent}
.hero-photo{position:relative;aspect-ratio:4/5;margin:0;border:1px solid #6d3048;border-radius:3px;overflow:hidden;box-shadow:20px 24px 0 -1px #1c0d19,20px 24px 0 0 #69304c;isolation:isolate}
.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.hero-photo figcaption{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:60px 24px 22px;background:linear-gradient(transparent,#08080be8);font-family:'JetBrains Mono',monospace;font-size:.8125rem;letter-spacing:.08em;color:white}
.hero-photo figcaption img{width:100px;height:76px;object-fit:contain}
.work,.about,.testimonials,.services,.faq,.book,.location,.ig{padding:84px 32px}
.work__intro,.about__head,.testimonials__head,.faq__head,.book__head,.location__head,.ig__head{margin-bottom:42px}
.section-logo{width:106px;height:80px;object-fit:contain;margin:0 auto 22px;display:block}
.work__intro h2,.about__head h2,.testimonials__head h2,.faq__head h2,.book__head h2,.location__head h2,.ig__head h2{font-size:clamp(2.5rem,5.5vw,5.5rem);line-height:1.13}
.work__intro p,.about__head p,.testimonials__head p,.faq__head p,.book__head p,.location__head p{display:block;margin-top:14px;font-size:1.25rem}
.work__grid{max-width:1280px;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.polaroid{padding:0;background:#121217;aspect-ratio:auto;border:1px solid #333039;box-shadow:none;transform:none!important;overflow:hidden;min-width:0;margin:0}
.polaroid:hover{transform:translateY(-4px)!important;box-shadow:0 16px 40px #0005;border-color:#c43b69}
.polaroid>img{height:auto;aspect-ratio:4/5;width:100%;object-fit:cover;object-position:center 35%;filter:none}
.polaroid__label{position:static;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;text-align:left;color:var(--paper);font-family:'Space Grotesk',sans-serif;font-size:1rem;min-height:74px}
.polaroid__label img{width:62px;height:48px;object-fit:contain;filter:none;flex-shrink:0}
.film-card video{display:block;width:100%;aspect-ratio:4/5;object-fit:contain;background:#060609}
.about__portrait img{filter:none;object-position:center;object-fit:cover}
.about__story{padding:32px;min-width:0;background:#111116}
.about__story-body p{font-size:1.125rem;line-height:1.8;color:var(--paper-2)}
.about__story-body strong{color:var(--paper)}
.about__stats{gap:12px}
.about__stat-label{font-size:.875rem;letter-spacing:.04em;line-height:1.5;color:var(--paper-2)}
.about__stat-num{font-size:clamp(2rem,4vw,3.5rem)}
.about__grid{gap:32px}
.testimonials{border-bottom:1px solid var(--line)}
.review-link{text-align:center;max-width:560px;margin:auto}
.review-link p{font-size:1.125rem;color:var(--paper-2);margin-bottom:24px}
.menu-logo{width:250px;height:auto;max-height:200px;object-fit:contain;margin:0 auto 16px}
.services__menu{background:#101015}
.services__head h2{font-size:clamp(2.5rem,5.5vw,5.5rem);line-height:1.13}
.services__head p{display:block;margin-top:14px;font-size:1.25rem}
.services__scissors-divider{display:none}
.services__menu .services__pole{stroke:#faf9fc}
.services__price-list-label span{font-size:.9375rem;letter-spacing:.12em}
.services__menu-foot{font-size:.875rem;letter-spacing:.06em;line-height:1.7}
.svc-name{font-size:clamp(1.25rem,2.4vw,1.9rem);line-height:1.25}
.svc-desc{font-size:1rem;letter-spacing:0;line-height:1.5;color:var(--paper-2);max-width:35em}
.svc-dur{font-size:.875rem;letter-spacing:.05em;color:var(--paper-2)}
.svc-price{font-size:clamp(1.75rem,3.5vw,2.75rem);color:var(--paper);white-space:nowrap}
.svc-row{gap:24px}
.faq__card{background:#111116;padding:0 28px}
.faq-detail{border-bottom:1px solid var(--line)}
.faq-detail:last-child{border:0}
.faq-detail summary{font-size:1.125rem;font-weight:700;padding:24px 0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none}
.faq-detail summary::-webkit-details-marker{display:none}
.faq-detail summary::after{content:'+';color:var(--red);font-size:1.625rem;font-weight:400}
.faq-detail[open] summary::after{content:'−'}
.faq-detail>div{font-size:1rem;padding:0 0 24px;color:var(--paper-2);max-width:46em;line-height:1.8}
.booking-logo{width:174px;height:132px;object-fit:contain;margin:0 auto 28px}
.book__card{background:radial-gradient(ellipse at 50% 0,#3a122b,transparent 65%),#101015}
.book__label{font-size:.875rem;letter-spacing:.1em}
.book__meta{font-size:1rem;line-height:1.8;letter-spacing:.03em;color:var(--paper-2)}
.book__cta{line-height:1.07;font-size:clamp(3rem,7vw,6rem)}
.location__info{background:#111116;border-color:#47414d}
.location__block-label,.location__status-text{font-size:.875rem;letter-spacing:.09em}
.location__address small{font-size:1rem;letter-spacing:.04em;color:var(--paper-2)}
.location__hours-schedule{font-size:.9375rem;letter-spacing:.03em;gap:12px}
.location__map{border-color:#47414d}
.location__map-card{background:white}
.location__map-card-addr{font-size:.8125rem;letter-spacing:0}
.location__map-card-name{font-size:1.0625rem}
.location__map-card-logo{width:62px;height:54px;border-radius:0}
.location__map-img{filter:none}
.ig__grid{gap:12px}
.ig__tile{border:1px solid #42343e}
.ig__tile img,.ig__tile:hover img{filter:none;object-position:center 30%}
.ig__handle{font-size:1rem;letter-spacing:.06em;color:var(--paper-2)}
.ig__meta{font-size:.9375rem;letter-spacing:.04em}
.ig__btn{border:1px solid #69616e}
.footer{padding:84px 32px 32px;background:linear-gradient(0deg,#240e1b,transparent)}
.footer__farewell{margin-bottom:56px}
.footer__farewell-line{font-size:clamp(2.625rem,7vw,7rem);line-height:1.08}
.footer__farewell-label{font-size:.875rem}
.footer-book{margin-top:30px}
.footer__logo{width:116px;height:88px;object-fit:contain}
.footer__contact-lines,.footer__contact-hours{font-size:.875rem;letter-spacing:.025em;line-height:1.7}
.footer__contact{grid-template-columns:auto 1fr;gap:24px}
.footer__contact-hours{grid-column:2;text-align:center;white-space:normal}
.footer__credit{font-size:.75rem;letter-spacing:.025em;line-height:1.7;color:var(--paper-2)}
@media(min-width:1500px){.hero{padding-top:152px;padding-bottom:92px}.hero-layout{gap:76px}}
@media(max-width:1000px){.hero-layout{gap:32px}.hero__logo{width:200px}.hero{padding-top:124px}.hero-photo{box-shadow:10px 12px 0 -1px #1c0d19,10px 12px 0 0 #69304c}.nav__links{gap:22px}.work__grid{gap:20px}.about__story{padding:24px}.about__grid{grid-template-columns:1fr}.about__portrait{max-width:580px;width:100%;margin:auto}.about__portrait img{height:auto;max-height:680px}.location__grid{grid-template-columns:1fr}}
@media(max-width:768px){html{scroll-padding-top:94px}.nav{padding:8px 18px;min-height:80px}.nav__mark img{height:60px;width:80px}.hero{padding:112px 22px 44px}.hero-layout{grid-template-columns:1fr;gap:38px;max-width:600px}.hero-copy{text-align:center}.eyebrow{font-size:.75rem;line-height:1.6;letter-spacing:.09em;margin-bottom:18px}.hero__logo{width:200px;max-width:60%;margin:0 auto 20px}.hero h1{font-size:clamp(2.75rem,10.5vw,4.5rem);margin-bottom:18px}.hero-description{margin:0 auto 26px}.hero__ctas{flex-direction:row;justify-content:center}.hero__ctas .btn{flex:1;white-space:normal;min-width:140px;padding:15px 12px}.hero-photo{aspect-ratio:4/4.5;max-width:520px;width:calc(100% - 10px);margin:0 auto}.hero-photo figcaption{padding:50px 16px 12px;font-size:.75rem}.hero-photo figcaption img{width:76px;height:58px}.work,.about,.testimonials,.services,.faq,.book,.location,.ig{padding:64px 22px}.work__grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:700px;gap:16px}.polaroid__label{font-size:.875rem;padding:10px;gap:6px;min-height:65px}.polaroid__label img{width:46px;height:36px}.section-logo{width:88px;height:67px;margin-bottom:18px}.work__intro,.about__head,.testimonials__head,.faq__head,.book__head,.location__head,.ig__head{margin-bottom:32px}.menu-logo{width:200px}.faq__card{padding:0 20px}.book__card{padding:36px 22px}.book__btn{padding:18px 20px;font-size:.875rem;width:100%}.ig__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.footer{padding:64px 22px 30px}.footer__contact{grid-template-columns:1fr;gap:16px}.footer__contact-hours{grid-column:auto}.footer__contact-lines{gap:16px}.footer__credit{font-size:.75rem}}
@media(max-width:480px){.work__grid{grid-template-columns:1fr;max-width:420px;gap:24px}.polaroid__label{font-size:1rem;min-height:72px;padding:10px 16px}.polaroid__label img{width:62px;height:48px}.svc-row{gap:12px}.svc-desc{font-size:.9375rem}.services__menu{padding-left:20px;padding-right:20px}.services__pole{width:30px;flex-shrink:0}.menu-logo{width:160px}.services__header{gap:10px}.about__story{padding:24px 20px}.about__stats{grid-template-columns:repeat(3,minmax(0,1fr))}.about__stat-label{font-size:.75rem}.location__hours-main{font-size:1.75rem}.location__info{padding:28px 20px}.location__map-card{left:14px;right:14px;bottom:14px}.location__map-card-logo{width:48px}.location__map-card-addr{font-size:.75rem}.ig__meta{font-size:.875rem}.ig__btn{font-size:.875rem;padding:16px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.polaroid:hover{transform:none!important}}
.hero-price{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 24px;font-size:1rem;line-height:1.5}
.hero-price strong{color:var(--paper);font-size:1.125rem}.hero-price span{color:var(--paper-2)}
.booking-note{font-size:.875rem;line-height:1.6;color:var(--paper-2);margin-top:16px;letter-spacing:0}
.booking-note a,.services__menu-foot a{color:var(--paper);text-decoration:underline;text-underline-offset:4px}
.service-action{text-align:right;flex-shrink:0}
.service-book{display:inline-flex;align-items:center;justify-content:center;min-width:70px;min-height:44px;font-family:'Space Grotesk',sans-serif;font-size:.9375rem;font-weight:700;color:#ff789e;letter-spacing:0;text-decoration:underline;text-underline-offset:4px}
.service-book:hover{color:white}.services__menu-foot a{display:block;margin-top:10px}
.about__story-body .btn{margin-top:16px}
.policies{position:relative;z-index:1;border-top:1px solid var(--line);padding:64px 32px;background:#0d0d12}
.policies-wrap{max-width:960px;margin:auto}.policies-heading{margin-bottom:28px}
.policies-heading h2{font-family:'Archivo Black',sans-serif;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.2;margin-bottom:12px}
.policies-heading p{font-size:1rem;color:var(--paper-2)}
.policy-detail{border-top:1px solid var(--line);scroll-margin-top:112px}
.policy-detail:last-child{border-bottom:1px solid var(--line)}
.policy-detail summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;font-size:1.125rem;font-weight:700;line-height:1.4}
.policy-detail summary::-webkit-details-marker{display:none}.policy-detail summary::after{content:'+';color:var(--red);font-size:1.5rem;flex-shrink:0}.policy-detail[open] summary::after{content:'−'}
.policy-body{padding:0 0 32px;max-width:74ch;color:var(--paper-2);font-size:1rem;line-height:1.8;overflow-wrap:anywhere}
.policy-body h3{font-size:1.125rem;line-height:1.4;color:var(--paper);margin:24px 0 10px}.policy-body p{margin-bottom:14px}.policy-body .policy-date{font-size:.8125rem;color:var(--paper-2)}
.policy-body a{color:#ff9cba;text-decoration:underline;text-underline-offset:3px}
.footer-policies{display:flex;flex-wrap:wrap;gap:16px 28px;max-width:1160px;margin:30px auto 0;font-size:.875rem;line-height:1.5}.footer-policies a{text-decoration:underline;text-underline-offset:4px;color:var(--paper-2)}.footer-policies a:hover{color:white}
.mobile-booking{display:none}
@media(max-width:768px){.hero-price{justify-content:center}.policies{padding:48px 22px}.policy-detail summary{font-size:1rem}.footer-policies{justify-content:center;text-align:center}.mobile-booking{position:fixed;bottom:0;left:0;right:0;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:rgba(12,12,17,.98);border-top:1px solid #6d3048;box-shadow:0 -8px 30px #0005}.mobile-booking strong,.mobile-booking span{display:block}.mobile-booking strong{font-size:.9375rem}.mobile-booking span{font-size:.8125rem;color:var(--paper-2)}.mobile-booking .btn{font-size:.875rem;min-height:48px;padding:12px 18px;white-space:nowrap}.footer{padding-bottom:calc(125px + env(safe-area-inset-bottom))}}
@media(max-width:360px){.mobile-booking{gap:8px;padding-left:12px;padding-right:12px}.mobile-booking .btn{padding:12px;font-size:.8125rem}.mobile-booking strong{font-size:.875rem}}
@media print{.nav,.nav__overlay,.mobile-booking,.site-graffiti{display:none}.hero{padding-top:30px}.policy-body{color:#222}.policies{background:white;color:#111}.policy-body h3{color:#111}}

/* Quiet studio signature, subordinate to the client's brand. */
.footer__credit{align-items:center;gap:16px}
.builder-credit{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:5px 7px;padding:8px 13px;border:1px solid rgba(255,79,132,.2);border-radius:6px;background:rgba(255,79,132,.035);font-size:.8125rem;line-height:1.5;color:#beb6ba;text-transform:none;letter-spacing:.015em}
.builder-credit strong{font-weight:700;color:#ff7da4}

/* Small-screen and enlarged-text safeguards. */
.svc-row{grid-template-columns:minmax(0,1fr) auto}
.svc-row>div:first-child{min-width:0;overflow-wrap:anywhere}
.nav__overlay{justify-content:flex-start;overscroll-behavior:contain}
.nav__overlay a{flex-shrink:0}
.nav__overlay-tag{position:static;flex-shrink:0;margin-top:20px}
@media(max-width:768px){.mobile-booking{flex-wrap:wrap}.mobile-booking>div{flex:1 1 130px}.mobile-booking .btn{flex:0 1 auto;white-space:normal}.nav__overlay{padding-bottom:32px}}
@media(hover:none){.svc-row:hover{padding-left:0}.polaroid:hover{transform:none!important}}

/* Logo-first booking hero. */
.hero.hero-booking{min-height:680px;min-height:100svh;padding:112px 24px 56px;text-align:center;background:radial-gradient(ellipse at 50% 42%,rgba(184,22,81,.13),transparent 62%);justify-content:center}
.hero-booking__content{display:flex;flex-direction:column;align-items:center;max-width:720px;gap:0}
.hero-booking__brand{width:clamp(210px,27vw,340px);margin:0 0 24px;line-height:1}
.hero-booking__brand img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 12px 35px #e82b6518)}
.hero-booking .hero-booking__button{min-width:240px;min-height:60px;padding:18px 36px;font-size:1.125rem;letter-spacing:.08em;gap:18px}
.hero-booking__details{margin-top:24px;font-size:1rem;color:var(--paper);letter-spacing:.03em}
.hero-booking__details span,.hero-booking__price span{margin:0 8px;color:var(--red)}
.hero-booking__price{margin-top:5px;font-size:.9375rem;color:var(--paper-2)}
.hero-booking__work{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:26px;font-size:.875rem;color:var(--paper-2);text-underline-offset:5px}
.hero-booking__work:hover{color:white;text-decoration:underline}
@media(max-width:768px){.hero.hero-booking{min-height:calc(100svh - 84px);padding:102px 22px 36px}.hero-booking__brand{width:clamp(185px,54vw,265px);margin-bottom:22px}.hero-booking .hero-booking__button{width:min(100%,280px)}.hero-booking__details{margin-top:20px}.hero-booking__work{margin-top:18px}}
@media(max-height:650px){.hero.hero-booking{min-height:0;padding-top:98px;padding-bottom:28px}.hero-booking__brand{width:180px;margin-bottom:16px}.hero-booking__details{margin-top:16px}.hero-booking__work{margin-top:12px}}
