:root {
  --ink: #123238; --ink-soft: #4c6568; --deep: #073c47; --aqua-pale: #dff4ef;
  --sun: #f5b642; --paper: #fffdf7; --sand: #f6edda; --line: rgba(18,50,56,.14);
  --shadow: 0 24px 70px rgba(13,54,61,.13); --radius: 26px; --max: 1180px;
}
*,*::before,*::after{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%} a{color:inherit}
.skip-link{position:fixed;left:16px;top:12px;z-index:100;padding:10px 16px;border-radius:8px;background:white;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.site-header{display:flex;align-items:center;justify-content:space-between;width:min(calc(100% - 48px),var(--max));min-height:82px;margin:0 auto}
.wordmark{display:inline-flex;align-items:center;gap:10px;color:var(--deep);font-family:"Fraunces",Georgia,serif;font-size:1.2rem;font-weight:700;text-decoration:none}
.wordmark-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--deep);color:white;font-family:"DM Sans",sans-serif;font-size:1.3rem;line-height:1}
nav{display:flex;align-items:center;gap:30px} nav a{font-size:.92rem;font-weight:600;text-decoration:none} nav a:hover{color:#087c83}
.nav-contact{padding:9px 17px;border:1px solid var(--line);border-radius:999px}
.hero{position:relative;display:grid;grid-template-columns:minmax(360px,.82fr) 1.18fr;min-height:640px;overflow:hidden;background:var(--aqua-pale);border-block:1px solid var(--line)}
.hero-copy{position:relative;z-index:2;display:flex;min-width:0;flex-direction:column;justify-content:center;padding:78px clamp(40px,6vw,108px);overflow:hidden;background:linear-gradient(112deg,#e5f5ef 0%,#e5f5ef 78%,rgba(229,245,239,.25) 100%)}
.eyebrow{margin:0 0 14px;color:#08777d;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;line-height:1.05}
h1{margin:0;font-size:clamp(3.9rem,7vw,7rem);letter-spacing:-.055em} h1 em{color:#087c83;font-style:normal}
.hero-intro{max-width:570px;margin:30px 0 34px;color:var(--ink-soft);font-size:clamp(1.08rem,1.5vw,1.28rem)}
.hero-art{min-height:640px;background-image:linear-gradient(90deg,rgba(229,245,239,.25),transparent 16%),url("assets/cVBCR.jpg");background-position:45% 49%;background-size:auto 960px}
.hero-note{position:absolute;right:28px;bottom:20px;z-index:2;margin:0;padding:8px 13px;border-radius:999px;background:rgba(5,45,53,.82);color:white;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;backdrop-filter:blur(7px)}
.button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:14px;min-height:50px;padding:12px 22px;border-radius:999px;font-weight:700;text-decoration:none;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.button:hover{transform:translateY(-2px)} .button-primary{background:var(--deep);color:white;box-shadow:0 10px 25px rgba(7,60,71,.2)} .button-primary:hover{background:#095867}.button-light{background:white;color:var(--deep)}
.projects-section{width:min(calc(100% - 48px),var(--max));margin:0 auto;padding:112px 0 128px}
.section-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:80px;margin-bottom:50px}
.section-heading h2,.philosophy h2,.contact h2{margin:0;font-size:clamp(2.4rem,5vw,4.8rem);letter-spacing:-.04em}
.section-heading>p{margin:0 0 6px;color:var(--ink-soft);font-size:1.08rem}
.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.project-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:0 12px 35px rgba(13,54,61,.07)}
.project-featured{display:grid;grid-column:1/-1;grid-template-columns:1.18fr .82fr;min-height:510px}
.project-visual{display:block;min-height:300px;overflow:hidden;background:#d9ece9}
.project-visual img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.project-visual:hover img{transform:scale(1.025)}
.project-featured .project-visual{min-height:510px}.project-featured .project-visual img{object-position:25% center}
.accent-gold .project-visual{background:#211629}.accent-gold .project-visual img{object-position:center}.accent-blue .project-visual{background:#0d1421}
.project-body{display:flex;min-width:0;flex-direction:column;padding:36px}.project-featured .project-body{justify-content:center;padding:clamp(38px,5vw,68px)}
.project-type{margin:0 0 14px;color:#08777d;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.accent-coral .project-type{color:#bc4c37}.accent-gold .project-type{color:#9c6710}
.project-card h3{margin:0;font-size:clamp(2rem,3.5vw,3.5rem);letter-spacing:-.035em}.project-card h3 a{text-decoration:none}.project-card h3 a:hover{color:#08777d}
.project-description{margin:22px 0 30px;color:var(--ink-soft);font-size:1.03rem}
.project-link{display:inline-flex;align-items:center;gap:9px;width:max-content;margin-top:auto;padding-bottom:3px;border-bottom:2px solid var(--sun);font-weight:700;text-decoration:none}.project-link:hover{color:#08777d}
.philosophy{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(50px,9vw,140px);padding:120px max(24px,calc((100vw - var(--max))/2));background:var(--sand);border-block:1px solid var(--line)}
.philosophy-heading{align-self:start;position:sticky;top:40px}.philosophy-copy{max-width:650px}.philosophy-copy p{margin:0;font-size:clamp(1.1rem,1.7vw,1.3rem)}.philosophy-copy p+p{margin-top:26px}
.contact{display:flex;align-items:center;justify-content:space-between;gap:70px;width:min(calc(100% - 48px),var(--max));margin:96px auto;padding:clamp(38px,6vw,72px);border-radius:var(--radius);background:var(--deep);color:white;box-shadow:var(--shadow)}
.contact .eyebrow{color:#82dadd}.contact h2{max-width:750px;font-size:clamp(2.2rem,4.3vw,4rem)}.contact p:not(.eyebrow){max-width:690px;margin:24px 0 0;color:rgba(255,255,255,.76);font-size:1.08rem}.contact .button{flex-shrink:0}
.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding:34px max(24px,calc((100vw - var(--max))/2));border-top:1px solid var(--line);color:var(--ink-soft);font-size:.9rem}.site-footer p{margin:0}.footer-links{display:flex;justify-content:flex-end;gap:24px}.footer-links a{text-decoration:none}.footer-links a:hover{color:#08777d}
:focus-visible{outline:3px solid var(--sun);outline-offset:4px}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-copy{padding:70px 32px 54px;background:var(--aqua-pale)}.hero-art{min-height:430px;background-position:center 49%}.section-heading{grid-template-columns:1fr;gap:24px}.project-featured{grid-template-columns:1fr}.project-featured .project-visual{min-height:390px}.philosophy{grid-template-columns:1fr}.philosophy-heading{position:static}.contact{align-items:flex-start;flex-direction:column;gap:34px}}
@media(max-width:650px){.site-header{width:min(calc(100% - 32px),var(--max));min-height:70px}nav a:not(.nav-contact){display:none}nav{gap:0}.nav-contact{padding:7px 13px}.hero{min-height:auto}.hero-copy{padding:56px 20px 46px}h1{font-size:clamp(3rem,14vw,4.6rem)}.hero-art{min-height:330px;background-size:auto 510px;background-position:36% 49%}.hero-note{right:14px;bottom:14px}.projects-section{width:min(calc(100% - 32px),var(--max));padding:82px 0 92px}.project-grid{grid-template-columns:1fr}.project-featured{grid-column:auto}.project-featured .project-visual,.project-visual{min-height:270px}.project-body,.project-featured .project-body{padding:28px 24px 32px}.project-card h3{font-size:2.25rem}.philosophy{padding-block:84px}.contact{width:min(calc(100% - 32px),var(--max));margin:64px auto;padding:34px 24px}.site-footer{grid-template-columns:1fr;text-align:center}.footer-wordmark{justify-self:center}.footer-links{justify-content:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}
