:root{--ink:#0b1722;--navy:#101f2b;--blue:#1f4154;--paper:#f5f2eb;--stone:#d6d0c4;--gold:#b99b65;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px}
a{color:inherit;text-decoration:none}
.site-header{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:20}
.brand{display:flex;align-items:center}
.brand img{display:block;width:auto;height:48px;object-fit:contain}
.site-header nav{display:flex;align-items:center;gap:34px;font-size:14px}
.site-header nav a{transition:opacity .2s}
.site-header nav a:hover{opacity:.55}
.nav-cta{border-bottom:1px solid;padding-bottom:4px}
.menu{display:none;background:none;border:0;font:inherit}
.hero{height:calc(100vh - 88px);min-height:650px;position:relative;overflow:hidden;color:#fff}
.hero-image{position:absolute;inset:0;background:url('hero-waterfront.jpeg') center/cover no-repeat;transform:scale(1.01)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,17,26,.86) 0%,rgba(5,17,26,.57) 43%,rgba(5,17,26,.08) 78%),linear-gradient(0deg,rgba(5,17,26,.48),transparent 40%)}
.hero-content{position:absolute;left:8vw;top:50%;transform:translateY(-48%);max-width:760px}
.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.19em;font-size:12px;font-weight:600}
.eyebrow{color:#d8c59f}
.hero h1,.statement h2,.about h2,.portfolio h2,.criteria h2,.contact h2{font:500 clamp(52px,7vw,108px)/.96 Manrope,sans-serif;letter-spacing:-.055em;margin:25px 0}
.hero h1 em,.portfolio h2 em{font-family:Georgia,serif;font-weight:400}
.hero-copy{max-width:590px;font-size:19px;line-height:1.65;color:rgba(255,255,255,.83);margin:28px 0 38px}
.primary{display:inline-flex;align-items:center;gap:40px;border-bottom:1px solid rgba(255,255,255,.6);padding:0 0 10px;font-size:14px}
.primary span{font-size:20px}
.hero-note{position:absolute;right:5vw;bottom:5vw;display:flex;gap:18px;border-top:1px solid rgba(255,255,255,.5);padding-top:16px;width:260px}
.hero-note span{font-size:11px;color:#d8c59f}
.hero-note p{font-size:13px;line-height:1.5;margin:0}
.statement{padding:130px 8vw;display:grid;grid-template-columns:1fr 3fr;gap:5vw}
.section-label{color:#866f49;margin-top:15px}
.statement h2{font-size:clamp(42px,5.1vw,78px);margin:0 0 40px}
.statement>div>p{font-size:20px;line-height:1.75;max-width:760px;color:#42505b}
.principles{display:grid;grid-template-columns:repeat(3,1fr);padding:0 8vw 130px;gap:40px}
.principles article{border-top:1px solid #aaa397;padding-top:22px}
.principles article>span{font-size:11px;color:#866f49}
.principles h3{font:600 21px Manrope;margin:45px 0 18px}
.principles p{line-height:1.65;color:#59636b;max-width:350px}
.about{background:var(--navy);color:#fff;padding:120px 8vw}
.about-intro{display:grid;grid-template-columns:1fr 3fr;gap:5vw}
.about h2{font-size:clamp(40px,5vw,72px);margin:0;max-width:980px}
.about-body{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin:75px 0 90px;padding-left:25%}
.about-body p{font-size:18px;line-height:1.75;color:#c8d0d5;margin:0}
.track-record{border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}
.track-record div{display:grid;grid-template-columns:minmax(180px,.65fr) 1.35fr;gap:5vw;align-items:center;padding:42px 0}
.track-record div+div{border-top:1px solid rgba(255,255,255,.25)}
.track-record strong{display:block;font:500 clamp(42px,5vw,72px)/1 Manrope,sans-serif;color:#d5b77f}
.track-record span{display:block;max-width:560px;font-size:18px;line-height:1.55;color:#c8d0d5}
.founder{display:grid;grid-template-columns:.75fr 1.05fr 1.7fr;gap:4vw;padding-top:90px;align-items:start}
.founder-portrait{margin:0;aspect-ratio:1/1;overflow:hidden;background:#243441}
.founder-portrait img{display:block;width:100%;height:100%;object-fit:cover}
.founder h3{font:500 clamp(34px,4vw,58px)/1 Manrope,sans-serif;letter-spacing:-.04em;margin:8px 0 30px}
.founder-copy{max-width:680px}
.founder-copy p{font-size:17px;line-height:1.75;color:#c8d0d5}
.founder-link{display:inline-flex;gap:24px;margin-top:18px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.5);font-size:14px}
.founder-link span{color:#d5b77f}
.portfolio{background:#e7e2d9;padding:120px 5vw}
.portfolio-intro{display:grid;grid-template-columns:1fr 2.2fr;margin:0 3vw 70px}
.portfolio h2{font-size:clamp(42px,5vw,76px);margin:0}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:58px 30px}
.project-wide{grid-column:span 2}
.project-art{height:430px;position:relative;overflow:hidden;background:var(--blue);margin:0}
.project-wide .project-art{height:650px}
.project-art img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s ease}
.project:hover .project-art img{transform:scale(1.018)}
.project-wide:nth-child(1) .project-art img{object-position:center 55%}
.project-wide:nth-child(4) .project-art img{object-position:center 58%}
.project-bank .project-art img{object-position:center 43%}
.project-eurospeak .project-art img{object-position:center 52%}
.project-art figcaption{position:absolute;left:18px;bottom:18px;padding:7px 11px;background:rgba(11,23,34,.82);color:white;font-size:11px;text-transform:uppercase;letter-spacing:.14em}
.project-meta{display:flex;justify-content:space-between;gap:20px;padding-top:17px}
.project-meta p{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#7a6d59;margin:0 0 8px}
.project-meta h3{font:600 20px Manrope;margin:0}
.project-meta>span{font-size:13px;color:#687077;text-align:right}
.project-copy{max-width:760px;margin:18px 0 0;font-size:16px;line-height:1.65;color:#59636b}
.discretion{margin:60px 0 0 3vw;font-size:13px;color:#777168}
.criteria{background:var(--navy);color:white;padding:120px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:9vw}
.criteria h2{font-size:clamp(44px,5vw,76px)}
.section-label.light{color:#c9ac76}
.criteria-list>div{display:grid;grid-template-columns:120px 1fr;gap:20px;border-top:1px solid rgba(255,255,255,.25);padding:26px 0}
.criteria-list span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#c9ac76}
.criteria-list p{margin:0;line-height:1.65;color:#c9d0d4}
.contact{text-align:center;padding:140px 5vw}
.contact h2{font-size:clamp(52px,7vw,98px)}
.contact>p:not(.eyebrow){font-size:18px;color:#5b656d}
.contact-links{display:flex;justify-content:center;gap:42px;flex-wrap:wrap;margin-top:32px}
.email-link{display:inline-flex;gap:40px;margin-top:32px;border-bottom:1px solid;padding:0 0 10px;font-size:18px}
.contact-links .email-link{margin-top:0}
.email-link span{color:#866f49}
footer{display:flex;align-items:end;justify-content:space-between;padding:60px 5vw;background:#ded9cf;border-top:1px solid #c1baad;font-size:13px;line-height:1.6}
.footer-brand img{height:54px}
footer>p:last-child{text-align:right}
.reveal{opacity:0;transform:translateY(24px);transition:.8s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.site-header{height:74px}
.brand img{height:40px}
.footer-brand img{height:48px}
.menu{display:block}
.site-header nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:25px 5vw;flex-direction:column;align-items:flex-start;border-top:1px solid #d4cec3}
.site-header nav.open{display:flex}
.hero{height:calc(100vh - 74px);min-height:620px}
.hero-content{left:7vw;right:7vw;top:45%}
.hero h1{font-size:54px}
.hero-copy{font-size:16px;max-width:90%}
.hero-note{display:none}
.statement,.criteria{grid-template-columns:1fr;padding:90px 7vw}
.statement{gap:35px}
.principles{grid-template-columns:1fr;padding:0 7vw 90px}
.principles h3{margin-top:24px}
.about{padding:90px 7vw}
.about-intro,.founder{grid-template-columns:1fr;gap:25px}
.about-body{grid-template-columns:1fr;padding-left:0;margin:55px 0 70px;gap:28px}
.track-record div{grid-template-columns:1fr;gap:14px;padding:30px 0}
.founder{padding-top:70px}
.founder-portrait{max-width:430px}
.portfolio{padding:90px 7vw}
.portfolio-intro{grid-template-columns:1fr;margin:0 0 45px;gap:25px}
.project-grid{grid-template-columns:1fr}
.project-wide{grid-column:auto}
.project-wide .project-art,.project-art{height:420px}
.project-meta{flex-direction:column}
.project-meta>span{text-align:left}
.criteria{gap:40px}
.criteria-list>div{grid-template-columns:90px 1fr}
.contact{padding:100px 7vw}
footer{flex-direction:column;align-items:flex-start;gap:28px}
footer>p:last-child{text-align:left}
}
