/* An immersive project stage, scoped to the homepage hero. */
.hero{background:#07111f;color:#f4f8ec;padding:25px 0 29px;isolation:isolate;overflow:hidden}
.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#ffffff04 1px,transparent 1px),linear-gradient(#ffffff04 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,transparent,#000)}
.hero:after{content:'';position:absolute;width:650px;height:650px;right:-260px;top:-340px;border:1px solid #cde98524;border-radius:50%;z-index:-1;pointer-events:none}
.hero-glow{position:absolute;right:-10%;top:0;width:80%;height:90%;background:radial-gradient(ellipse,#4e78644a,transparent 68%);z-index:-1;pointer-events:none}
.hero-kicker{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid #ffffff1c;color:#a9c1b5;font-size:9px;letter-spacing:1.7px}
.hero-kicker>span{display:flex;align-items:center;gap:9px}.hero-kicker i{width:6px;height:6px;background:#20c997;border-radius:50%;box-shadow:0 0 14px #20c99788}.hero-kicker>a{letter-spacing:.3px;font-size:10px;display:flex;gap:20px;color:#e5eddf}
.hero-grid{padding-top:57px;padding-bottom:40px;grid-template-columns:1.08fr 1fr;gap:50px;position:relative}
.hero .eyebrow{color:#20c997;font-size:9px;letter-spacing:1.8px;margin-bottom:27px}.hero .status-dot{background:#20c997;box-shadow:0 0 0 4px #20c99712}
.hero h1{font-size:clamp(44px,4.7vw,68px);font-weight:600;line-height:1.06;letter-spacing:-3.3px;min-height:3.3em;margin-bottom:26px;color:#f4f8ec}
.hero h1>span,.hero .hero-line-mask{color:#f4f8ec}.hero .hero-line.accent,.hero h1>span:not(.hero-line-mask){color:#20c997}.hero .hero-line.accent{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-2.7px}
.hero .lead{color:#bdcec5;font-size:14px;line-height:1.85;max-width:450px;min-height:7.4em;margin-bottom:0}
.hero .actions{gap:24px;margin-top:23px}.hero .button{background:#20c997;color:#142f23;border-radius:3px;box-shadow:0 5px 25px #00000012;padding:17px 23px;font-size:12px;font-weight:800}.hero .button>span{font-size:19px;font-weight:400}.hero .button:hover{background:#e8ffa0;box-shadow:0 5px 25px #20c99720}.hero .text-link{color:#edf3e8;font-size:11px;font-weight:500;border-bottom:1px solid #ffffff50;padding:8px 0}
.hero-note{margin-top:31px;gap:15px;line-height:1.75;color:#a4bcb0;font-size:10px}.hero-note strong{color:#d9e7dc;font-size:10px}.experience-mark{font-size:34px;line-height:1;font-weight:600;letter-spacing:-2px;padding-right:15px;border-right:1px solid #ffffff30;color:#f0f5e9}.experience-mark>span{font-size:21px;color:#20c997;vertical-align:top;letter-spacing:0}
.hero-includes{display:flex;gap:19px;margin-top:22px;color:#a8beb1;font-size:9px}.hero-includes span:first-letter{color:#20c997}
.hero-art{padding:32px 0 60px;perspective:1200px;min-width:0;position:relative}.hero-watermark{position:absolute;right:-25px;top:-39px;font-size:clamp(75px,9.6vw,140px);font-weight:800;line-height:1;color:transparent;-webkit-text-stroke:1px #20c99726;letter-spacing:-8px;z-index:-1;pointer-events:none}
.hero-orbit{position:absolute;width:112%;aspect-ratio:1;top:-20px;left:-5%;border:1px solid #20c99720;border-radius:50%;transform:rotate(-25deg) scaleY(.86);pointer-events:none;z-index:-1}.hero-orbit:before{content:'';position:absolute;inset:30px;border:1px dashed #20c99716;border-radius:50%}.hero-orbit:after{content:'';position:absolute;width:9px;height:9px;background:#20c997;top:18%;right:12%;border-radius:50%;box-shadow:0 0 25px #20c99788}
.hero .art-label{color:#c4d6c8;font-size:8px;letter-spacing:1.2px;position:relative;z-index:3;margin-left:4px;margin-bottom:14px}
.hero .browser{border:5px solid #ecf0e5;border-radius:12px;background:#ecf0e5;box-shadow:0 35px 65px #0006,0 0 0 1px #ffffff20;position:relative;z-index:2;transform:rotate(-2deg)}
.hero .browser-bar{background:#ecf0e5;color:#5a6d60;font-size:8px;padding:11px 12px}.hero .browser-bar>span:first-child{color:#8b9a86}.hero-image-stage{height:330px;background:#e0e5d8;border-radius:3px}.hero .browser>img{height:330px;object-fit:cover;object-position:top}.hero .browser-caption{background:#ecf0e5;min-height:75px;padding:15px 17px;color:#07111f}.hero .browser-caption strong{font-size:12px}.hero .browser-caption small{font-size:7px;color:#506a50}.hero .browser-caption>a{background:#dce5cc;border:0;width:32px;height:32px}
.preview-peek{position:absolute;top:-3px;right:-23px;width:56%;padding:7px;background:#dbe8c5;border-radius:7px;transform:rotate(9deg);box-shadow:0 12px 30px #0003;opacity:.85;z-index:0}.preview-peek img{width:100%;height:140px;object-fit:cover;object-position:top;border-radius:3px}.preview-peek>span{display:block;padding:5px 3px 0;font-size:6px;letter-spacing:1px;color:#30503d}
.hero .floating-note{left:-30px;bottom:35px;z-index:4;border:1px solid #ffffff24;background:#244a3f;padding:17px 21px;border-radius:6px;box-shadow:0 20px 35px #0003;transform:rotate(-3deg)}.hero .floating-note>span{background:#20c997;color:#1d3c2a;font-size:19px;border-radius:50%;display:grid;place-items:center;width:30px;height:30px}.hero .floating-note strong{font-size:11px;color:#f0f5e9}.hero .floating-note small{font-size:9px;color:#b8cdbd}
.hero-ready{position:absolute;right:-21px;bottom:-2px;display:flex;gap:10px;align-items:center;z-index:4;background:#20c997;color:#28422c;padding:15px 17px;transform:rotate(5deg);box-shadow:0 8px 30px #0002}.ready-symbol{font-size:38px;line-height:1}.hero-ready>span:last-child{font-size:9px;line-height:1.65}.hero-ready strong{font-size:12px}.hero .art-bottom{color:#9eb5a7;padding-left:0;margin-top:24px;font-size:7px;letter-spacing:1.5px}.hero .art-bottom>span:last-child{color:#20c997;font-size:24px;margin-right:125px}
.hero-controls{margin-top:0;border-color:#ffffff20;padding-top:20px;gap:35px}.hero-chapters{gap:22px}.hero-chapters button{color:#8ea99a}.hero-chapters [aria-pressed=true]{color:#20c997}.chapter-top{font-size:10px}.chapter-top>span:first-child{opacity:.8}.chapter-track{background:#ffffff18;margin-top:8px}.chapter-track>span{background:#20c997}.hero-count{color:#adbfad}.hero-transport button{border-color:#ffffff30;color:#dfe9d8}.hero-transport button:hover{background:#20c997;border-color:#20c997;color:#183427}
@media(min-width:1600px){.hero{padding-top:28px}.hero-grid{padding-top:70px;padding-bottom:55px}.hero h1{font-size:70px}}
@media(max-width:1100px){.hero-grid{gap:34px}.hero h1{font-size:clamp(39px,4.7vw,55px);letter-spacing:-2.3px}.hero-image-stage,.hero .browser>img{height:290px}.hero .floating-note{left:-16px;padding:14px}.hero-ready{right:-8px;padding:12px}.hero .hero-includes{gap:12px;font-size:8px}.hero .actions{gap:17px}.hero .button{padding:15px 17px;font-size:11px}.hero-watermark{right:0}.preview-peek{right:-10px}.hero .lead{min-height:8em}}
@media(max-width:800px){.hero{padding-top:20px}.hero-kicker{font-size:8px;padding-bottom:17px}.hero-kicker>a{font-size:8px;gap:10px}.hero-grid{grid-template-columns:1fr;padding-top:38px;padding-bottom:30px;gap:38px}.hero-copy{max-width:620px}.hero h1{font-size:clamp(43px,8.3vw,65px);min-height:3.25em;letter-spacing:-2.7px}.hero .lead{max-width:550px;min-height:5.5em;font-size:14px}.hero .eyebrow{margin-bottom:22px}.hero .actions{flex-direction:row;align-items:center;gap:25px}.hero .button{padding:16px 21px;font-size:12px}.hero .hero-includes{font-size:9px;gap:20px}.hero-art{width:calc(100% - 24px);max-width:540px;margin:12px auto 0;padding-bottom:65px}.hero-image-stage,.hero .browser>img{height:310px}.hero-watermark{font-size:100px;top:-35px}.hero .floating-note{bottom:45px}.hero-ready{bottom:5px}.hero-controls{margin-top:18px;gap:20px}.hero-chapters{gap:15px}.hero-transport{margin-left:auto}.hero .art-bottom>span:last-child{margin-right:145px}}
@media(max-width:480px){.hero-kicker>a{display:none}.hero h1{font-size:clamp(32px,8.7vw,42px);letter-spacing:-1.9px}.hero .hero-line.accent{letter-spacing:-1.8px}.hero .eyebrow{font-size:8px;letter-spacing:1.1px}.hero .lead{font-size:13px;min-height:9.3em}.hero .actions{gap:18px;flex-wrap:wrap}.hero .button{font-size:11px;padding:14px 17px;gap:18px}.hero .text-link{font-size:10px;gap:12px}.hero-note{margin-top:25px}.hero-note strong{font-size:9px}.experience-mark{font-size:30px}.hero-includes{flex-wrap:wrap;gap:10px!important;font-size:8px!important}.hero-grid{gap:35px}.hero-art{width:calc(100% - 14px)}.hero .art-label{font-size:6px;letter-spacing:.8px}.hero-image-stage,.hero .browser>img{height:245px}.hero .browser-caption strong{font-size:10px}.hero .browser-caption{min-height:65px;padding:12px}.hero .floating-note{left:-7px;padding:11px;gap:10px}.hero .floating-note strong{font-size:9px}.hero .floating-note small{font-size:7px}.hero .floating-note>span{width:25px;height:25px;font-size:15px}.hero-ready{right:-7px;padding:10px;gap:7px}.hero-ready strong{font-size:10px}.hero-ready>span:last-child{font-size:8px}.ready-symbol{font-size:27px}.hero-watermark{font-size:80px;letter-spacing:-5px}.preview-peek{right:-7px}.preview-peek img{height:100px}.hero-chapters{grid-template-columns:1fr 1fr;gap:14px 24px}.hero-controls{margin-top:8px}.chapter-name{font-size:10px}}
/* Focused hero: one message, one action and one project preview. */
.hero-grid{padding-top:48px;padding-bottom:40px;gap:65px}.hero h1{min-height:3.3em;margin-bottom:22px}.hero .lead{min-height:5.6em;max-width:410px;font-size:15px}.hero .actions{margin-top:19px}.hero-art{padding:20px 0}.hero-orbit{display:none}.hero-controls{justify-content:flex-end;border-top:0;padding-top:0;margin-top:0}.hero-chapters{display:none}.hero .browser-caption{min-height:70px}.hero .eyebrow{margin-bottom:22px}.hero-transport{gap:9px}.hero-count{font-size:9px}.hero-transport button{width:32px;height:32px}@media(max-width:1100px){.hero-grid{gap:35px}.hero .lead{min-height:7.4em}}@media(max-width:800px){.hero-grid{padding-top:30px;padding-bottom:16px;gap:24px}.hero h1{min-height:3.3em}.hero .lead{min-height:5.6em;max-width:500px}.hero-art{margin-top:0;padding:15px 0;max-width:530px}.hero-controls{margin-top:12px}.hero{padding-bottom:22px}}@media(max-width:480px){.hero .lead{font-size:13px;min-height:7.5em}.hero-grid{gap:15px;padding-top:25px}.hero .actions{margin-top:12px}.hero-art{padding:12px 0}.hero .eyebrow{font-size:8px}.hero-controls{margin-top:8px}}
/* Creative aurora backdrop: slow ambient movement, kept behind the message. */
.hero{background:linear-gradient(116deg,#07111f 4%,#0d1b2e 47%,#07111f 100%)}
.hero-glow{inset:-12% -5% -12% auto;width:76%;height:125%;background:radial-gradient(ellipse at 52% 38%,#77a56431 0,transparent 43%),radial-gradient(ellipse at 78% 75%,#d9a85b20 0,transparent 35%),radial-gradient(ellipse at 30% 85%,#2c9c8824 0,transparent 37%);filter:blur(16px);animation:aurora-drift 18s ease-in-out infinite alternate}
.hero-ambience{position:absolute;z-index:-1;inset:0;overflow:hidden;pointer-events:none}
.ambient-orb{position:absolute;display:block;border-radius:50%;filter:blur(1px);will-change:transform}.orb-a{width:460px;height:460px;right:14%;top:5%;background:radial-gradient(circle at 35% 35%,#c3dc8060,#82ae5230 35%,#82ae5200 70%);animation:orb-drift-a 19s ease-in-out infinite alternate}.orb-b{width:280px;height:280px;right:42%;bottom:-35%;background:radial-gradient(circle,#40b59c2e,#40b59c00 70%);animation:orb-drift-b 15s ease-in-out infinite alternate}.orb-c{width:200px;height:200px;right:-2%;top:44%;background:radial-gradient(circle,#e3b46529,#e3b46500 72%);animation:orb-drift-b 13s ease-in-out infinite alternate-reverse}
.ambient-ribbon{position:absolute;inset:3% 0 0 29%;width:76%;height:94%;overflow:visible;opacity:.57}.ambient-ribbon path{fill:none;stroke:url(#ribbon-color);stroke:#c7dd8b;stroke-width:1;stroke-dasharray:2 8;opacity:.28}.ambient-ribbon path+path{stroke:#70b9a0;stroke-dasharray:1 10;opacity:.22}.ambient-ribbon circle{fill:#20c997;filter:drop-shadow(0 0 9px #20c997)}
.ambient-spark{position:absolute;color:#20c997;opacity:.45;animation:spark-turn 25s linear infinite}.spark-a{font-size:25px;right:11%;top:19%}.spark-b{font-size:13px;right:47%;bottom:12%;color:#78c5a5;animation-direction:reverse}
@keyframes aurora-drift{from{transform:translate3d(2%,0,0) scale(1)}to{transform:translate3d(-4%,3%,0) scale(1.13)}}@keyframes orb-drift-a{from{transform:translate3d(0,-3%,0) scale(.95)}to{transform:translate3d(-14%,10%,0) scale(1.1)}}@keyframes orb-drift-b{from{transform:translate3d(-4%,4%,0)}to{transform:translate3d(10%,-10%,0)}}@keyframes spark-turn{to{transform:rotate(360deg)}}
@media(max-width:800px){.orb-a{width:330px;height:330px;right:-5%;top:35%}.orb-b{width:210px;height:210px;right:36%;bottom:4%}.orb-c{right:-10%;top:64%}.ambient-ribbon{inset:25% -5% 0 5%;width:115%;height:72%;opacity:.35}.spark-a{right:8%;top:31%}.spark-b{right:45%;bottom:5%}}
@media(prefers-reduced-motion:reduce){.hero-glow,.ambient-orb,.ambient-spark{animation:none!important}}
#faq.faq-section{position:relative;background:#edf3ed;overflow:hidden}
#faq.faq-section:before{content:'?';position:absolute;right:3%;top:-.2em;font-size:clamp(240px,38vw,520px);font-weight:800;line-height:1;color:#08745b08;pointer-events:none}
#faq .faq-grid{position:relative;z-index:1;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);align-items:start;gap:72px}
#faq .faq-grid>div:first-child{position:sticky;top:125px;padding:32px;background:#07111f;border-radius:9px;color:#fff}
#faq .faq-grid>div:first-child .eyebrow{color:#20c997}
#faq .faq-grid>div:first-child h2{font-size:34px}
#faq .faq-grid>div:first-child>p:not(.eyebrow){color:#c2d3c9;font-size:13px}
#faq .faq-grid>div:first-child .text-link{color:#e5f0e5}
#faq .faqs{display:grid;gap:11px}
#faq .faqs details,#faq .faqs details:first-child{padding:0;border:1px solid #dce4e2;background:#fff;border-radius:7px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
#faq .faqs details[open]{border-color:#aac6af;box-shadow:0 8px 25px #07111f0a}
#faq .faqs summary{padding:19px 54px 19px 20px;font-size:13px;line-height:1.5}
#faq .faqs summary:after{right:19px;top:16px;width:24px;height:24px;border-radius:50%;background:#edf3ed;display:grid;place-items:center;line-height:1}
#faq .faqs details[open] summary{color:#08745b}
#faq .faqs details>p{padding:0 48px 20px 20px;margin:0;font-size:12px;line-height:1.8;color:#5d6e71}
@media(min-width:801px){#projects.is-pinned .section-heading{margin-bottom:25px}#projects.is-pinned .project-scroll-cue{margin-top:21px}}
@media(max-width:800px){#projects{overflow:visible!important;padding-top:60px;padding-bottom:55px}.project-pair{gap:20px}.project-pair .project-image{height:220px}.project-pair+.project-pair{position:relative;inset:auto;visibility:visible;pointer-events:auto;margin-top:35px}.project-scroll-cue{display:none}#faq .faq-grid{grid-template-columns:1fr;gap:25px}#faq .faq-grid>div:first-child{position:relative;top:auto;padding:25px}#faq .faq-grid>div:first-child h2{font-size:30px}}
@media(max-width:520px){.project-pair{grid-template-columns:1fr;gap:25px}.project-pair+.project-pair{margin-top:25px}.project-pair .project-image{height:245px}#faq .faqs{gap:9px}#faq .faqs summary{padding:17px 48px 17px 16px;font-size:12px}#faq .faqs summary:after{right:13px;top:13px}#faq .faqs details>p{padding:0 17px 18px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.project-progress>span{transition:none}}
#projects{min-height:calc(100svh - 88px);padding-top:42px;padding-bottom:36px;display:flex;align-items:center}
#projects>.container{width:min(1240px,calc(100% - 64px));margin-inline:auto}
#projects .section-heading{margin-bottom:24px}
.project-pair .project-image{height:clamp(185px,29vh,290px)}
.project-pair .project-image img{height:100%}
@media(max-width:800px){#projects{min-height:0;display:block;padding-top:60px;padding-bottom:55px}.project-pair .project-image{height:220px}}
@media(max-width:520px){.project-pair .project-image{height:245px}}
/* Smooth two-project carousel; hover or keyboard focus pauses rotation. */
#projects{min-height:0;display:block;align-items:initial;overflow:hidden;padding:80px 0 70px}
#projects>.container{width:min(1240px,calc(100% - 64px));margin:auto}
#projects .section-heading{position:relative;top:auto;margin-bottom:34px}
.project-scroll-stage{position:relative}
.project-pair+.project-pair{position:relative;inset:auto;visibility:visible;pointer-events:auto;margin-top:34px}
.project-pair .project-image{height:clamp(210px,30vw,330px)}
.project-scroll-cue{display:none}
.project-slider-controls{display:flex;align-items:center;justify-content:center;gap:17px;margin:31px auto 0}
.project-arrow,.project-autoplay{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid #cddbd3;background:transparent;color:#07111f;font:inherit;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.project-arrow:hover,.project-autoplay:hover{background:#07111f;border-color:#07111f;color:#fff}
.project-dots{display:flex;align-items:center;gap:8px}.project-dots button{width:28px;height:28px;padding:10px;border:0;background:transparent;cursor:pointer}.project-dots button span{display:block;width:8px;height:8px;border-radius:50%;background:#b8c9bd;transition:width .3s,background .3s;border-radius:8px}.project-dots button[aria-pressed=true] span{width:24px;background:#08745b}
.project-slide-count{font-size:11px;font-variant-numeric:tabular-nums;color:#476253}.project-slide-count i{font-style:normal;color:#aab7ac;padding:0 4px}
.project-progress{position:absolute;left:0;right:0;bottom:-12px;height:2px;background:#e0e8e0;overflow:hidden}.project-progress>span{display:block;width:100%;height:100%;background:#08745b;transform:scaleX(0);transform-origin:left}
.project-carousel-ready .project-pair{display:none;position:absolute;inset:0;width:100%;margin:0;pointer-events:none}
.project-carousel-ready .project-pair.is-active{display:grid;position:relative;inset:auto;pointer-events:auto}.project-carousel-ready .project-pair.is-leaving{display:grid;position:absolute;inset:0;z-index:2;pointer-events:none}
.project-carousel-ready .project-scroll-stage{overflow:hidden}
@media(max-width:800px){#projects{min-height:0;display:block;padding:60px 0 55px}.project-pair .project-image{height:220px}.project-carousel-ready .project-pair.is-active{display:grid}.project-pair+.project-pair{margin-top:34px}}
@media(max-width:520px){.project-pair{grid-template-columns:1fr;gap:25px}.project-pair .project-image{height:245px}.project-pair+.project-pair{margin-top:25px}.project-carousel-ready .project-pair.is-active{display:grid}.project-slider-controls{margin-top:25px}}
/* Smooth two-project carousel; pointer hover and keyboard focus pause rotation. */
#projects{min-height:0;display:block;align-items:initial;overflow:hidden;padding:80px 0 70px}
#projects>.container{width:min(1240px,calc(100% - 64px));margin:auto}
#projects .section-heading{position:relative;top:auto;margin-bottom:34px}
.project-scroll-stage{position:relative}
.project-pair+.project-pair{position:relative;inset:auto;visibility:visible;pointer-events:auto;margin-top:34px}
.project-pair .project-image{height:clamp(210px,30vw,330px)}
.project-scroll-cue{display:none}
.project-slider-controls{display:flex;align-items:center;justify-content:center;gap:17px;margin:31px auto 0}
.project-arrow,.project-autoplay{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid #cddbd3;background:transparent;color:#07111f;font:inherit;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.project-arrow:hover,.project-autoplay:hover{background:#07111f;border-color:#07111f;color:#fff}
.project-dots{display:flex;align-items:center;gap:8px}.project-dots button{width:28px;height:28px;padding:10px;border:0;background:transparent;cursor:pointer}.project-dots button span{display:block;width:8px;height:8px;border-radius:8px;background:#b8c9bd;transition:width .3s,background .3s}.project-dots button[aria-pressed=true] span{width:24px;background:#08745b}
.project-slide-count{font-size:11px;font-variant-numeric:tabular-nums;color:#476253}.project-slide-count i{font-style:normal;color:#aab7ac;padding:0 4px}
.project-carousel-ready .project-pair{display:none;position:absolute;inset:0;width:100%;margin:0;pointer-events:none}
.project-carousel-ready .project-pair.is-active{display:grid;position:relative;inset:auto;pointer-events:auto}
.project-carousel-ready .project-scroll-stage{overflow:hidden}
@media(max-width:800px){#projects{min-height:0;display:block;padding:60px 0 55px}.project-pair .project-image{height:220px}.project-pair+.project-pair{margin-top:34px}}
@media(max-width:520px){.project-pair{grid-template-columns:1fr;gap:25px}.project-pair .project-image{height:245px}.project-pair+.project-pair{margin-top:25px}.project-slider-controls{margin-top:25px}}
/* Business highlights: label badges above concise supporting copy. */
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:48px;padding:26px 0 0;border-top:1px solid var(--line)}
.facts>.fact-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:22px 20px;border:1px solid #dce9dd;border-radius:8px;background:linear-gradient(145deg,#fff,#f8fbf7);min-height:120px}
.facts>.fact-card:first-child,.facts>.fact-card:nth-child(3){padding-left:20px;border-left:1px solid #dce9dd}
.fact-badge{display:inline-flex;align-items:center;min-height:27px;padding:5px 10px;background:#e8f2e1;border:1px solid #d7e6cf;border-radius:4px;color:#286347;font-size:9px;font-weight:800;letter-spacing:.9px;line-height:1.2}
.fact-copy{color:#52645b;font-size:12px;font-weight:500;line-height:1.55}
@media(max-width:800px){.facts{grid-template-columns:1fr 1fr;gap:12px}.facts>.fact-card,.facts>.fact-card:first-child,.facts>.fact-card:nth-child(3){padding:17px 15px;min-height:105px}.fact-copy{font-size:11px}}
@media(max-width:480px){.facts{gap:9px;margin-top:32px;padding-top:20px}.facts>.fact-card,.facts>.fact-card:first-child,.facts>.fact-card:nth-child(3){padding:14px 11px;min-height:100px;gap:11px}.fact-badge{font-size:8px;padding:5px 7px;letter-spacing:.5px}.fact-copy{font-size:10px}}
/* Star-topped framed badges inspired by the supplied featured seal. */
.facts>.fact-card{align-items:center;text-align:center;gap:13px;padding:16px 14px 18px;min-height:0;background:#fff;border-color:#e4ebe3}
.fact-badge{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;width:min(100%,190px);height:112px;min-height:112px;padding:0 10px 14px;overflow:hidden;clip-path:polygon(50% 0,96% 43%,96% 100%,4% 100%,4% 43%);background:#07111f;border:0;border-radius:0;color:#07111f}
.fact-badge:before{content:'';position:absolute;z-index:-1;inset:6px 6px 6px;background:linear-gradient(150deg,#e6f2bc,#c9e88e 58%,#a9d576);clip-path:polygon(50% 0,95% 43%,95% 100%,5% 100%,5% 43%)}
.fact-badge strong{font-size:clamp(11px,1.1vw,15px);line-height:1.1;font-weight:800;letter-spacing:.2px;white-space:nowrap}
.badge-stars{position:absolute;top:22px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:10px;color:#286b52;font-size:11px;line-height:1}
.badge-stars b{font-size:21px;line-height:1}
.fact-copy{max-width:190px;min-height:38px;font-size:11px;font-weight:600;line-height:1.55;color:#53645a}
@media(max-width:800px){.facts>.fact-card,.facts>.fact-card:first-child,.facts>.fact-card:nth-child(3){align-items:center;text-align:center;padding:14px 10px 16px;min-height:0}.fact-badge{width:min(100%,175px);height:104px;min-height:104px;padding-bottom:13px}.badge-stars{top:20px}.fact-copy{min-height:34px;font-size:10px}}
@media(max-width:480px){.fact-badge{width:100%;max-width:155px;height:94px;min-height:94px;padding-bottom:12px}.fact-badge:before{inset:5px}.fact-badge strong{font-size:10px;letter-spacing:0}.badge-stars{top:17px;gap:7px;font-size:9px}.badge-stars b{font-size:18px}.fact-copy{font-size:9px;min-height:32px}}
/* Refined featured badge row with crisp framing and stronger hierarchy. */
.facts{position:relative;isolation:isolate;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:52px;padding:27px;border:1px solid #dfe9dc;border-radius:12px;background:radial-gradient(ellipse at 2% 0%,#ffffffd9,transparent 53%),linear-gradient(135deg,#f2f7e9,#e9f2e4 58%,#f5f7eb);box-shadow:0 15px 38px #07111f0b}
.facts:before{content:'';position:absolute;z-index:-1;inset:10px;border:1px solid #ffffffa6;border-radius:8px;pointer-events:none}
.facts>.fact-card,.facts>.fact-card:first-child,.facts>.fact-card:nth-child(3){position:relative;align-items:center;justify-content:flex-start;text-align:center;gap:13px;min-height:0;padding:5px 8px 8px;border:0;background:transparent;transition:transform .25s ease}
.facts>.fact-card:hover{transform:translateY(-4px)}
.fact-badge{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:0;width:min(100%,190px);height:132px;min-height:132px;padding:0 9px 9px;overflow:hidden;clip-path:polygon(50% 0,97% 43%,97% 100%,3% 100%,3% 43%);background:#152b25;color:#fff;border:0;border-radius:0;filter:drop-shadow(0 5px 0 #14251e15)}
.fact-badge:before{content:'';position:absolute;z-index:-1;inset:6px 6px 6px;background:linear-gradient(145deg,#eaf4c8 0%,#d2eb9e 55%,#b6dd84 100%);clip-path:polygon(50% 0,95% 43%,95% 100%,5% 100%,5% 43%)}
.fact-badge strong{display:block;width:100%;padding:11px 3px 10px;background:#08745b;color:#fff;font-size:clamp(10px,1vw,13px);line-height:1.1;font-weight:800;letter-spacing:.35px;white-space:nowrap;text-shadow:0 1px 1px #07111f33}
.badge-stars{position:absolute;top:21px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:12px;color:#21674e;font-size:11px;line-height:1}
.badge-stars b{font-size:24px;line-height:1;color:#07111f}
.facts>.fact-card:nth-child(2) .fact-badge:before{background:linear-gradient(145deg,#d8f1e6,#bfe7d5 58%,#9ad4bf)}
.facts>.fact-card:nth-child(3) .fact-badge:before{background:linear-gradient(145deg,#fff2c5,#f6df98 58%,#ebcc74)}
.facts>.fact-card:nth-child(4) .fact-badge:before{background:linear-gradient(145deg,#dff1f1,#bde1dc 58%,#99cec4)}
.facts>.fact-card:nth-child(2) .fact-badge strong{background:#28735d}
.facts>.fact-card:nth-child(3) .fact-badge strong{background:#84652a}
.facts>.fact-card:nth-child(4) .fact-badge strong{background:#286d70}
.fact-copy{max-width:190px;min-height:36px;color:#3f584c;font-size:11px;font-weight:600;line-height:1.55}
@media(max-width:800px){.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:21px}.facts>.fact-card,.facts>.fact-card:first-child,.facts>.fact-card:nth-child(3){padding:4px}.fact-badge{width:min(100%,185px);height:122px;min-height:122px}.fact-copy{font-size:10px}}
@media(max-width:480px){.facts{gap:11px;padding:15px;margin-top:32px}.facts:before{inset:6px}.facts>.fact-card,.facts>.fact-card:first-child,.facts>.fact-card:nth-child(3){gap:9px;padding:2px}.fact-badge{width:100%;max-width:155px;height:104px;min-height:104px;padding:0 7px 7px}.fact-badge:before{inset:5px}.fact-badge strong{font-size:9px;padding:9px 1px 8px;letter-spacing:.1px}.badge-stars{top:17px;gap:8px;font-size:9px}.badge-stars b{font-size:19px}.fact-copy{min-height:31px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.facts>.fact-card{transition:none}}
/* New info-card badge system: colorful kicker pills and oversized highlights. */
.facts{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:50px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.facts:before{display:none}
.facts>.fact-card,.facts>.fact-card:first-child,.facts>.fact-card:nth-child(3){position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;gap:13px;min-height:177px;padding:21px 18px 20px;border:1px solid #e1e9e0;border-radius:12px;background:linear-gradient(148deg,#fff 5%,#f8fbf6 100%);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.facts>.fact-card:before{content:'';position:absolute;z-index:-1;right:-37px;top:-50px;width:128px;height:128px;border-radius:50%;background:var(--fact-tint,#20c997);opacity:.24;transition:transform .35s ease}
.facts>.fact-card:after{content:'';position:absolute;z-index:-1;right:21px;top:20px;width:27px;height:27px;border:1px solid var(--fact-accent,#08745b);border-radius:50%;opacity:.5}
.facts>.fact-card:hover{transform:translateY(-5px);border-color:var(--fact-accent,#08745b);box-shadow:0 15px 34px #07111f12}
.fact-fast{--fact-tint:#f4b77a;--fact-accent:#c47b36}.fact-complete{--fact-tint:#76cbb6;--fact-accent:#378c76}.fact-simple{--fact-tint:#d9ee85;--fact-accent:#879f38}.fact-world{--fact-tint:#8ebfd3;--fact-accent:#508ba2}
.facts>.fact-card .fact-badge{position:relative;z-index:1;isolation:auto;display:inline-flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:7px;width:auto;height:auto;min-height:0;max-width:calc(100% - 25px);padding:6px 9px;border:1px solid color-mix(in srgb,var(--fact-accent) 24%,white);border-radius:999px;clip-path:none;overflow:visible;background:color-mix(in srgb,var(--fact-tint) 25%,white);color:#31483b;filter:none;font-size:8px;font-weight:800;line-height:1.2;letter-spacing:.8px;white-space:nowrap}
.facts>.fact-card .fact-badge:before{display:none}
.fact-badge i{font-style:normal;display:grid;place-items:center;width:17px;height:17px;margin:-3px 0 -3px -4px;border-radius:50%;background:var(--fact-accent);color:#fff;font-size:10px;line-height:1}
.facts>.fact-card .fact-stat{display:block;position:relative;z-index:1;margin-top:auto;max-width:100%;color:#07111f;font-size:clamp(18px,1.7vw,24px);line-height:1.18;letter-spacing:-.7px;font-weight:700;white-space:nowrap}
.fact-fast .fact-stat{font-size:30px;letter-spacing:-1.4px}.fact-stat small{font-size:.56em;font-weight:650;letter-spacing:0;color:#587064}
.facts>.fact-card .fact-copy{position:relative;z-index:1;display:block;max-width:205px;min-height:0;color:#5c6f63;font-size:11px;font-weight:500;line-height:1.55}
.fact-decoration{position:absolute;right:17px;bottom:13px;color:#234c3830;font-size:10px;font-weight:700;letter-spacing:1px}
@media(max-width:1000px){.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.facts>.fact-card,.facts>.fact-card:first-child,.facts>.fact-card:nth-child(3){min-height:155px;padding:18px}.facts>.fact-card .fact-stat{font-size:22px}.fact-fast .fact-stat{font-size:29px}}
@media(max-width:480px){.facts{gap:9px;margin-top:32px}.facts>.fact-card,.facts>.fact-card:first-child,.facts>.fact-card:nth-child(3){min-height:148px;padding:14px 11px;gap:11px;border-radius:10px}.facts>.fact-card .fact-badge{gap:5px;max-width:calc(100% - 18px);padding:5px 7px;font-size:7px;letter-spacing:.35px}.fact-badge i{width:15px;height:15px;font-size:9px}.facts>.fact-card .fact-stat{font-size:clamp(15px,4.3vw,19px);letter-spacing:-.5px}.fact-fast .fact-stat{font-size:25px}.facts>.fact-card .fact-copy{font-size:9px}.fact-decoration{right:11px;bottom:9px;font-size:8px}.facts>.fact-card:before{width:95px;height:95px;right:-32px;top:-34px}.facts>.fact-card:after{right:11px;top:13px;width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){.facts>.fact-card,.facts>.fact-card:before{transition:none}}
/* Three-column project slider with focused dot pagination. */
#projects{min-height:0;display:block;overflow:hidden;padding:80px 0 70px;background:#f7f9f6}
#projects>.container{width:min(1240px,calc(100% - 64px));margin:auto}
#projects .section-heading{position:relative;top:auto;margin-bottom:34px}
.project-slider-viewport{overflow:hidden;position:relative;padding:4px 2px 12px;margin:-4px -2px -12px;perspective:1200px;touch-action:pan-y}
.project-track{--project-gap:22px;display:flex;align-items:stretch;gap:var(--project-gap);will-change:transform}
.project-track>.project{flex:0 0 calc((100% - var(--project-gap)*2)/3);min-width:0}
.project-track .project-image{height:clamp(190px,21vw,285px);padding:14px 14px 0;border-radius:12px;background:linear-gradient(145deg,#e8eee6,#f5f7f2);overflow:hidden}
.project-track .project-image img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:6px 6px 0 0;transition:transform .45s cubic-bezier(.2,.75,.25,1);box-shadow:0 4px 20px #15272b1a}
.project-track .project-image:hover img{transform:translateY(-5px)}
.project-track .project-meta{margin:17px 0 8px;font-size:8px;letter-spacing:.65px}
.project-track .project h3{font-size:18px;margin-bottom:7px}
.project-track .project>p{font-size:12px;line-height:1.65}
.project-dots{display:flex;align-items:center;justify-content:center;gap:5px;margin:29px auto 0}
.project-dot{display:grid;place-items:center;width:32px;height:24px;padding:0;border:0;background:transparent;cursor:pointer}
.project-dot span{display:block;width:7px;height:7px;border-radius:999px;background:#b8c9bd;transition:width .35s cubic-bezier(.2,.75,.25,1),background .25s,box-shadow .25s}
.project-dot[aria-pressed=true] span{width:27px;background:#08745b;box-shadow:0 2px 8px #08745b40}
.project-dot:focus-visible{outline:2px solid #08745b;outline-offset:1px;border-radius:5px}
@media(max-width:900px){.project-track{--project-gap:18px}.project-track>.project{flex-basis:calc((100% - var(--project-gap))/2)}.project-track .project-image{height:240px}}
@media(max-width:560px){#projects{padding:60px 0 55px}.project-track{--project-gap:0px}.project-track>.project{flex-basis:100%;padding:0 5px}.project-track .project-image{height:260px}.project-track .project h3{font-size:20px}.project-track .project-meta{font-size:9px}.project-track .project>p{font-size:13px}.project-dots{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.project-track .project-image img,.project-dot span{transition:none}}
/* Lightly fanned FAQ deck. The open answer straightens and rises above the stack. */
#faq .faqs{display:flex;flex-direction:column;gap:0;padding:8px 4px 13px}
#faq .faqs details,#faq .faqs details:first-child{position:relative;z-index:1;flex:0 0 auto;margin:0 0 -3px;padding:0;border:1px solid #d7e2d8;background:linear-gradient(160deg,#fff,#fbfcf8);border-radius:9px;overflow:hidden;box-shadow:0 5px 14px #18372e0a;transform:rotate(var(--faq-tilt,0deg));transform-origin:50% 40%;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
#faq .faqs details:nth-child(4n+1){--faq-tilt:-.55deg}
#faq .faqs details:nth-child(4n+2){--faq-tilt:.45deg}
#faq .faqs details:nth-child(4n+3){--faq-tilt:-.3deg}
#faq .faqs details:nth-child(4n){--faq-tilt:.6deg}
#faq .faqs details:hover,#faq .faqs details:focus-within,#faq .faqs details[open]{z-index:4;transform:rotate(0) translateY(-3px);border-color:#9ab8a1;box-shadow:0 12px 27px #18372e18}
#faq .faqs details[open]{margin-bottom:6px}
@media(max-width:800px){#faq .faqs{padding:4px 2px 8px}}
@media(prefers-reduced-motion:reduce){#faq .faqs details{transition:none}}
/* FAQ playing-card stack with animated answer reveals. */
#faq .faqs{display:flex;flex-direction:column;gap:0;padding:15px 13px 22px}
#faq .faqs details,#faq .faqs details:first-child{position:relative;z-index:1;flex:0 0 auto;margin:0 0 -11px;padding:0;border:1px solid #d6e0d9;border-radius:13px;background:linear-gradient(155deg,#fff 0%,#fff 77%,#f6f8f4 100%);overflow:hidden;box-shadow:0 7px 17px #18372e12;transform:rotate(var(--faq-tilt,0deg)) translateX(var(--faq-fan,0px));transform-origin:50% 35%;transition:transform .32s cubic-bezier(.2,.75,.25,1),box-shadow .32s ease,border-color .32s ease}
#faq .faqs details:nth-child(7n+1){--faq-tilt:-1.15deg;--faq-fan:-3px;--faq-suit:'♠';--faq-color:#08745b}
#faq .faqs details:nth-child(7n+2){--faq-tilt:.9deg;--faq-fan:2px;--faq-suit:'♥';--faq-color:#d36d68}
#faq .faqs details:nth-child(7n+3){--faq-tilt:-.7deg;--faq-fan:3px;--faq-suit:'♣';--faq-color:#63814b}
#faq .faqs details:nth-child(7n+4){--faq-tilt:1.25deg;--faq-fan:-2px;--faq-suit:'♦';--faq-color:#d19841}
#faq .faqs details:nth-child(7n+5){--faq-tilt:-.95deg;--faq-fan:-4px;--faq-suit:'♠';--faq-color:#577e9b}
#faq .faqs details:nth-child(7n+6){--faq-tilt:.65deg;--faq-fan:3px;--faq-suit:'♥';--faq-color:#b66b85}
#faq .faqs details:nth-child(7n){--faq-tilt:-.5deg;--faq-fan:1px;--faq-suit:'♣';--faq-color:#568475}
#faq .faqs details:hover,#faq .faqs details:focus-within,#faq .faqs details[open],#faq .faqs details.is-closing{z-index:10;transform:rotate(0) translateY(-4px);border-color:color-mix(in srgb,var(--faq-color,#08745b) 48%,white);box-shadow:0 17px 34px #18372e20}
#faq .faqs details[open]{margin-bottom:8px}
#faq .faqs summary{position:relative;padding:20px 55px 20px 54px;font-size:13px;line-height:1.55}
#faq .faqs summary:before{content:var(--faq-suit,'♠');position:absolute;left:18px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:25px;height:31px;border-radius:7px;background:color-mix(in srgb,var(--faq-color,#08745b) 11%,white);color:var(--faq-color,#08745b);font-size:17px;line-height:1}
#faq .faqs summary:after{right:17px;top:50%;transform:translateY(-50%);width:25px;height:25px;border:1px solid #dce7de;border-radius:50%;background:#f3f6f0;display:grid;place-items:center;line-height:1;transition:transform .3s,background .3s,color .3s}
#faq .faqs details[open] summary:after{transform:translateY(-50%) rotate(45deg);background:var(--faq-color,#08745b);border-color:var(--faq-color,#08745b);color:white}
#faq .faqs details[open] summary{color:var(--faq-color,#08745b)}
#faq .faq-answer{display:grid;grid-template-rows:var(--faq-row,0fr);transition:grid-template-rows .42s cubic-bezier(.22,.75,.25,1)}
#faq .faqs details[open] .faq-answer{--faq-row:1fr}
#faq .faqs details.is-closing>.faq-answer{display:grid}

#faq .faq-answer>p{min-height:0;overflow:hidden;padding:0 54px 0 54px;margin:0;font-size:12px;line-height:1.85;color:#5d6e71;opacity:0;transform:translateY(-5px);transition:opacity .24s ease,transform .32s ease,padding .32s ease}
#faq .faqs details[open] .faq-answer>p,#faq .faqs details.is-closing .faq-answer>p{padding-bottom:21px;opacity:1;transform:translateY(0)}
#faq .faqs details:not([open]):not(.is-closing)>.faq-answer{display:grid;--faq-row:0fr}
@media(max-width:800px){#faq .faqs{padding:8px 5px 15px}}
@media(max-width:520px){#faq .faqs{padding:6px 3px 12px}#faq .faqs details{margin-bottom:-8px!important;border-radius:11px}#faq .faqs details[open]{margin-bottom:7px!important}#faq .faqs summary{padding:17px 46px 17px 46px;font-size:12px}#faq .faqs summary:before{left:12px;width:23px;height:27px;font-size:15px}#faq .faqs summary:after{right:11px;width:23px;height:23px}#faq .faq-answer>p{padding-right:17px;padding-left:46px;font-size:11px}#faq .faqs details[open] .faq-answer>p,#faq .faqs details.is-closing .faq-answer>p{padding-bottom:17px}}
@media(prefers-reduced-motion:reduce){#faq .faqs details,#faq .faq-answer,#faq .faq-answer>p{transition:none}}

/* A little more air between the fanned FAQ cards. */
#faq .faqs{gap:5px}
#faq .faqs details,#faq .faqs details:first-child{margin-bottom:0}
#faq .faqs details[open]{margin-bottom:5px}
@media(max-width:520px){#faq .faqs{gap:4px}#faq .faqs details,#faq .faqs details:first-child{margin-bottom:0!important}#faq .faqs details[open]{margin-bottom:4px!important}}

/* Keep the FAQ intro card in view while its questions scroll past. */
#faq.faq-section{overflow:clip}
#faq .faq-grid{align-items:start}
#faq .faq-grid>div:first-child{position:sticky;top:112px;align-self:start;z-index:8}
@media(max-width:800px){#faq .faq-grid>div:first-child{position:relative;top:auto}}
/* Match the shared site navigation, footer, palette, and readable type scale. */
:root{--ink:#07111f;--muted:#5b6675;--teal:#08745b;--lime:#20c997;--line:#e5eaf1;--paper:#f7f9fc}
body{color:#172033;background:#f7f9fc;font-size:16px}
.header{position:sticky;top:0;z-index:100;background:rgba(247,249,252,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(229,234,241,.9)}
.header .nav-inner{width:min(1400px,calc(100% - 40px));height:76px;min-height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px}
.header .brand{display:flex;align-items:center;gap:10px;color:#07111f;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:16px;font-weight:800;letter-spacing:-.5px;white-space:nowrap}
.header .brand-mark,.footer .brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#07111f;color:#fff;font-size:13px}
.header .brand b,.footer .brand b{color:#08745b}
.nav-links{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:650}
.nav-links>a:not(.nav-cta){color:#445064;transition:color .2s}
.nav-links>a:not(.nav-cta):hover,.nav-links>a.active{color:#08745b}
.nav-cta{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:12px 18px;background:#07111f;color:#fff;font-size:14px;font-weight:750;line-height:1.3;box-shadow:0 8px 20px #07111f1f;transition:transform .2s,background .2s}
.nav-cta:hover{transform:translateY(-1px);background:#10233d;color:#fff}
.nav-cta.mobile,.mobile-btn{display:none}
.footer{background:#050c16;color:#9aa9bc;padding:55px 0 25px;border-top:0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px}
.footer .brand{display:inline-flex;align-items:center;gap:10px;color:#fff;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:16px;font-weight:800;letter-spacing:-.5px}
.footer h3,.footer h4{color:#fff;font-size:14px;font-weight:700;margin:0 0 14px}
.footer-grid>div>a:not(.brand),.footer-grid p{display:block;margin:7px 0;color:#9aa9bc;font-size:13px;line-height:1.65}
.footer .brand:hover,.footer-grid>div>a:hover{color:#fff}
.footer .copyright{border-top:1px solid #ffffff14;margin-top:35px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#9aa9bc;font-size:11px;font-family:"JetBrains Mono",ui-monospace,monospace}
main p:not(.eyebrow):not(.fact-copy){font-size:15px;line-height:1.75}
.service p,.project-track .project>p{font-size:14px;line-height:1.7}
#faq .faqs summary{font-size:15px}
#faq .faq-answer>p{font-size:14px;line-height:1.8}
@media(max-width:1050px){.nav-links{gap:16px}.header .brand{font-size:15px}}
@media(max-width:900px){.header .nav-inner{position:relative}.mobile-btn{display:grid;place-items:center;width:42px;height:42px;border:1px solid #e5eaf1;border-radius:9px;background:#fff;color:#07111f;font-size:22px;cursor:pointer}.nav-cta:not(.mobile){display:none}.nav-links{display:none;position:absolute;top:76px;left:-20px;right:-20px;z-index:20;align-items:stretch;gap:0;padding:8px 20px 16px;background:rgba(247,249,252,.99);border-bottom:1px solid #e5eaf1;box-shadow:0 18px 35px #07111f14}.nav-links.open{display:flex;flex-direction:column}.nav-links>a:not(.nav-cta){padding:11px 10px;font-size:16px}.nav-cta.mobile{display:block;margin-top:8px;text-align:center}.footer-grid{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:22px}}
@media(max-width:620px){.header .nav-inner{width:calc(100% - 32px)}.header .brand{font-size:14px}.header .brand-mark{width:34px;height:34px}.footer{padding:42px 0 22px}.footer-grid{grid-template-columns:1fr 1fr;gap:24px}.footer-grid>div:first-child{grid-column:1/-1}.footer .copyright{display:block;font-size:10px}.footer .copyright span{display:block;margin-top:7px}.footer .copyright span:first-child{margin-top:0}main p:not(.eyebrow):not(.fact-copy){font-size:14px}}
/* Keep the standalone home footer aligned with the shared index footer. */
.footer{background:#050c16;color:#9aa9bc;padding:55px 0 25px;border-top:0}
.footer>.wrap{width:min(1400px,calc(100% - 40px));max-width:1400px;margin-inline:auto}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px;align-items:start}
.footer-grid>div{min-width:0}
.footer .brand{display:inline-flex;align-items:center;gap:10px;color:#fff;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:16px;font-weight:800;letter-spacing:-.5px}
.footer h3,.footer h4{color:#fff;font-size:14px;font-weight:700;margin:0 0 14px}
.footer a,.footer p{font-size:13px;color:#9aa9bc;margin:7px 0;line-height:1.65}
.footer-grid>div>a:not(.brand){display:inline}
.footer-grid>div:first-child p{max-width:340px;margin-top:15px}
.footer a:hover{color:#fff}
.footer .copyright{width:100%;border-top:1px solid rgba(255,255,255,.08);margin-top:35px;padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#9aa9bc;font-size:11px;line-height:1.6;font-family:"JetBrains Mono",ui-monospace,monospace}
.footer .copyright span:last-child{text-align:right}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:600px){.footer{padding:55px 0 25px}.footer>.wrap{width:min(1400px,calc(100% - 28px))}.footer-grid{grid-template-columns:1fr;gap:25px}.footer .copyright{display:block}.footer .copyright span{display:block;margin-top:7px}.footer .copyright span:first-child{margin-top:0}.footer .copyright span:last-child{text-align:left}}

/* Give the hero ambience a little more energy while keeping it behind the content. */
.hero-glow{animation-duration:10s}
.orb-a{animation-duration:9.5s}
.orb-b{animation-duration:7.5s}
.orb-c{animation-duration:6.5s}
.ambient-ribbon path{animation:trail-flow 8s linear infinite}
.ambient-ribbon path+path{animation-duration:6s;animation-direction:reverse}
.ambient-spark{animation:spark-drift 7s ease-in-out infinite alternate}
.spark-b{animation-duration:5.5s}
.hero-ambience:before{content:'';position:absolute;inset:0;opacity:.58;background:radial-gradient(circle,#bde88b 0 1px,transparent 2px) 10% 26%/87px 91px,radial-gradient(circle,#6fceb1 0 1.5px,transparent 2.5px) 74% 17%/121px 113px,radial-gradient(circle,#e8c879 0 1px,transparent 2px) 48% 76%/97px 109px;mask-image:linear-gradient(90deg,transparent,#000 24%,#000 88%,transparent);animation:particle-drift 8s ease-in-out infinite alternate}
.hero-ambience:after{content:'';position:absolute;top:12%;left:-35%;width:34%;height:76%;opacity:.24;filter:blur(18px);background:linear-gradient(90deg,transparent,#a6d58a55 48%,transparent);transform:skewX(-22deg);animation:light-sweep 9s ease-in-out infinite}
/* Fewer ambient dots; pointer particles appear only while hovering the hero. */
.hero-ambience:before{opacity:.28;background:radial-gradient(circle,#bde88b 0 1px,transparent 2px) 10% 26%/190px 186px,radial-gradient(circle,#6fceb1 0 1.5px,transparent 2.5px) 74% 17%/230px 220px,radial-gradient(circle,#e8c879 0 1px,transparent 2px) 48% 76%/205px 217px;mask-image:linear-gradient(90deg,transparent,#000 24%,#000 88%,transparent)}
.hero-cursor-particles{position:absolute;z-index:1;left:0;top:0;width:0;height:0;opacity:0;pointer-events:none;transition:opacity .22s ease}
.hero.pointer-active .hero-cursor-particles{opacity:1}
.hero-cursor-particles i{position:absolute;left:0;top:0;width:5px;height:5px;border-radius:50%;background:#d5efa1;box-shadow:0 0 12px 3px #c3e88055;transform:translate(-50%,-50%);animation:cursor-particle 1.25s ease-out infinite}
.hero-cursor-particles i:nth-child(2){--dx:25px;--dy:-18px;animation-delay:-.25s;background:#76d4b2}
.hero-cursor-particles i:nth-child(3){--dx:-22px;--dy:-24px;animation-delay:-.5s;width:4px;height:4px}
.hero-cursor-particles i:nth-child(4){--dx:31px;--dy:16px;animation-delay:-.75s;background:#e8c879;width:3px;height:3px}
.hero-cursor-particles i:nth-child(5){--dx:-28px;--dy:13px;animation-delay:-1s;width:3px;height:3px}
.hero-cursor-particles i:nth-child(6){--dx:3px;--dy:-34px;animation-delay:-.4s;background:#76d4b2;width:3px;height:3px}
@keyframes cursor-particle{0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}20%{opacity:.9}100%{opacity:0;transform:translate(calc(-50% + var(--dx,0px)),calc(-50% + var(--dy,0px))) scale(1.15)}}
@keyframes particle-drift{from{transform:translate3d(-8px,10px,0)}to{transform:translate3d(13px,-12px,0)}}
@keyframes light-sweep{0%,12%{left:-35%;opacity:0}30%{opacity:.24}80%,100%{left:115%;opacity:0}}
@keyframes trail-flow{to{stroke-dashoffset:-80}}
@keyframes spark-drift{from{transform:translate3d(0,8px,0) rotate(-18deg)}to{transform:translate3d(-12px,-14px,0) rotate(22deg)}}
@media(prefers-reduced-motion:reduce){.hero-glow,.ambient-orb,.ambient-spark,.ambient-ribbon path,.hero-ambience:before,.hero-ambience:after,.hero-cursor-particles i{animation:none!important}.hero-cursor-particles{display:none!important}}
.package-cta-row{display:grid;gap:10px;margin-top:18px}
.package-cta-row .button{width:100%;margin:0;justify-content:space-between}
.package-cta-row .package-detail-button{background:#fff;color:#15272b;border:1px solid #cbd8cf;box-shadow:none}
.package-cta-row .package-detail-button:hover{background:#0d6158;color:#fff;border-color:#0d6158}
