*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--ink:#0e1224;--blue:#2e2d87;--silver:#c2c3cb;--paper:#f7f6f2;--paper2:#efeee9;--line:rgba(14,18,36,.10);--line2:rgba(14,18,36,.06);--muted:#6b6e7d;--font-head:'Playfair Display',Georgia,serif;--font-body:'DM Sans',system-ui,sans-serif}
html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;display:block}
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;height:78px;padding:0 48px;background:rgba(247,246,242,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line2)}.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none}.nav-logo img{width:42px;height:42px;object-fit:contain}.nav-logo-text{display:flex;flex-direction:column;line-height:1}.nav-logo-name{font-family:var(--font-head);font-size:17px;font-weight:700}.nav-logo-tag{font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--blue);margin-top:4px}.nav-links{display:flex;align-items:center;gap:34px;list-style:none}.nav-links a{font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--muted);text-decoration:none}.nav-links a:hover{color:var(--ink)}.nav-cta{background:var(--ink)!important;color:#fff!important;padding:12px 24px!important;border-radius:2px;letter-spacing:.08em!important;text-transform:uppercase;font-size:12px!important}.nav-toggle{display:none;background:transparent;border:0;cursor:pointer}.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:20px;height:1.5px;background:var(--ink);position:relative}.nav-toggle span::before,.nav-toggle span::after{content:'';position:absolute;left:0}.nav-toggle span::before{top:-6px}.nav-toggle span::after{top:6px}
.project-hero{position:relative;min-height:78vh;color:#fff;padding:160px 48px 78px;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink)}.project-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(105deg,rgba(14,18,36,.92),rgba(14,18,36,.48)),var(--hero-image) center/cover}.project-hero-inner{position:relative;max-width:1300px;margin:0 auto;width:100%}.breadcrumb{display:flex;gap:10px;margin-bottom:28px;color:rgba(255,255,255,.58);font-size:11px;letter-spacing:.2em;text-transform:uppercase}.breadcrumb a{text-decoration:none}.eyebrow{display:inline-flex;align-items:center;gap:14px;margin-bottom:24px;color:var(--silver);font-size:11px;letter-spacing:.28em;text-transform:uppercase}.eyebrow::before{content:'';width:30px;height:1px;background:var(--silver)}h1{font-family:var(--font-head);font-size:clamp(52px,7vw,96px);line-height:1;font-weight:500;max-width:920px}h1 em{font-style:italic;color:var(--silver);font-weight:400}.project-hero p{max-width:640px;margin-top:30px;color:rgba(255,255,255,.74);font-size:18px;font-weight:300}
section{padding:100px 48px}.container{max-width:1300px;margin:0 auto}.section-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:end;margin-bottom:48px}.section-title{font-family:var(--font-head);font-size:clamp(34px,4.4vw,60px);font-weight:500;line-height:1.08}.section-title em{font-style:italic;color:var(--blue);font-weight:400}.section-lead{color:var(--muted);font-size:17px;font-weight:300;line-height:1.75}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.shot{position:relative;min-height:260px;overflow:hidden}.shot>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shot.large{grid-column:span 7;min-height:520px}.shot.tall{grid-column:span 5;min-height:520px}.shot.small{grid-column:span 4}.shot figcaption{position:absolute;left:16px;bottom:14px;background:rgba(14,18,36,.76);color:#fff;padding:8px 10px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.details{background:#fff}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-card{border:1px solid var(--line2);background:var(--paper);padding:30px}.detail-card h3{font-family:var(--font-head);font-size:24px;line-height:1.15;margin-bottom:14px}.detail-card p,.detail-card li{font-size:14.5px;color:var(--muted);font-weight:300;line-height:1.75}.detail-card ul{padding-left:18px}.next-projects{background:var(--paper2)}.next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.next-card{background:#fff;border:1px solid var(--line2);padding:24px;text-decoration:none}.next-card span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);font-weight:800}.next-card h3{font-family:var(--font-head);font-size:24px;margin-top:8px}.cta{background:var(--ink);color:#fff}.cta .container{display:flex;align-items:center;justify-content:space-between;gap:34px}.cta h2{font-family:var(--font-head);font-size:clamp(34px,4vw,56px);line-height:1.08;font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#fff;color:var(--ink);padding:16px 28px;border-radius:2px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
footer{background:var(--ink);color:rgba(255,255,255,.66);padding:56px 48px 28px}.footer-inner{max-width:1300px;margin:0 auto}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:rgba(255,255,255,.38)}
@media(max-width:900px){nav{height:64px;padding:0 18px}.nav-logo img{width:36px;height:36px}.nav-logo-name{font-size:14px}.nav-logo-tag{font-size:8px}.nav-toggle{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center}.nav-links{position:fixed;top:64px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line2);padding:8px 20px 20px;transform:translateY(calc(-100% - 64px));transition:transform .25s ease;box-shadow:0 18px 36px rgba(14,18,36,.14)}.nav-links.is-open{transform:translateY(0)}.nav-links li{border-bottom:1px solid var(--line2);list-style:none}.nav-links a{display:block;padding:14px 4px;color:var(--ink)!important}.nav-links .nav-cta{color:#fff!important;background:var(--ink)!important;text-align:center;margin-top:12px}.project-hero{min-height:0;padding:118px 22px 68px}section{padding:68px 22px}.section-head,.detail-grid,.next-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.shot,.shot.large,.shot.tall,.shot.small{grid-column:auto;min-height:300px}.cta .container{display:block}.cta .btn{margin-top:26px;width:100%}footer{padding:42px 22px 24px}.footer-bottom{display:block}}
