:root{--ink:#1e2b31;--paper:#f5f1e8;--water:#3e7fa6;--paver:#c99a63;--concrete:#9ba39c;--rust:#9a4a2a;--surface:#fff;--surface-dim:#ece7da;--font-display:"Big Shoulders Display", sans-serif;--font-body:"Public Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace;--radius:6px;--max-width:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;margin:0;font-weight:700;line-height:.95}p{margin:0;line-height:1.55}a{color:inherit}button{font-family:var(--font-body);cursor:pointer}img{max-width:100%;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--water);font-size:12px}.btn{border-radius:var(--radius);font-family:var(--font-body);border:none;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex}.btn:focus-visible{outline:3px solid var(--water);outline-offset:2px}.btn-primary{background:var(--rust);color:var(--paper)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #9a4a2a4d}.btn-ghost{color:var(--ink);border:1.5px solid var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--paper)}section{padding:88px 0}@media (width<=720px){section{padding:56px 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.gallery{width:100%}.gal-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.gal-item{flex-direction:column;gap:8px;display:flex}.gal-compare{aspect-ratio:4/3;background:var(--surface-dim);cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid var(--concrete);border-radius:10px;width:100%;position:relative;overflow:hidden}.gal-img{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.gal-before-wrap{pointer-events:none;position:absolute;inset:0;overflow:hidden}.gal-handle{background:var(--paper);pointer-events:none;width:3px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.gal-handle-grip{background:var(--paper);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 10px #00000040}.gal-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;pointer-events:none;border-radius:3px;padding:4px 10px;font-size:11px;position:absolute;bottom:10px}.gal-label-before{color:var(--paper);background:#1e2b31bf;left:10px}.gal-label-after{background:var(--rust);color:var(--paper);right:10px}.gal-caption{color:#45514b;text-align:center;font-size:13px}.gal-splits{grid-template-columns:repeat(4,1fr);gap:20px;margin-top:20px;display:grid}.gal-split-item{margin:0}.gal-split-img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--concrete);border-radius:10px;width:100%}.gal-split-item .gal-caption{margin-top:8px}@media (width<=900px){.gal-splits{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.gal-grid,.gal-splits{grid-template-columns:1fr}}.nav{z-index:20;background:var(--paper);border-bottom:1px solid var(--surface-dim);position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;padding-top:16px;padding-bottom:16px;display:flex}.nav-logo{font-family:var(--font-display);letter-spacing:.02em;color:var(--ink);font-size:18px;font-weight:800;text-decoration:none}.nav-logo span{color:var(--rust)}.nav-links{align-items:center;gap:28px;font-size:14px;font-weight:600;display:flex}.nav-links a{color:var(--ink);text-decoration:none}.nav-links a:not(.nav-cta):hover{color:var(--water)}.nav-cta{padding:10px 20px;font-size:13px}.hero{padding-top:64px}.hero-inner{grid-template-columns:1fr 1fr;align-items:center;gap:56px;display:grid}.hero-title{margin-top:12px;font-size:clamp(40px,5.5vw,68px)}.hero-sub{color:#45514b;max-width:46ch;margin-top:20px;font-size:17px}.hero-cta{margin-top:32px}@media (width<=900px){.hero-inner{grid-template-columns:1fr;gap:40px}}.section-title{margin-top:10px;margin-bottom:40px;font-size:clamp(30px,4vw,44px)}.services-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.service-card{background:var(--surface);border:1px solid var(--surface-dim);border-radius:var(--radius);padding:24px 20px}.service-title{font-family:var(--font-display);text-transform:none;margin-bottom:10px;font-size:20px}.service-desc{color:#45514b;font-size:14px}@media (width<=900px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.services-grid{grid-template-columns:1fr}}.how{background:var(--ink);color:var(--paper)}.how .eyebrow{color:var(--paver)}.how-buttons{flex-wrap:wrap;gap:10px;margin-bottom:32px;display:flex}.how-btn{color:var(--paper);background:0 0;border:1.5px solid #3a4750;border-radius:999px;align-items:center;gap:10px;padding:12px 18px;font-size:14px;font-weight:600;transition:border-color .15s,background .15s;display:flex}.how-btn:hover{border-color:var(--paver)}.how-btn.active{background:var(--paver);border-color:var(--paver);color:var(--ink)}.how-num{font-family:var(--font-mono);opacity:.7;font-size:12px}.how-detail{grid-template-columns:1fr 1fr;align-items:center;gap:40px;display:grid}.how-detail-title{font-family:var(--font-display);text-transform:none;margin-bottom:14px;font-size:30px}.how-detail-desc{color:#c7cdc9;max-width:42ch;font-size:15px}.how-detail-media{aspect-ratio:4/3;background:#263239;border-radius:10px;overflow:hidden}.how-detail-img{object-fit:cover;width:100%;height:100%}.how-detail-placeholder{color:#6b7570;width:100%;height:100%;font-size:13px;font-family:var(--font-mono);justify-content:center;align-items:center;display:flex}@media (width<=900px){.how-detail{grid-template-columns:1fr}.how-detail-media{order:-1}}.why-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.why-card{border-top:3px solid var(--rust);padding-top:16px}.why-title{font-family:var(--font-display);text-transform:none;margin-bottom:10px;font-size:20px}.why-body{color:#45514b;font-size:14px}@media (width<=900px){.why-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.why-grid{grid-template-columns:1fr}}.areas-list{grid-template-columns:repeat(4,1fr);gap:12px 24px;margin:0;padding:0;list-style:none;display:grid}.areas-list li{font-family:var(--font-mono);border-bottom:1px solid var(--surface-dim);padding:10px 0;font-size:14px}.areas-note{color:#6b7570;margin-top:24px;font-size:14px}@media (width<=700px){.areas-list{grid-template-columns:repeat(2,1fr)}}.contact{background:var(--surface-dim)}.contact-inner{grid-template-columns:1fr 1fr;align-items:start;gap:56px;display:grid}.contact-sub{color:#45514b;max-width:40ch;margin-top:16px;font-size:16px}.contact-form{flex-direction:column;gap:16px;display:flex}.contact-form label{font-size:13px;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:6px;display:flex}.contact-form input,.contact-form textarea{font-family:var(--font-body);border-radius:var(--radius);border:1.5px solid var(--concrete);background:var(--surface);resize:vertical;padding:12px 14px;font-size:15px}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:3px solid var(--water);outline-offset:1px}.contact-form button{align-self:flex-start;margin-top:4px}.contact-sent{min-height:200px;color:var(--ink);background:var(--surface);border-radius:var(--radius);border:1.5px solid var(--concrete);text-align:center;justify-content:center;align-items:center;padding:24px;font-size:18px;font-weight:600;display:flex}.contact-error{color:var(--rust);margin-top:-6px;font-size:13px}@media (width<=900px){.contact-inner{grid-template-columns:1fr}}.footer{background:var(--ink);color:var(--paper);padding:32px 0}.footer-inner{color:#9aa39c;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.footer-logo{font-size:15px}
