:root{--bg: #FFFFFF;--bg-alt: #F4F3F0;--fg: #1E2124;--muted: #62686E;--line: #E2E2DF;--accent: #8A6B45;--dark: #1B1E21;--on-dark: #F4F4F2;--ph-a: #CDD0D0;--ph-b: #B5BABC;--head: "Jost", "Futura", "Century Gothic", Arial, sans-serif;--body: "Source Sans 3", "Segoe UI", system-ui, sans-serif;--max: 1240px}:root,:root[data-theme=dark]{color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}body{background:var(--bg);color:var(--fg);font:400 17px/1.65 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,h4{font-family:var(--head);font-weight:400;margin:0;text-wrap:balance}p{margin:0}.wrap{max-width:var(--max);margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}.eyebrow{font:500 13px var(--head);letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}h2{font-size:clamp(30px,3.6vw,44px);line-height:1.15}.text-link{display:inline-flex;align-items:center;gap:8px;font:500 14px var(--head);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--fg)}.text-link:after{content:"→";transition:transform .2s}.text-link:hover:after{transform:translate(4px)}.img{position:relative;width:100%;max-width:100%;background:linear-gradient(135deg,var(--ph-a),var(--ph-b));overflow:hidden}.img .lbl{position:absolute;left:12px;top:12px;font:500 12px var(--body);color:var(--fg);background:color-mix(in srgb,var(--bg) 85%,transparent);padding:3px 9px;border-radius:2px}header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}header.site .wrap{display:flex;align-items:center;gap:40px;padding-block:18px;position:relative}.logo{text-decoration:none;display:flex;align-items:center;gap:12px;line-height:1}.logo>img{width:44px;height:44px;flex:none}.logo>div{display:flex;flex-wrap:wrap;column-gap:.45em;font:500 17px var(--head);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.logo b,.logo span{font:inherit}nav.main{display:flex;align-items:center;gap:30px;margin-left:auto}nav.main a{text-decoration:none;font:400 15px var(--head);letter-spacing:.05em;color:var(--muted);transition:color .2s}nav.main a:hover{color:var(--fg)}.head-phone{font:500 15px var(--head);letter-spacing:.04em;white-space:nowrap;padding-left:30px;border-left:1px solid var(--line);text-decoration:none}nav.main a.head-phone{color:var(--fg)}.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--fg);padding:8px 14px;font:500 13px var(--head);letter-spacing:.1em;cursor:pointer}@media (max-width: 1100px){header.site .wrap{gap:20px}nav.main{gap:18px}.head-phone{padding-left:18px}}@media (max-width: 960px){nav.main{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px max(20px,env(safe-area-inset-right,0px)) 20px max(20px,env(safe-area-inset-left,0px))}nav.main.open{display:flex}nav.main a{padding:14px 0;border-bottom:1px solid var(--line)}.head-phone{padding:14px 0 0;border-left:0}.menu-btn{display:block}}@media (max-width: 700px){header.site .wrap{padding-block:14px}.logo>div{font-size:14px;letter-spacing:.1em}.logo>img{width:36px;height:36px}}.hero{position:relative;background:var(--dark);color:var(--on-dark);overflow:hidden}.hero .bgimg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,#0e1012c7,#0e101240 55%,#0e101226),linear-gradient(160deg,#6a7276,#434a4e 45%,#272c2f)}.hero .bgimg .lbl{position:absolute;right:max(20px,env(safe-area-inset-right,0px));top:18px;font:500 12px var(--body);opacity:.7}.hero .wrap{position:relative;padding-block:clamp(160px,22vw,300px) 56px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end}.hero h1{font-size:clamp(38px,5.4vw,70px);line-height:1.06;font-weight:300;max-width:13em}.hero p{max-width:32em;margin-top:20px;font-size:18px;color:color-mix(in srgb,var(--on-dark) 80%,transparent)}.scroll-cue{display:flex;flex-direction:column;align-items:center;gap:12px;font:400 12px var(--head);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:color-mix(in srgb,var(--on-dark) 75%,transparent)}.scroll-cue i{display:block;width:1px;height:44px;background:currentColor;transform-origin:top;animation:cue 2.2s ease-in-out infinite}@keyframes cue{0%{transform:scaleY(.2);opacity:.4}50%{transform:scaleY(1);opacity:1}to{transform:scaleY(.2);opacity:.4}}@media (max-width: 820px){.hero .wrap{grid-template-columns:1fr;align-items:end;gap:22px}.hero .wrap>div{max-width:100%}.scroll-cue{justify-self:start}}@media (max-width: 640px){.hero .wrap{grid-template-columns:1fr}.hero h1{max-width:9.5em}.scroll-cue{display:none}}.strip{display:block;text-decoration:none;background:var(--fg);color:var(--bg);overflow:hidden}.strip+.contact-sec{border-top:0}.strip .row{display:flex;width:max-content;padding-block:22px;animation:slide 40s linear infinite}.strip:hover .row{animation-play-state:paused}.strip span{display:inline-flex;align-items:center;gap:44px;padding-right:44px;white-space:nowrap;font:300 clamp(20px,2.4vw,30px) var(--head);letter-spacing:.14em;text-transform:uppercase}.strip span:after{content:"";width:7px;height:7px;background:#c29e6e;transform:rotate(45deg)}@keyframes slide{to{transform:translate(-50%)}}section{padding-block:clamp(72px,9vw,120px)}.sec-head{display:flex;justify-content:space-between;align-items:end;gap:20px 40px;flex-wrap:wrap;margin-bottom:44px}.sec-head>div{display:flex;flex-direction:column;gap:14px;max-width:640px}.sec-head p{color:var(--muted);max-width:440px}.intro{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px 80px;align-items:end}.intro h2{font-size:clamp(28px,3.4vw,42px);font-weight:300;line-height:1.25}.intro .text{display:flex;flex-direction:column;gap:22px;color:var(--muted)}@media (max-width: 860px){.intro{grid-template-columns:1fr}}@media (max-width: 700px){.sec-head{align-items:flex-start}.sec-head>div{max-width:100%}.sec-head p{max-width:100%}}.sectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.sector{position:relative;text-decoration:none;color:#fff;display:block;overflow:hidden}.sector .img{aspect-ratio:4 / 3;transition:transform .5s}.sector:hover .img{transform:scale(1.04)}.sector .cap{position:absolute;inset:auto 0 0 0;padding:60px 22px 20px;background:linear-gradient(0deg,#0e1012c7,#0e101200);display:flex;flex-direction:column;gap:4px}.sector h3{font-size:22px;font-weight:500}.sector p{font-size:15px;opacity:.85}@media (max-width: 760px){.sectors{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.sectors{grid-template-columns:1fr}}.projects-sec{background:var(--bg-alt)}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.proj{display:flex;flex-direction:column;gap:16px;min-width:0}.proj .img{aspect-ratio:4 / 5}.proj .cat{font:500 12px var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.proj h3{font-size:24px}.proj p{color:var(--muted);font-size:16px}.proj .text-link{margin-top:4px}@media (max-width: 900px){.projects{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.projects{grid-template-columns:1fr}.proj .img{aspect-ratio:4/3}}.panel{border:1px solid var(--line);display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr)}.panel .lead{padding:clamp(32px,5vw,64px);display:flex;flex-direction:column;gap:20px;border-right:1px solid var(--line)}.panel .lead p{color:var(--muted)}.panel .lead p strong{color:var(--fg);font-weight:600;white-space:nowrap}.panel .figs{display:grid;grid-template-columns:1fr 1fr}.fig{padding:clamp(24px,3.4vw,40px);display:flex;flex-direction:column;justify-content:flex-end;gap:8px;border-bottom:1px solid var(--line)}.fig:nth-child(odd){border-right:1px solid var(--line)}.fig:nth-last-child(-n+2){border-bottom:0}.fig b{font:300 clamp(36px,4vw,52px)/1 var(--head);font-variant-numeric:tabular-nums}.fig span{font-size:15px;color:var(--muted)}@media (max-width: 860px){.panel{grid-template-columns:1fr}.panel .lead{border-right:0;border-bottom:1px solid var(--line)}}@media (max-width: 560px){.panel .figs{grid-template-columns:1fr 1fr}.fig{padding:20px 16px}}.approach{display:grid;grid-template-columns:auto minmax(0,1fr);gap:72px;align-items:center}.profile-block{display:flex;flex-direction:column;gap:20px}.approach .img{aspect-ratio:413 / 531;width:320px;max-width:100%;border:1px solid var(--line)}.approach .img img{object-position:50% 20%}.profile-meta{display:flex;flex-direction:column;gap:12px}.profile-meta h3{font-size:clamp(26px,2vw,34px);font-weight:400;letter-spacing:.02em}.profile-meta ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;color:var(--fg)}.profile-meta li{position:relative;padding-left:18px;font-size:15px;line-height:1.5;color:var(--muted)}.profile-meta li:before{content:"-";position:absolute;left:0;top:0;color:var(--accent)}.approach .text{display:flex;flex-direction:column;gap:20px}.approach .text p{color:var(--muted)}@media (max-width: 860px){.approach{grid-template-columns:1fr;gap:40px}}@media (max-width: 560px){.profile-block{gap:16px}.approach .img{width:100%;max-width:420px;margin-inline:auto}.profile-meta h3{font-size:24px}.profile-meta li{font-size:14px}}.stages-sec{background:var(--bg-alt)}.stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.stage{background:var(--bg);display:flex;flex-direction:column;min-width:0}.stage .img{aspect-ratio:3 / 2}.stage .body{padding:24px 24px 28px;display:flex;flex-direction:column;gap:10px}.stage .n{font:500 13px var(--head);letter-spacing:.14em;color:var(--accent)}.stage h3{font-size:21px}.stage p{font-size:15px;color:var(--muted)}@media (max-width: 1000px){.stages{grid-template-columns:1fr 1fr}}@media (max-width: 560px){.stages{grid-template-columns:1fr}.stage .body{padding:20px 18px 22px}}.testi{max-width:900px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:26px}.testi blockquote{margin:0;font:300 clamp(24px,2.8vw,34px)/1.4 var(--head);text-wrap:balance}.contact-sec{border-top:1px solid var(--line)}.contact{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:72px}.contact .say{display:flex;flex-direction:column;gap:32px}.contact .say h2{font-size:clamp(36px,4.6vw,58px);font-weight:300}.big-lines{display:flex;flex-direction:column;gap:22px}.big-lines .k{font:500 12px var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:4px}.big-lines .v{font:400 clamp(19px,2vw,24px)/1.35 var(--head)}.big-lines a.v{text-decoration:none}.big-lines a.v:hover{color:var(--accent)}form.enquiry{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-content:start;background:var(--bg-alt);padding:clamp(24px,3.4vw,40px)}.full{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field label{font:500 12px var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.field input,.field select,.field textarea{font:400 16px var(--body);color:var(--fg);background:transparent;border:0;border-bottom:1px solid color-mix(in srgb,var(--fg) 25%,transparent);border-radius:0;padding:10px 0;width:100%}.field select option{background:var(--bg)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--fg)}.field textarea{min-height:100px;resize:vertical}.form-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px}.form-note{font-size:14px;color:var(--muted)}.form-note.ok{color:var(--accent);font-weight:600}.btn{cursor:pointer;font:500 14px var(--head);letter-spacing:.1em;text-transform:uppercase;padding:15px 28px;background:var(--fg);color:var(--bg);border:1px solid var(--fg);transition:background .2s,color .2s}.btn:hover{background:transparent;color:var(--fg)}@media (max-width: 860px){.contact{grid-template-columns:1fr;gap:48px}}@media (max-width: 560px){.contact .say h2{font-size:clamp(32px,9vw,48px)}.big-lines .v{overflow-wrap:anywhere}form.enquiry{grid-template-columns:1fr}.form-foot{align-items:flex-start}}footer.site{background:var(--bg-alt);color:var(--fg);border-top:1px solid var(--line);padding-block:64px calc(28px + env(safe-area-inset-bottom,0px))}.fgrid{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:40px;padding-bottom:44px;border-bottom:1px solid var(--line)}.fgrid>div{display:flex;flex-direction:column;gap:10px;min-width:0}.fgrid h4{font:500 13px var(--head);letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px}.fgrid p,.fgrid a{font-size:15px;color:var(--muted);text-decoration:none}.fgrid a:hover{color:var(--fg)}.fbottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:24px;font-size:14px;color:var(--muted)}.fbottom nav{display:flex;gap:20px}.fbottom a{text-decoration:none}@media (max-width: 860px){.fgrid{grid-template-columns:1fr 1fr}.fgrid>div:first-child{grid-column:1 / -1}}@media (max-width: 560px){.fgrid{grid-template-columns:1fr}.fbottom{flex-direction:column;align-items:flex-start;gap:8px}.fbottom nav{flex-wrap:wrap;row-gap:8px}}.mark{position:relative;z-index:0;white-space:nowrap}.mark:before{content:"";position:absolute;z-index:-1;left:50%;top:54%;background:#dcc7a6;transform:translate(-50%,-50%) rotate(var(--r, 0deg));animation:settle .9s cubic-bezier(.2,.8,.2,1) both .2s}.mark.house:before{width:1.45em;height:1.3em;--r: -6deg;clip-path:polygon(50% 0,100% 40%,100% 100%,0 100%,0 40%)}.mark.arch:before{width:1.1em;height:1.3em;border-radius:.55em .55em 0 0}.mark.square:before{width:1.05em;height:1.05em;--r: 12deg}.mark.circle:before{width:1.25em;height:1.25em;border-radius:50%}.hero .mark:before{background:var(--accent)}@keyframes settle{0%{transform:translate(-50%,-38%) rotate(calc(var(--r, 0deg) - 12deg)) scale(.7)}}body{margin:0}img{max-width:100%;display:block}[hidden]{display:none!important}.hero .tag{color:#fff;font-size:14px;letter-spacing:.24em;margin-bottom:20px;display:flex;align-items:center;gap:14px;text-shadow:0 1px 12px rgba(0,0,0,.45)}.hero .tag:before{content:"";width:40px;height:1px;background:#e2c49a;flex:none}.hero h1,.hero p{text-shadow:0 2px 18px rgba(0,0,0,.35)}.reasons{list-style:none;padding:0;margin:4px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.reasons li{display:flex;align-items:center;gap:12px;font-size:16px}.reasons li:before{content:"";flex:none;width:7px;height:7px;background:var(--accent);transform:rotate(45deg)}@media (max-width: 520px){.reasons{grid-template-columns:1fr}}.img>img{width:100%;height:100%;object-fit:cover}.big-lines a.v{display:block}.hero .bgimg img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%}.hero .bgimg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0e10128c,#0e101200 60%),linear-gradient(0deg,#0e1012d9,#0e101273 55%,#0e101240)}.proj .img{aspect-ratio:4 / 3}.page-head{padding-block:clamp(56px,8vw,96px) 24px}.page-head h1{font-size:clamp(38px,5vw,60px);font-weight:300;margin-top:12px}.page-head p{color:var(--muted);max-width:34em;margin-top:16px;font-size:18px}.gallery-sec{padding-block:32px 48px}.gallery-sec h2{font-size:clamp(24px,2.6vw,32px);margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--line)}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}.gal{margin:0;display:flex;flex-direction:column;gap:12px;min-width:0}.gal .img{aspect-ratio:3 / 2}.gal figcaption{display:flex;flex-direction:column;gap:2px}.gal figcaption b{font:500 17px var(--head)}.gal figcaption span{font-size:15px;color:var(--muted)}@media (max-width: 900px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.gallery{grid-template-columns:1fr}}.testi .stars{color:var(--accent);font-size:20px;letter-spacing:.2em}.hero{min-height:calc(100vh - 74px);min-height:calc(100svh - 74px);display:flex;align-items:flex-end}.hero .wrap{width:100%;padding-top:120px}.hero .wrap{padding-bottom:clamp(64px,12vh,140px)}.btn:disabled{opacity:.6;cursor:wait}.hp{display:none}@media (max-width: 520px){body{font-size:15px}.wrap{padding-left:16px;padding-right:16px}.logo{gap:10px}.logo>img{width:36px;height:36px}.logo>div{font-size:14px;letter-spacing:.1em;flex-direction:column;row-gap:4px}.hero{min-height:auto}.hero .wrap{padding-top:92px;padding-bottom:52px}.hero h1{font-size:clamp(32px,11vw,50px)}.hero p{font-size:17px}.text-link{white-space:nowrap}.proj h3,.sector h3,.stage h3{font-size:clamp(20px,6vw,24px)}.panel .lead,.fig{padding-inline:18px}.field input,.field select,.field textarea{font-size:15px}}
