:root{--ink:#0b2632;--teal:#1c6870;--aqua:#9cc9c6;--paper:#f4f1eb;--white:#fbfaf7;--line:rgba(11,38,50,.18);--serif:Georgia,"Times New Roman",serif;--sans:Inter,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:#fff;padding:.8rem 1rem}.skip-link:focus{top:1rem}.site-header{height:86px;padding:0 clamp(1.25rem,4vw,4.5rem);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:.75rem;font-weight:700;letter-spacing:.02em}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-family:var(--serif);font-weight:400;font-style:italic}.site-nav{display:flex;gap:2rem;font-size:.88rem}.site-nav a,.header-cta,.text-link{position:relative}.site-nav a:after,.text-link:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s}.site-nav a:hover:after,.text-link:hover:after{transform:scaleX(1);transform-origin:left}.header-cta{justify-self:end;border-bottom:1px solid currentColor;padding-bottom:3px;font-size:.88rem}.menu-toggle{display:none}.hero{min-height:calc(100vh - 86px);display:grid;grid-template-columns:46% 54%;padding-left:clamp(1.25rem,7vw,8rem)}.hero-copy{padding:clamp(4rem,10vh,8rem) clamp(2rem,5vw,6rem) 2rem 0;display:flex;flex-direction:column}.eyebrow,.section-index,.project-number{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:var(--teal)}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-size:clamp(3.2rem,5.8vw,6.8rem);font-weight:400;line-height:.92;letter-spacing:-.045em;margin:clamp(2rem,5vh,4rem) 0 2rem}h1 em{font-weight:400;color:var(--teal)}.hero-lead{font-size:clamp(1.05rem,1.35vw,1.35rem);max-width:620px}.hero-actions{display:flex;align-items:center;gap:2rem;margin:1.5rem 0 3.5rem}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:0 1.5rem;border:1px solid currentColor;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;transition:.25s}.button-primary{background:var(--ink);color:var(--white);border-color:var(--ink)}.button-primary:hover{background:var(--teal);border-color:var(--teal)}.text-link{display:inline-block;font-weight:700;padding-bottom:3px}.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:auto 0 0;padding-top:1.3rem;border-top:1px solid var(--line)}.hero-facts div{display:flex;flex-direction:column}.hero-facts dt{font-family:var(--serif);font-size:1.5rem}.hero-facts dd{margin:0;font-size:.72rem;color:var(--teal)}.hero-visual{position:relative;min-height:650px;overflow:hidden}.hero-visual img{height:100%;object-fit:cover}.hero-caption{position:absolute;left:0;bottom:0;background:var(--paper);padding:1rem 1.25rem;display:flex;gap:2.5rem;font-size:.75rem;letter-spacing:.06em}.section-pad{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,7vw,8rem)}.intro{display:grid;grid-template-columns:1fr 3fr;border-top:1px solid var(--line)}h2{font-family:var(--serif);font-size:clamp(2.8rem,5vw,5.5rem);font-weight:400;line-height:1;letter-spacing:-.04em;margin-bottom:2rem}.large-copy{font-family:var(--serif);font-size:clamp(1.3rem,2vw,2rem);line-height:1.35;max-width:970px}.projects{background:var(--white)}.section-head{display:grid;grid-template-columns:2.1fr 1fr;gap:3rem;align-items:end;margin-bottom:4rem}.section-head h2{margin-bottom:0}.section-head>p{max-width:380px;margin:0 0 .6rem}.project-feature{display:grid;grid-template-columns:3fr 2fr;gap:clamp(2rem,6vw,7rem);align-items:center;margin-bottom:7rem}.image-button{position:relative;padding:0;border:0;background:none;color:#fff;cursor:zoom-in;overflow:hidden}.image-button img{aspect-ratio:4/3;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.image-button:hover img{transform:scale(1.025)}.image-action{position:absolute;right:1rem;bottom:1rem;background:rgba(11,38,50,.9);padding:.65rem .9rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.project-copy h3,.project-card h3{font-family:var(--serif);font-size:clamp(2rem,3.2vw,3.6rem);font-weight:400;margin:.8rem 0}.project-meta{font-weight:700;color:var(--teal);font-size:.88rem}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:2rem 0 0}.tags li{border:1px solid var(--line);border-radius:99px;padding:.45rem .8rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,6rem)}.project-card .image-button{width:100%;margin-bottom:2rem}.mood-images{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:2rem}.mood-images img{height:100%;aspect-ratio:1/1.25;object-fit:cover}.services{background:var(--ink);color:var(--white)}.section-head.light .section-index{color:var(--aqua)}.service-list{border-top:1px solid rgba(255,255,255,.25)}.service-item{display:grid;grid-template-columns:70px 1fr auto;gap:2rem;align-items:center;padding:2rem 0;border-bottom:1px solid rgba(255,255,255,.25)}.service-item>span{color:var(--aqua);font-family:var(--serif);font-style:italic}.service-item h3{font-family:var(--serif);font-size:1.7rem;font-weight:400;margin-bottom:.2rem}.service-item p{margin:0;color:rgba(255,255,255,.68);max-width:700px}.service-item strong{white-space:nowrap;font-size:.95rem}.price-note{font-size:.78rem;color:rgba(255,255,255,.58);max-width:720px;margin:1.5rem 0 0}.process-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}.process-list li{padding:1.5rem 1.2rem 1rem 0;border-right:1px solid var(--line);min-height:280px}.process-list li+li{padding-left:1.2rem}.process-list li:last-child{border-right:0}.process-list span{font-family:var(--serif);font-style:italic;color:var(--teal)}.process-list h3{font-family:var(--serif);font-size:1.45rem;font-weight:400;margin:3.5rem 0 .8rem}.process-list p{font-size:.86rem}.about{display:grid;grid-template-columns:minmax(300px,.85fr) 1.25fr;gap:clamp(3rem,8vw,9rem);align-items:center;background:#dcebea}.about-photo img{aspect-ratio:4/5;object-fit:cover;object-position:center 20%}.about-copy h2{margin-bottom:.4rem}.about-role{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--teal);margin-bottom:2rem}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2.5rem 0}.about-columns h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.about-columns p{font-size:.88rem}.contact{background:var(--teal);color:var(--white);display:grid;grid-template-columns:.55fr 2fr 1fr;gap:3rem}.contact .section-index{color:var(--aqua)}.contact-main h2{font-size:clamp(3.4rem,6vw,7rem)}.contact-main p{max-width:600px;font-size:1.1rem}.button-light{margin-top:1.5rem}.button-light:hover{background:var(--white);color:var(--teal)}.contact-details{display:flex;flex-direction:column;gap:.8rem;align-self:end}.contact-details a{font-family:var(--serif);font-size:1.35rem}.contact-details p{font-size:.85rem;color:rgba(255,255,255,.7);margin-top:1.3rem}footer{background:var(--teal);color:rgba(255,255,255,.65);border-top:1px solid rgba(255,255,255,.25);padding:1.3rem clamp(1.25rem,7vw,8rem);display:flex;justify-content:space-between;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.gallery-dialog{width:min(1200px,95vw);height:min(850px,92vh);padding:0;border:0;background:#071b24;color:#fff}.gallery-dialog::backdrop{background:rgba(4,14,19,.9);backdrop-filter:blur(5px)}.gallery-dialog[open]{display:grid;grid-template-columns:70px 1fr 70px;align-items:center}.gallery-dialog figure{margin:0;height:100%;display:flex;flex-direction:column;justify-content:center}.gallery-dialog figure img{max-height:76vh;object-fit:contain}.gallery-dialog figcaption{text-align:center;padding:1rem;font-size:.78rem;letter-spacing:.08em}.gallery-close,.gallery-prev,.gallery-next{border:0;background:none;color:#fff;font-size:1.8rem;cursor:pointer}.gallery-close{position:absolute;right:1rem;top:.6rem;z-index:2}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.image-button img{transition:none}}@media(max-width:980px){.site-header{grid-template-columns:1fr auto}.menu-toggle{display:block;border:0;background:none;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.site-nav{position:absolute;top:86px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:1.5rem;display:none;flex-direction:column;align-items:center}.site-nav.open{display:flex}.header-cta{display:none}.hero{grid-template-columns:1fr;padding:0}.hero-copy{padding:4rem 1.5rem 3rem}.hero-visual{min-height:65vh}.intro,.section-head,.project-feature,.about,.contact{grid-template-columns:1fr}.intro{gap:2rem}.section-head{gap:1rem}.project-grid{grid-template-columns:1fr}.process-list{grid-template-columns:1fr 1fr}.contact{gap:2rem}.contact-details{align-self:start}}@media(max-width:620px){.site-header{height:70px;padding:0 1rem}.brand{font-size:.9rem}.brand-mark{width:32px;height:32px}.site-nav{top:70px}.hero{min-height:auto}h1{font-size:clamp(3rem,15vw,4.6rem)}.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.hero-facts{grid-template-columns:1fr 1fr}.hero-facts div:last-child{display:none}.hero-visual{min-height:68vh}.section-pad{padding:4.5rem 1.25rem}.service-item{grid-template-columns:35px 1fr;gap:1rem}.service-item strong{grid-column:2}.process-list{grid-template-columns:1fr}.process-list li,.process-list li+li{min-height:auto;padding:1.3rem 0;border-right:0;border-bottom:1px solid var(--line)}.process-list h3{margin:.8rem 0 .4rem}.about-columns{grid-template-columns:1fr}.contact-main h2{font-size:3.4rem}.gallery-dialog[open]{grid-template-columns:44px 1fr 44px}.gallery-dialog{height:85vh}.mood-images{gap:.4rem}}
