@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f5f3ed;--ink:#142838;--blue:#345b79;--muted:#52626c;--border:#d6d9d5;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:5px}button{cursor:pointer}::selection{background:#345b79;color:white}.skip{position:absolute;top:-100px;left:20px;z-index:100;background:white;padding:15px}.skip:focus{top:10px}.header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--border);gap:30px;background:var(--paper);position:relative;z-index:10}.brand{display:flex;gap:12px;align-items:center;flex-shrink:0}.brand>span{font-size:23px;letter-spacing:-1px;font-weight:600}.brand b{font-weight:500}.brand small{font-size:9px;letter-spacing:2px;display:block;margin-top:4px}.header nav{display:flex;gap:36px;align-items:center;font-size:13px}.header nav a{padding:14px 0}.nav-contact{border-bottom:1px solid var(--ink)}.nav-contact span{margin-left:22px}.header-actions{display:flex;gap:20px;align-items:center}.language{background:none;border:1px solid var(--border);color:var(--ink);height:44px;width:44px;font-size:12px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px;padding:32px 32px 0 5%;gap:30px}.hero-copy{padding:40px 30px 35px 0;display:flex;align-items:flex-start;flex-direction:column}.eyebrow{font-size:11px;font-weight:600;letter-spacing:1.8px;display:flex;gap:15px;align-items:center;line-height:1.6}.line{width:24px;height:1px;background:var(--ink)}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-2px;margin:0;text-wrap:balance}h1{font-size:clamp(68px,6.7vw,108px);line-height:.97;margin:40px 0 28px}em{font-weight:400;color:var(--blue)}p{line-height:1.75;color:var(--muted)}.hero-description{max-width:400px;font-size:15px;margin:0 0 30px}.button{display:inline-flex;gap:40px;justify-content:space-between;align-items:center;padding:19px 23px;border:0;font-size:13px;min-height:56px;transition:background .2s}.blue{background:var(--blue);color:white}.blue:hover{background:var(--ink)}.hero-foot{font-size:9px;letter-spacing:1.7px;margin-top:auto;padding-top:40px}.hero-media{position:relative;min-height:630px;overflow:hidden;background:#6b7374}.hero-media video{height:100%;width:100%;object-fit:cover;position:absolute}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#102635c4);pointer-events:none}.media-overlay{position:absolute;bottom:95px;left:38px;color:white;z-index:1}.media-overlay>span{font-size:12px;letter-spacing:2px}.media-overlay p{font-family:var(--serif);font-size:38px;line-height:1.1;color:white;margin:20px 0 0}.media-caption{position:absolute;bottom:26px;left:38px;z-index:1;color:white;font-size:9px;letter-spacing:1.5px}.video-control{position:absolute;bottom:23px;right:25px;z-index:2;background:transparent;color:white;border:1px solid #ffffff70;width:44px;height:44px;border-radius:50%}.section{padding:110px 7%}.expertise{display:grid;grid-template-columns:42% 1fr;gap:7%}.section h2{font-size:clamp(42px,4.4vw,65px);line-height:1.06;margin:28px 0}.section-heading>p{max-width:340px;font-size:15px}.service-list article{display:flex;gap:24px;border-top:1px solid var(--border);padding:30px 0}.service-list article:last-child{border-bottom:1px solid var(--border)}.service-number{font-size:11px;padding-top:8px;color:var(--blue)}h3{font-size:23px;font-weight:500;letter-spacing:-.5px;margin:0 0 12px}.service-list p{font-size:14px;max-width:385px;margin:0}.service-arrow{font-size:23px;margin-left:auto}.approach{background:var(--ink);color:var(--paper)}.approach .eyebrow{color:#bed0dc}.approach em{color:#b2c4d1}.approach-top{display:grid;grid-template-columns:2fr 1fr;gap:8%;align-items:center}.approach-top p{color:#bac5ce;font-size:15px}.steps{margin-top:50px;display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.steps article{padding-top:24px;border-top:1px solid #526471}.steps span{font-size:11px;letter-spacing:2px;color:#b2c4d1}.steps h3{margin-top:25px}.steps p{color:#bac5ce;font-size:14px;max-width:280px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:120px;padding-bottom:120px}.contact-intro>p{max-width:380px;font-size:15px}address{font-style:normal;font-size:14px;line-height:1.9;margin:42px 0 20px}address strong{font-weight:500}.text-link{border-bottom:1px solid var(--ink);padding-bottom:7px;font-size:13px}.contact-form{background:#eceee9;padding:38px}.form-header h3{font-family:var(--serif);font-size:34px}.form-note{font-size:12px;margin-bottom:27px}form label{display:block;font-size:12px;margin-bottom:24px}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #9aa8ae;background:transparent;padding:12px 0;resize:vertical;border-radius:0;color:var(--ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}#form-status{font-size:13px;margin-bottom:0}footer{border-top:1px solid var(--border);padding:35px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px}footer>div,footer>a:last-child{font-size:12px;color:var(--muted)}.preview-label{border-top:1px solid var(--border);padding:15px;text-align:center;font-size:9px;letter-spacing:1.5px;color:var(--muted)}
@media(min-width:1600px){.hero{max-width:1700px;margin:auto}}@media(max-width:1050px){.header nav{gap:20px}.brand>span{font-size:20px}.brand img{width:43px}.hero{gap:20px;padding-left:5%}.hero-copy{padding-right:0}.hero-media{min-height:610px}h1{font-size:78px}.hero .eyebrow{font-size:9px;letter-spacing:1px}.section{padding:85px 6%}.contact{gap:5%}.contact-form{padding:28px}}@media(max-width:760px){html{scroll-padding-top:30px}.header{height:87px;padding:0 6%;gap:10px}.brand>span{font-size:19px}.brand small{font-size:8px;letter-spacing:1.4px}.brand img{width:40px;height:40px}.header-actions{gap:12px}.menu{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:none;border:0}.menu span{width:23px;height:1px;background:var(--ink)}.header nav{display:none;position:absolute;top:87px;left:0;right:0;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:10px}.header nav.open{display:flex}.hero{display:flex;flex-direction:column;padding:0 6%;gap:25px}.hero-copy{padding:42px 0 10px}.hero .eyebrow{font-size:9px}h1{font-size:77px;margin:30px 0 23px}.hero-description{font-size:14px;max-width:360px}.hero-foot{padding-top:30px;font-size:8px}.hero-media{min-height:420px;margin:0 -1px}.media-overlay{left:25px;bottom:80px}.media-overlay p{font-size:34px}.media-caption{left:25px;font-size:8px}.section{padding:70px 6%}.expertise,.contact,.approach-top{grid-template-columns:1fr;gap:30px}.section h2{font-size:49px;letter-spacing:-1.3px}.service-list article{gap:20px;padding:27px 0}.service-list p{font-size:14px}.steps{grid-template-columns:1fr;gap:30px;margin-top:30px}.steps h3{margin-top:15px}.steps p{max-width:none}.approach-top p{margin:0}.contact{gap:38px}.contact-intro h2{font-size:46px}.contact-form{padding:28px 23px}.form-row{grid-template-columns:1fr;gap:0}footer{flex-direction:column;align-items:flex-start;padding:30px 6%;gap:22px}.footer-brand img{width:40px}.preview-label{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Revision 2 — architectural monogram + full-bleed cinema */
.brand{gap:15px}.brand img{width:58px;height:44px;object-fit:contain}.brand>span{font-size:20px;letter-spacing:1px;line-height:1.1}.brand b{font-weight:600}.brand small{font-size:8px;letter-spacing:2.2px;margin-top:8px}.header{height:104px}
.hero{display:block;position:relative;isolation:isolate;background:#142838;color:#f5f3ed;min-height:740px;padding:0;max-width:none;margin:0;overflow:hidden}
.hero-media{position:absolute;inset:0;min-height:0;margin:0;z-index:-1;background:#142838}
.hero-media video{inset:0;object-fit:cover;object-position:60% 50%;filter:saturate(.75) contrast(1.06);width:100%;height:100%}
.hero-media:after{background:linear-gradient(90deg,rgba(9,27,41,.91) 0%,rgba(9,27,41,.76) 30%,rgba(9,27,41,.25) 66%,rgba(9,27,41,.14) 100%),linear-gradient(0deg,rgba(9,27,41,.85),transparent 23%)}
.hero-copy{position:relative;z-index:1;padding:64px 7% 116px;max-width:900px;min-height:740px;pointer-events:none}.hero-copy a{pointer-events:auto}
.hero .eyebrow{color:#e1e9ed;font-size:10px;letter-spacing:2.5px}.hero .line{background:#b7cbd8;width:35px}
.hero h1{font-size:clamp(78px,7.4vw,112px);line-height:.96;letter-spacing:-2.5px;margin:32px 0 26px;text-wrap:initial}.hero h1 em{color:#c1d2dd}
.hero-description{color:#e0e6e8;max-width:390px;font-size:14px;line-height:1.8;margin-bottom:28px}
.hero-button{background:#f5f3ed;color:#142838;gap:48px;padding:18px 23px;border:1px solid #f5f3ed;transition:background .2s,color .2s}.hero-button:hover{background:#b7cbd8;border-color:#b7cbd8}.hero-foot{position:absolute;left:7vw;bottom:35px;margin:0;padding:0;color:#c1d2dd;font-size:9px;letter-spacing:2px}
.media-caption{bottom:37px;left:auto;right:116px;font-size:8px;letter-spacing:1.7px;color:#c1d2dd}.video-control{bottom:24px;right:7%;z-index:3;border-color:#c1d2dd88;background:#14283844;width:44px;height:44px}.video-control:hover{background:#f5f3ed;color:#142838}
.hero:after{content:'';position:absolute;left:7%;right:7%;height:1px;bottom:88px;background:#c1d2dd40;pointer-events:none}
@media(min-width:1600px){.hero-copy{padding-left:max(7%,calc((100vw - 1500px)/2));max-width:1100px}.hero-foot{left:max(7%,calc((100vw - 1500px)/2))}}
@media(max-width:1050px){.hero,.hero-copy{min-height:720px}.hero h1{font-size:94px}.hero-media{min-height:0}.hero .eyebrow{font-size:10px}.brand img{width:52px;height:40px}.brand>span{font-size:18px}.media-caption{right:130px}}
@media(max-width:760px){.header{height:87px}.brand{gap:10px}.brand img{width:45px;height:34px}.brand>span{font-size:15px;letter-spacing:.8px}.brand small{font-size:6.5px;letter-spacing:1.3px;margin-top:6px}.header-actions{gap:6px}.language{width:40px}.hero,.hero-copy{min-height:690px}.hero{padding:0;display:block}.hero-copy{padding:52px 6% 128px;width:100%}.hero h1{font-size:clamp(58px,17vw,78px);letter-spacing:-1.5px;line-height:1.02;margin:29px 0 25px}.hero .eyebrow{font-size:8px;letter-spacing:1.7px;gap:12px}.hero .line{width:22px}.hero-description{font-size:13px;max-width:310px;line-height:1.8;margin-bottom:27px}.hero-button{font-size:12px;gap:35px}.hero-media{margin:0;min-height:0}.hero-media video{object-position:58% center}.hero-media:after{background:linear-gradient(90deg,#091b29d9,#091b2980),linear-gradient(0deg,#091b29ee,transparent 38%)}.hero-foot{left:6%;bottom:73px;font-size:7px;letter-spacing:1.35px;max-width:85%}.media-caption{left:6%;right:70px;bottom:35px;font-size:6.5px;letter-spacing:1px}.video-control{right:6%;bottom:21px}.hero:after{left:6%;right:6%;bottom:106px}.footer-brand img{width:45px;height:34px}}
@media(max-width:360px){.brand>span{font-size:13px}.brand img{width:38px}.header{padding:0 5%}.hero h1{font-size:58px}}

.media-caption{right:calc(7% + 70px)}
@media(max-width:760px){.hero h1{font-size:clamp(48px,15vw,66px)}.hero h1 em{white-space:nowrap}.media-caption{left:6%;right:80px}html[lang=en] .hero h1{font-size:clamp(44px,13vw,58px)}}
@media(max-width:360px){.hero h1{font-size:clamp(44px,14.5vw,53px)}}
