/* 2026-08 visual consistency pass */
:root{--cta-h:3.25rem;--cta-w:12rem;--motion:.32s cubic-bezier(.2,.7,.2,1)}

/* Consistent accent treatment inside display headlines */
h1 em,h2 em,h3 em,.display-copy em{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;letter-spacing:-.04em;text-transform:none}
.dark h1 em,.dark h2 em,.dark h3 em,.closing-content em,.site-footer h2 em{color:#fffdf8}

/* One CTA system across the site */
.button,.hero-bottom .text-link,.book-now{align-items:center;display:inline-flex;justify-content:space-between;min-width:var(--cta-w);min-height:var(--cta-h);padding:.9rem 1rem;border:1px solid currentColor;border-radius:0;font:700 .67rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;transition:background-color var(--motion),color var(--motion),border-color var(--motion),transform var(--motion)}
.button:hover,.hero-bottom .text-link:hover,.book-now:hover{transform:translateY(-2px)}
.button.dark:hover{background:var(--navy);border-color:var(--navy)}
.button.light:hover,.hero-bottom .text-link:hover{background:#fff;color:var(--ink);border-color:#fff}
.button.navy:hover,.book-now:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.hero-bottom .text-link{gap:2rem;border-bottom:1px solid currentColor}
.book-now{right:1rem;bottom:1rem;width:auto;height:auto;flex-direction:row;gap:1.2rem;background:var(--navy);color:#fff;z-index:35}
.book-now span{display:inline}.book-now span+span{margin-left:.25rem}.book-now b{position:static;font:400 .7rem/1 var(--body)}

/* Homepage rhythm */
.intro,.selected-work,.services-teaser{padding-top:clamp(7rem,10vw,10rem);padding-bottom:clamp(7rem,10vw,10rem)}
.hero-content{left:clamp(1.75rem,6vw,7rem);right:clamp(1.75rem,6vw,7rem);bottom:clamp(6.75rem,11vh,8.5rem)}
.hero h1{font-size:clamp(4.35rem,20vw,11rem);margin:1.8rem 0 2.8rem;max-width:12ch}
.hero-bottom{gap:2rem}

/* Cohesive selected-work grid */
.editorial-grid{gap:clamp(1rem,2vw,1.6rem)}
.work-card{overflow:hidden;background:#0c0c0b}
.work-card>img{aspect-ratio:4/3!important;height:auto!important;width:100%;object-fit:cover;filter:saturate(.88) contrast(1.05) brightness(.95);transform:scale(1.001);transition:filter var(--motion),transform var(--motion)}
.work-card>span{inset:0;top:auto;min-height:30%;align-content:end;background:linear-gradient(to top,rgba(8,8,8,.82),rgba(8,8,8,0));padding:1.15rem;opacity:1;transition:opacity var(--motion),background var(--motion),transform var(--motion)}
.work-card:hover>img,.work-card:focus-visible>img{filter:saturate(.96) contrast(1.03) brightness(1);transform:scale(1.025)}
.work-card:hover>span,.work-card:focus-visible>span{background:linear-gradient(to top,rgba(8,8,8,.9),rgba(8,8,8,.14))}

/* Portfolio page thumbnails inherit the same crop and grading */
.gallery-card img{aspect-ratio:4/3!important;object-fit:cover;filter:saturate(.88) contrast(1.05) brightness(.95);transition:filter var(--motion),transform var(--motion)}
.gallery-card:hover img,.gallery-card:focus-visible img{filter:saturate(.96) contrast(1.03) brightness(1);transform:scale(1.015)}

@media(max-width:699px){
  .hero{min-height:42rem}
  .hero-content{left:1.5rem;right:1.5rem;bottom:6.5rem}
  .hero h1{font-size:clamp(4rem,19vw,5.4rem);line-height:.86;margin:1.5rem 0 2.2rem}
  .hero-bottom .text-link,.button{min-width:11.25rem}
  .book-now{min-width:10.5rem;min-height:3rem;padding:.8rem .9rem;right:.75rem;bottom:.75rem}
  .intro,.selected-work,.services-teaser{padding-top:7rem;padding-bottom:7rem}
  .work-card>span{min-height:36%;grid-template-columns:auto 1fr auto}
}

@media(min-width:1000px){
  .hero-content{bottom:7.25rem}
  .hero h1{font-size:clamp(7rem,12.5vw,12rem);max-width:none}
  .intro,.selected-work,.services-teaser{padding-top:10rem;padding-bottom:10rem}
}

@media(prefers-reduced-motion:reduce){.button,.hero-bottom .text-link,.book-now,.work-card>img,.work-card>span,.gallery-card img{transition:none!important;transform:none!important}}


/* Cinematic homepage hero */
.hero-media,.hero-slide{inset:0;position:absolute}.hero-media{z-index:0}.hero-slide{margin:0;opacity:0;overflow:hidden;transition:opacity 1.35s ease;z-index:0}.hero-slide.is-active{opacity:1;z-index:1}.hero-slide img{height:100%;object-fit:cover;object-position:center;transform:scale(1.055);transition:transform 8s cubic-bezier(.2,.65,.2,1);width:100%}.hero-slide.is-active img{transform:scale(1)}.hero-shade{z-index:2}.hero-content,.hero-index,.hero-scroll,.hero-controls{z-index:3}.hero-index b{font:inherit}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1.25rem}.hero-project-link{border-bottom:1px solid #ffffff80;font-size:.65rem;font-weight:700;letter-spacing:.13em;padding:.8rem .15rem;text-transform:uppercase}.hero-project-link span{color:#9aa7b3;margin-left:.8rem}.hero-controls{align-items:center;bottom:1.05rem;display:flex;gap:.8rem;left:calc(var(--pad) + 4.5rem);position:absolute}.hero-controls>button{background:none;border:0;color:#fff;font-size:.9rem;padding:.35rem}.hero-dots{align-items:center;display:flex;gap:.5rem}.hero-dots button{background:#ffffff66;border:0;border-radius:50%;height:.35rem;padding:0;transition:background-color var(--motion),transform var(--motion);width:.35rem}.hero-dots button.is-active{background:#fff;transform:scale(1.55)}
.hero-slide--motion img{object-position:center bottom}

/* Real client testimonials */
.testimonials{background:var(--navy);color:#fff;display:grid;gap:3.5rem}.testimonials-head{align-items:end;display:grid;gap:2rem}.testimonials-head h2,.contact-proof h2{font:800 clamp(3rem,7vw,6rem)/.88 var(--display);letter-spacing:-.065em;margin:0;max-width:13ch;text-transform:uppercase}.testimonials-head em,.contact-proof em{color:#fff}.testimonial-grid{display:grid;gap:1.25rem}.testimonial-card{background:#10263b;border:1px solid #ffffff24;display:flex;flex-direction:column;min-height:20rem;padding:clamp(1.5rem,3vw,2.5rem)}.testimonial-card>span{color:#ffffff29;font:400 5rem/1 Georgia,serif;height:3rem}.testimonial-card blockquote{font:400 clamp(1.2rem,1.8vw,1.7rem)/1.48 Georgia,serif;letter-spacing:-.015em;margin:2rem 0 3rem;max-width:34ch}.testimonial-card footer{border-top:1px solid #ffffff30;display:flex;flex-direction:column;margin-top:auto;padding-top:1rem}.testimonial-card strong{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase}.testimonial-card small{color:#ffffffa6;font-size:.68rem;letter-spacing:.1em;margin-top:.35rem;text-transform:uppercase}

/* Guided inquiry */
.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);white-space:nowrap}.intake-topline{align-items:flex-start;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;margin-bottom:2.5rem}.intake-progress{color:#827e77;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}.intake-progress b{color:var(--navy)}.form-step{animation:formStepIn .45s ease}.form-step h2{font:800 clamp(2.6rem,6vw,4.8rem)/.92 var(--display);letter-spacing:-.055em;margin:.75rem 0 1rem;text-transform:uppercase}.form-step-kicker{color:var(--navy);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.form-step-copy{color:#6f6b65;font-size:.88rem;line-height:1.6;max-width:34rem}.shoot-options{border:0;display:grid;gap:.65rem;margin:2.5rem 0 1.5rem;padding:0}.shoot-options label{cursor:pointer}.shoot-options input{height:1px;opacity:0;position:absolute;width:1px}.shoot-options span{border:1px solid var(--line);display:flex;flex-direction:column;min-height:6.5rem;padding:1.2rem;transition:background-color var(--motion),border-color var(--motion),color var(--motion),transform var(--motion)}.shoot-options b{font:800 1.4rem/1 var(--display);letter-spacing:-.03em;text-transform:uppercase}.shoot-options small{font-size:.68rem;line-height:1.4;margin-top:.65rem}.shoot-options input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateY(-2px)}.shoot-options input:focus-visible+span{outline:2px solid var(--navy);outline-offset:3px}.form-choice-error{color:#9f2f2f;font-size:.72rem;margin:-.5rem 0 1rem}.form-next{margin-top:.5rem}.form-step-actions{align-items:center;display:grid;grid-template-columns:auto 1fr;gap:1rem}.form-step-actions>p{grid-column:1/-1}.form-back{background:none;border:0;border-bottom:1px solid;padding:.75rem .1rem;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.form-submit a{text-decoration:underline;text-underline-offset:.15rem}.contact-proof{background:var(--ink);color:#fff;padding:clamp(6rem,10vw,10rem) var(--pad)}.contact-proof>.section-kicker{margin-bottom:3rem}.contact-proof-grid{display:grid;gap:1rem;margin-top:4rem}.contact-proof blockquote{border:1px solid #ffffff28;padding:clamp(1.5rem,4vw,3rem)}.contact-proof blockquote p{font:400 clamp(1.2rem,2.6vw,1.9rem)/1.45 Georgia,serif}.contact-proof cite{color:#aaa69e;display:block;font:normal .62rem var(--body);letter-spacing:.1em;margin-top:2rem;text-transform:uppercase}@keyframes formStepIn{from{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:none}}

@media(max-width:699px){.hero-controls{bottom:1rem;left:5.5rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:.5rem}.hero-project-link{padding:.6rem .1rem}.testimonials{gap:2.5rem}.testimonials-head h2{font-size:clamp(2.75rem,14vw,4rem)}.testimonial-card{min-height:0}.testimonial-card blockquote{font-size:1.2rem;line-height:1.55;margin:1.5rem 0 2.5rem}.intake-topline{gap:1rem}.form-step-actions{grid-template-columns:1fr}.form-step-actions .button{width:100%}.form-step-actions>p{grid-column:1}.form-back{justify-self:start}}

@media(min-width:700px){.testimonials-head{grid-template-columns:minmax(12rem,.35fr) minmax(0,1fr)}.testimonials-head h2{grid-column:2}.testimonials-head .section-kicker{grid-column:1;grid-row:1}.testimonial-grid,.contact-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shoot-options{grid-template-columns:repeat(2,1fr)}.shoot-options label:last-child{grid-column:1/-1}.form-step-actions{grid-template-columns:auto auto 1fr}.form-step-actions>p{grid-column:auto}.form-step-actions .button{justify-self:start}}

@media(min-width:1000px){.shoot-options{grid-template-columns:repeat(3,1fr)}.shoot-options label:last-child{grid-column:auto}}

@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-slide img,.hero-dots button,.shoot-options span{transition:none!important;transform:none!important}.form-step{animation:none}}
