.phase-three{padding-inline:var(--gutter)}
.phase-three-inner{max-width:102rem;margin-inline:auto}
.phase-three :is(h2,h3){margin:0;font-weight:400}
.phase-three :is(a,article),.phase-three[id]{scroll-margin-top:2rem}
.section-rule-heading{padding-top:1.6rem;border-top:1px solid var(--line);margin-bottom:clamp(3rem,5vw,5rem)}
.section-rule-heading h2{font-size:clamp(1.8rem,3.2vw,3.2rem);line-height:1.15;letter-spacing:-.045em}
.booking-section{padding-top:clamp(1rem,3vw,3rem);padding-bottom:clamp(5rem,9vw,9rem)}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.service-column{min-width:0;display:grid;grid-template-rows:auto 1fr auto;gap:2.5rem;padding-block:0 1rem}
.service-column:first-child{padding-right:clamp(2rem,5vw,6rem)}
.service-column:last-child{padding-left:clamp(2rem,5vw,6rem);border-left:1px solid var(--line)}
.service-column h3{font-size:clamp(2.5rem,5.2vw,5.5rem);line-height:1.1;letter-spacing:-.055em}
.service-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:1rem 1.5rem;font-size:1.125rem;line-height:1.5}
.service-list li{min-width:0;overflow-wrap:break-word}
.service-description{font-size:1rem;line-height:1.75;color:var(--muted);max-width:34rem}
.services-note{margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.875rem;letter-spacing:.075em;line-height:1.75;color:var(--muted)}
.direct-booking-section{background:var(--paper);color:var(--ink);color-scheme:light;padding-block:clamp(4rem,8vw,8rem) 2rem}
.direct-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,6rem)}
.direct-booking-grid h2{font-size:clamp(3rem,6.5vw,7rem);line-height:1.03;letter-spacing:-.055em}
.direct-booking-copy{min-width:0;font-size:1.125rem;line-height:1.7;max-width:40rem}
.direct-booking-copy>p+p{margin-top:1.25rem}
.direct-booking-copy .direct-booking-intro{font-size:clamp(1.25rem,1.85vw,1.75rem);line-height:1.5;letter-spacing:-.015em}
.direct-booking-copy .direct-booking-support{font-size:1rem;color:#444;margin-top:1.5rem}
.engagement-details{border-top:1px solid #bcbcb8;padding-top:1.5rem;margin-top:2.5rem}
.engagement-label{font-size:.875rem;letter-spacing:.06em;font-weight:700;line-height:1.65}
.engagement-details p+p{margin-top:.85rem;font-size:1rem;color:#444}
.phase-three .booking-request-button{background:var(--ink);color:var(--paper);border-color:var(--ink);margin-top:2rem;min-height:3.75rem;min-width:0;max-width:100%;padding:1rem 1.5rem;gap:1.5rem;font-size:.875rem;line-height:1.5;text-align:center}
.booking-request-button:hover{background:#333;border-color:#333}
.direct-booking-section a:focus-visible{outline-color:var(--ink)}
.current-availability{border-top:1px solid #bcbcb8;margin-top:clamp(4rem,7vw,7rem);padding-top:1.6rem;display:grid;grid-template-columns:1.25fr 1fr auto;align-items:center;gap:1.25rem 2rem;font-size:.875rem;line-height:1.7;letter-spacing:.04em}
.availability-location{color:#444}
.current-availability a{min-height:44px;display:inline-flex;align-items:center;justify-content:flex-end;gap:1rem;text-decoration:underline;text-underline-offset:5px}
.current-availability a:hover{color:#555}
/* One closing composition: a prominent address, quiet details, and a small signature. */
.contact-section{padding-block:clamp(2.5rem,4vw,4rem) 0}
.contact-inner{border-top:1px solid var(--line);padding-top:clamp(1.5rem,2.5vw,2.5rem);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem 3rem}
.contact-primary{min-width:0}
.contact-primary h2{font-size:.875rem;line-height:1.5;letter-spacing:.12em;color:var(--muted);margin-bottom:1rem}
.contact-address{display:inline-block;min-height:44px;max-width:100%;font-size:clamp(2.25rem,4.2vw,4.5rem);font-weight:400;letter-spacing:-.045em;line-height:1.2;overflow-wrap:anywhere}
.contact-address:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}
.contact-details{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3.2vw,3.5rem)}
.contact-details>div{min-width:0}
.contact-details dt{font-size:.875rem;line-height:1.5;letter-spacing:.075em;color:var(--muted);margin-bottom:.25rem}
.contact-details dd{display:flex;align-items:center;min-height:44px;margin:0;font-size:1rem;line-height:1.5}
.contact-details a{display:inline-flex;align-items:center;min-height:44px;max-width:100%}
.contact-details a:hover{text-decoration:underline;text-underline-offset:5px}
.site-footer{padding-block:clamp(2rem,3vw,3rem) 1.5rem}
.footer-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem 2rem}
.footer-inner>*{min-width:0}
.footer-wordmark{display:inline-flex;align-items:center;width:8rem;max-width:100%;min-height:44px;line-height:0;justify-self:start}
.footer-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.25rem 2rem;font-size:.875rem;line-height:1.5;color:var(--muted)}
.footer-meta nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0 1.5rem}
.footer-meta a{display:inline-flex;align-items:center;min-height:44px}
.footer-meta a:hover{color:var(--paper);text-decoration:underline;text-underline-offset:5px}
@media(max-width:1100px){.service-list{font-size:1rem;gap:.85rem 1rem}.current-availability{grid-template-columns:1fr 1fr}.current-availability a{grid-column:2;justify-self:start;justify-content:flex-start}}
@media(max-width:1000px){.contact-inner{grid-template-columns:minmax(0,1fr);gap:1.75rem}.contact-address{font-size:clamp(2.25rem,5.5vw,3.5rem)}.contact-details{width:fit-content;max-width:100%;gap:3rem}}
@media(max-width:800px){.services-grid{grid-template-columns:minmax(0,1fr);gap:3rem}.service-column{gap:2rem}.service-column:first-child{padding-right:0;padding-bottom:3rem;border-bottom:1px solid var(--line)}.service-column:last-child{padding-left:0;border-left:0}.service-column h3{font-size:clamp(2.5rem,7vw,4rem)}.service-list{font-size:1.125rem;gap:1rem 1.5rem}.service-description{max-width:none}.direct-booking-grid{grid-template-columns:minmax(0,1fr);gap:3rem}.direct-booking-grid h2{font-size:clamp(3rem,9vw,5rem)}.direct-booking-copy{max-width:none}}
@media(max-width:600px){.booking-section{padding-top:1rem;padding-bottom:4.5rem}.section-rule-heading{padding-top:1.25rem;margin-bottom:2.5rem}.section-rule-heading h2{font-size:clamp(1.7rem,7vw,2.4rem);letter-spacing:-.035em}.service-list{font-size:1rem;gap:.9rem 1.25rem}.services-note{margin-top:2.5rem;font-size:.875rem;letter-spacing:.035em}.direct-booking-section{padding-top:4rem}.phase-three .booking-request-button{width:100%;gap:1rem;padding:1rem}.current-availability{grid-template-columns:minmax(0,1fr);gap:.75rem}.current-availability a{grid-column:auto;margin-top:.35rem}.contact-primary h2{margin-bottom:.75rem}.contact-address{font-size:clamp(1.625rem,8vw,2.5rem)}.contact-details{width:100%;gap:1.5rem}.footer-wordmark{width:7rem}.footer-meta{flex-direction:column;align-items:flex-end;gap:0}.footer-meta nav{gap:0 1.25rem}}
@media(max-width:360px){.service-list{grid-template-columns:minmax(0,1fr)}.footer-inner{column-gap:1rem}}
/* Keep talent and creative side by side on portrait tablets. */
@media(min-width:701px) and (max-width:800px){
 .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
 .service-column:first-child{padding-right:2rem;padding-bottom:1rem;border-bottom:0}
 .service-column:last-child{padding-left:2rem;border-left:1px solid var(--line)}
 .service-list{grid-template-columns:minmax(0,1fr);font-size:1rem}
 .service-description{max-width:34rem}
}
.service-column{grid-template-columns:minmax(0,1fr)}
.service-column h3{overflow-wrap:anywhere}
.direct-booking-grid h2{overflow-wrap:anywhere}
.current-availability>*{min-width:0}
