/* Readability release: retain the approved paper/cocoa/terracotta editorial brand.
   Loaded last so mobile and component styles share the same accessible type floor. */
html{font-size:100%;-webkit-text-size-adjust:100%}
body{font-size:1rem;line-height:1.75}
.eyebrow,.hero .eyebrow,.menu-top .eyebrow,.ig-heading-row .eyebrow{font-size:.875rem;line-height:1.65;letter-spacing:.1em}
.hero-intro,.intro-copy p:not(.eyebrow),.manifesto p:last-child,.section-heading>p,.service-body,.faq>div>p:not(.eyebrow),.faq summary,.faq details>p,.enquire-copy>p:not(.eyebrow),.ig-intro>p{font-size:1rem;line-height:1.75}
.desktop-nav,.menu-button,.menu-close,.lightbox-close,.hero-foot,.photo-label,.location-strip,.number,.service summary small,.service-note,.gallery-controls p,.lightbox-trigger>span,.gallery-footer>span,.quote-source,.source-link,.rating-label,.rating-date,.rating-note,.review-author span,.excerpt-label,#review-position,.review-disclaimer,.footer-top p,.footer-top>div,.back-top,.footer-bottom,.credits,#mobile-menu nav a small,#mobile-menu p,.ig-type,.ig-card-copy time,.ig-excerpt,.ig-credit,.ig-open,.ig-bottom>p,.ig-controls button,.ig-status,.ig-follow span,.ig-follow-tile>span{font-size:.875rem;line-height:1.65}
.review-author{font-size:1rem;line-height:1.65}.review-card .source-link{font-size:.875rem;min-height:44px;display:inline-flex;align-items:center}
.enquire-copy>p.handoff-note,.enquire-copy .enquiry-note{font-size:.875rem;line-height:1.75}
label{font-size:1rem;line-height:1.5}input,textarea,select,#enquiry-handoff textarea{font-size:1rem;line-height:1.6}input::placeholder,textarea::placeholder{font-size:1rem;opacity:1}#enquiry-handoff p{font-size:1rem;line-height:1.75}
.button,.text-link,.header-cta,.call-link,.ig-follow{font-size:1rem;line-height:1.5;letter-spacing:.015em}
.button,.header-cta,.call-link{min-height:56px;padding:15px 23px;max-width:100%;justify-content:center;text-align:center}
.header-cta{display:inline-flex;align-items:center;background:var(--cocoa);color:var(--paper);border:1px solid var(--cocoa);font-weight:600}
.faq .button{margin-top:24px}
.call-link{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 10px;border:1px solid var(--peach);color:var(--paper);font-weight:600;background:transparent}
.call-link strong{font-size:1.125rem;white-space:nowrap;font-weight:600}
.call-link:hover{background:var(--paper);color:var(--cocoa)}.header-cta:hover{background:var(--terra)}
.hero-foot{align-items:center;gap:16px;flex-wrap:wrap}.hero-foot a{display:inline-flex;align-items:center;min-height:44px}
.location-strip{flex-wrap:wrap;gap:16px 28px;letter-spacing:.08em}.location-strip .line{width:32px}
.photo-label{letter-spacing:.08em}.photo-caption{right:24px;width:fit-content;line-height:1.25}
.gallery figcaption{line-height:1.3}.ig-card-copy .ig-caption{line-height:1.25}
.footer-top>div a,.footer-bottom>a,.back-top,.credits a,.service-note a{display:inline-flex;align-items:center;min-height:44px}
.footer-bottom{align-items:center;flex-wrap:wrap}.footer-top>div{min-width:0}.footer-top a{overflow-wrap:anywhere}
.ig-heading-row>div,.ig-intro{min-width:0}.ig-intro{max-width:380px}.ig-excerpt,.ig-credit,.ig-follow-tile>span{overflow-wrap:anywhere}
.ig-more{display:inline-flex;flex-direction:row;align-items:center;gap:12px;min-height:56px;margin-top:24px;padding:14px 18px;border:1px solid var(--terra);font-size:1rem;line-height:1.5;font-weight:600;color:var(--cocoa)}
.ig-more:hover{background:var(--shell)}.ig-more img{width:25px;height:25px;object-fit:contain;flex-shrink:0}.external-window{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ig-controls button{min-width:44px;padding:10px 8px}.ig-status{min-width:44px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--terra);outline-offset:4px}.enquire a:focus-visible,.enquire button:focus-visible{outline-color:var(--peach)}
@media(max-width:1150px){.desktop-nav,.header-cta{display:none}.menu-button{display:flex;align-items:center;gap:13px;min-height:44px;min-width:44px;background:none}.menu-button i{width:24px;height:8px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}}
@media(max-width:800px){.hero-foot{align-items:flex-start;flex-direction:column;gap:4px}.location-strip{flex-direction:column;gap:10px;padding:24px}.location-strip .line{display:none}.photo-caption{font-size:24px;left:20px;right:20px}.service summary>span:not(.number):not(.plus){min-width:0}.gallery-controls{flex-wrap:wrap}.footer-bottom{align-items:flex-start}.ig-more{gap:10px;padding:14px;max-width:100%}.ig-heading-row .eyebrow{align-items:flex-start}.ig-card-copy .ig-caption{font-size:28px}.call-link{width:100%;justify-content:center}.enquire-copy h2{font-size:clamp(44px,12vw,54px);line-height:1.06}.form-grid{grid-template-columns:minmax(0,1fr)}.footer-top{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}
@media(max-width:380px){.header{padding:0 18px;gap:10px}.wordmark img{width:56px;height:56px}.wordmark strong{font-size:23px}.wordmark{gap:8px;font-size:14px}.menu-button{gap:8px}.footer-top{grid-template-columns:1fr}.hero h1 span,.hero h1 em{white-space:normal}.photo-kicker{letter-spacing:.04em}.ig-more{font-size:1rem}.ig-more img{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
