:root {
  --sinag-green: #145c46;
  --sinag-deep: #0b3f31;
  --sinag-leaf: #23775d;
  --sinag-mint: #e8f4ef;
  --sinag-gold: #e4ad3d;
  --sinag-gold-soft: #fff4db;
  --ink: #13221d;
  --muted: #62736c;
  --line: #dce7e2;
  --canvas: #f5f8f6;
  --white: #fff;
  --shadow: 0 24px 70px rgba(8, 48, 36, .10);
  --shadow-sm: 0 12px 35px rgba(8, 48, 36, .07);
  --radius-xl: 28px;
  --radius-lg: 20px;
  --radius: 14px;
}

* {
  box-sizing: border-box
}

html {
  scroll-behavior: smooth
}

body {
  background: var(--canvas);
  color: var(--ink);
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  overflow-x: hidden
}

/* 2026 public service redesign */
.skip-link{position:fixed;left:1rem;top:-80px;z-index:2000;background:#fff;color:var(--sinag-deep);padding:.75rem 1rem;border-radius:10px;font-weight:800;box-shadow:var(--shadow);transition:top .2s}.skip-link:focus{top:1rem}
.service-bar{background:var(--sinag-deep);color:#d8ebe4;font-size:.73rem;padding:.42rem 0}.service-bar a{color:#fff;text-decoration:none;font-weight:700}.site-nav{top:0}.nav-scrolled{box-shadow:0 10px 35px rgba(6,42,32,.1)}
.resources-menu{min-width:300px}.resources-menu .dropdown-item{display:flex;gap:.8rem;align-items:center}.dropdown-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:10px;background:var(--sinag-mint);color:var(--sinag-green)}.resources-menu small{display:block;color:var(--muted);font-size:.7rem;margin-top:1px}
.citizen-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 10%,rgba(255,203,94,.22),transparent 22%),linear-gradient(130deg,#083d2f 0%,#0d5b46 55%,#178064 100%);color:#fff;padding:94px 0 120px}.citizen-hero:after{content:"";position:absolute;inset:auto -10% -340px;width:720px;height:720px;border:1px solid rgba(255,255,255,.09);border-radius:50%}.citizen-hero h1{font-size:clamp(3.25rem,7vw,6.3rem);line-height:.91;letter-spacing:-.065em;max-width:820px;margin:1.25rem 0 1.6rem}.citizen-hero h1 span{color:#f3c45b}.citizen-hero .hero-copy{font-size:1.14rem;max-width:660px}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}.btn-hero-secondary{color:#fff;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08)}.btn-hero-secondary:hover{color:var(--sinag-deep);background:#fff}.hero-assurance{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:2rem;color:#cbe0d8;font-size:.82rem;font-weight:650}.hero-assurance i{color:#f3c45b;margin-right:.3rem}
.service-preview{position:relative;background:#fff;color:var(--ink);border-radius:28px;padding:10px;box-shadow:0 42px 100px rgba(0,20,14,.38);transform:rotate(1.5deg)}.preview-top{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;font-size:.77rem;font-weight:800;color:var(--sinag-deep)}.status-dot{color:#187554;background:#e8f5ef;padding:.28rem .58rem;border-radius:999px}.status-dot:before{content:"";display:inline-block;width:7px;height:7px;background:#28a66f;border-radius:50%;margin-right:5px}.preview-body{border-radius:21px;background:linear-gradient(145deg,#f7faf8,#edf5f1);padding:38px 32px;text-align:center}.preview-icon{width:70px;height:70px;margin:0 auto 18px;display:grid;place-items:center;border-radius:20px;background:var(--sinag-green);color:#fff;font-size:1.7rem;box-shadow:0 14px 30px rgba(20,92,70,.22)}.preview-label{font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em;color:var(--sinag-green)}.preview-body h2{font-size:1.7rem;margin:.55rem 0}.preview-body p{font-size:.83rem;color:var(--muted)}.preview-steps{display:grid;grid-template-columns:32px 1fr 32px 1fr 32px;align-items:center;margin-top:30px}.preview-steps span:nth-child(even){height:2px;background:#cbded6}.preview-steps span:nth-child(odd){width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:2px solid #bdd4ca;color:var(--sinag-green)}.preview-steps .done{background:var(--sinag-green)!important;color:#fff!important;border-color:var(--sinag-green)!important}.preview-step-labels{display:flex;justify-content:space-between;margin-top:7px;font-size:.68rem;color:var(--muted);font-weight:750}
.quick-service{margin-top:-52px;position:relative;z-index:4}.quick-service-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:center;padding:28px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 65px rgba(8,48,36,.14)}.quick-service-card h2{font-size:1.65rem;margin:.45rem 0 .2rem}.quick-service-card p{color:var(--muted);margin:0}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-action{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;color:var(--ink);text-decoration:none;padding:15px;border:1px solid var(--line);border-radius:16px}.quick-action:hover{transform:translateY(-3px);border-color:#a9cabc;color:var(--sinag-deep);box-shadow:var(--shadow-sm)}.quick-action.primary{background:var(--sinag-green);border-color:var(--sinag-green);color:#fff}.quick-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:var(--sinag-mint);color:var(--sinag-green);font-size:1.15rem}.quick-action.primary .quick-icon{background:rgba(255,255,255,.15);color:#fff}.quick-action small{display:block;opacity:.7;font-size:.72rem;margin-top:2px}
.section-heading{max-width:720px;margin:0 auto 46px}.section-heading h2{font-size:clamp(2rem,4vw,3.4rem);margin:.65rem 0 1rem}.section-heading p{color:var(--muted);font-size:1.02rem}.journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.journey-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px;overflow:hidden}.journey-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--sinag-green);transform:scaleX(0);transform-origin:left;transition:transform .3s}.journey-card:hover:after{transform:scaleX(1)}.journey-no{position:absolute;right:18px;top:14px;font-family:'Manrope';font-size:2.3rem;font-weight:850;color:#e8efec}.journey-icon{width:48px;height:48px;display:grid;place-items:center;background:var(--sinag-mint);color:var(--sinag-green);border-radius:14px;font-size:1.15rem}.journey-card h3{font-size:1rem;margin:1.15rem 0 .45rem}.journey-card p{font-size:.85rem;color:var(--muted);line-height:1.6;margin:0}.text-link{color:var(--sinag-green);font-weight:800;text-decoration:none}.text-link:hover{color:var(--sinag-deep)}
.community-photo{position:relative;border-radius:28px;overflow:hidden;min-height:480px;box-shadow:var(--shadow)}.community-photo>img{width:100%;height:100%;position:absolute;object-fit:cover}.photo-badge{position:absolute;left:20px;right:20px;bottom:20px;display:flex;gap:13px;align-items:center;background:rgba(7,47,35,.9);color:#fff;padding:16px;border-radius:16px;backdrop-filter:blur(12px)}.photo-badge>i{font-size:1.5rem;color:#f3c45b}.photo-badge small{display:block;color:#cce1d9}.benefit-list{display:grid;gap:10px;margin-top:25px}.benefit-list>div{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px 15px;font-weight:700}.benefit-list i{color:var(--sinag-green);font-size:1.05rem}.closing-wrap{padding-top:80px;padding-bottom:20px}.closing-cta{display:flex;justify-content:space-between;gap:30px;align-items:center;background:linear-gradient(130deg,#0a4434,#12684f);color:#fff;border-radius:28px;padding:42px}.closing-cta .eyebrow{color:#f3c45b}.closing-cta h2{font-size:clamp(1.8rem,4vw,3rem);margin:.55rem 0}.closing-cta p{color:#cae0d7;margin:0}
.footer-muted,.footer-copy{color:#9fb1aa}.footer-copy{max-width:480px}.mobile-service-nav{position:fixed;z-index:1080;left:10px;right:10px;bottom:10px;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.96);border:1px solid var(--line);box-shadow:0 16px 45px rgba(5,34,25,.22);border-radius:17px;padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));backdrop-filter:blur(16px)}.mobile-service-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;color:#687a72;text-decoration:none;border-radius:11px;padding:7px 4px;font-size:.65rem;font-weight:750}.mobile-service-nav i{font-size:1.15rem}.mobile-service-nav a.active{background:var(--sinag-mint);color:var(--sinag-green)}
@media(max-width:991.98px){.service-bar{display:none}.site-nav .navbar-collapse{padding:12px 0 18px}.site-nav .nav-link{padding:.75rem!important}.citizen-hero{padding:72px 0 100px}.citizen-hero h1{font-size:clamp(3.2rem,12vw,5.2rem)}.service-preview{max-width:520px;margin:auto;transform:none}.quick-service-card{grid-template-columns:1fr}.journey-grid{grid-template-columns:repeat(2,1fr)}.closing-cta{align-items:flex-start;flex-direction:column}.site-footer{padding-bottom:76px}}
@media(max-width:575.98px){.site-nav{min-height:68px}.brand-mark{width:38px;height:38px}.citizen-hero{padding:54px 0 86px}.citizen-hero h1{font-size:3.25rem}.citizen-hero .hero-copy{font-size:1rem;line-height:1.65}.hero-actions{display:grid}.hero-actions .btn{width:100%}.hero-assurance{gap:.65rem 1rem}.service-preview{display:none}.quick-service{margin-top:-36px}.quick-service-card{padding:18px;gap:18px}.quick-actions{grid-template-columns:1fr}.section-pad{padding:64px 0}.journey-grid{grid-template-columns:1fr}.community-photo{min-height:390px}.closing-wrap{padding-top:55px}.closing-cta{padding:28px 22px;border-radius:22px}.page-head{padding:44px 0 38px}.page-head h1{font-size:2.5rem}body{padding-bottom:76px}.site-footer{margin-top:50px}}

/* Transaction pages */
#requestForm{overflow:hidden;box-shadow:0 18px 55px rgba(8,48,36,.08)}
#requestForm h2{display:flex;align-items:center;gap:.7rem;font-size:1.08rem;color:var(--sinag-deep)}
#requestForm h2:before{content:"";width:7px;height:27px;border-radius:99px;background:linear-gradient(var(--sinag-gold),var(--sinag-green))}
#requestForm hr{border-color:var(--line);opacity:1}
#requestForm .privacy{background:#f2f8f5!important;border-color:#d7e8e0!important;color:#41584f}
#requestForm .btn[type="submit"]{min-width:220px}
.camera-stage{background:#081a14;border-radius:18px;overflow:hidden;position:relative;min-height:380px;display:grid;place-items:center}.camera-stage video,.camera-stage img{width:100%;max-height:70vh;object-fit:contain}.face-guide{position:absolute;width:min(56%,300px);aspect-ratio:3/4;border:3px solid rgba(255,255,255,.8);border-radius:48%;box-shadow:0 0 0 999px rgba(0,0,0,.3);pointer-events:none}.camera-help{font-size:.78rem;color:var(--muted)}
main>.surface,main form.surface{border-color:#d7e5df}.font-monospace{letter-spacing:.08em}
.progress{background:#e5eee9;border-radius:999px}.progress-bar{border-radius:999px}
@media(max-width:767.98px){.chain-arrow{display:none}#requestForm>.p-4{padding:1.25rem!important}#requestForm .col-12.d-grid .btn{width:100%}.camera-stage{min-height:300px}.modal-footer{display:grid;grid-template-columns:1fr 1fr}.modal-footer .btn{margin:0!important}.modal-footer .btn:last-child{grid-column:1/-1}}

/* Platform-focused public site */
.platform-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 5%,rgba(238,183,67,.2),transparent 25%),linear-gradient(130deg,#093c2f,#155c45 56%,#22765d);color:#fff;padding:94px 0 112px}.platform-hero .container{position:relative;z-index:2}.platform-hero h1{font-size:clamp(3.2rem,7vw,6.35rem);line-height:.92;letter-spacing:-.065em;max-width:850px;margin:1.25rem 0 1.6rem}.platform-hero h1 span{color:#f3c45b}.hero-orb{position:absolute;border:1px solid rgba(255,255,255,.09);border-radius:50%;animation:orb-drift 9s ease-in-out infinite}.hero-orb-one{width:560px;height:560px;right:-170px;top:-230px}.hero-orb-two{width:340px;height:340px;left:42%;bottom:-270px;animation-delay:-3s}
.dashboard-mockup{background:#f8fbf9;border:1px solid rgba(255,255,255,.3);border-radius:25px;padding:9px;box-shadow:0 42px 100px rgba(0,25,17,.38);transform:perspective(1200px) rotateY(-4deg) rotateX(2deg)}.mockup-bar{height:58px;background:#fff;border-radius:18px 18px 0 0;display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:var(--sinag-deep)}.mockup-brand{font-weight:850}.mockup-brand span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--sinag-green);color:#fff;margin-right:7px}.mockup-user{font-size:1.35rem;color:#92a79f}.mockup-body{display:grid;grid-template-columns:58px 1fr;min-height:430px}.mockup-sidebar{background:#0d4938;border-radius:0 0 0 18px;padding:17px 9px;display:flex;flex-direction:column;gap:9px}.mockup-sidebar span{height:40px;display:grid;place-items:center;color:#a9c9bd;border-radius:10px}.mockup-sidebar span.active{background:#f2bd4c;color:#183a2e}.mockup-content{padding:23px 20px;color:var(--ink)}.mockup-greeting small,.mockup-greeting strong{display:block}.mockup-greeting small{font-size:.68rem;color:var(--muted)}.mockup-greeting strong{font-size:1.15rem}.mockup-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.mockup-stats>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px}.mockup-stats i{color:var(--sinag-green);font-size:.78rem}.mockup-stats strong,.mockup-stats small{display:block}.mockup-stats strong{font-size:1rem;margin-top:5px}.mockup-stats small{font-size:.56rem;color:var(--muted)}.mockup-chart{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.chart-head{display:flex;justify-content:space-between;font-size:.67rem}.chart-head span{color:var(--muted)}.chart-bars{height:128px;display:flex;align-items:flex-end;gap:8px;padding-top:15px}.chart-bars i{flex:1;background:linear-gradient(#3a9b79,#155c45);border-radius:5px 5px 2px 2px;transform-origin:bottom;animation:bar-rise .8s both}.mockup-list{display:grid;gap:7px;margin-top:13px}.mockup-list span{height:9px;background:#e2ebe7;border-radius:99px}.mockup-list span:nth-child(2){width:80%}.mockup-list span:nth-child(3){width:62%}
.client-strip{background:#fff;border-bottom:1px solid var(--line);padding:30px 0}.client-heading{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-bottom:18px}.client-heading span{font-weight:850;color:var(--sinag-deep)}.client-heading small{color:var(--muted)}.client-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.client-logo{display:flex;align-items:center;gap:9px;min-width:0;padding:12px;border:1px dashed #c7d9d1;border-radius:13px;color:#768b82;background:#fafcfb}.client-logo>span{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#edf4f1;color:#779b8c}.client-logo strong,.client-logo small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-logo strong{font-size:.7rem}.client-logo small{font-size:.56rem}
.platform-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.pillar-card{padding:25px}.pillar-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:var(--sinag-mint);color:var(--sinag-green);font-size:1.15rem}.pillar-card h3{font-size:1.03rem;margin:1rem 0 .5rem}.pillar-card p{font-size:.86rem;line-height:1.62;color:var(--muted);margin:0}.module-showcase{background:#edf5f1}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.module-tile{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:13px;background:#fff;color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:17px;padding:17px}.module-tile>span{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:var(--sinag-mint);color:var(--sinag-green)}.module-tile h3{font-size:.94rem;margin:0 0 3px}.module-tile p{font-size:.72rem;color:var(--muted);line-height:1.45;margin:0}.module-tile>i{color:#9ab0a7;transition:transform .2s}.module-tile:hover{transform:translateY(-4px);border-color:#a9c9bb;color:var(--sinag-deep);box-shadow:var(--shadow-sm)}.module-tile:hover>i{transform:translateX(4px);color:var(--sinag-green)}
.app-photo-stack{position:relative;padding:0 35px 35px 0}.app-photo-stack .primary{height:520px}.app-stat-card{position:absolute;right:0;bottom:0;max-width:290px;display:flex;gap:13px;align-items:center;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:17px;padding:16px}.app-stat-card>i{width:45px;height:45px;display:grid;place-items:center;border-radius:12px;background:var(--sinag-green);color:#fff}.app-stat-card strong,.app-stat-card small{display:block}.app-stat-card small{color:var(--muted);font-size:.7rem}.eservice-section{padding-top:20px}.eservice-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:40px;box-shadow:var(--shadow-sm)}.eservice-card h2{font-size:clamp(2rem,4vw,3.1rem);margin:.7rem 0}.eservice-card p{color:var(--muted);line-height:1.7}.eservice-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center}.eservice-flow span{aspect-ratio:1;display:grid;place-items:center;text-align:center;border-radius:22px;background:var(--sinag-mint);color:var(--sinag-green);font-size:1.5rem}.eservice-flow small{display:block;font-size:.63rem;font-weight:800}.eservice-flow>i{color:#9db2a9}
.reveal-left,.reveal-right,.scale-in{opacity:0;transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}.reveal-left{transform:translateX(-35px)}.reveal-right{transform:translateX(35px)}.scale-in{transform:scale(.94)}.reveal-left.is-visible,.reveal-right.is-visible,.scale-in.is-visible{opacity:1;transform:none}.float-gentle{animation:float-gentle 5s ease-in-out infinite}
@keyframes float-gentle{50%{transform:perspective(1200px) rotateY(-2deg) rotateX(1deg) translateY(-8px)}}@keyframes orb-drift{50%{transform:translate(15px,18px) scale(1.04)}}@keyframes bar-rise{from{transform:scaleY(0);opacity:.2}to{transform:scaleY(1);opacity:1}}

/* Modules catalog */
.module-nav-wrap{position:sticky;top:78px;z-index:20;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.module-anchor-nav{display:flex;gap:6px;overflow-x:auto;padding:11px 0;scrollbar-width:none}.module-anchor-nav::-webkit-scrollbar{display:none}.module-anchor-nav a{white-space:nowrap;text-decoration:none;color:#53675f;font-size:.76rem;font-weight:800;padding:.55rem .75rem;border-radius:9px}.module-anchor-nav a:hover{background:var(--sinag-mint);color:var(--sinag-green)}.module-group{scroll-margin-top:135px}.module-group:nth-of-type(even){background:#edf5f1}.module-group-index{display:block;font-family:'Manrope';font-size:3rem;line-height:1;color:#d5e4de;font-weight:850}.module-group h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:.6rem 0}.module-group .col-lg-4>p{color:var(--muted);line-height:1.7}.module-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.module-detail-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:21px}.module-detail-title{display:flex;align-items:center;gap:12px}.module-detail-title span{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:var(--sinag-mint);color:var(--sinag-green)}.module-detail-title h3{font-size:.98rem;margin:0}.module-detail-card ul{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}.module-detail-card li{display:flex;gap:8px;color:var(--muted);font-size:.78rem}.module-detail-card li i{color:#44a47d;margin-top:.18rem}

/* Expanded feature and quotation pages */
.feature-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.feature-story{padding:25px}.feature-story-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:var(--sinag-mint);color:var(--sinag-green);font-size:1.2rem}.feature-story h2{font-size:1.08rem;margin:1rem 0 .55rem}.feature-story p{font-size:.84rem;line-height:1.65;color:var(--muted)}.feature-story ul{list-style:none;padding:0;margin:15px 0 0;display:grid;gap:7px}.feature-story li{font-size:.77rem;color:#51675e}.feature-story li i{color:var(--sinag-green);margin-right:8px}
.quote-aside{position:sticky;top:130px}.quote-aside h2{font-size:2rem;margin:.8rem 0 1.7rem}.quote-step{display:grid;grid-template-columns:29px 38px 1fr;gap:10px;align-items:start;margin-bottom:18px}.quote-step>span{font-size:.66rem;font-weight:850;color:#9bb0a7;padding-top:10px}.quote-step>i{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--sinag-mint);color:var(--sinag-green)}.quote-step strong,.quote-step small{display:block}.quote-step small{color:var(--muted);font-size:.72rem;line-height:1.5}.quote-note{display:flex;gap:12px;background:#edf5f1;border-radius:15px;padding:15px;margin-top:25px;color:var(--sinag-green)}.quote-note p{margin:0;color:var(--ink)}.quote-note small{color:var(--muted)}.quote-form{box-shadow:var(--shadow-sm)}.quote-form hr{margin:30px 0;border-color:var(--line);opacity:1}.module-check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.module-check-grid label{position:relative}.module-check-grid input{position:absolute;opacity:0}.module-check-grid span{height:100%;display:flex;align-items:center;gap:7px;padding:10px;border:1px solid var(--line);border-radius:10px;font-size:.72rem;color:#52675e;cursor:pointer}.module-check-grid span i{opacity:.2}.module-check-grid input:checked+span{border-color:var(--sinag-green);background:var(--sinag-mint);color:var(--sinag-green);font-weight:750}.module-check-grid input:checked+span i{opacity:1}.module-check-grid input:focus-visible+span{box-shadow:0 0 0 .22rem rgba(20,92,70,.13)}.quote-success{max-width:780px;margin:auto}.success-icon{font-size:4rem;color:#249269}.quote-success p{max-width:570px}.quote-reference{display:inline-block;background:#edf5f1;color:var(--sinag-deep);font-family:monospace;font-weight:850;font-size:1.7rem;letter-spacing:.08em;border-radius:13px;padding:.7rem 1.2rem;margin:.8rem 0 1.5rem}

@media(max-width:1199.98px){.site-nav .navbar-collapse{padding:12px 0 18px}.client-logos{grid-template-columns:repeat(3,1fr)}.platform-pillars{grid-template-columns:repeat(2,1fr)}.module-grid,.feature-story-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:991.98px){.platform-hero{padding:72px 0 100px}.dashboard-mockup{max-width:560px;margin:auto;transform:none}.module-nav-wrap{top:68px}.module-detail-grid{grid-template-columns:1fr 1fr}.quote-aside{position:static}.eservice-flow{max-width:480px;margin:20px auto 0}}
@media(max-width:767.98px){.client-heading{align-items:start;flex-direction:column}.client-logos{grid-template-columns:repeat(2,1fr)}.platform-pillars,.module-grid,.feature-story-grid,.module-detail-grid{grid-template-columns:1fr}.module-check-grid{grid-template-columns:repeat(2,1fr)}.app-photo-stack{padding:0 0 50px}.app-photo-stack .primary{height:420px}.eservice-card{padding:25px}.eservice-flow{grid-template-columns:1fr auto 1fr auto 1fr}.eservice-flow span{border-radius:15px}.module-group .row>.col-lg-4{margin-bottom:10px}}
@media(max-width:575.98px){.platform-hero{padding:54px 0 80px}.platform-hero h1{font-size:3.2rem}.dashboard-mockup{display:none}.client-logos{display:flex;overflow:auto;padding-bottom:5px}.client-logo{flex:0 0 170px}.mockup-body{min-height:360px}.module-check-grid{grid-template-columns:1fr}.eservice-flow span{font-size:1.1rem}.eservice-flow>i{font-size:.7rem}.app-photo-stack .primary{height:360px}}
@media(prefers-reduced-motion:reduce){.hero-orb,.float-gentle,.chart-bars i{animation:none!important}.reveal-left,.reveal-right,.scale-in{opacity:1;transform:none;transition:none}}

h1,
h2,
h3,
h4,
h5,
.display-1,
.display-2,
.display-3,
.display-4,
.display-5,
.display-6 {
  font-family: 'Manrope', 'Inter', sans-serif;
  letter-spacing: -.035em
}

a {
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease
}

.container {
  max-width: 1180px
}

.text-success {
  color: var(--sinag-green) !important
}

.bg-success {
  background: var(--sinag-green) !important
}

.site-nav {
  min-height: 78px;
  background: rgba(255, 255, 255, .90);
  border-bottom: 1px solid rgba(220, 231, 226, .85);
  backdrop-filter: blur(18px);
  box-shadow: 0 4px 24px rgba(11, 63, 49, .03)
}

.site-nav .navbar-brand {
  color: var(--sinag-deep) !important;
  font-weight: 800
}

.brand-mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--sinag-green), var(--sinag-deep));
  color: #fff;
  box-shadow: 0 8px 20px rgba(20, 92, 70, .19)
}

.brand-mark i {
  font-size: 1.1rem
}

.brand-word {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  line-height: 1
}

.brand-word small {
  display: block;
  font-family: 'Inter';
  font-weight: 600;
  font-size: .61rem;
  color: #7a8c85;
  letter-spacing: .02em;
  margin-top: 3px
}

.site-nav .nav-link {
  font-size: .91rem;
  color: #42554d !important;
  font-weight: 650;
  padding: .58rem .75rem !important;
  border-radius: 10px
}

.site-nav .nav-link:hover,
.site-nav .nav-link.active {
  color: var(--sinag-green) !important;
  background: #eef6f2
}

.site-nav .dropdown-menu {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 10px;
  box-shadow: var(--shadow-sm)
}

.site-nav .dropdown-item {
  border-radius: 9px;
  padding: .65rem .75rem
}

.btn {
  border-radius: 11px;
  font-weight: 750;
  letter-spacing: -.01em;
  padding: .68rem 1rem
}

.btn-lg {
  border-radius: 13px;
  padding: .84rem 1.22rem
}

.btn-primary {
  --bs-btn-bg: var(--sinag-green);
  --bs-btn-border-color: var(--sinag-green);
  --bs-btn-hover-bg: var(--sinag-deep);
  --bs-btn-hover-border-color: var(--sinag-deep);
  --bs-btn-active-bg: var(--sinag-deep)
}

.btn-outline-primary {
  --bs-btn-color: var(--sinag-green);
  --bs-btn-border-color: #a7c9bc;
  --bs-btn-hover-bg: var(--sinag-green);
  --bs-btn-hover-border-color: var(--sinag-green)
}

.btn-soft {
  background: var(--sinag-mint);
  color: var(--sinag-green);
  border: 1px solid #d5e9e0
}

.btn-soft:hover {
  background: #dcefe7;
  color: var(--sinag-deep)
}

.scroll-progress {
  position: fixed;
  z-index: 1090;
  top: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--sinag-gold), #ffd678);
  width: 0;
  box-shadow: 0 0 14px rgba(228, 173, 61, .55)
}

.hero-home {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 90% 8%, rgba(228, 173, 61, .18), transparent 24%), linear-gradient(135deg, #0b3d30 0%, #145c46 54%, #1e7258 100%);
  color: #fff
}

.hero-home:before {
  content: "";
  position: absolute;
  inset: -120px -80px auto auto;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 50%
}

.hero-home:after {
  content: "";
  position: absolute;
  right: 8%;
  top: 15%;
  width: 360px;
  height: 360px;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 50%
}

.hero-home .container {
  position: relative;
  z-index: 2
}

.hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  border: 1px solid rgba(255, 255, 255, .2);
  background: rgba(255, 255, 255, .08);
  border-radius: 999px;
  padding: .5rem .8rem;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .02em;
  backdrop-filter: blur(8px)
}

.hero-title {
  font-size: clamp(3rem, 6vw, 5.55rem);
  line-height: .98;
  letter-spacing: -.06em;
  max-width: 820px
}

.hero-copy {
  font-size: 1.12rem;
  line-height: 1.78;
  color: #d7e8e1;
  max-width: 700px
}

.hero-photo-wrap {
  position: relative
}

.hero-photo {
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 35px 90px rgba(2, 25, 18, .42);
  border: 1px solid rgba(255, 255, 255, .17);
  aspect-ratio: 4/5
}

.hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.photo-overlay {
  position: absolute;
  inset: auto 22px 22px 22px;
  background: rgba(9, 45, 34, .86);
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 18px;
  padding: 16px 18px;
  backdrop-filter: blur(12px)
}

.photo-overlay .mini {
  font-size: .72rem;
  color: #bad6cc;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-weight: 800
}

.hero-ui-card {
  position: absolute;
  background: #fff;
  color: var(--ink);
  border: 1px solid #e3ece8;
  border-radius: 16px;
  padding: 12px 14px;
  box-shadow: var(--shadow-sm);
  min-width: 164px
}

.hero-ui-card.a {
  left: -34px;
  top: -8px
}

.hero-ui-card.b {
  right: -25px;
  bottom: 115px
}

.hero-ui-card i {
  color: var(--sinag-green)
}

.hero-ui-card .label {
  font-size: .68rem;
  text-transform: uppercase;
  color: #85948e;
  font-weight: 800;
  letter-spacing: .07em
}

.hero-ui-card strong {
  font-family: 'Manrope';
  display: block;
  font-size: .95rem;
  margin-top: 2px
}

.trust-strip {
  background: #fff;
  border-bottom: 1px solid var(--line)
}

.trust-item {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 1.05rem 0
}

.trust-icon {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: var(--sinag-mint);
  display: grid;
  place-items: center;
  color: var(--sinag-green)
}

.trust-item strong {
  font-size: .86rem
}

.trust-item span {
  display: block;
  font-size: .72rem;
  color: var(--muted)
}

.section-pad {
  padding: 90px 0
}

.section-soft {
  background: #eef5f2
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: var(--sinag-green);
  font-size: .74rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .12em
}

.section-title {
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.08
}

.section-copy {
  color: var(--muted);
  font-size: 1.04rem;
  line-height: 1.75
}

.surface,
.card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: none
}

.surface-lift {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease
}

.surface-lift:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow);
  border-color: #c5dcd2
}

.feature-icon {
  width: 52px;
  height: 52px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #e7f3ee, #f4faf7);
  color: var(--sinag-green);
  font-size: 1.2rem;
  border: 1px solid #dbeae4
}

.feature-card h3 {
  font-size: 1.08rem;
  margin-top: 1rem
}

.feature-card p {
  font-size: .91rem;
  line-height: 1.65;
  color: var(--muted)
}

.module-tag {
  font-size: .68rem;
  padding: .32rem .55rem;
  border-radius: 999px;
  background: #eef6f2;
  color: var(--sinag-green);
  font-weight: 800
}

.civic-photo {
  border-radius: 26px;
  overflow: hidden;
  position: relative;
  box-shadow: var(--shadow-sm)
}

.civic-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.civic-photo.tall {
  height: 540px
}

.civic-photo.medium {
  height: 430px
}

.photo-caption {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  background: rgba(10, 55, 42, .9);
  color: #fff;
  padding: 14px 16px;
  border-radius: 15px;
  backdrop-filter: blur(10px)
}

.photo-caption small {
  display: block;
  color: #c8dfd6
}

.photo-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  grid-template-rows: 230px 230px;
  gap: 14px
}

.photo-grid .civic-photo:first-child {
  grid-row: 1/3
}

.photo-grid .civic-photo {
  height: 100%
}

.metric-card {
  border-radius: 18px;
  border: 1px solid var(--line);
  padding: 20px;
  background: #fff
}

.metric-card strong {
  font-family: 'Manrope';
  font-size: 1.9rem;
  color: var(--sinag-green)
}

.metric-card span {
  display: block;
  color: var(--muted);
  font-size: .78rem
}

.process-card {
  display: flex;
  gap: 16px;
  padding: 20px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 18px
}

.process-no {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  flex: 0 0 46px;
  border-radius: 13px;
  background: var(--sinag-deep);
  color: #fff;
  font-family: 'Manrope';
  font-weight: 800
}

.process-card h3 {
  font-size: 1rem;
  margin-bottom: 5px
}

.process-card p {
  font-size: .86rem;
  color: var(--muted);
  margin: 0
}

.process-line {
  height: 26px;
  width: 2px;
  background: #cfe1d9;
  margin: 0 0 0 22px
}

.page-head {
  position: relative;
  background: radial-gradient(circle at 90% 0, rgba(228, 173, 61, .13), transparent 24%), linear-gradient(180deg, #fff 0%, #f8fbf9 100%);
  border-bottom: 1px solid var(--line);
  padding: 64px 0 54px;
  overflow: hidden
}

.page-head:after {
  content: "";
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  border: 1px solid #dfece6;
  right: -100px;
  top: -135px
}

.page-head h1 {
  font-size: clamp(2.35rem, 5vw, 4.2rem);
  line-height: 1.03
}

.page-head p {
  font-size: 1.02rem;
  line-height: 1.7
}

.breadcrumb-lite {
  font-size: .74rem;
  color: #83928c;
  margin-bottom: 14px
}

.breadcrumb-lite a {
  color: var(--sinag-green);
  text-decoration: none
}

.form-control,
.form-select {
  min-height: 48px;
  border-radius: 11px;
  border-color: #cbdad4;
  background: #fff
}

.form-control:focus,
.form-select:focus {
  border-color: #6fa791;
  box-shadow: 0 0 0 .22rem rgba(20, 92, 70, .11)
}

textarea.form-control {
  min-height: 120px
}

.form-label {
  font-size: .84rem
}

.form-section-title {
  display: flex;
  align-items: center;
  gap: .65rem;
  font-family: 'Manrope';
  font-weight: 800;
  margin-bottom: 1rem
}

.form-section-title span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: var(--sinag-mint);
  color: var(--sinag-green)
}

.alert {
  border-radius: 13px
}

.accordion-item {
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  overflow: hidden;
  margin-bottom: 10px;
  background: #fff
}

.accordion-button {
  font-weight: 750;
  padding: 1.1rem 1.2rem
}

.accordion-button:not(.collapsed) {
  color: var(--sinag-green);
  background: #eef6f2;
  box-shadow: none
}

.accordion-button:focus {
  box-shadow: none
}

.badge {
  border-radius: 999px
}

.quote-card {
  background: linear-gradient(145deg, var(--sinag-deep), var(--sinag-green));
  color: #fff;
  border-radius: 26px;
  padding: 34px;
  position: relative;
  overflow: hidden
}

.quote-card:after {
  content: '“';
  position: absolute;
  right: 20px;
  top: -30px;
  font-family: Georgia;
  font-size: 170px;
  color: rgba(255, 255, 255, .08)
}

.quote-card p {
  font-size: 1.2rem;
  line-height: 1.65
}

.quote-card small {
  color: #c9ded6
}

.cta-band {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  background: linear-gradient(135deg, #0b3d30, #17624a);
  color: #fff;
  padding: 48px
}

.cta-band:after {
  content: "";
  position: absolute;
  right: -120px;
  top: -170px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .12)
}

.price-card {
  position: relative;
  height: 100%;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff
}

.price-card.popular {
  border: 2px solid var(--sinag-green);
  box-shadow: var(--shadow-sm);
  transform: translateY(-8px)
}

.price-ribbon {
  position: absolute;
  top: 18px;
  right: 18px;
  background: var(--sinag-gold-soft);
  color: #72500d;
  font-size: .69rem;
  font-weight: 850;
  padding: .35rem .6rem;
  border-radius: 999px
}

.pricing-title {
  font-size: 2rem
}

.check-row {
  display: flex;
  gap: .65rem;
  margin: .65rem 0;
  color: #4e625a
}

.check-row i {
  color: var(--sinag-green);
  margin-top: .25rem
}

.site-footer {
  background: #0d1c17;
  color: #dce8e3;
  margin-top: 70px
}

.site-footer .footer-title {
  font-weight: 800;
  color: #fff;
  margin-bottom: .9rem
}

.site-footer .footer-link {
  display: block;
  color: #9fb1aa;
  text-decoration: none;
  padding: .27rem 0;
  font-size: .86rem
}

.site-footer .footer-link:hover {
  color: #fff;
  transform: translateX(2px)
}

.footer-brand {
  display: flex;
  gap: 12px;
  align-items: center
}

.footer-brand .brand-mark {
  box-shadow: none
}

.footer-meta {
  border-top: 1px solid #24342e;
  color: #82968e
}

.social-link {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid #2d423a;
  border-radius: 10px;
  color: #a8bbb4
}

.social-link:hover {
  background: #183127;
  color: #fff
}

.camera-stage {
  position: relative;
  background: #101513;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 1/1;
  max-width: 620px;
  margin: auto
}

.camera-stage video,
.camera-stage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.camera-stage video {
  transform: scaleX(-1)
}

.face-guide {
  position: absolute;
  inset: 0;
  pointer-events: none;
  display: grid;
  place-items: center
}

.face-guide:before {
  content: "";
  width: 54%;
  height: 72%;
  border: 3px solid rgba(255, 255, 255, .96);
  border-radius: 50%;
  box-shadow: 0 0 0 999px rgba(0, 0, 0, .3)
}

.camera-help {
  font-size: .85rem;
  color: var(--muted)
}

.hover-arrow {
  display: inline-flex;
  align-items: center;
  gap: .4rem
}

.hover-arrow i {
  transition: transform .2s ease
}

.hover-arrow:hover i {
  transform: translateX(4px)
}

.reveal-up {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .65s ease, transform .65s cubic-bezier(.2, .7, .2, 1)
}

.reveal-up.is-visible {
  opacity: 1;
  transform: none
}

.stagger>* {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .55s ease, transform .55s ease
}

.stagger.is-visible>* {
  opacity: 1;
  transform: none
}

.stagger.is-visible>*:nth-child(2) {
  transition-delay: .07s
}

.stagger.is-visible>*:nth-child(3) {
  transition-delay: .14s
}

.stagger.is-visible>*:nth-child(4) {
  transition-delay: .21s
}

.stagger.is-visible>*:nth-child(5) {
  transition-delay: .28s
}

.stagger.is-visible>*:nth-child(6) {
  transition-delay: .35s
}

.float-slow {
  animation: floatSlow 5s ease-in-out infinite
}

.pulse-soft {
  animation: pulseSoft 3s ease-in-out infinite
}

@keyframes floatSlow {
  0%,
  100% {
    transform: translateY(0)
  }
  50% {
    transform: translateY(-8px)
  }
}

@keyframes pulseSoft {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(228, 173, 61, 0)
  }
  50% {
    box-shadow: 0 0 0 7px rgba(228, 173, 61, .08)
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto
  }
  .reveal-up,
  .stagger>*,
  .float-slow,
  .pulse-soft {
    transition: none !important;
    animation: none !important;
    opacity: 1 !important;
    transform: none !important
  }
}

@media(max-width:991.98px) {
  .site-nav .navbar-collapse {
    padding: 14px 0 8px
  }
  .hero-ui-card.a {
    left: 10px
  }
  .hero-ui-card.b {
    right: 10px
  }
  .photo-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 300px 220px
  }
  .photo-grid .civic-photo:first-child {
    grid-column: 1/3;
    grid-row: auto
  }
  .section-pad {
    padding: 68px 0
  }
  .cta-band {
    padding: 34px
  }
  .price-card.popular {
    transform: none
  }
}

@media(max-width:767.98px) {
  .hero-title {
    font-size: 3.15rem
  }
  .hero-home {
    padding-bottom: 20px
  }
  .hero-ui-card {
    display: none
  }
  .photo-grid {
    display: block
  }
  .photo-grid .civic-photo {
    height: 260px;
    margin-bottom: 12px
  }
  .page-head {
    padding: 46px 0 40px
  }
  .section-pad {
    padding: 54px 0
  }
  .civic-photo.tall,
  .civic-photo.medium {
    height: 340px
  }
  .site-footer {
    margin-top: 50px
  }
  .brand-word small {
    display: none
  }
  .trust-strip .col-md-3:not(:last-child) {
    border-bottom: 1px solid var(--line)
  }
}

.chain-arrow {
  color: #9aaca5;
  display: flex;
  align-items: end;
  justify-content: center;
  padding-bottom: 14px
}

.privacy {
  font-size: .86rem;
  color: #5d7068
}

.font-monospace {
  letter-spacing: .08em
}

.progress {
  background: #e6efeb;
  border-radius: 999px
}

.progress-bar {
  border-radius: 999px
}

.modal-content {
  border-radius: 22px;
  overflow: hidden;
  box-shadow: var(--shadow)
}

.modal-header,
.modal-footer {
  border-color: var(--line)
}

@media(max-width:767.98px) {
  .chain-arrow {
    display: none
  }
}

/* ===== Public UI/UX Enhancement Pack ===== */

:root {
  --glow: 0 20px 65px rgba(20, 92, 70, .16);
  --gold-glow: 0 18px 50px rgba(228, 173, 61, .20)
}

body {
  background-image: linear-gradient(rgba(20, 92, 70, .018) 1px, transparent 1px), linear-gradient(90deg, rgba(20, 92, 70, .018) 1px, transparent 1px);
  background-size: 34px 34px;
  background-position: center top
}

.site-nav {
  transition: min-height .25s ease, box-shadow .25s ease, background .25s ease
}

.site-nav.nav-scrolled {
  min-height: 68px;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 12px 35px rgba(11, 63, 49, .08)
}

.site-nav .nav-link {
  position: relative
}

.site-nav .nav-link:after {
  content: "";
  position: absolute;
  left: .75rem;
  right: .75rem;
  bottom: .22rem;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--sinag-green), var(--sinag-gold));
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease
}

.site-nav .nav-link:hover:after,
.site-nav .nav-link.active:after {
  transform: scaleX(1)
}

.resources-menu {
  width: 310px;
  padding: 12px !important
}

.resources-menu .dropdown-item {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: .78rem !important
}

.resources-menu .dropdown-item:hover {
  background: #eef6f2;
  transform: translateX(2px)
}

.resources-menu .dropdown-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  border-radius: 11px;
  background: linear-gradient(145deg, #e6f3ed, #f6fbf8);
  color: var(--sinag-green);
  border: 1px solid #dcebe4
}

.resources-menu .dropdown-item strong {
  display: block;
  color: #21352d;
  font-size: .87rem
}

.resources-menu .dropdown-item small {
  display: block;
  color: #71827b;
  font-size: .69rem;
  margin-top: 1px
}

.resources-menu .dropdown-divider {
  margin: .35rem .2rem
}

.hero-home {
  isolation: isolate
}

.hero-home:before {
  background: radial-gradient(circle at center, rgba(255, 255, 255, .06), transparent 68%);
  animation: heroOrbit 18s linear infinite
}

.hero-home:after {
  box-shadow: 0 0 0 75px rgba(255, 255, 255, .025), 0 0 0 150px rgba(255, 255, 255, .018)
}

.hero-home .row:before {
  content: "";
  position: absolute;
  width: 170px;
  height: 170px;
  left: -80px;
  bottom: 15%;
  background: radial-gradient(circle, rgba(228, 173, 61, .28), rgba(228, 173, 61, 0) 68%);
  filter: blur(8px);
  pointer-events: none
}

.hero-kicker {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10)
}

.hero-title {
  position: relative
}

.hero-title:after {
  content: "";
  display: block;
  width: 94px;
  height: 6px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--sinag-gold), #ffe1a0);
  margin-top: 22px;
  box-shadow: var(--gold-glow)
}

.hero-photo {
  position: relative;
  transform: perspective(1000px) rotateY(-2deg);
  transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s ease
}

.hero-photo-wrap:hover .hero-photo {
  transform: perspective(1000px) rotateY(0) translateY(-4px);
  box-shadow: 0 45px 110px rgba(2, 25, 18, .48)
}

.hero-photo:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 46%, rgba(4, 32, 23, .30));
  pointer-events: none
}

.hero-photo img,
.civic-photo img {
  transition: transform .8s cubic-bezier(.2, .7, .2, 1), filter .35s ease
}

.hero-photo-wrap:hover .hero-photo img,
.civic-photo:hover img {
  transform: scale(1.035);
  filter: saturate(1.06) contrast(1.02)
}

.photo-overlay {
  box-shadow: 0 10px 30px rgba(0, 0, 0, .16)
}

.hero-ui-card {
  transition: transform .25s ease, box-shadow .25s ease
}

.hero-ui-card:hover {
  box-shadow: 0 18px 50px rgba(5, 42, 30, .18)
}

.trust-strip {
  position: relative;
  z-index: 3;
  box-shadow: 0 12px 32px rgba(7, 45, 33, .035)
}

.trust-item {
  transition: transform .25s ease
}

.trust-item:hover {
  transform: translateY(-2px)
}

.trust-icon {
  transition: transform .25s ease, background .25s ease
}

.trust-item:hover .trust-icon {
  transform: rotate(-5deg) scale(1.08);
  background: var(--sinag-gold-soft);
  color: #876311
}

.section-soft {
  position: relative;
  overflow: hidden
}

.section-soft:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 10% 10%, rgba(228, 173, 61, .08), transparent 24%), radial-gradient(circle at 92% 75%, rgba(20, 92, 70, .07), transparent 26%);
  pointer-events: none
}

.section-soft>.container {
  position: relative;
  z-index: 1
}

.surface-lift {
  position: relative;
  overflow: hidden
}

.surface-lift:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle 150px at var(--mx, 50%) var(--my, 50%), rgba(228, 173, 61, .13), transparent 70%);
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none
}

.surface-lift:hover:before {
  opacity: 1
}

.surface-lift:hover .feature-icon {
  transform: translateY(-2px) rotate(-3deg);
  background: var(--sinag-gold-soft);
  color: #815e11
}

.feature-icon {
  transition: transform .25s ease, background .25s ease, color .25s ease
}

.module-tag {
  border: 1px solid #dcebe4
}

.civic-photo {
  background: linear-gradient(145deg, #dfece6, #f8fbf9);
  isolation: isolate
}

.civic-photo:after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: inherit;
  pointer-events: none
}

.photo-grid .civic-photo:nth-child(2) {
  transform: translateY(14px)
}

.metric-card {
  position: relative;
  overflow: hidden;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease
}

.metric-card:after {
  content: "";
  position: absolute;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  right: -24px;
  top: -24px;
  background: rgba(228, 173, 61, .10)
}

.metric-card:hover {
  transform: translateY(-4px);
  border-color: #bfd8cd;
  box-shadow: var(--shadow-sm)
}

.process-card {
  position: relative;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease
}

.process-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-sm);
  border-color: #c0d9ce
}

.process-no {
  box-shadow: 0 8px 18px rgba(11, 63, 49, .18)
}

.cta-band {
  box-shadow: 0 28px 70px rgba(11, 63, 49, .16)
}

.cta-band:before {
  content: "";
  position: absolute;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  left: -80px;
  bottom: -110px;
  background: rgba(228, 173, 61, .14)
}

.price-card {
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease
}

.price-card:hover {
  transform: translateY(-7px);
  box-shadow: var(--shadow);
  border-color: #bfd7cc
}

.price-card.popular:hover {
  transform: translateY(-13px)
}

.page-head:before {
  content: "";
  position: absolute;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(228, 173, 61, .18), transparent 68%);
  left: 5%;
  bottom: -75px
}

.page-head .container {
  position: relative;
  z-index: 2
}

.form-control,
.form-select {
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease
}

.form-control:hover,
.form-select:hover {
  border-color: #a9c8bb
}

.form-control:focus,
.form-select:focus {
  transform: translateY(-1px)
}

.site-footer {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 85% 10%, rgba(36, 119, 93, .18), transparent 24%), #0d1c17
}

.site-footer:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, .02) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .02) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none
}

.site-footer>.container,
.footer-meta {
  position: relative;
  z-index: 1
}

.social-link {
  text-decoration: none !important;
  position: relative;
  overflow: hidden
}

.social-link:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, var(--sinag-green), #2c8d6d);
  opacity: 0;
  transition: opacity .25s ease
}

.social-link i {
  position: relative;
  z-index: 1
}

.social-link:hover {
  transform: translateY(-3px);
  border-color: #3d6b59;
  text-decoration: none !important
}

.social-link:hover:after {
  opacity: 1
}

.footer-link {
  position: relative;
  width: max-content;
  max-width: 100%
}

.footer-link:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 1px;
  width: 0;
  height: 1px;
  background: #5d8d7a;
  transition: width .22s ease
}

.footer-link:hover:after {
  width: 100%
}

.interactive-ring {
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: rgba(228, 173, 61, .45);
  pointer-events: none;
  transform: translate(-50%, -50%);
  filter: blur(.2px);
  opacity: 0;
  transition: opacity .2s ease
}

@keyframes heroOrbit {
  to {
    transform: rotate(360deg)
  }
}

@media(max-width:991.98px) {
  .site-nav .nav-link:after {
    display: none
  }
  .resources-menu {
    width: 100%
  }
  .hero-photo {
    transform: none
  }
  .price-card.popular:hover {
    transform: translateY(-7px)
  }
}

@media(max-width:767.98px) {
  body {
    background-size: 26px 26px
  }
  .hero-title:after {
    height: 5px;
    width: 76px
  }
  .photo-grid .civic-photo:nth-child(2) {
    transform: none
  }
  .resources-menu .dropdown-item small {
    display: none
  }
}

@media(prefers-reduced-motion:reduce) {
  .hero-home:before,
  .hero-photo,
  .hero-photo img,
  .civic-photo img,
  .site-nav,
  .surface-lift,
  .metric-card,
  .process-card,
  .price-card {
    animation: none !important;
    transition: none !important;
    transform: none !important
  }
}
