
:root{--forest:#102C24;--racing:#184A3B;--ivory:#F5F1E8;--stone:#D8D1C5;--sage:#A8B4AC;--ink:#171717;--sub:#657169;--line:rgba(16,44,36,.19)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--forest);font:400 16px/1.62 "Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--racing);outline-offset:4px}button{font:inherit}.container{max-width:1440px;margin:0 auto;padding:0 clamp(24px,5vw,88px)}.site-header{position:relative;z-index:4;display:flex;justify-content:space-between;align-items:center;height:104px;border-bottom:1px solid var(--line)}.logo{display:block;width:237px;height:auto}.nav{display:flex;gap:36px;align-items:center}.nav a{text-decoration:none;font-size:13px;letter-spacing:.025em;color:var(--forest);transition:opacity .2s}.nav a:hover,.nav a[aria-current="page"]{opacity:.55}.nav a:last-child{border-bottom:1px solid var(--forest);padding-bottom:5px}.menu-button{display:none;border:0;background:none;padding:8px;font-size:26px;color:var(--forest);cursor:pointer}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--racing)}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400;letter-spacing:-.045em;line-height:1.12}h1{font-size:clamp(43px,5vw,83px)}h2{font-size:clamp(34px,4vw,62px)}h3{font-size:23px;line-height:1.28;letter-spacing:-.025em;font-weight:500}.lead{font-size:clamp(17px,1.6vw,23px);line-height:1.52;color:#384d42;max-width:600px}.copy{max-width:630px;color:#506056}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 21px;background:var(--forest);color:var(--ivory);text-decoration:none;font-size:13px;letter-spacing:.04em;border:1px solid var(--forest);transition:background .18s}.button:hover{background:var(--racing)}.text-link{display:inline-flex;gap:15px;text-decoration:none;border-bottom:1px solid var(--forest);padding-bottom:7px;font-size:13px;font-weight:600}.hero{display:grid;grid-template-columns:54% 46%;min-height:min(760px,calc(100svh - 104px))}.hero-copy{padding:clamp(64px,8.2vw,134px) clamp(24px,7vw,120px) 72px clamp(24px,5vw,88px);display:flex;flex-direction:column;justify-content:space-between}.hero-copy h1{max-width:740px;margin:22px 0 27px}.hero-media{min-height:600px;background:var(--forest) url('assets/architecture.jpg') center center /cover}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.hero-bottom .small{font-size:13px;letter-spacing:.08em;color:#52655a}.section{padding:clamp(75px,9vw,145px) 0}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:54px}.section-intro h2{max-width:760px;margin:16px 0 0}.section-intro p{max-width:330px;margin:0;color:var(--sub)}.dark{background:var(--forest);color:var(--ivory)}.dark .eyebrow{color:var(--sage)}.dark .copy,.dark .lead{color:#c5d3cb}.dark .text-link{border-color:var(--sage)}.border-top{border-top:1px solid var(--line)}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.service{background:var(--ivory);padding:43px 42px 49px;min-height:250px}.service .num{color:var(--racing);font-size:11px;letter-spacing:.17em}.service h3{margin:25px 0 16px}.service p{margin:0;color:#5a6960;max-width:450px}.photo-panel{background:var(--forest) url('assets/architecture.jpg') center/cover;min-height:460px}.split{display:grid;grid-template-columns:1fr 1fr}.split .panel{padding:clamp(60px,7vw,120px);display:flex;flex-direction:column;justify-content:center}.split p{max-width:560px}.stateless-note{font-size:12px;color:#6c7b70;margin-top:10px}.two-projects{display:grid;grid-template-columns:1fr 1fr;gap:30px}.project .image{height:290px;display:flex;align-items:end;padding:34px;color:var(--ivory);font-size:27px;letter-spacing:.03em}.project:first-child .image{background:linear-gradient(135deg,#27221d,#6c6253)}.project:last-child .image{background:linear-gradient(130deg,#173f32,#415e4f)}.project h3{margin:25px 0 8px}.project p{max-width:500px;color:var(--sub)}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:27px}.step{border-top:1px solid #739180;padding-top:17px}.step .index{font-size:13px;color:var(--sage)}.step h3{margin:36px 0 11px}.step p{color:#c5d3cb;margin:0}.cta{padding:125px 0;background:var(--forest);color:var(--ivory)}.cta h2{max-width:910px}.cta .button{background:var(--ivory);color:var(--forest);border-color:var(--ivory)}footer{background:#0d241c;color:#d4ded8;padding:60px 0 28px}footer a{text-decoration:none}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer-grid .logo{filter:brightness(0) invert(1);width:215px}.footer-grid p{font-size:13px;max-width:330px;color:#9db5a9}.footer-grid a{display:block;font-size:13px;line-height:2.15}.footer-bottom{padding-top:48px;color:#9db5a9;font-size:11px;display:flex;justify-content:space-between;gap:20px}.page-hero{padding:105px 0 80px}.page-hero h1{max-width:890px;margin-top:26px}.page-hero .lead{max-width:820px}.service-detail{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;padding:55px 0;border-top:1px solid var(--line)}.service-detail p{color:var(--sub)}.tag-list{display:flex;flex-wrap:wrap;gap:11px;margin-top:17px}.tag-list span{font-size:12px;border:1px solid var(--line);padding:8px 11px;color:var(--racing)}.work-item{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;padding:50px 0;border-top:1px solid var(--line)}.work-thumb{height:350px;display:flex;align-items:end;padding:32px;color:var(--ivory);font-size:32px}.work-thumb.cedici{background:#47413c}.work-thumb.gym{background:#164b3b}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:110px}.about-grid p{font-size:20px;line-height:1.65}.contact-list a{display:block;text-decoration:none;font-size:clamp(22px,3.4vw,44px);letter-spacing:-.035em;line-height:1.65}.contact-list a:hover{text-decoration:underline}.legal{max-width:780px}.legal p{line-height:1.7;color:#4e5f54}
@media (max-width:920px){.hero{grid-template-columns:1fr}.hero-copy{min-height:560px;padding:75px 24px 70px}.hero-media{min-height:460px}.split,.about-grid,.work-item{grid-template-columns:1fr}.split .photo-panel{min-height:500px}.section-intro{flex-direction:column;align-items:start}.process{grid-template-columns:1fr 1fr}.service-detail{grid-template-columns:1fr;gap:12px}.footer-grid{grid-template-columns:1.5fr 1fr}.two-projects{grid-template-columns:1fr}}
@media (max-width:660px){.site-header{height:86px}.logo{width:196px}.menu-button{display:block}.nav{display:none;position:absolute;left:0;right:0;top:86px;padding:20px 24px 26px;background:var(--ivory);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:20px}.nav.open{display:flex}.hero-copy{min-height:560px}.hero-media{min-height:330px}.hero-bottom{display:block}.hero-bottom .small{margin-bottom:20px}.section{padding:70px 0}.service-list{grid-template-columns:1fr}.service{min-height:unset;padding:28px 26px 36px}.process{grid-template-columns:1fr}.process .step h3{margin-top:18px}.work-thumb{height:250px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.page-hero{padding:70px 0 35px}.cta{padding:75px 0}.about-grid p{font-size:17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Original website screenshots for portfolio references */
.project .image.portfolio-shot,.work-thumb.portfolio-shot{display:block;position:relative;padding:0;overflow:hidden;border:1px solid var(--line);background:#e8e7e1;text-decoration:none}
.portfolio-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .28s ease}
.portfolio-shot:hover img,.portfolio-shot:focus-visible img{transform:scale(1.025)}
@media(prefers-reduced-motion:reduce){.portfolio-shot img{transition:none}}
