:root { --ink:#13292b; --paper:#f4f2eb; --light:#fffefa; --lime:#dfff45; --orange:#ff653e; --muted:#657172; --line:rgba(19,41,43,.17); } * { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; } a { color:inherit; text-decoration:none; } h1,h2,h3,p { margin-top:0; }
.site-header { height:78px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; border-bottom:1px solid var(--line); background:var(--paper); position:relative; z-index:10; }.brand { font-weight:900; letter-spacing:-1.8px; font-size:1.35rem; }.brand span { color:var(--orange); }.main-nav { display:flex; align-items:center; gap:1.7rem; font-size:.88rem; font-weight:700; }.main-nav a:not(.nav-cta):hover { color:var(--orange); }.nav-cta,.button { border-radius:999px; padding:.85rem 1.2rem; border:1px solid currentColor; }.menu-button { display:none; background:none; border:0; color:var(--ink); font:inherit; font-weight:700; }
.hero { min-height:680px; height:calc(100vh - 78px); max-height:850px; position:relative; color:white; display:flex; align-items:flex-end; overflow:hidden; }.hero-image,.hero-overlay { position:absolute; inset:0; width:100%; height:100%; }.hero-image { object-fit:cover; object-position:center; }.hero-overlay { background:linear-gradient(90deg,rgba(9,23,23,.92) 0%,rgba(9,23,23,.64) 45%,rgba(9,23,23,.1) 100%); }.hero-content { position:relative; z-index:1; padding:0 5vw 9vh; max-width:890px; }.eyebrow { margin:0 0 1.25rem; text-transform:uppercase; font-size:.7rem; font-weight:800; letter-spacing:.15em; }h1 { margin:0; font-size:clamp(4.3rem,9vw,8.8rem); line-height:.84; letter-spacing:-.08em; }.hero-content>p:not(.eyebrow) { max-width:500px; font-size:1.08rem; line-height:1.6; margin:2rem 0 2.2rem; }.hero-actions { display:flex; align-items:center; gap:1.75rem; }.button { display:inline-flex; align-items:center; gap:1.4rem; font-weight:800; transition:transform .2s,background .2s; }.button:hover { transform:translateY(-3px); }.button-primary { background:var(--lime); color:var(--ink); border-color:var(--lime); }.text-link { border-bottom:1px solid white; padding-bottom:.25rem; font-weight:800; }.trust-strip { display:flex; justify-content:space-between; gap:1rem; padding:1.25rem 5vw; color:var(--paper); background:var(--ink); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.section { padding:9rem 5vw; }.services { display:grid; grid-template-columns:.9fr 1.1fr; gap:9vw; }.section-intro>p:not(.eyebrow) { margin:2rem 0 0; color:var(--muted); max-width:390px; line-height:1.6; }h2 { margin:0; font-size:clamp(2.7rem,5vw,5rem); letter-spacing:-.07em; line-height:.93; }.service-list { border-top:1px solid var(--ink); }.service-list article { display:grid; grid-template-columns:50px 1fr; gap:1rem; padding:1.6rem 0; border-bottom:1px solid var(--line); }.service-list span,.process li span { color:var(--orange); font-size:.76rem; font-weight:800; }.service-list h3,.process h3,.project h3 { margin:0; font-size:1.35rem; letter-spacing:-.04em; }.service-list p { color:var(--muted); line-height:1.55; margin:.7rem 0 0; max-width:440px; }
.projects { background:var(--ink); color:var(--light); }.projects-heading { display:flex; align-items:end; justify-content:space-between; gap:4rem; margin-bottom:3.5rem; }.projects-heading>p { color:#b7c2be; max-width:340px; line-height:1.55; margin:0; }.project-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:1.25rem; }.project { grid-column:span 4; position:relative; overflow:hidden; min-height:310px; background:#263b3d; }.project-featured { grid-column:span 8; min-height:520px; }.project img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; transition:transform .5s; }.project:hover img { transform:scale(1.05); }.project:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 52%); }.project div { position:absolute; z-index:1; left:1.3rem; bottom:1.15rem; }.project p { font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; margin:0 0 .45rem; }.project h3 { font-size:1.5rem; }
.gallery-link { display:inline-block; margin-top:2.5rem; border-bottom:1px solid currentColor; padding-bottom:.35rem; font-weight:800; }
.process { background:#e4e1d9; display:grid; grid-template-columns:1fr 1.45fr; gap:9vw; }.process ol { list-style:none; margin:0; padding:0; border-top:1px solid var(--ink); }.process li { display:grid; grid-template-columns:50px 1fr 1.2fr; gap:1rem; padding:1.45rem 0; border-bottom:1px solid var(--line); }.process li p { color:var(--muted); line-height:1.5; margin:0; }.contact { background:var(--lime); padding:9rem 5vw; display:grid; grid-template-columns:1.1fr .9fr; gap:8vw; }.contact h2 { font-size:clamp(3.8rem,7.5vw,7rem); }.contact-copy { padding-top:4.5rem; }.contact-copy>p { max-width:380px; line-height:1.6; font-size:1.1rem; }.button-dark { background:var(--ink); color:white; border-color:var(--ink); margin-top:1rem; }.contact small { display:block; margin-top:1.25rem; max-width:355px; line-height:1.4; }footer { padding:2rem 5vw; display:flex; align-items:center; justify-content:space-between; font-size:.8rem; border-top:1px solid var(--line); }footer p { margin:0; }
@media (max-width:800px) { .site-header { padding:0 5vw; }.menu-button { display:block; }.main-nav { display:none; position:absolute; top:78px; left:0; right:0; z-index:10; padding:1.5rem 5vw; background:var(--paper); border-bottom:1px solid var(--line); flex-direction:column; align-items:flex-start; }.main-nav.open { display:flex; }.hero { min-height:670px; }.hero-overlay { background:linear-gradient(90deg,rgba(9,23,23,.86),rgba(9,23,23,.38)); }.hero-content { padding:0 5vw 8vh; }.trust-strip { overflow:auto; justify-content:flex-start; white-space:nowrap; }.section { padding:5.5rem 5vw; }.services,.process,.contact { grid-template-columns:1fr; gap:3rem; }.projects-heading { display:block; }.projects-heading>p { margin-top:1.5rem; }.project-grid { grid-template-columns:1fr 1fr; }.project,.project-featured { grid-column:span 1; min-height:270px; }.project-featured { grid-column:span 2; min-height:390px; }.process li { grid-template-columns:38px 1fr; }.process li p { grid-column:2; }.contact-copy { padding-top:0; }footer { flex-wrap:wrap; gap:1rem; }footer p { order:3; width:100%; } }
@media (max-width:500px) { h1 { font-size:4.2rem; }.hero { min-height:630px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:1.2rem; }.project-grid { grid-template-columns:1fr; }.project,.project-featured { grid-column:span 1; min-height:270px; }.contact h2 { font-size:3.7rem; } }

/* Inner pages */
.page-hero { min-height:510px; padding:10rem 5vw 6rem; background:var(--ink); color:var(--light); }.page-hero h1 { max-width:1000px; font-size:clamp(4rem,8vw,8rem); }.page-hero h1 em { font-family:Georgia,serif; font-weight:400; }.page-hero>p:not(.eyebrow) { max-width:515px; margin:2rem 0 0; color:#d4dcda; font-size:1.1rem; line-height:1.6; }.about-hero { background:var(--orange); color:var(--ink); }.about-hero>p:not(.eyebrow) { color:var(--ink); }.projects-hero { background:var(--lime); color:var(--ink); }.projects-hero>p:not(.eyebrow) { color:var(--ink); }
.service-detail { padding-top:0; }.service-detail article { display:grid; grid-template-columns:54px 1fr 1fr; gap:3rem; padding:6rem 0; border-bottom:1px solid var(--line); }.service-detail article>span { font-weight:800; color:var(--orange); }.service-detail h2 { font-size:clamp(2.3rem,4vw,4.2rem); }.service-detail p:not(.eyebrow) { line-height:1.6; color:var(--muted); max-width:450px; margin:1.8rem 0; }.service-detail ul { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }.service-detail li { border-bottom:1px solid var(--line); padding:.8rem 0; font-size:.9rem; font-weight:700; }.service-detail img { width:100%; height:100%; min-height:370px; object-fit:cover; }.page-cta { padding:7rem 5vw; background:var(--lime); text-align:center; }.page-cta h2 { margin-bottom:2rem; }
.about-story { display:grid; grid-template-columns:1fr 1fr; gap:9vw; }.about-story div+div { padding-top:4rem; font-size:1.25rem; line-height:1.5; }.about-story div+div p+p { color:var(--muted); }.values { background:var(--ink); color:var(--light); }.value-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.3); }.value-grid article { padding:2rem 2rem 2rem 0; border-right:1px solid rgba(255,255,255,.2); }.value-grid article+article { padding-left:2rem; }.value-grid article:last-child { border:0; }.value-grid span { color:var(--lime); font-weight:800; font-size:.75rem; }.value-grid h3 { font-size:1.45rem; margin:2rem 0 1rem; }.value-grid p { color:#c4ceca; line-height:1.55; max-width:270px; }.split-image { display:grid; grid-template-columns:1fr 1fr; min-height:520px; }.split-image img { width:100%; height:100%; object-fit:cover; }.split-image div { padding:5rem; background:#e4e1d9; display:flex; flex-direction:column; justify-content:center; }.split-image p:not(.eyebrow) { max-width:390px; margin:2rem 0; color:var(--muted); line-height:1.6; }.dark-link { color:var(--ink); border-color:var(--ink); align-self:flex-start; }
.portfolio { display:grid; grid-template-columns:repeat(12,1fr); gap:1.25rem; }.portfolio-card { grid-column:span 4; min-height:410px; position:relative; overflow:hidden; background:var(--ink); color:var(--light); }.portfolio-card.wide { grid-column:span 8; }.portfolio-card.tall { min-height:590px; }.portfolio-card img { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; transition:transform .5s; }.portfolio-card:hover img { transform:scale(1.04); }.portfolio-card:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 58%); }.portfolio-card div { position:absolute; z-index:1; left:1.5rem; right:1.5rem; bottom:1.35rem; }.portfolio-card p { margin:0 0 .5rem; font-size:.68rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.portfolio-card h2 { font-size:2rem; margin:0 0 .55rem; }.portfolio-card div span { font-size:.86rem; color:#eceee7; }
@media (max-width:800px) { .page-hero { min-height:480px; padding:8rem 5vw 5rem; }.service-detail article { grid-template-columns:35px 1fr; gap:1rem; padding:4rem 0; }.service-detail article>div { grid-column:2; }.service-detail img { grid-column:2; min-height:260px; margin-top:1rem; }.about-story,.split-image { grid-template-columns:1fr; gap:2rem; }.about-story div+div { padding-top:0; }.value-grid { grid-template-columns:1fr; }.value-grid article,.value-grid article+article { border-right:0; border-bottom:1px solid rgba(255,255,255,.2); padding:1.5rem 0; }.split-image div { padding:4rem 5vw; }.split-image img { min-height:360px; }.portfolio { grid-template-columns:1fr 1fr; }.portfolio-card,.portfolio-card.wide { grid-column:span 1; min-height:300px; }.portfolio-card.wide { grid-column:span 2; min-height:390px; }.portfolio-card.tall { min-height:430px; } }
@media (max-width:500px) { .portfolio { grid-template-columns:1fr; }.portfolio-card,.portfolio-card.wide { grid-column:span 1; min-height:320px; }.portfolio-card.wide,.portfolio-card.tall { min-height:360px; }.service-detail article { grid-template-columns:1fr; }.service-detail article>div,.service-detail img { grid-column:1; }.service-detail img { margin-top:1rem; }.page-hero h1 { font-size:3.9rem; } }
