
:root{--ink:#243630;--paper:#f4f2eb;--accent:#c2d2b7;--line:#d6dbd0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #7f9d62;outline-offset:4px}.wrap{max-width:1320px;margin:auto;padding:0 5%}.draft{background:#dce5d5;text-align:center;font-size:11px;letter-spacing:1px;padding:7px}header{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--line)}nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;gap:15px;align-items:center}.monogram{font-size:35px;font-weight:800;letter-spacing:-3px;border-right:1px solid var(--line);padding-right:20px}.brand small{display:block;font-size:10px;font-weight:600;line-height:1.4;letter-spacing:2px}.links{display:flex;gap:28px;align-items:center;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--ink);color:white;padding:15px 24px;border:1px solid var(--ink);cursor:pointer;font-size:13px}.button.light{background:var(--accent);color:var(--ink);border-color:var(--accent)}.button.outline{background:transparent;color:var(--ink)}.hero{display:grid;grid-template-columns:1fr 1.05fr;min-height:650px}.hero-copy{padding:80px 7% 55px 10%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;font-weight:bold}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.06;letter-spacing:-2px}h1{font-size:clamp(48px,5.5vw,78px);margin:25px 0}h1 em{color:#74856b;font-weight:400}p{color:#617068;max-width:540px}h2{font-size:clamp(38px,4vw,58px);margin:20px 0 30px}h3{font-family:Georgia,serif;font-size:27px;font-weight:400;line-height:1.2}.hero-photo{position:relative;background:#c4c9bc;overflow:hidden}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.image-label{position:absolute;bottom:20px;left:20px;right:20px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.1px;background:#f4f2ebeb;padding:16px}.hero-footer{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);width:100%;font-size:11px;letter-spacing:1px}.strip{background:var(--ink);color:#e8ece3;display:flex;justify-content:space-around;gap:20px;flex-wrap:wrap;padding:25px 5%;font-size:11px;letter-spacing:1.4px}.section{padding:90px 0}.section-head{display:flex;gap:60px;align-items:end;justify-content:space-between;margin-bottom:35px}.section-head h2{max-width:540px;margin-bottom:0}.section-head p{max-width:350px;font-size:14px;margin-bottom:5px}.services{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.service{padding:30px 22px 5px 0;margin-right:24px}.num{font-size:11px;color:#7a8972;display:block;margin-bottom:25px}.service p{font-size:13px;min-height:85px}.service a{font-size:12px;border-bottom:1px solid #96a38b;padding-bottom:7px}.vision{background:#e8eae1}.gallery{display:grid;grid-template-columns:1.35fr 1fr;gap:24px}.gallery figure{margin:0}.gallery img{display:block;width:100%;height:365px;object-fit:cover;background:#c4c9bc}.gallery figcaption{padding:18px 0;font-size:12px;display:flex;justify-content:space-between}.gallery figcaption span{color:#75816e}.note{font-size:11px;color:#76836e;margin-bottom:0}.about{display:grid;grid-template-columns:.7fr 1fr;gap:100px}.about .big{font-family:Georgia,serif;font-size:110px;line-height:1;margin-bottom:15px;letter-spacing:-7px}.about .experience{padding:40px;background:#e4e8dc;display:flex;flex-direction:column;justify-content:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:50px;border-top:1px solid var(--line);padding-top:30px}.steps h3{font-size:23px}.steps p{font-size:13px}.contact{background:var(--ink);color:var(--paper)}.contact p{color:#b9c5b9}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact h2{font-size:58px}.contact a.direct{display:block;font-size:24px;font-family:Georgia,serif;margin-top:12px}.contact form{background:#ffffff08;padding:30px;border:1px solid #ffffff24}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:11px;display:block;margin-bottom:6px}input,textarea,select{width:100%;background:#ffffff08;border:1px solid #ffffff40;color:white;padding:11px;margin-bottom:18px;border-radius:0}select option{color:var(--ink)}textarea{resize:vertical;min-height:105px}.contact .note{color:#bdc9ba;margin-top:15px}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.status{font-size:12px;color:var(--accent);margin-top:12px}footer{padding:35px 0;background:#1d2b25;color:#b8c3b5;font-size:11px}footer .wrap{display:flex;justify-content:space-between;gap:20px}.menu{display:none;background:transparent;border:1px solid var(--line);padding:8px 14px;color:var(--ink)}@media(max-width:900px){.links{gap:14px}.brand small{display:none}.services{grid-template-columns:repeat(2,1fr)}.about{gap:40px}.hero-copy{padding:55px 8%}h1{font-size:55px}.contact-grid{gap:35px}}@media(max-width:650px){nav{height:72px}.menu{display:block}.links{display:none;position:absolute;top:72px;left:0;right:0;padding:24px;background:var(--paper);flex-direction:column;align-items:stretch}.links.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 6%}.hero-photo{min-height:390px}h1{font-size:55px}.hero-footer{margin-top:30px}.strip{font-size:9px;gap:12px;padding:22px}.section{padding:60px 0}.section-head{display:block}.section-head p{margin-top:25px}.service{margin-right:10px;padding-right:12px}.gallery,.about,.contact-grid{grid-template-columns:1fr;gap:30px}.gallery img{height:300px}.steps{grid-template-columns:1fr;gap:10px}.steps .num{margin-bottom:12px}.fields{grid-template-columns:1fr;gap:0}.contact h2{font-size:48px}.contact form{padding:20px}footer .wrap{flex-direction:column}h2{letter-spacing:-1px}.gallery figcaption{gap:20px}.about .big{font-size:90px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ECB brand and full-screen coastal opening */
:root{--ink:#171717;--paper:#f5f3ee;--accent:#d6c4a2;--line:#dcd7ce}
header{background:#050505;color:#fff;border-bottom:1px solid #ffffff22}
nav{height:96px}.brand-logo{display:block;width:295px;height:72px;object-fit:contain}
header .button{background:#fff;color:#111;border-color:#fff}.draft{background:#ddd5c6}
.hero{position:relative;display:block;min-height:740px;min-height:min(860px,calc(100svh - 120px));overflow:hidden;background:#202723;color:#fff}
.hero-photo{position:absolute;inset:0;background:#202723;min-height:0}
.hero-photo img{object-position:center 60%}
.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.33) 49%,rgba(0,0,0,.05)),linear-gradient(0deg,rgba(0,0,0,.32),transparent 40%)}
.hero-copy{position:relative;z-index:2;max-width:1320px;margin:auto;padding:100px 5% 110px;min-height:inherit;pointer-events:none}
.hero-copy>*{pointer-events:auto}.hero-copy h1{max-width:700px;font-size:clamp(58px,6.5vw,90px);text-shadow:0 2px 20px #0003}.hero-copy h1 em{color:#e4d3b2}.hero-copy p{color:#fff;max-width:450px;text-shadow:0 1px 5px #0005}
.hero-copy .button{background:#f5f3ee;color:#111;border-color:#f5f3ee;margin-top:10px}.hero-footer{border-color:#ffffff55;max-width:510px;font-size:10px;color:#efede8}
.image-label{z-index:3;bottom:22px;left:5%;right:5%;background:transparent;padding:0;color:#fff;font-size:9px;gap:24px}.image-label a{text-decoration:underline;text-underline-offset:3px}.strip{background:#171717;color:#fff}.menu{color:#fff;border-color:#ffffff55}
@media(max-width:900px){.brand-logo{width:235px;height:60px}.links{gap:18px}.hero-copy{padding-top:80px}.hero{min-height:690px}.hero-copy h1{font-size:70px}}
@media(max-width:650px){nav{height:80px}.brand-logo{width:220px;height:54px}.links{top:80px;background:#050505}.hero{min-height:710px}.hero-copy{padding:75px 6% 115px}.hero-copy h1{font-size:59px}.hero-photo img{object-position:65% center}.hero-photo:after{background:linear-gradient(90deg,#000b,#0005),linear-gradient(0deg,#0006,transparent 50%)}.image-label{flex-direction:column;gap:5px;left:6%;right:6%;font-size:8px}.hero-footer{font-size:9px}.hero-copy p{font-size:15px}.hero-copy .eyebrow{font-size:9px;max-width:250px}.hero-footer{max-width:100%;margin-top:32px}}

/* Current ECB roof-outline identity */
header{background:#efefed;color:#171717}nav{height:136px}.brand-logo{width:180px;height:120px}header .button{background:#171717;color:white;border-color:#171717}.menu{color:#171717;border-color:#aaa}.hero{min-height:720px}.hero-photo img{object-position:center 55%}@media(max-width:650px){nav{height:110px}.brand-logo{width:145px;height:97px}.links{top:110px;background:#efefed}.hero{min-height:710px}.hero-photo img{object-position:58% center}}

/* Architectural presentation inspired by the supplied reference */
:root{--ink:#182124;--paper:#f3f2ee;--accent:#d5dfcb;--line:#ced0ca}
body{font-family:Arial,Helvetica,sans-serif;font-size:17px;letter-spacing:-.2px}
h1,h2,h3,.contact a.direct,.about .big{font-family:Arial,Helvetica,sans-serif;font-weight:500}
h1,h2{letter-spacing:-3px;line-height:1.04}h3{letter-spacing:-.8px}
.wrap{max-width:1500px;padding-left:6%;padding-right:6%}
.draft{padding:5px;background:#e1e2dc;color:#59615a;font-size:9px}
header{background:#f3f2ee;color:#182124;border-bottom:1px solid #d5d6cf}nav{height:114px}.brand-logo{width:153px;height:102px}
.links{font-size:12px;gap:32px}.button{padding:14px 22px;font-size:12px;border-radius:0}
header .button{background:transparent;border-color:#182124;color:#182124}
.hero{min-height:760px;min-height:calc(100svh - 138px)}
.hero-copy{max-width:1500px;padding:95px 6% 100px;justify-content:center}
.hero-copy h1{font-size:clamp(58px,6.7vw,103px);max-width:950px;font-weight:500;line-height:1.03;letter-spacing:-4.5px;margin:28px 0 24px}
.hero-copy p{max-width:430px;font-size:15px;line-height:1.7}
.hero-copy .eyebrow{font-size:10px;letter-spacing:1.8px}
.hero-photo:after{background:linear-gradient(90deg,#0009,#0004 50%,#0001),linear-gradient(0deg,#0004,transparent 45%)}
.hero-copy .button{background:transparent;color:white;border-color:#ffffff90;gap:40px}.hero-copy .button:hover{background:white;color:#182124}
.hero-footer{border:none;margin-top:36px;padding-top:0;letter-spacing:1px;font-size:9px}.strip{background:#182124;padding:24px 6%;font-size:10px}
.section{padding-top:115px;padding-bottom:115px}.section-head{gap:80px;margin-bottom:60px}.section-head h2,h2{font-size:clamp(43px,4.7vw,72px);font-weight:500}.section-head p{font-size:15px;max-width:380px}
.services{display:block;border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:65px 1fr 1.1fr 150px;gap:30px;align-items:center;padding:35px 0;margin:0;border-bottom:1px solid var(--line)}
.service .num{margin:0}.service h3{margin:0;font-size:29px}.service h3 br{display:none}.service h3 br:after{content:' '}.service p{min-height:0;margin:0;font-size:14px;max-width:420px}.service a{font-size:11px;justify-self:end;white-space:nowrap}
.vision{background:#e4e7df}.gallery{grid-template-columns:1.25fr 1fr;gap:45px;align-items:start}.gallery figure:last-child{margin-top:120px}.gallery img{height:520px}.gallery figure:last-child img{height:400px}.gallery figcaption{font-size:13px;padding:20px 0}.gallery figcaption span{font-size:9px;letter-spacing:1px}.vision .note{margin-top:25px}
.about{grid-template-columns:.7fr 1fr;gap:110px}.about .experience{background:#e1e5db;padding:55px}.about .big{font-size:145px;letter-spacing:-10px}.about p{font-size:15px}.steps{margin-top:85px;gap:55px;padding-top:40px}.steps h3{font-size:24px;letter-spacing:-.7px}.steps p{font-size:14px}
.contact{background:#182124}.contact h2{font-size:clamp(50px,5.5vw,82px);letter-spacing:-3.5px}.contact-grid{gap:100px}.contact form{background:transparent;border:none;border-top:1px solid #ffffff40;padding:28px 0 0}.contact a.direct{font-size:23px;font-weight:400;letter-spacing:-.7px}.contact .button.light{background:#e3e8dc;border-color:#e3e8dc;color:#182124}.contact input,.contact textarea,.contact select{background:transparent;border-color:#ffffff45}.contact p{font-size:15px}footer{background:#182124;border-top:1px solid #ffffff25;padding:40px 0}
@media(max-width:900px){.links{gap:18px}.hero-copy h1{font-size:72px;letter-spacing:-3px}.service{grid-template-columns:40px 1fr 1fr;gap:20px}.service a{grid-column:2;justify-self:start}.gallery{gap:25px}.gallery img{height:390px}.gallery figure:last-child img{height:330px}.about{gap:45px}.contact-grid{gap:45px}}
@media(max-width:650px){nav{height:100px}.brand-logo{width:135px;height:90px}.links{top:100px;background:#f3f2ee}.hero{min-height:720px}.hero-copy{padding:75px 6% 115px}.hero-copy h1{font-size:54px;letter-spacing:-2.8px;max-width:100%}.hero-copy p{max-width:320px}.section{padding:70px 0}.section-head{margin-bottom:35px}.section-head h2,h2{font-size:43px;letter-spacing:-2px}.service{grid-template-columns:30px 1fr;gap:18px;padding:28px 0}.service h3{font-size:25px}.service p,.service a{grid-column:2}.gallery{grid-template-columns:1fr;gap:30px}.gallery figure:last-child{margin-top:0}.gallery img,.gallery figure:last-child img{height:360px}.about{grid-template-columns:1fr;gap:40px}.about .experience{padding:35px}.about .big{font-size:110px}.steps{margin-top:50px;gap:20px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact h2{font-size:54px;letter-spacing:-2.5px}}

.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 45px}.project-card:nth-child(2){margin-top:120px}.project-card:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr;gap:65px;align-items:center}.project-image{display:block;position:relative;overflow:hidden;background:#cbd0c5}.project-image img{display:block;width:100%;height:460px;object-fit:cover;transition:transform .45s}.project-card:nth-child(2) img{height:420px}.project-card:nth-child(3) img{height:460px}.project-image:hover img{transform:scale(1.025)}.project-view{position:absolute;bottom:20px;right:20px;padding:10px 16px;background:#f3f2eeed;color:#182124;font-size:11px}.project-caption{padding-top:25px}.project-caption h3{font-size:30px;margin:10px 0 25px}.project-caption .eyebrow{font-size:9px;color:#617060}.project-caption dl{margin:0 0 20px}.project-caption dl div{display:grid;grid-template-columns:135px 1fr;gap:15px;padding:8px 0;border-bottom:1px solid #c7cebf;font-size:12px}.project-caption dt{color:#60715e}.project-caption dd{margin:0;color:#182124}.project-credit{font-size:11px;line-height:1.6;margin:0 0 7px}.project-source{font-size:10px;text-decoration:underline;text-underline-offset:3px;color:#52634f}@media(max-width:900px){.project-grid{gap:45px 25px}.project-card:nth-child(3){gap:30px}.project-image img{height:350px}.project-card:nth-child(2) img{height:330px}.project-card:nth-child(3) img{height:380px}.project-caption dl div{grid-template-columns:105px 1fr;gap:10px}}@media(max-width:650px){.project-grid{grid-template-columns:1fr;gap:45px}.project-card:nth-child(2){margin:0}.project-card:nth-child(3){display:block;grid-column:auto}.project-image img,.project-card:nth-child(2) img,.project-card:nth-child(3) img{height:330px}.project-caption h3{font-size:27px}.project-caption{padding-top:20px}}@media(prefers-reduced-motion:reduce){.project-image img{transition:none}.project-image:hover img{transform:none}}

.project-detail{grid-column:1/-1;margin-top:15px;border-top:1px solid #bcc4b5}.project-detail summary{padding:20px 0;cursor:pointer;list-style:none;font-size:12px;display:flex;justify-content:space-between}.project-detail summary::-webkit-details-marker{display:none}.project-detail summary span{font-size:20px;line-height:1}.project-detail[open] summary span{transform:rotate(45deg)}.project-detail-body{padding:15px 0 30px}.project-detail h4{font-weight:500;font-size:27px;letter-spacing:-.8px;margin:15px 0}.project-detail-body>p{font-size:14px;max-width:850px}.project-detail-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.project-detail-gallery img{display:block;width:100%;height:220px;object-fit:cover;background:#cbd0c5}.project-card:nth-child(3) .project-detail{margin-top:0}.project-card:nth-child(3){row-gap:0}@media(max-width:650px){.project-detail-gallery{grid-template-columns:1fr}.project-detail-gallery img{height:300px}.project-detail h4{font-size:24px}}

.project-detail-gallery.curated{grid-template-columns:1fr 1fr;gap:24px;margin:30px 0}.curated figure{margin:0;background:transparent}.curated figure:first-child{grid-column:1/-1}.project-detail-gallery.curated img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;max-height:none}.curated figcaption{font-size:10px;letter-spacing:.6px;padding:12px 0;color:#52634f}.project-detail-gallery.curated figure:not(:first-child) img{aspect-ratio:3/4;object-fit:cover}.project-card:nth-child(3) .curated figure:not(:first-child) img{aspect-ratio:4/3}@media(max-width:650px){.project-detail-gallery.curated{gap:16px}.curated figcaption{font-size:9px}.project-detail-gallery.curated figure:not(:first-child) img{aspect-ratio:auto;object-fit:contain}}

.enquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px}.enquiry-field.wide{grid-column:1/-1}.field-error{color:#ffb6a7!important;font-size:12px!important;margin:0 0 10px}.enquiry-fields input,.enquiry-fields textarea,.enquiry-fields select{margin-bottom:5px}.expanded-process{grid-template-columns:repeat(5,1fr);gap:25px}.expanded-process h3{font-size:22px}.service-page{padding:85px 0}.service-page h1{color:var(--ink);font-size:clamp(48px,6vw,86px);max-width:1000px}.service-intro{font-size:20px;max-width:700px}.service-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:60px}.scope-list{list-style:none;padding:0}.scope-list li{padding:18px 0;border-bottom:1px solid var(--line)}.service-image{width:100%;max-height:520px;object-fit:cover}.page-cta{margin-top:70px;padding:50px;background:#e4e7df}.page-cta p{max-width:700px}.page-cta h2{font-size:42px}.about-points{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:60px 0}.about-points h3{font-size:27px}@media(max-width:900px){.expanded-process{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.enquiry-fields,.service-layout,.about-points{grid-template-columns:1fr}.expanded-process{grid-template-columns:1fr}.service-page{padding:55px 0}.service-layout{gap:30px;padding-top:25px}.page-cta{padding:30px}.service-intro{font-size:17px}}
.project-page-link{display:block;padding:20px 0;border-top:1px solid var(--line);font-size:12px;grid-column:1/-1}.project-back{font-size:12px}.project-page-hero img{display:block;width:100%;height:580px;object-fit:cover}.project-page-content{display:grid;grid-template-columns:.6fr 1.4fr;gap:70px;margin-top:65px}.project-page-content dl{font-size:14px}.project-page-content dt{color:#617068;margin-top:22px}.project-page-content dd{margin:8px 0 25px}.project-page-content p{max-width:850px}.collaboration{background:#e4e7df}.collaboration .service-layout{padding-top:0;align-items:center}.faq-list{max-width:950px}.faq-list details{border-top:1px solid var(--line)}.faq-list summary{cursor:pointer;display:flex;justify-content:space-between;gap:25px;padding:25px 0;list-style:none;font-size:19px}.faq-list summary::-webkit-details-marker{display:none}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{padding-bottom:20px;max-width:800px;font-size:15px}.mobile-call{display:none}@media(max-width:650px){body{padding-bottom:58px}.mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;z-index:20;background:#182124;color:white;text-align:center;padding:16px;font-size:13px;border-top:1px solid #fff3}.project-page-hero img{height:340px}.project-page-content{grid-template-columns:1fr;gap:20px;margin-top:35px}.faq-list summary{font-size:17px}.collaboration .service-layout{gap:20px}}
