/* Shared layout safeguards for ARKEO pages. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:24px}
body{overflow-wrap:break-word}
main,section,article,header,footer,form,fieldset{min-width:0}
img,video{max-width:100%;height:auto}
h1,h2,h3,p,li,a,label,small,strong{overflow-wrap:anywhere}
a[href^="mailto:"]{overflow-wrap:anywhere}
input,textarea,select,button{max-width:100%}
input,textarea,select{min-width:0;font-size:16px}
textarea{resize:vertical}
button,.button,.text-link{max-width:100%;white-space:normal;line-height:1.5}
.button,.text-link{gap:14px}
.button svg,.text-link svg{flex:none}
a:focus-visible,button:focus-visible{outline:3px solid #f28c28;outline-offset:4px}
header:not(.site-header){flex-wrap:wrap;gap:16px}
header:not(.site-header)>a{max-width:100%}
.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.grid>*,.filters>*,.intro-grid>*,.hero>*,.split>*,.pricing-cards>*,.areas-heading>*,.trade-list>*,.step-grid>*,.area-grid>*{min-width:0}
.panel{max-width:100%}
.badge{max-width:100%;white-space:normal;line-height:1.6}
.site-header .nav a{line-height:1.5}
.menu-toggle{min-width:44px;min-height:44px;cursor:pointer}
.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.hero h1{font-size:clamp(32px,4.5vw,62px);line-height:1.12}
.intro-grid,.split,.areas-heading{grid-template-columns:repeat(2,minmax(0,1fr))}
.section-kicker,.eyebrow{line-height:1.7}
.hero-actions .button,.pricing-card .button{min-height:48px}
.intro-grid p,.split-copy p,.step-grid p,.pricing-card p,.enquiry-section>p{font-size:16px;line-height:1.7}
.area-grid p,.areas-contact p{font-size:15px;line-height:1.65}
.membership-note>div{min-width:0}
.membership-note small{font-size:15px;line-height:1.65}
.step-grid article{margin-right:0;padding-right:24px}
.step-grid{column-gap:24px}
.step-grid article>span{display:inline-block;font-size:18px;line-height:1.3}
#faq .step-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin-top:28px}
#faq .step-grid article{border-right:0;border-bottom:1px solid var(--line);padding:24px 0}
#faq .step-grid h3{margin:0 0 12px}
#faq .step-grid article:last-child{border-bottom:1px solid var(--line)}
.areas-contact .text-link{flex-shrink:1}
.trade-list ul{grid-template-columns:repeat(2,minmax(0,1fr))}
.art-caption{gap:12px;align-items:flex-end;letter-spacing:1px}
.art-caption span{max-width:65%;text-align:right;line-height:1.5}
@media(max-width:1050px){
 .site-header .nav{gap:16px}
 .areas-contact{align-items:flex-start;flex-wrap:wrap}
}
@media(min-width:851px) and (max-width:1050px){
 .site-header{padding-inline:4vw}
 .site-header .nav{font-size:11px;gap:14px}
}
@media(max-width:850px){
 .hero{grid-template-columns:minmax(0,1fr)}
 .hero-art{width:min(100%,480px);justify-self:center}
 .intro-grid,.areas-heading{gap:28px}
 .section-heading{align-items:flex-start;gap:24px}
 .nav{max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain}
 .nav a{padding-block:10px;min-height:44px}
 .step-grid{grid-template-columns:1fr}
 .step-grid article{margin:0;border-right:0;border-bottom:1px solid var(--line);padding:24px 0}
 .step-grid h3{margin-top:12px}
 .pricing-cards{grid-template-columns:1fr}
}
@media(max-width:600px){
 .section{padding:56px 6vw}
 .hero{padding:36px 6vw 44px}
 .hero h1{font-size:clamp(30px,8vw,38px);letter-spacing:-1px}
 .hero h1 br{display:none}
 .hero h1 span{display:block;margin-top:5px}
 .hero-copy{font-size:16px}
 .hero-actions{display:grid;grid-template-columns:1fr;width:100%}
 .hero-actions .button{justify-content:space-between;width:100%}
 .hero-art{height:300px}
 .art-frame{width:90%;height:90%}
 .roof{width:170px;height:170px;top:55px}
 .house{width:145px;height:120px;bottom:58px}
 .art-stamp{right:0;bottom:0}
 .art-caption{left:20px;right:20px;bottom:15px}
 .intro-grid,.split,.areas-heading,.trade-list,#faq .step-grid{grid-template-columns:minmax(0,1fr)}
 .intro h2,.about h2,.split h2,.membership h2,.areas-heading h2,.closing h2{font-size:clamp(30px,8.5vw,42px);letter-spacing:-1px;line-height:1.15}
 .section-heading{display:block;margin-bottom:28px}
 .section-heading>p{margin-top:18px}
 .pricing-card{padding:24px 20px}
 .pricing-card .button{width:100%;justify-content:space-between}
 .areas-contact{display:block}
 .areas-contact .text-link{margin-top:16px}
 .area-grid{grid-template-columns:minmax(0,1fr)}
 .area-grid article,.area-grid article:nth-child(2),.area-grid article:nth-child(3),.area-grid article:nth-child(4){border-right:0;border-top:0;border-bottom:1px solid #c9c7c0;padding:20px 0;margin:0}
 .area-grid article:last-child{border-bottom:0}
 .area-grid h3{margin-top:0}
 .enquiry-actions{flex-wrap:wrap}
 .enquiry-actions button{width:100%;min-height:48px}
 footer{padding:32px 6vw}
 .panel{padding:20px}
 .filters{grid-template-columns:minmax(0,1fr)}
 header:not(.site-header){padding:16px 20px}
 header:not(.site-header) img{width:120px;height:80px;object-fit:contain}
 main.narrow{padding-inline:20px}
 .board-total{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .button{transition:none}
 .button:hover{transform:none}
}