:root{--black:#fff;--panel:#f7f8fa;--silver:#606875;--white:#222831;--muted:#606774;--line:#dce0e6;--metal:linear-gradient(115deg,#e3e6eb 0%,#f9fafb 40%,#dde1e7 100%)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--black);color:var(--white);font:15px/1.75 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #c5c9d6;outline-offset:5px}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:20;padding:16px;background:#fff;color:#111}header{max-width:1440px;margin:auto;height:132px;padding:0 7%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e8eaee}.brand{display:inline-flex;align-items:center}.brand-logo{width:112px;height:112px;object-fit:contain;display:block}nav{display:flex;gap:32px;align-items:center;font-size:12px;letter-spacing:.6px}nav>a:hover{color:var(--silver)}.nav-cta{padding:12px 20px;border:1px solid #777b85}.nav-cta span{margin-left:24px}#menu{display:none}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;min-height:635px;background:#fff}.hero-copy{padding:85px 4% 72px 13%;align-self:center}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.8px;color:var(--silver);margin-bottom:24px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2px;line-height:1.08}h1{font-size:clamp(60px,6.7vw,96px);margin-bottom:30px}em{font-weight:400;color:var(--silver)}h1 em{color:#656f7d}.hero p{max-width:430px;font-size:16px;color:#505865}.hero .sub{font-size:14px;color:var(--muted)}.actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;background:#303946;color:#fff;border:1px solid #303946;padding:16px 23px;font-size:12px;font-weight:600;transition:filter .2s}.button:hover{filter:brightness(1.12)}.text-link{font-size:12px;padding-bottom:5px;border-bottom:1px solid #737781}.hero-note{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);font-size:10px;letter-spacing:1.2px;color:var(--muted)}.hero-note span{margin-right:8px;font-size:17px;color:var(--silver)}.hero-image{position:relative;align-self:stretch;min-height:530px;margin:35px 8% 35px 3%;overflow:hidden;background:#f0f1f3}.hero-image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:56% center}.image-label{position:absolute;bottom:26px;left:26px;background:#ffffffed;padding:20px 24px;font-size:10px;letter-spacing:2.5px;color:#444c58;line-height:1.9}.ribbon{display:flex;justify-content:center;align-items:center;gap:40px;flex-wrap:wrap;padding:23px 5%;background:var(--metal);color:#202126;font-size:10px;letter-spacing:2px}.ribbon b{font-size:20px;font-weight:400}.section{max-width:1440px;margin:auto;padding:100px 7%}h2{font-size:clamp(38px,4vw,56px);margin-bottom:25px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:40px}.section-head>p{max-width:345px;color:var(--muted);font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service{background:#fff;border:1px solid var(--line);padding:28px 23px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}.service:hover{border-color:#aab2bd;box-shadow:0 12px 30px #29354409;transform:translateY(-3px)}.service-label{font-size:9px;letter-spacing:2px;color:var(--muted)}.service-icon{font:38px Georgia,serif;color:var(--silver);margin-top:25px}.service h3{font:25px/1.2 Georgia,serif;margin:20px 0 15px}.service p{color:var(--muted);font-size:13px}.service ul{list-style:none;padding:0;margin:5px 0 24px;font-size:11px;color:#555f6d}.service li{padding:5px 0}.service li:before{content:'·';margin-right:8px;color:var(--silver)}.service a{font-size:11px;margin-top:auto;border-top:1px solid var(--line);padding-top:18px}.finder{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;background:#f2f4f7;color:#262d37}.finder .eyebrow,.finder em{color:#535764}.finder p{color:#535764}.finder h2{margin-bottom:18px}.finder-panel{align-self:center}.choices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.choices button{padding:10px 14px;background:transparent;color:#202126;border:1px solid #a7abb5;font-size:12px}.choices button.active{color:#fff;background:#17181d;border-color:#17181d}#recommendation h3{font:28px Georgia,serif;margin-bottom:15px}#recommendation p{font-size:14px}.approach{display:grid;grid-template-columns:1.1fr 1fr;gap:95px}.approach-intro{align-self:center}.approach p{color:var(--muted);font-size:14px;max-width:480px}.interior-detail{width:100%;height:220px;object-fit:cover;object-position:center 58%;border:1px solid var(--line);margin-bottom:10px}.steps article{border-bottom:1px solid var(--line);padding:24px 0}.steps h3{font:23px Georgia,serif;margin-bottom:10px}.steps p{font-size:13px;margin-bottom:0}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}details{padding:22px 0;border-bottom:1px solid var(--line)}summary{display:flex;justify-content:space-between;gap:22px;font-size:14px;list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:21px;color:var(--silver);line-height:1}details[open] summary:after{content:'−'}details p{margin:20px 0 0;color:var(--muted);font-size:13px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:95px;background:#f3f5f8}.contact p{color:var(--muted);font-size:14px;max-width:410px}.instagram{display:inline-block;font-size:14px;border-bottom:1px solid #727782;padding-bottom:6px;overflow-wrap:anywhere}.contact .small{font-size:11px;margin-top:30px}form{align-self:center}label{display:block;font-size:11px;letter-spacing:.4px;margin-bottom:19px}input,textarea,select{display:block;width:100%;padding:13px 12px;margin-top:8px;color:#262d37;border:1px solid #b9c1cc;border-radius:0;background:#fff;font-size:13px;letter-spacing:0}input::placeholder,textarea::placeholder{color:#687381}select option{background:#fff;color:#222831}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}form .button{width:100%}#message-area{margin-top:26px}#message{background:#e9eaf0;color:#18191e}.message-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;font-size:12px}.message-actions button{background:#fff;color:#303946;border:1px solid #9296a1;padding:10px 16px}#copy-status{font-size:11px;margin-top:12px}footer{max-width:1440px;margin:auto;padding:35px 7%;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:25px;border-top:1px solid var(--line)}footer .brand-logo{width:125px;height:125px}footer p{font:italic 24px Georgia,serif;color:var(--silver);margin:0}footer>a:not(.brand){font-size:12px}footer>small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:24px;color:var(--muted);font-size:10px}@media(max-width:1050px){nav{gap:18px}.hero-copy{padding:65px 5% 55px 11%}h1{font-size:72px}.hero-image{margin-right:6%}.service-grid{grid-template-columns:1fr 1fr}.section{padding:75px 6%}.approach,.contact,.faq{gap:45px}.ribbon{gap:22px}}@media(max-width:700px){header{height:100px;padding:0 6%}.brand-logo{width:90px;height:90px}#menu{display:block;padding:6px 12px;border:1px solid #b8c0cc;background:#fff;color:#303946;font-size:22px}nav{display:none;position:absolute;top:100px;left:0;right:0;z-index:10;padding:25px 6%;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:48px 6% 0}h1{font-size:67px}.eyebrow{font-size:9px;letter-spacing:2px}.hero p{font-size:15px}.hero .sub{font-size:13px}.actions{gap:20px}.hero-note{margin-top:28px}.hero-image{min-height:380px;margin:28px 6% 32px}.hero-image img{max-width:none}.image-label{font-size:9px;letter-spacing:1.7px;bottom:20px;left:20px;padding:16px 20px}.ribbon{gap:9px;padding:18px 5%;font-size:8px;letter-spacing:1px}.ribbon b{font-size:12px}.section{padding:60px 6%}.section-head{display:block;margin-bottom:30px}.section-head>p{max-width:none}.service-grid{grid-template-columns:1fr}.service{padding:26px}.service-icon{margin-top:15px}.service h3{margin-top:12px}.finder,.approach,.faq,.contact{grid-template-columns:1fr;gap:30px}.finder{gap:15px}.choices button{padding:9px 12px;font-size:11px}.faq{gap:5px}.interior-detail{height:210px}.form-grid{gap:12px}footer{grid-template-columns:1fr auto;padding:30px 6%;gap:20px}footer p{grid-column:1/-1;grid-row:2;font-size:24px}footer>small{line-height:1.6}.button{padding:15px 19px}h2{font-size:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service,.button{transition:none}.service:hover{transform:none}}

.services{background:#fff}.nav-cta{border-color:#b7bfca}.nav-cta:hover{background:#f3f5f8}.ribbon{border-top:1px solid #e3e6eb;border-bottom:1px solid #e3e6eb}.hero-note{color:#606774}.service-icon{color:#677486}.text-link{border-color:#aab3bf}.instagram{border-color:#9ca7b5}.choices button:focus-visible{outline-color:#303946}footer{background:#fff}.skip:focus{color:#222831}

.social-top{max-width:1440px;margin:0 auto;padding:4px 7%;min-height:52px;display:flex;align-items:center;justify-content:flex-end;gap:6px;background:#f7f8fa;border-bottom:1px solid #e8eaee}.social-top>span{font-size:11px;letter-spacing:1px;color:#606774;margin-right:8px}.social-top>a{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:#303946;border-radius:50%}.social-top>a:hover{background:#e7ebf0;color:#111827}.social-top svg{display:block}@media(max-width:700px){.social-top{padding:4px 6%}nav{top:152px}}

.social-top>a{position:relative;cursor:pointer}.social-top>a svg,.social-top>a svg *{pointer-events:none}

.work-gallery{border-top:1px solid var(--line);background:#fafbfc}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.photo-grid figure{margin:0;min-width:0}.photo-grid a{display:block;background:#eef0f3}.photo-grid img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.photo-grid figure:last-child img{object-position:center 75%}.photo-grid figcaption{padding:18px 0 0;font:20px/1.4 Georgia,serif;color:#303946}.hero-image img{object-position:center 55%}@media(max-width:700px){.photo-grid{grid-template-columns:1fr;gap:30px}.photo-grid img{aspect-ratio:auto}.photo-grid figcaption{font-size:21px;padding-top:14px}}

.gallery-mobile-hint{display:none}
@media(max-width:700px){
 body{font-size:14px;line-height:1.6}
 .social-top{height:44px;min-height:44px;padding:0 5%;border:0;gap:2px}
 .social-top>span{font-size:10px}
 header{height:72px;padding:0 5%}
 .brand-logo{width:68px;height:68px}
 #menu{min-width:44px;min-height:44px;padding:5px 11px;font-size:21px}
 nav{top:116px;padding:12px 5%;gap:0}
 nav>a{min-height:44px;display:flex;align-items:center;padding:10px 12px}
 .hero-copy{padding:28px 5% 0}
 .eyebrow{margin-bottom:14px;font-size:9px;letter-spacing:1.5px}
 h1{font-size:clamp(43px,12vw,58px);line-height:1.05;letter-spacing:-1.8px;margin-bottom:18px}
 h2{font-size:34px;line-height:1.12;letter-spacing:-1.2px;margin-bottom:16px}
 .hero p{font-size:14px;margin-bottom:10px;max-width:none}
 .hero .sub{font-size:13px}
 .actions{margin-top:19px;gap:10px 16px}
 .button{min-height:44px;padding:12px 16px;font-size:12px}
 .actions .text-link{display:inline-flex;align-items:center;min-height:44px;padding-bottom:0}
 .hero-note{margin-top:18px;padding-top:12px;font-size:9px;letter-spacing:.5px}
 .hero-image{min-height:0;height:245px;margin:18px 5% 22px}
 .hero-image img{object-position:center 48%}
 .image-label{left:14px;bottom:14px;padding:10px 13px;font-size:8px;letter-spacing:1.2px}
 .ribbon{padding:12px 5%;gap:5px 9px;font-size:8px;line-height:1.4}
 .section{padding:36px 5%}
 .section-head{margin-bottom:20px}
 .section-head>p{margin-bottom:0;font-size:13px}
 .service-grid{gap:12px}
 .service{position:relative;padding:18px}
 .service-label{font-size:9px}
 .service-icon{position:absolute;right:18px;top:15px;margin:0;font-size:28px}
 .service h3{font-size:23px;margin:9px 30px 10px 0}
 .service p{font-size:13px;margin-bottom:10px}
 .service ul{margin:0 0 12px;font-size:12px}
 .service li{padding:2px 0}
 .service a{min-height:44px;display:flex;align-items:center;font-size:12px;padding:10px 0 0}
 .finder,.approach,.contact{gap:20px}
 .finder h2{margin-bottom:12px}
 .finder p{font-size:13px;margin-bottom:14px}
 .choices{gap:6px;margin-bottom:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .choices button{min-height:44px;font-size:12px;padding:8px}
 #recommendation h3{font-size:24px;margin-bottom:10px}
 #recommendation p{font-size:13px}
 .approach p{font-size:13px;margin-bottom:14px}
 .steps article{padding:16px 0}
 .steps h3{font-size:21px;margin-bottom:8px}
 .steps p{margin-bottom:0}
 .gallery-mobile-hint{display:block;color:var(--muted);font-size:11px;margin:0 0 12px}
 .photo-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding:0 0 12px;overscroll-behavior-x:contain}
 .photo-grid figure{scroll-snap-align:start}
 .photo-grid img{width:100%;height:260px;aspect-ratio:auto;object-fit:cover;object-position:center 60%}
 .photo-grid figure:last-child img{object-position:center 72%}
 .photo-grid figcaption{font-size:17px;line-height:1.3;padding-top:10px}
 .faq{gap:0}
 details{padding:15px 0}
 summary{font-size:13px;min-height:28px;align-items:center}
 details p{font-size:13px;margin-top:12px}
 .contact p{font-size:13px;margin-bottom:14px}
 .contact .small{margin-top:16px;font-size:11px}
 .instagram{font-size:13px}
 label{margin-bottom:14px;font-size:12px}
 input,textarea,select{font-size:16px;min-width:0;padding:10px;min-height:44px;margin-top:6px}
 .form-grid{gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .message-actions{gap:12px}.message-actions>a{display:inline-flex;align-items:center;min-height:44px}
 footer{padding:22px 5%;gap:12px}
 footer .brand-logo{width:82px;height:82px}
 footer p{font-size:20px}
 footer>small{padding-top:16px}
 footer>a:not(.brand){display:inline-flex;align-items:center;min-height:44px}
}
@media(min-width:480px) and (max-width:700px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-image{height:280px}.photo-grid{grid-auto-columns:62%}}

.about-team{grid-template-columns:1.15fr 1fr;gap:42px 65px;align-items:start}
.about-team .approach-intro{align-self:start}.about-team p{max-width:none}.about-team .team-lead{font-size:15px;color:#374151}.about-team h3{font:25px/1.3 Georgia,serif;margin:25px 0 12px}.team-photo{margin:0;align-self:start}.team-photo img{display:block;width:100%;height:auto;border:1px solid var(--line)}.team-photo figcaption{font-size:12px;line-height:1.6;color:var(--muted);padding-top:12px}.about-team .team-signoff{margin-top:22px;color:#444d59}.team-signoff strong{font-weight:500}.about-links{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:24px}.about-team .steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;border-top:1px solid var(--line)}.about-team .steps article{padding:22px 0;border-bottom:0}.about-team .steps h3{margin:0 0 10px;font-size:23px}
@media(max-width:700px){.about-team{grid-template-columns:minmax(0,1fr);gap:22px}.about-team .team-photo{grid-row:1}.team-photo img{width:100%;height:auto;max-width:420px;margin:auto}.team-photo figcaption{font-size:11px;padding-top:8px}.about-team .team-lead{font-size:14px}.about-team h3{font-size:23px;margin:20px 0 10px}.about-team .team-signoff{margin-top:16px}.about-links{gap:10px 16px;margin-top:18px}.about-links .text-link{display:inline-flex;align-items:center;min-height:44px}.about-team .steps{grid-template-columns:1fr;gap:0}.about-team .steps article{padding:14px 0;border-bottom:1px solid var(--line)}.about-team .steps h3{font-size:21px;margin-bottom:8px}}

/* Website enquiry form */
.contact-email{display:inline-block;font-size:clamp(16px,2vw,24px);overflow-wrap:anywhere;margin:12px 0;border-bottom:1px solid #aab3bf}.website-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.enquiry-consent{display:flex!important;align-items:flex-start;gap:10px;font-size:12px!important;line-height:1.6}.enquiry-consent input{width:18px!important;min-width:18px;height:18px;margin:3px 0 0;accent-color:#303946}.enquiry-success{padding:16px;background:#edf7ee;color:#174523}.enquiry-error{padding:16px;background:#fff1ef;color:#7b221d}#enquiry-status:empty{display:none}#send-enquiry:disabled{opacity:.65;cursor:wait}.contact form select{width:100%}
