
:root{
  --cream:#fcfaf7;
  --sand:#f5f2ed;
  --navy:#1b2a39;
  --copper:#b45f38;
  --line:rgba(27,42,57,.10);
  --muted:rgba(27,42,57,.70);
  --soft:rgba(245,242,237,.65);
  --display:'Cormorant Garamond', Georgia, serif;
  --sans:'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--navy);font-family:var(--sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--display);font-weight:500;letter-spacing:-.01em;margin:0}.container{width:min(100% - 48px, 1280px);margin-inline:auto}.topbar{position:sticky;top:0;z-index:50;background:rgba(252,250,247,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(27,42,57,.06)}.nav{height:80px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:var(--display);font-style:italic;font-size:28px;font-weight:600;letter-spacing:-.02em}.navlinks{display:flex;align-items:center;gap:40px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:rgba(27,42,57,.70)}.navlinks a:hover,.navlinks .active{color:var(--copper)}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;font:inherit;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.2em;padding:16px 32px;transition:.25s ease}.btn-copper{background:var(--copper);color:var(--cream);box-shadow:0 18px 35px rgba(180,95,56,.14)}.btn-copper:hover{filter:brightness(1.08)}.btn-navy{background:var(--navy);color:var(--cream)}.btn-navy:hover{background:var(--copper)}.btn-outline{border:1px solid var(--navy);color:var(--navy);background:transparent}.btn-outline:hover{background:var(--navy);color:var(--cream)}.menu-btn{display:none;background:transparent;border:0;padding:10px;cursor:pointer}.menu-btn span{display:block;width:22px;height:1px;background:var(--navy);margin:6px 0}.mobile-menu{display:none;border-top:1px solid rgba(27,42,57,.06);background:var(--cream);padding:24px}.mobile-menu.open{display:block}.mobile-menu a{display:block;padding:12px 0;text-transform:uppercase;letter-spacing:.2em;font-size:13px;font-weight:700}.mobile-menu .btn{margin-top:12px;width:100%}.hero{padding:88px 0 112px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.eyebrow{display:block;color:var(--copper);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.25em;margin-bottom:24px}.hero h1{font-size:clamp(56px,8vw,104px);line-height:.95;margin-bottom:30px}.italic{font-style:italic}.lead{font-size:18px;line-height:1.75;color:rgba(27,42,57,.75);max-width:650px}.hero .lead{margin-bottom:38px}.actions{display:flex;flex-wrap:wrap;gap:16px}.image-card{position:relative}.image-card img{width:100%;aspect-ratio:3/4;object-fit:cover}.stat-badge{position:absolute;left:-32px;bottom:-32px;background:var(--navy);color:var(--cream);padding:32px 40px}.stat-badge strong{display:block;font-family:var(--display);font-weight:500;font-size:52px;line-height:1}.stat-badge span{display:block;margin-top:4px;color:rgba(252,250,247,.62);font-size:10px;text-transform:uppercase;letter-spacing:.25em}.section{padding:96px 0}.section-sand{background:var(--soft)}.section-line{border-top:1px solid rgba(27,42,57,.06)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:64px}.section h2{font-size:clamp(40px,5vw,58px);line-height:1.05;margin-bottom:14px}.section-sub{font-size:11px;text-transform:uppercase;letter-spacing:.25em;color:rgba(27,42,57,.60);font-weight:800}.text-link{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:var(--copper);border-bottom:1px solid transparent;padding-bottom:5px}.text-link:hover{border-color:var(--copper)}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.service-card img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .7s ease}.service-card .img-wrap{overflow:hidden;background:#fff;outline:1px solid rgba(27,42,57,.06);outline-offset:-1px;margin-bottom:24px}.service-card:hover img{transform:scale(1.045)}.service-card h3,.project h3{font-size:28px;margin-bottom:10px}.service-card p,.body-copy p,.values p,.project p{color:rgba(27,42,57,.70);line-height:1.75}.body-copy{font-size:16px;line-height:1.75;color:var(--muted)}.body-copy p{margin:0 0 18px}.palette{background:var(--sand);padding:4px;outline:1px solid rgba(27,42,57,.06);outline-offset:-1px}.palette-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.swatch{position:relative;aspect-ratio:1}.swatch span{position:absolute;left:10px;bottom:10px;color:rgba(252,250,247,.9);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.2em}.palette-foot{display:flex;align-items:center;justify-content:space-between;padding:14px 18px}.palette-foot b{font-family:var(--display);font-style:italic;font-weight:500}.palette-foot span{font-size:10px;text-transform:uppercase;letter-spacing:.25em;color:rgba(27,42,57,.5)}.quote-stack{max-width:900px;margin:auto;text-align:center}.quote-stack figure{margin:0 0 80px}.quote-stack blockquote{font-family:var(--display);font-style:italic;font-size:clamp(32px,5vw,56px);line-height:1.08;margin:0}.quote-stack figcaption{margin-top:28px;font-size:11px;text-transform:uppercase;letter-spacing:.25em;color:rgba(27,42,57,.52);font-weight:800}.page-hero{padding:82px 0 56px}.page-hero h1{font-size:clamp(52px,7vw,86px);line-height:.95;max-width:920px;margin-bottom:32px}.about-img{width:100%;aspect-ratio:3/4;object-fit:cover}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--line);padding-top:30px;margin-top:46px}.stats strong{font-family:var(--display);font-weight:500;font-size:46px;display:block}.stats span{display:block;margin-top:8px;font-size:10px;text-transform:uppercase;letter-spacing:.25em;color:rgba(27,42,57,.58)}.values{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 64px}.value{border-top:1px solid rgba(27,42,57,.15);padding-top:24px}.num{color:var(--copper);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.25em}.value h3{font-size:30px;margin:12px 0}.areas{text-align:center;max-width:820px;margin:auto}.areas h2{font-size:42px}.areas-list{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;margin-top:32px;color:rgba(27,42,57,.52);font-size:11px;text-transform:uppercase;letter-spacing:.25em;font-weight:800}.service-row{padding:80px 0}.service-row:nth-of-type(even){background:var(--soft)}.service-row img{width:100%;aspect-ratio:4/5;object-fit:cover}.service-row h2{font-size:clamp(42px,5vw,58px);margin:12px 0 22px}.service-row .detail{color:rgba(27,42,57,.70);line-height:1.75;margin-bottom:28px}.include-list{list-style:none;margin:28px 0 0;padding:24px 0 0;border-top:1px solid rgba(27,42,57,.15)}.include-list li{display:flex;gap:14px;margin:12px 0;color:rgba(27,42,57,.82);font-size:14px}.include-list b{color:var(--copper)}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.project.wide{grid-column:1/-1}.project img{width:100%;object-fit:cover;aspect-ratio:4/5;transition:transform .7s ease}.project.wide img{aspect-ratio:16/9}.project .img-wrap{overflow:hidden;background:var(--sand);outline:1px solid rgba(27,42,57,.06);outline-offset:-1px}.project:hover img{transform:scale(1.03)}.project figcaption{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-top:16px}.project{margin:0}.project p{margin:4px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.25em;color:rgba(27,42,57,.50);font-weight:700}.tag{font-size:10px;text-transform:uppercase;letter-spacing:.25em;color:var(--copper);font-weight:800;white-space:nowrap}.cta{text-align:center;padding:80px 0}.cta h2{font-size:clamp(34px,4vw,48px);font-style:italic;margin-bottom:18px}.cta p{max-width:520px;margin:0 auto 32px;color:rgba(27,42,57,.70);line-height:1.7}.contact-grid{display:grid;grid-template-columns:2fr 1fr;gap:64px;align-items:start}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.field{margin-bottom:30px}.field label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.25em;color:rgba(27,42,57,.60);font-weight:800;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid rgba(27,42,57,.22);background:transparent;padding:13px 0;color:var(--navy);font:inherit;font-size:16px;outline:none;border-radius:0}.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--copper)}textarea{resize:vertical}.contact-side{border-left:1px solid var(--line);padding-left:40px}.contact-item{margin-bottom:38px}.contact-item .label{font-size:10px;text-transform:uppercase;letter-spacing:.25em;color:var(--copper);font-weight:800;margin-bottom:12px}.contact-item a{font-family:var(--display);font-size:28px;line-height:1.1;word-break:break-word}.contact-item a:hover{color:var(--copper)}.contact-item p{color:rgba(27,42,57,.75);line-height:1.75;margin:0}.footer{background:var(--navy);color:var(--cream)}.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;padding:96px 0}.footer h2{font-size:clamp(48px,6vw,72px);line-height:1.05;margin-bottom:28px}.footer p{max-width:470px;color:rgba(252,250,247,.60);line-height:1.75;margin-bottom:34px}.footer .brand-foot{font-family:var(--display);font-style:italic;font-size:34px;margin-bottom:26px}.footer-right{display:flex;flex-direction:column;align-items:flex-end}.foot-links{display:grid;grid-template-columns:repeat(2,auto);gap:12px 48px;color:rgba(252,250,247,.60);font-size:11px;text-transform:uppercase;letter-spacing:.2em}.foot-links a:hover,.footer .phone:hover{color:var(--copper)}.phone{display:flex;align-items:center;justify-content:center;color:rgba(252,250,247,.82);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.2em;padding:16px 0}.copyright{margin-top:36px;color:rgba(252,250,247,.32);font-size:10px;text-transform:uppercase;letter-spacing:.2em}.center{text-align:center}.notfound{min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:80px 24px}.notfound h1{font-size:110px}.notfound p{color:rgba(27,42,57,.65);line-height:1.7}@media (max-width:900px){.container{width:min(100% - 32px, 1280px)}.navlinks,.topbar .btn-navy{display:none}.menu-btn{display:block}.hero{padding:64px 0 76px}.grid-2,.contact-grid,.footer-inner{grid-template-columns:1fr;gap:44px}.cards-3,.values,.portfolio-grid,.form-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.section{padding:72px 0}.stat-badge{display:none}.service-row{padding:64px 0}.service-row .grid-2:nth-child(even){direction:ltr}.project.wide{grid-column:auto}.project.wide img{aspect-ratio:4/5}.contact-side{border-left:0;border-top:1px solid var(--line);padding:36px 0 0}.footer-right{align-items:flex-start}.footer .actions{flex-direction:column;align-items:stretch}.footer .btn,.footer .phone{width:100%}.stats{gap:12px}.stats strong{font-size:36px}.areas-list{gap:8px 14px}.hero h1,.page-hero h1{font-size:clamp(50px,14vw,74px)}}@media (prefers-reduced-motion:no-preference){.fade-up{opacity:0;transform:translateY(18px);animation:fadeUp .7s ease forwards}.fade-up.delay-1{animation-delay:.08s}.fade-up.delay-2{animation-delay:.16s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}}
