:root{color:#18212c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8faf7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}#root{min-height:100vh}.site-shell{--trim:#4169e1;--trim-hover:#2f52c9;--green:#97bc62;color:#18212c;background:#f8faf7;min-height:100vh}.site-header{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8faf7eb;border-bottom:1px solid #18212c1a;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:24px;width:min(1160px,100% - 40px);min-height:72px;margin:0 auto;display:flex}.brand,.nav-links a,.button{color:inherit;text-decoration:none}.brand{letter-spacing:0;align-items:center;gap:12px;font-weight:800;display:inline-flex}.brand-mark{color:#f8faf7;background:var(--trim);border-radius:50%;place-items:center;width:42px;height:42px;font-size:.8rem;display:grid}.nav-links{color:#4c5b68;align-items:center;gap:22px;font-size:.95rem;font-weight:650;display:flex}.nav-links a:hover{color:var(--trim)}.hero-section,.section,.contact-section,.footer{width:min(1160px,100% - 40px);margin:0 auto}.hero-section{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);align-items:center;gap:56px;min-height:calc(100vh - 72px);padding:64px 0 80px;display:grid}.hero-copy{max-width:720px}.eyebrow{color:var(--green);letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;font-size:.78rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;max-width:820px;margin-bottom:24px;font-size:clamp(2.8rem,7vw,5.65rem);line-height:.94}h2{letter-spacing:0;margin-bottom:0;font-size:clamp(2rem,4vw,3.5rem);line-height:1}h3{margin-bottom:10px;font-size:1.2rem;line-height:1.2}.hero-lede,.section-heading p,.service-card p,.portfolio-card p,.about-section>p,.contact-copy p,.footer{color:#536170}.hero-lede{max-width:640px;margin-bottom:32px;font-size:clamp(1.05rem,2vw,1.25rem)}.hero-actions{flex-wrap:wrap;gap:14px;display:flex}.button,.contact-form button{min-height:50px;font:inherit;cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0 22px;font-weight:800;display:inline-flex}.contact-form button{border-radius:999px;justify-self:center;min-width:170px;height:38px;min-height:38px;margin-top:4px;padding:0 22px;line-height:1;box-shadow:0 10px 22px #4169e138}.button-primary,.contact-form button{color:#fff;background:var(--trim)}.button-primary:hover,.contact-form button:hover{background:var(--trim-hover)}.button-secondary{color:var(--trim);background:#e5eee5}.button-secondary:hover{background:#d9e7d9}.hero-visual{min-height:520px;position:relative}.photo-frame{background:#dce6e1;border:10px solid #fff;border-radius:8px;overflow:hidden;box-shadow:0 24px 70px #1926342e}.photo-frame-large{position:absolute;inset:18px 0 44px 26px;transform:rotate(2deg)}.frame-image{object-fit:cover;width:100%;height:100%;min-height:460px;display:block}.aerial-scene{background:linear-gradient(110deg, transparent 0 45%, #ffffff8c 45% 48%, transparent 48%), linear-gradient(28deg, #21485e9e 0 20%, transparent 20%), linear-gradient(150deg, var(--green) 0 35%, #d9d3b7 35% 48%, var(--green) 48% 72%, #b6c7d2 72%);min-height:100%}.hero-scene{height:100%;min-height:460px}.brand-device{filter:drop-shadow(0 22px 30px #4169e133);width:min(46%,260px);position:absolute;bottom:-44px;right:-8px}.section{padding:92px 0}.section-heading{max-width:760px;margin-bottom:34px}.section-heading-split{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:end;gap:32px;max-width:none;display:grid}.section-contrast{background:#edf2ec;width:100%;padding-left:max(20px,50% - 580px);padding-right:max(20px,50% - 580px)}.service-grid,.portfolio-grid{gap:18px;display:grid}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card,.portfolio-card,.contact-form{background:#fff;border:1px solid #18212c1a;border-radius:8px}.service-card{padding:28px}.portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.view-more-link{color:var(--trim);margin-top:28px;font-weight:800;text-decoration:none;display:inline-flex}.view-more-link:hover{text-underline-offset:5px;text-decoration:underline}.back-link{color:var(--trim);margin-bottom:28px;font-weight:800;text-decoration:none;display:inline-flex}.back-link:hover{text-underline-offset:5px;text-decoration:underline}.portfolio-card{overflow:hidden}.portfolio-image-button{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.portfolio-image{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .25s,filter .25s;display:block}.portfolio-image-button:hover .portfolio-image{filter:saturate(1.05)contrast(1.02);transform:scale(1.045)}.portfolio-card,.expanded-portfolio-card{transition:box-shadow .25s,transform .25s}.portfolio-card:hover,.expanded-portfolio-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px #19263429}.portfolio-page-hero,.portfolio-page-section{width:min(1160px,100% - 40px);margin:0 auto}.portfolio-page-hero{padding:84px 0 54px}.portfolio-page-hero h1{max-width:980px;margin-bottom:0;font-size:clamp(2.4rem,5vw,4.8rem)}.portfolio-page-section{padding:56px 0}.expanded-portfolio-grid,.portfolio-video-grid{gap:18px;display:grid}.expanded-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expanded-portfolio-card,.portfolio-video-card{background:#fff;border:1px solid #18212c1a;border-radius:8px;overflow:hidden}.portfolio-image-button-expanded .portfolio-image{aspect-ratio:16/10}.image-lightbox{z-index:100;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.lightbox-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:zoom-out;background:#080c14b8;border:0;position:absolute;inset:0}.lightbox-panel{z-index:1;width:min(100%,1080px);position:relative}.lightbox-panel img,.lightbox-panel video{object-fit:contain;background:#fff;border:10px solid #fff;border-radius:14px;width:100%;max-height:82vh;display:block;box-shadow:0 32px 90px #0000006b}.lightbox-close{color:#fff;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800;position:absolute;top:-46px;right:0}.lightbox-close:hover{text-underline-offset:4px;text-decoration:underline}.video-section{padding-bottom:96px}.portfolio-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-video-card{transition:box-shadow .25s,transform .25s}.portfolio-video-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px #19263429}.portfolio-video-button{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.portfolio-video-card video{aspect-ratio:16/9;object-fit:cover;width:100%;transition:transform .25s,filter .25s;display:block}.portfolio-video-button:hover video{filter:saturate(1.05)contrast(1.02);transform:scale(1.035)}.lightbox-panel video{aspect-ratio:16/10;object-fit:contain}.about-section{grid-template-columns:minmax(0,.95fr) minmax(300px,.75fr);align-items:start;gap:44px;display:grid}.about-section>p{margin-bottom:0;font-size:1.08rem}.contact-section{border-top:1px solid #18212c1a;grid-template-columns:minmax(0,.82fr) minmax(320px,.72fr);align-items:center;gap:48px;padding:86px 0;display:grid}.contact-copy p{max-width:520px;margin-top:20px;font-size:1.08rem}.contact-portrait{aspect-ratio:4/5;object-fit:cover;border:10px solid #fff;border-radius:8px;width:min(100%,430px);margin:28px auto 0;display:block;box-shadow:0 20px 60px #1926341f}.contact-form{background:linear-gradient(#fff 0%,#fbfcfb 100%);border:1px solid #4169e124;border-radius:18px;align-content:start;align-self:center;gap:8px;width:100%;max-width:520px;padding:18px;display:grid;box-shadow:0 18px 50px #1926341a}.form-field{flex-direction:column;gap:3px;display:flex}.form-field label{color:#344250;font-size:.82rem;font-weight:800;line-height:1}.contact-form input,.contact-form textarea{color:#18212c;width:100%;font:inherit;background:#f8faf7;border:1px solid #18212c1f;border-radius:10px;outline:none;padding:9px 11px;transition:border-color .2s,box-shadow .2s,background-color .2s}.contact-form input:focus,.contact-form textarea:focus{background:#fff;border-color:#4169e18c;box-shadow:0 0 0 4px #4169e11a}.contact-form textarea{resize:vertical;min-height:96px}.footer{border-top:1px solid #18212c1a;justify-content:space-between;gap:20px;padding:26px 0;font-size:.95rem;display:flex}.footer span:first-child{color:#18212c;font-weight:800}@media (width<=900px){.nav{min-height:64px}.hero-section,.service-grid,.portfolio-grid,.expanded-portfolio-grid,.portfolio-video-grid,.about-section,.contact-section,.section-heading-split{grid-template-columns:1fr}.hero-section{min-height:auto;padding-top:44px}.hero-visual{min-height:440px}.photo-frame-large{inset:0 0 42px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.nav,.hero-section,.section,.contact-section,.portfolio-page-hero,.portfolio-page-section,.footer{width:min(100% - 28px,1160px)}.nav{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 0}.nav-links{justify-content:space-between;gap:12px;width:100%;font-size:.88rem}.hero-section{padding-bottom:56px}.hero-visual{min-height:340px}.hero-scene{min-height:320px}.brand-device{width:190px;bottom:-30px}.portfolio-grid{grid-template-columns:1fr}.section,.contact-section{padding:64px 0}.footer{flex-direction:column}}
