:root{--color-primary:#003053;--color-primary-soft:#004777;--color-ink:#1c1b1b;--color-muted:#42474f;--color-outline:#c2c7d0;--color-surface:#fcf9f8;--color-surface-alt:#f6f3f2;--color-white:#fff;--color-teak:#745853;--shadow-soft:0 20px 60px #0030531a;--radius:8px;color:var(--color-ink);background:var(--color-surface);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 10% 0%, #0047770f, transparent 28rem), linear-gradient(180deg, var(--color-white), var(--color-surface) 42rem);min-width:320px;margin:0}body,button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(100% - 32px,1180px);margin-inline:auto}.section{padding:96px 0}.eyebrow{color:var(--color-teak);letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px;font-family:Montserrat,Inter,sans-serif;font-size:.78rem;font-weight:800}h1,h2,h3{color:var(--color-primary);letter-spacing:0;font-family:Montserrat,Inter,sans-serif}h1{max-width:840px;margin:0;font-size:clamp(2.35rem,5vw,4.7rem);line-height:1.02}h2{margin:0;font-size:clamp(2rem,3.3vw,3.5rem);line-height:1.08}h3{margin:0;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.2}p{color:var(--color-muted);line-height:1.7}.lead{max-width:720px;font-size:clamp(1.06rem,1.8vw,1.25rem)}.button{border:1px solid var(--color-primary);letter-spacing:.04em;border-radius:4px;justify-content:center;align-items:center;min-height:48px;padding:0 22px;font-family:Montserrat,Inter,sans-serif;font-size:.86rem;font-weight:800;transition:transform .18s,background .18s,color .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--color-primary);color:var(--color-white)}.button.secondary{color:var(--color-primary);background:0 0}.site-header{z-index:20;backdrop-filter:blur(18px);background:#fcf9f8e6;border-bottom:1px solid #c2c7d08c;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:28px;min-height:78px;display:flex}.brand{color:var(--color-primary);gap:2px;font-family:Montserrat,Inter,sans-serif;font-weight:800;line-height:1.05;display:grid}.brand span{color:var(--color-muted);font-family:Inter,sans-serif;font-size:.78rem;font-weight:600}.nav-links{color:var(--color-muted);align-items:center;gap:26px;font-size:.95rem;display:flex}.nav-links a[aria-current=page]{color:var(--color-primary);font-weight:800}.mobile-cta{display:none}.hero{padding:76px 0 84px}.hero-grid{grid-template-columns:minmax(0,.95fr) minmax(360px,1fr);align-items:center;gap:56px;display:grid}.hero-copy{gap:24px;display:grid}.hero-actions,.cta-actions{flex-wrap:wrap;gap:14px;display:flex}.hero-media,.image-frame{border-radius:var(--radius);background:var(--color-surface-alt);box-shadow:var(--shadow-soft);overflow:hidden}.hero-media{aspect-ratio:4/3;min-height:0}.hero-media img,.image-frame img,.project-card img{object-fit:cover;width:100%;height:100%}.stats{border:1px solid var(--color-outline);background:var(--color-outline);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:18px;display:grid}.stat{background:#ffffffc7;padding:22px}.stat strong{color:var(--color-primary);font-family:Montserrat,Inter,sans-serif;font-size:1.45rem;display:block}.split{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:64px;display:grid}.stone-divider{background:linear-gradient(90deg, transparent, var(--color-outline), transparent);width:100%;height:1px;margin:34px 0}.services-grid,.projects-grid,.values-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.service,.value,.contact-card,.project-card{border-radius:var(--radius);background:#ffffffb8;border:1px solid #c2c7d0bf}.service,.value,.contact-card{padding:28px}.service p,.value p{margin-bottom:0}.project-card{overflow:hidden}.project-card .media{aspect-ratio:4/3;overflow:hidden}.project-card .content{padding:22px}.project-card .meta{color:var(--color-teak);letter-spacing:.09em;text-transform:uppercase;font-family:Montserrat,Inter,sans-serif;font-size:.75rem;font-weight:800}.project-gallery{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;display:grid}.image-open{width:100%;color:inherit;cursor:zoom-in;background:0 0;border:0;border-radius:4px;padding:0;display:block;overflow:hidden}.image-open:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}.project-gallery img{aspect-ratio:1;object-fit:cover;border-radius:4px;transition:transform .18s}.image-open:hover img{transform:scale(1.035)}.image-dialog{background:#111;border:0;border-radius:8px;width:min(94vw,1180px);max-height:92vh;padding:54px 18px 18px}.image-dialog::backdrop{background:#000000c2}.image-dialog img{object-fit:contain;border-radius:4px;width:100%;max-height:calc(92vh - 86px)}.image-dialog-close{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff80;border-radius:4px;min-height:34px;padding:0 12px;position:absolute;top:14px;right:14px}.cta-band{background:var(--color-primary);padding:76px 0}.cta-band h2,.cta-band p{color:var(--color-white)}.cta-band p{opacity:.84}.site-footer{background:var(--color-white);border-top:1px solid #c2c7d0b8;padding:56px 0 32px}.footer-grid{grid-template-columns:1.2fr .8fr .8fr;gap:32px;display:grid}.footer-grid ul{color:var(--color-muted);gap:10px;margin:0;padding:0;list-style:none;display:grid}.footer-title{color:var(--color-primary);margin:0 0 16px;font-family:Montserrat,Inter,sans-serif;font-weight:800}.copyright{color:var(--color-muted);margin-top:38px;font-size:.9rem}.page-intro{padding:72px 0 40px}.portfolio-filter{flex-wrap:wrap;gap:12px;margin:32px 0 42px;display:flex}.chip{border:1px solid var(--color-outline);color:var(--color-primary);background:var(--color-white);border-radius:999px;padding:10px 14px;font-weight:700}.contact-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:42px;display:grid}.contact-hero{grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);align-items:center;gap:42px;display:grid}.contact-hero-copy{gap:22px;display:grid}.contact-hero-media{gap:16px;display:grid}.contact-hero-image{aspect-ratio:4/3}.contact-hero-badges{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.contact-badge{border-radius:var(--radius);background:#fffc;border:1px solid #c2c7d0cc;padding:16px 14px}.contact-badge strong{color:var(--color-primary);font-family:Montserrat,Inter,sans-serif;font-size:1rem;display:block}.contact-badge span{color:var(--color-muted);font-size:.92rem}.contact-direct{gap:2px;display:grid}.contact-direct p{margin:0}.contact-side-image{aspect-ratio:4/3;box-shadow:none;margin-top:14px}.thanks-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);align-items:center;gap:42px;display:grid}.thanks-image{aspect-ratio:4/3}.form{gap:20px;display:grid}.field{gap:8px;display:grid}.field label{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;font-family:Montserrat,Inter,sans-serif;font-size:.78rem;font-weight:800}.field input,.field textarea,.field select{border:0;border-bottom:1px solid var(--color-outline);width:100%;color:var(--color-ink);background:0 0;border-radius:0;padding:12px 0}.field textarea{resize:vertical;min-height:140px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--color-primary);outline:2px solid #0000}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=860px){.section{padding:68px 0}.nav{align-items:flex-start;min-height:auto;padding:18px 0}.nav-links{display:none}.mobile-cta{min-height:42px;padding:0 14px;font-size:.78rem;display:inline-flex}.hero-grid,.split,.contact-hero,.contact-grid,.thanks-layout,.footer-grid,.contact-hero-badges{grid-template-columns:1fr}.hero{padding-top:48px}.hero-media{aspect-ratio:4/3}.stats,.services-grid,.projects-grid,.values-grid{grid-template-columns:1fr}.project-gallery{grid-template-columns:repeat(2,1fr)}}
