:root{--kun-navy:#062463;--kun-navy-deep:#041744;--kun-green:#00a651;--kun-ease:cubic-bezier(.22,1,.36,1);--kun-ease-io:cubic-bezier(.65,0,.35,1)}
/* Font: Inter (the only family the React bundle declares; heavy weights do the headings) */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/inter@latest/latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/inter@latest/latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:900;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/inter@latest/latin-900-normal.woff2) format('woff2')}
:root,[data-theme=light]{--page-bg: #f6f8fb;--text: #152033;--navy: #062463;--navy-2: #0c3f89;--green: #00a651;--green-dark: #078442;--ink: #111827;--muted: #627083;--line: #dce3ed;--surface: #ffffff;--surface-2: #f9fbfe;--soft: #eef5f1;--tinted-bg: #eef5f1;--pill-bg: #eef2f8;--error-bg: #fff1f1;--error-border: #f3c2c2;--error-text: #a4232c;--shadow: 0 18px 48px rgba(16, 32, 63, .12);--shadow-soft: 0 6px 18px rgba(16, 32, 63, .06);--shadow-hover: 0 22px 50px rgba(16, 32, 63, .18);--footer-bg: #0d1627;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-pill: 999px}[data-theme=dark]{--page-bg: #0a0f1d;--text: #e6ebf4;--navy: #0a3478;--navy-2: #1a5fc0;--green: #00c264;--green-dark: #00a651;--ink: #f4f6fa;--muted: #9aa6bd;--line: #1f2738;--surface: #141a2a;--surface-2: #1b2236;--soft: #15252a;--tinted-bg: #0f1524;--pill-bg: #1b2236;--error-bg: #2a1418;--error-border: #5a2a30;--error-text: #ff8a92;--shadow: 0 18px 48px rgba(0, 0, 0, .55);--shadow-soft: 0 6px 18px rgba(0, 0, 0, .35);--shadow-hover: 0 22px 56px rgba(0, 0, 0, .6);--footer-bg: #060912}:root{color:var(--text);background:var(--page-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{background:var(--page-bg);color:var(--text);transition:background .3s ease,color .3s ease}main{animation:fadeUp .45s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.site-header{align-items:center;background:var(--navy);color:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:24px;min-height:76px;padding:0 5vw;position:sticky;top:0;z-index:20;box-shadow:0 10px 30px #06246329}.brand{align-items:center;background:transparent;border:0;color:inherit;display:inline-flex;gap:11px;padding:0;text-align:left}.brand img{display:block;height:52px;width:auto;object-fit:contain}.footer-brand img{height:56px}.brand-mark{align-items:center;background:var(--surface);color:var(--navy);display:inline-flex;font-weight:900;height:36px;justify-content:center;width:36px}.brand strong,.brand small{display:block;line-height:1.05}.brand small{color:#bccef2;font-size:12px}.desktop-nav{align-items:center;display:flex;gap:4px;justify-content:center}.desktop-nav button,.desktop-nav a,.mobile-nav button,.mobile-nav a{background:transparent;border:0;border-radius:var(--radius-sm);color:#d8e4fb;padding:10px 14px;transition:background .15s ease,color .15s ease}.desktop-nav button.active,.desktop-nav a.active,.desktop-nav button:hover,.desktop-nav a:hover,.mobile-nav button.active,.mobile-nav a.active{color:#fff;background:#ffffff1f}.header-cta,.primary-button,.ghost-button,.cta-band button,.summary-actions a{align-items:center;border:0;border-radius:var(--radius);display:inline-flex;font-weight:800;gap:8px;justify-content:center;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.header-cta:hover,.primary-button:hover,.ghost-button:hover,.cta-band button:hover,.summary-actions a:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.header-cta{background:var(--green);color:#fff;min-height:42px;padding:0 18px}.mobile-toggle{background:transparent;border:0;color:#fff;display:none;padding:8px}.mobile-nav{background:#041a49;display:none;padding:10px 5vw 18px}.mobile-nav button,.mobile-nav a{display:block;text-align:left;width:100%}.hero-section{background:var(--navy);color:#fff;display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);min-height:650px;overflow:hidden}.hero-copy{align-self:center;padding:72px 5vw 88px;position:relative;z-index:1}.hero-copy:before{background-image:radial-gradient(rgba(255,255,255,.35) 1px,transparent 1px);background-size:18px 18px;content:"";inset:0;opacity:.24;position:absolute;z-index:-1}.eyebrow{color:var(--green);font-size:12px;font-weight:900;letter-spacing:.14em;margin:0 0 12px;text-transform:uppercase}.hero-copy h1{font-size:clamp(46px,6vw,86px);line-height:.95;margin:0;max-width:760px}.hero-copy p:not(.eyebrow){color:#dce8ff;font-size:20px;line-height:1.6;max-width:690px}.hero-media{background:linear-gradient(90deg,#06246333,#0624632e),url(img/unsplash-hero.jpg) center/cover;min-height:420px;position:relative}.hero-media:before{background:var(--navy);clip-path:polygon(0 0,22% 0,0 100%);content:"";inset:0 auto 0 0;position:absolute;width:220px}.hero-actions,.center-actions,.summary-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.primary-button{background:var(--green);color:#fff;min-height:48px;padding:0 22px}.primary-button:hover,.header-cta:hover,.cta-band button:hover,.summary-actions a:hover{background:var(--green-dark)}.ghost-button{background:var(--surface);border:1px solid var(--line);color:var(--ink);min-height:48px;padding:0 22px}.ghost-button.dark{background:var(--navy);border-color:var(--navy);color:#fff}.stats-band{background:var(--green);color:#fff;display:grid;grid-template-columns:repeat(3,1fr);padding:28px 5vw}.stats-band div{border-right:1px solid rgba(255,255,255,.24);text-align:center}.stats-band div:last-child{border-right:0}.stats-band strong,.stats-band span{display:block}.stats-band strong{font-size:31px}.stats-band span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.content-section{padding:84px 5vw}.content-section.tinted{background:var(--soft)}.page-section{min-height:68vh}.section-header{margin:0 auto 42px;max-width:770px;text-align:center}.section-header h2,.split-section h2,.quote-intro h1{color:var(--ink);font-size:clamp(32px,4vw,52px);line-height:1.05;margin:0}.section-header>p:not(.eyebrow),.split-section>div>p:not(.eyebrow),.quote-intro p:not(.eyebrow){color:var(--muted);font-size:18px;line-height:1.65}.card-grid{display:grid;gap:28px;margin:0 auto;max-width:1200px}.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card,.system-card,.project-grid article,.comparison-panel,.quote-form,.quote-summary{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:background .3s ease,box-shadow .25s ease,transform .2s ease}.service-card:hover,.system-card:hover,.project-grid article:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.service-card{overflow:hidden}.service-card img{aspect-ratio:16 / 10;display:block;object-fit:cover;width:100%}.service-body{padding:26px}.icon-badge{align-items:center;background:var(--green);border-radius:var(--radius);box-shadow:0 8px 22px #00a6514d;color:#fff;display:inline-flex;height:44px;justify-content:center;margin-top:-54px;position:relative;width:44px}.service-card h3,.system-card h3,.project-grid h3,.quote-summary h3{color:var(--ink);margin:16px 0 10px}.service-card p,.system-card p,.project-grid p,.project-grid small,.quote-summary p,.comparison-grid p{color:var(--muted);line-height:1.6}.service-card ul,.system-card ul,.quote-summary ul{display:grid;gap:9px;list-style:none;margin:22px 0;padding:0}.service-card li,.system-card li{align-items:flex-start;display:flex;gap:8px}.service-card li svg,.system-card li svg{color:var(--green);flex:0 0 auto;margin-top:3px}.service-card button{align-items:center;background:transparent;border:0;color:var(--navy);display:inline-flex;font-weight:900;gap:5px;padding:0}.split-section{align-items:center;background:var(--surface);display:grid;gap:64px;grid-template-columns:minmax(0,.9fr) minmax(340px,1fr);padding:84px 5vw}.split-section img{aspect-ratio:4 / 3;box-shadow:var(--shadow);object-fit:cover;width:100%}.promise-list{display:grid;gap:16px;margin-top:28px}.promise-list span{align-items:center;color:var(--ink);display:flex;font-weight:800;gap:12px}.promise-list svg{color:var(--green)}.system-card{padding:28px}.system-topline{align-items:center;color:var(--green);display:flex;font-weight:900;gap:10px;text-transform:uppercase}.system-card strong,.system-card small{display:block}.system-card strong{color:var(--ink);margin-top:18px}.system-card small{color:var(--green-dark);font-weight:900;margin-top:10px}.project-grid{display:grid;gap:22px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;max-width:1200px}.project-grid article{border-top:5px solid var(--green);padding:24px}.project-grid span{color:#a8b4c4;font-size:34px;font-weight:900}.project-grid strong{color:var(--ink);display:block;margin-bottom:10px}.idea-list{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 auto;max-width:1000px}.idea-list article,.service-list article,.testimonial-strip{align-items:flex-start;background:var(--surface);border:1px solid var(--line);display:flex;gap:16px;padding:22px}.idea-list svg,.service-list svg,.testimonial-strip svg{color:var(--green);flex:0 0 auto}.service-list,.comparison-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin:42px auto 0;max-width:1000px}.service-list h3,.comparison-grid h4{margin:0 0 6px}.service-list p,.testimonial-strip p{color:var(--muted);line-height:1.6;margin:0}.comparison-panel{margin:42px auto 0;max-width:1100px;padding:30px}.comparison-panel h3{color:var(--ink);margin:0 0 20px}.comparison-grid article{border-top:3px solid var(--green);padding-top:14px}.testimonial-strip{margin:42px auto 0;max-width:900px}.quote-page{display:grid;gap:30px;grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr) minmax(300px,.7fr);padding:72px 5vw}.quote-intro{align-self:start;position:sticky;top:104px}.quote-benefits{display:grid;gap:12px;margin-top:24px}.quote-benefits span{align-items:center;color:var(--ink);display:flex;font-weight:800;gap:10px}.quote-benefits svg{color:var(--green)}.quote-form{padding:28px}.form-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}label{color:var(--ink);display:grid;font-weight:800;gap:8px}input,select,textarea{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);min-height:48px;outline:0;padding:0 14px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}textarea{min-height:140px;padding:14px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px #00a6511f}.quote-form>label{margin-top:18px}.submit-button{margin-top:20px;width:100%}.quote-summary{align-self:start;padding:28px}.quote-summary>svg{color:var(--green);height:34px;width:34px}.quote-summary h2{color:var(--muted);font-size:13px;letter-spacing:.1em;margin:18px 0 0;text-transform:uppercase}.quote-summary li{color:var(--muted);line-height:1.5}.ready-box{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);margin-top:22px;padding:18px}.summary-actions a{background:var(--green);color:#fff;min-height:42px;padding:0 16px}.cta-band{align-items:center;background:var(--navy);color:#fff;display:flex;justify-content:space-between;gap:24px;padding:52px 5vw}.cta-band p{color:#c6d6f6;font-weight:900;margin:0 0 8px}.cta-band h2{font-size:clamp(28px,4vw,44px);margin:0}.cta-band button{background:var(--green);color:#fff;min-height:48px;padding:0 24px}.site-footer{background:var(--footer-bg);color:#d6deec;display:grid;gap:40px;grid-template-columns:1.4fr 1fr 1fr;padding:56px 5vw}.site-footer p{color:#9aa8be;line-height:1.6;max-width:420px}.site-footer h3{color:#fff;margin-top:0}.site-footer a,.site-footer button,.site-footer span{align-items:center;background:transparent;border:0;color:#aebbd0;display:flex;gap:8px;margin:10px 0;padding:0;text-align:left}.footer-brand{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);color:#8595af;font-size:13px;grid-column:1 / -1;margin-top:12px;padding-top:20px;text-align:center}.footer-bottom span{background:transparent;color:inherit;display:inline;margin:0;padding:0}.floating-contact{bottom:24px;display:flex;flex-direction:column;gap:14px;position:fixed;right:24px;z-index:50}.floating-button{align-items:center;border-radius:50%;box-shadow:0 12px 30px #10203f47;color:#fff;display:inline-flex;height:58px;justify-content:center;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;width:58px}.floating-button:hover{box-shadow:0 16px 38px #10203f57;transform:translateY(-3px)}.floating-whatsapp{background:#25d366}.floating-whatsapp:hover{background:#1ebd5b}.floating-call{background:var(--navy)}.floating-call:hover{background:var(--navy-2)}@media(max-width:560px){.floating-contact{bottom:16px;gap:12px;right:16px}.floating-button{height:52px;width:52px}}.form-error{background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-sm);color:var(--error-text);margin-top:16px;padding:12px 14px}.admin-bar .brand{align-items:center;gap:12px}.admin-tag{background:var(--green);border-radius:var(--radius-pill);color:#fff;font-size:11px;font-weight:900;letter-spacing:.12em;padding:4px 12px;text-transform:uppercase}.admin-bar-actions{align-items:center;display:flex;gap:10px}.admin-view-site{align-items:center;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius);color:#d8e4fb;display:inline-flex;font-weight:700;min-height:38px;padding:0 14px;transition:background .15s ease}.admin-view-site:hover{background:#ffffff1a;color:#fff}.admin-signout{min-height:38px;padding:0 14px}@media(max-width:720px){.admin-bar{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:12px 14px;padding:10px 5vw}.admin-bar .brand{grid-column:1;grid-row:1}.admin-bar .admin-bar-actions{grid-column:2;grid-row:1}.admin-bar .desktop-nav{display:flex;grid-column:1 / -1;grid-row:2;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;justify-content:flex-start}.admin-bar .desktop-nav a{flex-shrink:0;font-size:14px;padding:8px 12px}.admin-view-site{display:none}.admin-bar .brand img{height:38px}.admin-tag{display:none}}.admin-auth{display:flex;justify-content:center}.admin-auth-card,.admin-setup-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:grid;gap:16px;max-width:460px;padding:34px;width:100%}.admin-auth-card h1,.admin-setup-card h1{color:var(--ink);font-size:28px;margin:0}.admin-auth-card>p,.admin-setup-card p{color:var(--muted);margin:0}.admin-setup-card code{background:var(--pill-bg);padding:2px 6px}.admin-page{max-width:1200px;margin:0 auto}.admin-header{align-items:center;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;margin-bottom:24px}.admin-header h1{color:var(--ink);font-size:clamp(28px,4vw,40px);margin:6px 0 0}.admin-header-actions{display:flex;gap:10px}.admin-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.filter-pill{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink);display:inline-flex;font-weight:700;gap:8px;padding:8px 16px;transition:background .15s ease,border-color .15s ease,color .15s ease}.filter-pill span{background:var(--pill-bg);border-radius:var(--radius-pill);color:var(--muted);font-size:12px;padding:2px 10px}.filter-pill.active{background:var(--navy);border-color:var(--navy);color:#fff}.filter-pill.active span{background:#ffffff2e;color:#fff}.admin-loading,.admin-empty{color:var(--muted);padding:30px 0;text-align:center}.admin-quote-list{display:grid;gap:18px}.admin-quote-card{background:var(--surface);border-left:5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 24px}.admin-quote-card.status-new{border-left-color:var(--green)}.admin-quote-card.status-contacted{border-left-color:#2563eb}.admin-quote-card.status-closed{border-left-color:#9aa3b2;opacity:.85}.admin-quote-card header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:14px}.admin-quote-card h3{color:var(--ink);margin:0}.admin-quote-card header small{color:var(--muted);display:block;margin-top:2px}.status-tag{background:var(--pill-bg);border-radius:var(--radius-pill);color:var(--ink);font-size:12px;font-weight:800;letter-spacing:.06em;padding:4px 12px;text-transform:uppercase}.status-tag.status-new{background:#e6f5ec;color:var(--green-dark)}.status-tag.status-contacted{background:#e2ebff;color:#1d4ed8}.status-tag.status-closed{background:var(--pill-bg);color:var(--muted)}.admin-quote-fields{display:grid;gap:12px 24px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.admin-quote-fields div.full{grid-column:1 / -1}.admin-quote-fields dt{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.08em;margin-bottom:2px;text-transform:uppercase}.admin-quote-fields dd{color:var(--ink);margin:0;word-break:break-word}.admin-quote-fields a{color:var(--navy);text-decoration:underline}.admin-quote-card footer{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.status-actions{display:flex;flex-wrap:wrap;gap:8px}.status-actions button{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font-weight:700;padding:7px 12px;transition:border-color .15s ease,color .15s ease}.status-actions button:hover{border-color:var(--navy);color:var(--navy)}.delete-button{align-items:center;background:transparent;border:1px solid var(--error-border);border-radius:var(--radius-sm);color:var(--error-text);display:inline-flex;justify-content:center;padding:8px 10px;transition:background .15s ease}.delete-button:hover{background:var(--error-bg)}@media(max-width:720px){.admin-quote-fields{grid-template-columns:1fr}}.project-image{aspect-ratio:16 / 10;display:block;margin-bottom:16px;object-fit:cover;width:100%}.admin-rows{display:grid;gap:10px}.admin-row{align-items:center;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:grid;gap:18px;grid-template-columns:88px 1fr auto;padding:12px 18px;transition:box-shadow .2s ease,transform .2s ease}.admin-row:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.admin-row-thumb{align-items:center;background:var(--pill-bg);border-radius:var(--radius-sm);color:var(--ink);display:flex;height:64px;justify-content:center;overflow:hidden;width:88px}.admin-row-thumb img{height:100%;object-fit:cover;width:100%}.admin-row-info{min-width:0}.admin-row-info h3{color:var(--ink);font-size:16px;margin:0 0 4px}.admin-row-info p{color:var(--muted);font-size:13px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-row-actions{align-items:center;display:flex;gap:8px}.admin-row-order{background:var(--pill-bg);border-radius:var(--radius-pill);color:var(--muted);font-size:12px;font-weight:800;padding:4px 12px}.admin-row-actions button{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font-weight:700;padding:7px 14px;transition:border-color .15s ease,color .15s ease}.admin-row-actions button:hover{border-color:var(--navy);color:var(--navy)}@media(max-width:720px){.admin-row{grid-template-columns:64px 1fr;row-gap:12px}.admin-row-thumb{height:50px;width:64px}.admin-row-actions{grid-column:1 / -1;justify-content:flex-end}}.admin-cms-list{display:grid;gap:20px}.admin-cms-card{background:var(--surface);box-shadow:var(--shadow);display:grid;grid-template-columns:200px 1fr}.admin-cms-card img{height:100%;object-fit:cover;width:100%}.admin-cms-card:has(:only-child){grid-template-columns:1fr}.admin-cms-body{padding:22px 24px}.admin-cms-body header{align-items:center;display:flex;gap:14px;margin-bottom:10px}.admin-cms-body header h3{color:var(--ink);flex:1;margin:0}.admin-cms-body header small{color:var(--muted)}.admin-cms-body header .icon-badge{flex:0 0 auto;height:36px;margin:0;width:36px}.admin-cms-body p{color:var(--muted);margin:0 0 10px}.admin-cms-body ul{color:var(--muted);margin:0 0 14px;padding-left:20px}.admin-cms-actions{align-items:center;border-top:1px solid var(--line);display:flex;gap:10px;margin-top:14px;padding-top:14px}.admin-cms-actions button{background:var(--surface);border:1px solid var(--line);color:var(--ink);font-weight:700;padding:7px 14px}.admin-cms-actions button:hover{border-color:var(--navy);color:var(--navy)}.admin-cms-actions .delete-button{margin-left:auto}.admin-form{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:grid;gap:16px;margin-bottom:26px;padding:28px}.admin-form h2{color:var(--ink);margin:0}.admin-form-label{color:var(--ink);font-weight:800;margin:0 0 8px}.admin-form-actions{display:flex;gap:10px;justify-content:flex-end}.image-upload{display:grid;gap:10px}.image-upload-preview{align-items:start;display:flex;gap:14px}.image-upload-preview img{aspect-ratio:16 / 10;background:var(--pill-bg);border:1px solid var(--line);max-width:320px;object-fit:cover;width:100%}.image-upload-empty{background:var(--surface-2);border:1px dashed var(--line);color:var(--muted);padding:14px;text-align:center}.image-upload-button{cursor:pointer;justify-self:start}.image-clear{background:transparent;border:1px solid #f3c2c2;color:#a4232c;padding:6px 12px}@media(max-width:720px){.admin-cms-card{grid-template-columns:1fr}.admin-cms-card img{aspect-ratio:16 / 10}}@media(max-width:1080px){.desktop-nav,.header-cta{display:none}.site-header{grid-template-columns:auto 1fr auto}.mobile-toggle{display:inline-flex;justify-self:end}.mobile-nav{display:block}.hero-section,.split-section,.quote-page{grid-template-columns:1fr}.quote-intro{position:static}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.hero-section{min-height:auto}.hero-media:before{display:none}.card-grid.three,.stats-band,.idea-list,.service-list,.comparison-grid,.form-grid,.site-footer{grid-template-columns:1fr}.stats-band div{border-bottom:1px solid rgba(255,255,255,.24);border-right:0;padding:16px 0}.stats-band div:last-child{border-bottom:0}.content-section,.split-section,.quote-page{padding:62px 5vw}.cta-band{align-items:stretch;flex-direction:column}.cta-band button{width:100%}}@media(max-width:560px){.site-header{min-height:64px;padding:0 4vw}.brand-mark{height:32px;width:32px}.brand img{height:42px}.hero-copy{padding:48px 5vw 64px}.hero-copy h1{font-size:clamp(36px,9vw,56px)}.hero-copy p:not(.eyebrow){font-size:16px}.hero-media{min-height:280px}.hero-actions .primary-button,.hero-actions .ghost-button{width:100%}.project-grid{grid-template-columns:1fr}.content-section,.split-section,.quote-page{padding:48px 4vw}.section-header h2,.split-section h2,.quote-intro h1{font-size:clamp(26px,6vw,38px)}.stats-band strong{font-size:26px}.cta-band{padding:36px 4vw}.site-footer{padding:40px 4vw}.admin-row{padding:10px 14px}.admin-row-actions{flex-wrap:wrap;gap:6px}.admin-form{padding:20px}.quote-form,.quote-summary{padding:22px}.filter-pill{font-size:13px;padding:6px 10px}}


/* ---------- motion & polish layer (reconstructed custom.css) ---------- */
html{scroll-behavior:smooth;scroll-padding-top:96px}

/* Hero: slow Ken Burns pan */
.hero-media{animation:kun-pan 32s var(--kun-ease-io) infinite alternate;will-change:background-position}
@keyframes kun-pan{0%{background-position:0% 50%}100%{background-position:100% 50%}}

/* Header: animated brand underline */
header{position:relative}
header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--kun-green),#7ee0ac,var(--kun-green));background-size:200% 100%;animation:kun-sweep 6s linear infinite;opacity:.55;pointer-events:none}

/* Nav link underline slide */
header nav a{position:relative}
header nav a::after{content:"";position:absolute;left:8%;right:8%;bottom:-6px;height:2px;background:var(--kun-green);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .32s var(--kun-ease)}
header nav a:hover::after,header nav a:focus-visible::after{transform:scaleX(1)}

/* Buttons: shine sweep + press */
body a[href*="quote"],body a[href*="wa.me"],body button[type="submit"]{position:relative;overflow:hidden;transition:transform .22s var(--kun-ease),box-shadow .22s var(--kun-ease)}
body a[href*="quote"]::after,body a[href*="wa.me"]::after,body button[type="submit"]::after{content:"";position:absolute;top:0;bottom:0;left:-80%;width:45%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);transition:left .55s var(--kun-ease);pointer-events:none}
body a[href*="quote"]:hover::after,body a[href*="wa.me"]:hover::after,body button[type="submit"]:hover::after{left:130%}
body a[href*="quote"]:hover,body a[href*="wa.me"]:hover,body button[type="submit"]:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,166,81,.32)}
body a[href*="quote"]:active,body a[href*="wa.me"]:active,body button[type="submit"]:active{transform:translateY(0) scale(.98)}

/* Card hover lift on React grids */
body .card-grid>*,body .project-grid>*{transition:transform .35s var(--kun-ease),box-shadow .35s var(--kun-ease)}
body .card-grid>*:hover,body .project-grid>*:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(6,36,99,.14)}

/* Floating action buttons: soft pulse */
body a[href*="wa.me"]{animation:kun-float 3.2s ease-in-out infinite}
@keyframes kun-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* Images: gentle zoom in their frames */
body img{transition:transform .6s var(--kun-ease),filter .6s var(--kun-ease)}
body .card-grid>*:hover img{transform:scale(1.045)}

@keyframes kun-sweep{0%{background-position:200% 0}100%{background-position:-200% 0}}

@media (prefers-reduced-motion:reduce){
  .hero-media{animation:none!important}
  header::after{animation:none}
  body a[href*="quote"],body a[href*="wa.me"],body button[type="submit"],body .card-grid>*,body .project-grid>*,body img{transition:none!important;animation:none!important}
}

/* ============================================================
   Static-site additions (garaquip motion recipe, adapted to the
   React markup) + static-page plumbing. Everything below is new.
   ============================================================ */

/* font: everything Inter, matching the bundle (no second family) */
body,button,input,select,textarea{font-family:'Inter',ui-sans-serif,system-ui,sans-serif}

/* nav ink (garaquip) */
.desktop-nav{position:relative}
#nav-ink{position:absolute;left:0;bottom:2px;height:2px;width:0;background:var(--kun-green);border-radius:2px;opacity:0;transform:translateX(0);transition:transform .38s var(--kun-ease),width .38s var(--kun-ease),opacity .2s ease;pointer-events:none}
.desktop-nav a{position:relative}

/* mobile menu open state */
.mobile-nav.open{display:block}

/* scroll reveals (garaquip) */
.ku{opacity:0;transform:translateY(18px)}
.ku.in{opacity:1;transform:translateY(0);transition:opacity .65s var(--kun-ease),transform .65s var(--kun-ease)}

/* hero copy rises in like garaquip's hero-in */
.hero-copy>*{opacity:0;transform:translateY(22px);animation:ku-rise .8s var(--kun-ease) forwards}
.hero-copy>*:nth-child(1){animation-delay:.1s}
.hero-copy>*:nth-child(2){animation-delay:.25s}
.hero-copy>*:nth-child(3){animation-delay:.4s}
.hero-copy>*:nth-child(4){animation-delay:.55s}
@keyframes ku-rise{to{opacity:1;transform:none}}

/* card hover lift (garaquip .lift, on React cards) */
.service-card,.system-card,.project-grid article,.service-list article,.quote-summary{transition:transform .3s var(--kun-ease),box-shadow .3s var(--kun-ease)}
.service-card:hover,.system-card:hover,.project-grid article:hover,.service-list article:hover,.quote-summary:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(6,36,99,.14)}

/* card CTA rows: same text, now real links */
.card-cta{align-items:center;background:transparent;border:0;color:var(--navy);display:inline-flex;font-weight:900;gap:5px;padding:0}
.card-cta:hover{color:var(--kun-green)}
.card-cta svg{transition:transform .25s var(--kun-ease)}
.card-cta:hover svg{transform:translateX(3px)}
.center-actions a.primary-button,.center-actions a.ghost-button{text-decoration:none;display:inline-flex}

/* page swap fade (garaquip) */
main{transition:opacity .16s ease,transform .16s ease}
main.leaving{opacity:0;transform:translateY(6px)}

@media (prefers-reduced-motion:reduce){
  #nav-ink{transition:opacity .2s ease}
  main,main.leaving{transition:none!important;transform:none!important;opacity:1!important}
  .ku{opacity:1;transform:none}
  .hero-copy>*{opacity:1;transform:none;animation:none!important}
  .service-card,.system-card,.project-grid article,.service-list article,.quote-summary{transition:none}
}

/* header shadow on scroll (garaquip) */
header{transition:box-shadow .3s ease}
header.scrolled{box-shadow:0 14px 34px rgba(4,23,68,.35)}

/* static-site: menu is always in DOM, so hide it until toggled (React rendered it on demand).
   Fixed under the sticky header so it stays visible at any scroll position. */
.mobile-nav{display:none;position:fixed;top:76px;left:0;right:0;z-index:19;box-shadow:0 18px 30px rgba(4,23,68,.3)}
.mobile-nav.open{display:block;animation:menuDrop .3s var(--kun-ease)}
@keyframes menuDrop{from{opacity:0;transform:translateY(-10px)}}
@media(max-width:560px){.mobile-nav{top:64px}}
@media (prefers-reduced-motion:reduce){.mobile-nav.open{animation:none}}
