:root{--ink:#181714;--paper:#f2f0eb;--stone:#d8d2c8;--bronze:#a57b50;--white:#fff;--serif:"Italiana",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px}a{color:inherit;text-decoration:none}.topbar{height:82px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;z-index:5;color:#fff;border-bottom:1px solid #ffffff40}.brand{display:flex;align-items:center;gap:.48rem;letter-spacing:.18em;font-size:.86rem;font-weight:600;text-shadow:0 1px 14px rgba(0,0,0,.28)}.brand b{font-family:var(--serif);font-size:2.05rem;letter-spacing:0;font-weight:400}.topbar nav{display:flex;align-items:center;gap:2rem;font-size:.83rem}.nav-cta{border:1px solid #ffffff80;padding:.72rem 1rem}.menu{display:none;background:none;border:0;color:inherit;font:inherit}.hero{height:min(960px,100vh);min-height:720px;position:relative;overflow:hidden;color:#fff}.hero>img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,11,.82) 0%,rgba(12,12,11,.38) 42%,rgba(12,12,11,.08) 76%)}.hero-copy{position:absolute;left:7vw;top:50%;transform:translateY(-43%);width:min(720px,82vw)}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:600}.hero h1,.statement h2,.work h2,.contact h2{font-family:var(--serif);font-weight:400;line-height:.93;margin:.65rem 0 1.5rem}.hero h1{font-size:clamp(4rem,8.5vw,8.5rem);letter-spacing:-.03em}.hero h1 em{font-weight:400;color:#d8c2a7}.intro{max-width:540px;font-size:1.06rem;line-height:1.65;color:#eee;margin-bottom:2rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:600;padding:1.05rem 1.25rem;border:0;cursor:pointer}.button.light{background:#f7f5f0;color:#171714}.button.dark{background:#181714;color:#fff;min-width:270px}.button span{font-size:1.1rem}.hero-index{position:absolute;right:4vw;bottom:3.5rem;font-size:.66rem;line-height:1.65;letter-spacing:.14em;text-align:right}.statement,.services{padding:9rem 7vw;display:grid;grid-template-columns:1fr 2.2fr;gap:5vw}.section-label{padding-top:.6rem}.statement h2,.work h2,.contact h2{font-size:clamp(3.4rem,6vw,6.7rem)}.statement>div>p{max-width:670px;font-size:1.24rem;line-height:1.65;margin-left:auto}.work{background:var(--ink);color:white;padding:8rem 4vw}.work-head{display:grid;grid-template-columns:1fr 2.2fr;padding:0 3vw 5rem}.project-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:1.2rem}.project-feature{grid-row:span 2}.project-visual{min-height:330px;position:relative;overflow:hidden;background-size:cover;background-position:center}.project-feature .project-visual{height:725px;background-image:linear-gradient(#0001,#0005),url('assets/hilton.jpg')}.pv-two{background-image:linear-gradient(#0001,#0004),url('assets/residential.jpg')}.pv-three{background-image:linear-gradient(#0001,#0004),url('assets/exterior.jpg')}.project-visual span{position:absolute;top:1rem;left:1rem;background:#f4f1eb;color:#191816;padding:.45rem .65rem;font-size:.63rem;letter-spacing:.14em;text-transform:uppercase}.project-info{display:flex;justify-content:space-between;align-items:end;padding:.8rem .2rem 1.5rem}.project-info h3{font-family:var(--serif);font-size:1.75rem;font-weight:400;margin:0}.project-info p{font-size:.75rem;color:#a9a59e;margin:0}.portfolio-note{font-size:.72rem;color:#88837b;margin:1rem 0 0}.services-list article{display:grid;grid-template-columns:52px 1fr 1fr;gap:1.5rem;border-top:1px solid #bbb4a9;padding:2.2rem 0}.services-list article:last-child{border-bottom:1px solid #bbb4a9}.services-list span{font-size:.7rem;color:var(--bronze)}.services-list h3{font-family:var(--serif);font-size:2rem;font-weight:400;margin:0}.services-list p{line-height:1.55;color:#56524c;margin:0}.numbers{background:#c9b59c;display:grid;grid-template-columns:repeat(4,1fr);padding:5rem 7vw}.numbers div{display:flex;flex-direction:column;border-left:1px solid #7f6b55;padding-left:1.5rem}.numbers strong{font-family:var(--serif);font-size:4rem;font-weight:400}.numbers span{text-transform:uppercase;letter-spacing:.12em;font-size:.65rem}.contact{padding:9rem 7vw 8rem;min-height:760px;position:relative}.contact h2{margin:3rem 0 2rem}.contact>p:not(.section-label){font-size:1.1rem;line-height:1.65;max-width:530px}.contact .button{margin-top:2rem}.contact small{display:block;margin-top:1rem;color:#77716a}footer{background:#11110f;color:#fff;padding:4rem 4vw;display:grid;grid-template-columns:1.4fr 1fr 1.5fr auto;align-items:end;gap:2rem;font-size:.72rem;line-height:1.6}.footer-brand{align-self:start}.legal{color:#8d8981}
@media(max-width:800px){.topbar{height:68px}.menu{display:block}.topbar nav{display:none;position:absolute;top:68px;left:0;right:0;background:#171714;padding:2rem 6vw;flex-direction:column;align-items:flex-start}.topbar nav.open{display:flex}.hero{min-height:690px}.hero-copy{left:6vw;top:48%}.hero h1{font-size:3.8rem}.hero-index{left:6vw;right:auto;text-align:left}.statement,.services{grid-template-columns:1fr;padding:6rem 6vw}.statement>div>p{font-size:1.05rem}.work{padding:6rem 4vw}.work-head{grid-template-columns:1fr;padding:0 2vw 3rem}.project-grid{grid-template-columns:1fr}.project-feature{grid-row:auto}.project-feature .project-visual,.project-visual{height:420px;min-height:0}.project-info{display:block}.project-info p{margin-top:.35rem}.services-list article{grid-template-columns:38px 1fr}.services-list p{grid-column:2}.numbers{grid-template-columns:1fr 1fr;gap:3rem 0;padding:4rem 6vw}.numbers strong{font-size:3rem}.contact{padding:6rem 6vw;min-height:650px}footer{grid-template-columns:1fr;align-items:start}.footer-brand{margin-bottom:2rem}}
.facebook-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:3.5rem}.facebook-grid figure{margin:0;overflow:hidden}.facebook-grid img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .5s ease}.facebook-grid figure:hover img{transform:scale(1.035)}.facebook-grid figcaption{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0 0}.facebook-grid figcaption span{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#a9a59e}.facebook-grid figcaption strong{font-family:var(--serif);font-size:1rem;font-weight:400;text-align:right}@media(max-width:1000px){.facebook-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.facebook-grid{grid-template-columns:1fr}.facebook-grid img{aspect-ratio:16/9}}
@media(max-width:560px){.topbar>.brand{font-size:.62rem;gap:.3rem;letter-spacing:.12em}.topbar>.brand b{font-size:1.5rem}.hero>img{object-position:58% center}}
.topbar nav{order:2;margin-left:auto}.header-actions{order:3;display:flex;align-items:center;gap:1.2rem;margin-left:1.5rem}.language{display:flex;align-items:center;padding:.2rem;border:1px solid #ffffffa8;background:#11110f73;backdrop-filter:blur(8px)}.language-icon{font-size:.72rem;margin-left:.5rem;color:#d8c2a7}.language-label{font-size:.6rem;letter-spacing:.13em;margin:0 .4rem}.lang{min-width:42px;border:0;background:transparent;color:#ffffffb8;font:600 .72rem var(--sans);letter-spacing:.08em;padding:.55rem .65rem;cursor:pointer}.lang.active{background:#f5f2ec;color:#181714}.lang:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:800px){.language-label{display:none}.header-actions{margin-left:auto;gap:.5rem}.language-icon{margin-left:.35rem}.lang{min-width:36px;padding:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Real portfolio */
.project-grid{align-items:start}.portfolio-card{position:relative;display:block;color:inherit}.project-grid .portfolio-card:first-child{grid-row:span 2}.project-grid .portfolio-card:first-child .card-image{height:725px}.project-grid .portfolio-card:not(:first-child) .card-image{height:315px}.card-image{position:relative;overflow:hidden;background:#2a2825}.card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.portfolio-card:hover .card-image img{transform:scale(1.025)}.card-image>span{position:absolute;top:1rem;left:1rem;background:#f4f1eb;color:#191816;padding:.45rem .65rem;font-size:.63rem;letter-spacing:.14em;text-transform:uppercase}.card-arrow{position:absolute;right:.2rem;bottom:1.55rem;font-size:1.15rem;color:#c7a67e}.all-projects-link{display:flex;justify-content:space-between;align-items:center;margin-top:4rem;padding:1.35rem 0;border-top:1px solid #48453f;border-bottom:1px solid #48453f;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.all-projects-link span:last-child{font-size:1.2rem;color:#d8c2a7}
.inner-topbar{position:relative;color:var(--ink);border-bottom:1px solid #c9c3b8;background:var(--paper)}.inner-topbar .nav-cta{border-color:#827b70}.dark-language{background:#181714;border-color:#181714}.inner-topbar .menu{color:var(--ink)}.active-nav{border-bottom:1px solid currentColor}.portfolio-intro{padding:8rem 7vw 5rem;display:grid;grid-template-columns:1fr 2.2fr;column-gap:5vw}.portfolio-intro h1{grid-column:2;font:400 clamp(3.8rem,7vw,7.6rem)/.94 var(--serif);letter-spacing:-.03em;margin:.4rem 0 2rem}.portfolio-intro h1 em{font-weight:400;color:var(--bronze)}.portfolio-intro>p:last-child{grid-column:2;max-width:700px;font-size:1.12rem;line-height:1.7}.portfolio-browser{padding:2rem 4vw 8rem}.filter-row{display:flex;gap:.55rem;overflow-x:auto;padding:0 0 1.3rem;scrollbar-width:thin;position:sticky;top:0;background:var(--paper);z-index:3}.filter{white-space:nowrap;border:1px solid #aba398;background:transparent;padding:.8rem 1rem;font:600 .68rem var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.filter.active{background:var(--ink);color:#fff;border-color:var(--ink)}.portfolio-count{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #bdb6ac;padding:2.5rem 0 1.5rem}.portfolio-count h2{font:400 2.6rem var(--serif);margin:0}.portfolio-count span{font-size:.75rem;letter-spacing:.12em;color:#777169}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4rem 1.2rem}.portfolio-grid .card-image{height:min(46vw,620px)}.portfolio-grid .portfolio-card:nth-child(4n+1){grid-column:span 2}.portfolio-grid .portfolio-card:nth-child(4n+1) .card-image{height:min(62vw,820px)}
.project-detail-head{padding:6.5rem 7vw 3rem}.back-link{display:inline-block;margin-bottom:4rem;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}.project-detail-head .section-label{color:var(--bronze)}.project-detail-head h1{font:400 clamp(4rem,8vw,8.7rem)/.9 var(--serif);letter-spacing:-.035em;margin:.6rem 0 2.5rem;max-width:1100px}.detail-meta{display:flex;gap:3rem;padding-top:1.25rem;border-top:1px solid #bcb5aa;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.image-rail-wrap{background:var(--ink);color:#fff;padding:4rem 0 2rem}.image-rail{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 4vw 1rem;scrollbar-color:#a57b50 #302e2a}.image-rail figure{margin:0;flex:0 0 min(78vw,1040px);scroll-snap-align:start}.image-rail img{display:block;width:100%;height:min(66vw,740px);object-fit:cover;background:#292724}.image-rail figcaption{padding:.8rem 0;color:#a9a49c;font-size:.66rem;letter-spacing:.15em}.rail-hint{margin:1rem 4vw 0;text-align:right;text-transform:uppercase;letter-spacing:.13em;font-size:.63rem;color:#918c84}.project-summary{padding:8rem 7vw;display:grid;grid-template-columns:1fr 2.2fr;gap:5vw}.project-summary h2{font:400 clamp(2.8rem,5vw,5.5rem)/1 var(--serif);margin:0 0 1.5rem}.project-summary div p{max-width:690px;font-size:1.12rem;line-height:1.7}.portfolio-page footer,.project-page footer{margin-top:0}
@media(max-width:800px){.project-grid .portfolio-card:first-child{grid-row:auto}.project-grid .portfolio-card:first-child .card-image,.project-grid .portfolio-card:not(:first-child) .card-image{height:420px}.inner-topbar nav{background:var(--paper);color:var(--ink);border-bottom:1px solid #bdb6ac}.portfolio-intro{padding:5rem 6vw 3.5rem;grid-template-columns:1fr}.portfolio-intro h1,.portfolio-intro>p:last-child{grid-column:1}.portfolio-intro h1{font-size:3.8rem;margin-top:2rem}.portfolio-browser{padding:1rem 4vw 6rem}.portfolio-count h2{font-size:2rem}.portfolio-grid{grid-template-columns:1fr;gap:3rem}.portfolio-grid .portfolio-card:nth-child(4n+1){grid-column:auto}.portfolio-grid .card-image,.portfolio-grid .portfolio-card:nth-child(4n+1) .card-image{height:112vw;max-height:560px}.project-detail-head{padding:4.5rem 6vw 2.5rem}.project-detail-head h1{font-size:3.8rem}.back-link{margin-bottom:3rem}.detail-meta{flex-direction:column;gap:.6rem}.image-rail-wrap{padding-top:2rem}.image-rail{padding-left:6vw}.image-rail figure{flex-basis:88vw}.image-rail img{height:72vw}.rail-hint{text-align:left;margin-left:6vw}.project-summary{grid-template-columns:1fr;padding:6rem 6vw}.project-summary h2{font-size:3rem}}
.image-frame{height:min(66vw,740px);overflow:hidden;background:#211f1c}
.image-rail img{height:100%;object-fit:cover;background:#211f1c}

@media(max-width:800px){
  html,body{max-width:100%;overflow-x:hidden}
  .topbar{padding:0 4.5vw}
  .header-actions{gap:.35rem;margin-left:.5rem}
  .menu{padding:.55rem .15rem;font-size:.78rem}
  .hero{height:100svh;min-height:640px;max-height:820px}
  .hero-copy{width:88vw;left:6vw;top:47%}
  .hero h1{font-size:clamp(3rem,15vw,4.3rem);line-height:.94}
  .intro{font-size:1rem;line-height:1.55;max-width:88vw}
  .statement h2,.work h2,.contact h2{font-size:clamp(2.8rem,13vw,4rem)}
  .project-grid .portfolio-card:first-child .card-image,.project-grid .portfolio-card:not(:first-child) .card-image{height:auto;aspect-ratio:4/3}
  .portfolio-intro h1{font-size:clamp(3rem,14vw,4rem);overflow-wrap:anywhere}
  .filter-row{margin-inline:-4vw;padding-inline:4vw;scroll-padding-left:4vw}
  .portfolio-count{align-items:flex-start;gap:1rem}
  .portfolio-count span{text-align:right;line-height:1.5}
  .portfolio-grid .card-image,.portfolio-grid .portfolio-card:nth-child(4n+1) .card-image{height:auto;max-height:none;aspect-ratio:4/3}
  .project-detail-head h1{font-size:clamp(2.75rem,13vw,3.8rem);overflow-wrap:anywhere}
  .image-frame{height:62vw;min-height:235px;max-height:430px}
  .image-rail img{height:100%}
  .project-summary h2{font-size:clamp(2.55rem,12vw,3.2rem)}
  .contact .button{width:100%;min-width:0;gap:.75rem;font-size:.62rem;letter-spacing:.07em;padding-inline:1rem}
}

@media(max-width:380px){
  .topbar>.brand{font-size:.52rem;gap:.22rem;letter-spacing:.08em}
  .topbar>.brand b{font-size:1.45rem}
  .lang{min-width:32px;padding:.48rem .4rem}
  .hero-copy{top:45%}
  .hero h1{font-size:3rem}
}

/* Contact and project enquiry */
.contact{display:grid;grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr);gap:7vw;align-items:start;background:linear-gradient(135deg,#f2f0eb 0%,#ece7df 100%)}
.contact-intro{position:sticky;top:3rem}.contact-intro h2{margin:3rem 0 2rem}.contact-intro>p:not(.section-label){font-size:1.08rem;line-height:1.7;max-width:590px}.contact-links{margin-top:2.7rem;border-top:1px solid #bdb5aa}.contact-links a{display:grid;grid-template-columns:100px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid #bdb5aa;align-items:baseline}.contact-links span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#746d64}.contact-links strong{font-size:.96rem;font-weight:500;overflow-wrap:anywhere}.contact-intro small{display:block;margin-top:1.2rem;color:#77716a}.project-form{background:#fff;padding:clamp(1.5rem,3vw,3rem);box-shadow:0 24px 70px rgba(37,30,22,.08)}.form-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid #c8c0b6;padding-bottom:1.2rem;margin-bottom:2rem}.form-head p{font:400 1.65rem var(--serif);margin:0}.form-head span{font-size:.68rem;letter-spacing:.14em;color:var(--bronze)}.project-form label{display:block;margin-bottom:1.45rem}.project-form label>span{display:block;margin-bottom:.55rem;font-size:.72rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.project-form input,.project-form select,.project-form textarea{width:100%;border:0;border-bottom:1px solid #9f978c;background:transparent;border-radius:0;padding:.75rem .1rem;color:var(--ink);font:400 1rem var(--sans);outline:none}.project-form textarea{border:1px solid #9f978c;padding:.85rem;resize:vertical;min-height:130px}.project-form input:focus,.project-form select:focus{border-bottom-color:var(--ink)}.project-form textarea:focus{border-color:var(--ink)}.form-split{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.form-submit{width:100%;margin-top:.35rem!important}.project-form>small{display:block;color:#77716a;line-height:1.5;margin-top:.8rem}
@media(max-width:980px){.contact{grid-template-columns:1fr;gap:4rem}.contact-intro{position:static}}
@media(max-width:560px){.contact{padding-inline:4vw}.project-form{padding:1.35rem}.form-split{grid-template-columns:1fr;gap:0}.contact-links a{grid-template-columns:72px 1fr}.form-head p{font-size:1.4rem}}
