[data-theme="dark"]{--bg:#0D1B2A;--bg2:#112233;--bg3:#162940;--text:#F0EBE0;--text2:rgba(240,235,224,0.76);--text3:rgba(240,235,224,0.62);--border:rgba(240,235,224,0.07);--border2:rgba(240,235,224,0.18);--card:rgba(255,255,255,0.04);--card-h:rgba(217,106,31,0.07);--nav-bg:rgba(13,27,42,0.95)}[data-theme="light"]{--bg:#F6F0E4;--bg2:#EDE7D6;--bg3:#E2DBCA;--text:#1A2535;--text2:rgba(26,37,53,0.76);--text3:rgba(26,37,53,0.62);--border:rgba(26,37,53,0.09);--border2:rgba(26,37,53,0.18);--card:rgba(255,255,255,0.75);--card-h:rgba(217,106,31,0.05);--nav-bg:rgba(246,240,228,0.95)}:root{--orange:#D96A1F;--orange-rich:#B85A17;--orange-soft:#F3A15C;--orange-d:#B85A17;--orange-l:rgba(217,106,31,0.08);--navy:#0D1B2A;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--bg);color:var(--text);overflow-x:hidden;transition:background .35s,color .35s}body.nav-open{overflow:hidden}nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:16px 5vw;background:var(--nav-bg);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);transition:background .35s}.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none}.nav-brand-text{font-family:var(--serif);font-size:17px;font-weight:500;color:var(--text);transition:color .35s}.nav-brand-text span{color:var(--orange)}.nav-compass .arc-o{stroke:var(--text);fill:none;stroke-linecap:round}.nav-compass .arc-i{stroke:var(--text);fill:none;stroke-linecap:round;opacity:0.45}.nav-compass .spk{fill:var(--text)}.nav-compass .spk-d{fill:var(--text);opacity:0.3}.nav-compass .ndl-b{fill:var(--orange)}.nav-compass .ndl-n{fill:var(--bg)}.nav-compass .ndl-dot{fill:var(--text)}.nav-right{display:flex;align-items:center;gap:6px}.nav-links{display:flex;gap:2px;align-items:center}.nav-links a{font-size:13px;color:var(--text2);text-decoration:none;padding:7px 12px;border-radius:6px;transition:color .2s,background .2s}.nav-links a:hover,.nav-links a.active{color:var(--orange)}.nav-cta{background:transparent;color:var(--orange);border:1.5px solid var(--orange);padding:8px 18px;border-radius:7px;font-weight:500;font-size:13px;cursor:pointer;font-family:var(--sans);text-decoration:none;transition:background .2s,color .2s;margin-left:6px}.nav-cta:hover{background:var(--orange);color:#fff}.theme-toggle{width:44px;height:24px;background:var(--bg3);border:1px solid var(--border2);border-radius:40px;cursor:pointer;position:relative;transition:background .35s;flex-shrink:0;margin-left:8px}.toggle-knob{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--orange);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}[data-theme="light"] .toggle-knob{transform:translateX(20px)}.t-icon{position:absolute;top:50%;transform:translateY(-50%);transition:opacity .2s;display:flex;align-items:center;justify-content:center;color:var(--text)}.t-moon{left:4px}.t-sun{right:3px;opacity:0}[data-theme="light"] .t-sun{opacity:1}[data-theme="light"] .t-moon{opacity:0}.dot-divider{height:8px;background-image:radial-gradient(circle,var(--orange) 1px,transparent 1px);background-size:12px 8px;opacity:0.35}#hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:120px 5vw 60px;gap:40px;position:relative;overflow:hidden;background:var(--bg)}.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none}.hero-left{position:relative;z-index:1}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text3);margin-bottom:22px}.edot{width:7px;height:7px;border-radius:50%;background:var(--orange);display:inline-block;flex-shrink:0}.hero-h1{font-family:var(--serif);font-size:clamp(36px,4.5vw,62px);font-weight:400;line-height:1.08;color:var(--text);letter-spacing:-.01em;margin-bottom:18px;transition:color .35s}.hero-h1 em{font-style:italic;color:var(--orange);font-weight:400}.hero-sub{font-size:15px;font-weight:300;line-height:1.75;color:var(--text2);margin-bottom:32px;max-width:420px;transition:color .35s}.hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:44px}.btn-primary{background:linear-gradient(135deg,#D96A1F 0%,#B85A17 100%);color:#fff;padding:12px 22px;border-radius:7px;font-size:14px;font-weight:500;text-decoration:none;border:none;cursor:pointer;font-family:var(--sans);display:inline-flex;align-items:center;gap:8px;transition:opacity .2s,transform .15s;box-shadow:0 4px 18px rgba(217,106,31,0.25)}.btn-primary:hover{opacity:0.88;transform:translateY(-1px)}.btn-primary svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:2}.btn-ghost{color:var(--text);font-size:14px;font-weight:400;text-decoration:none;display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--border2);padding:11px 20px;border-radius:7px;transition:border-color .2s,color .2s}.btn-ghost:hover{border-color:var(--orange);color:var(--orange)}.hero-badges{display:flex;gap:18px;flex-wrap:wrap}.hero-badge{display:flex;align-items:center;gap:8px}.badge-icon{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,0.04);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.badge-icon svg{width:14px;height:14px;stroke:var(--text2);fill:none;stroke-width:1.5}.badge-title{font-size:12px;font-weight:500;color:var(--text);line-height:1.3}.badge-sub{font-size:10px;color:var(--text3)}.hero-right{position:relative;z-index:1;display:flex;align-items:center;justify-content:center}.compass-scene{position:relative;width:420px;height:420px;flex-shrink:0;overflow:visible}#hero-compass{width:100%;height:100%;overflow:visible;display:block}#hero-compass circle{vector-effect:non-scaling-stroke}#hero-compass .h-arc-o{stroke:var(--text);fill:none;stroke-linecap:round;opacity:0.85}#hero-compass .h-arc-i{stroke:var(--text);fill:none;stroke-linecap:round;opacity:0.38}#hero-compass .h-spk{fill:var(--text)}#hero-compass .h-spk-d{fill:var(--text);opacity:0.28}#hero-compass .h-ndl-b{fill:var(--orange)}#hero-compass .h-ndl-n{fill:var(--bg)}#hero-compass .h-ndl-dot{fill:var(--text)}#hero-compass .h-track{stroke:var(--text);fill:none;stroke-width:0.5;opacity:0.06}#hero-outer-ring{transform-origin:210px 210px}#hero-inner-ring{transform-origin:210px 210px}@keyframes spinCW{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes spinCCW{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}#compass-outer{transform-origin:210px 210px;animation:spinCW 180s linear infinite}#compass-inner{transform-origin:210px 210px;animation:spinCW 45s linear infinite}#nav-compass-outer{transform-origin:50px 50px;animation:spinCW 90s linear infinite}#nav-compass-inner{transform-origin:50px 50px;animation:spinCW 120s linear infinite}#footer-compass-outer{transform-origin:50px 50px;animation:spinCW 90s linear infinite}#footer-compass-inner{transform-origin:50px 50px;animation:spinCW 120s linear infinite}[data-theme="light"] #hero-compass{filter:drop-shadow(0px 12px 32px rgba(30,28,26,0.18)) drop-shadow(0px 3px 8px rgba(30,28,26,0.10))}[data-theme="dark"] #hero-compass{filter:drop-shadow(0px 0px 40px rgba(217,106,31,0.18)) drop-shadow(0px 0px 16px rgba(217,106,31,0.12)) drop-shadow(0px 4px 12px rgba(0,0,0,0.4))}.bgl-label{position:absolute;display:flex;align-items:center;gap:7px;white-space:nowrap}.bgl-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);flex-shrink:0;box-shadow:0 0 5px rgba(240,124,42,0.4);transition:box-shadow .4s,transform .4s}.bgl-line{height:1px;background:var(--orange);opacity:0.25;flex-shrink:0;transition:opacity .4s,width .4s}.bgl-text{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text3);transition:color .4s,text-shadow .4s}.bgl-label.active .bgl-text{color:var(--orange);text-shadow:0 0 18px rgba(240,124,42,0.6)}.bgl-label.active .bgl-dot{box-shadow:0 0 16px rgba(240,124,42,1),0 0 6px rgba(240,124,42,0.8);transform:scale(1.25)}.bgl-label.active .bgl-line{opacity:0.75}.label-building{flex-direction:row;align-items:center;top:-12px;left:206px}.label-building .bgl-line{width:32px}.label-growing{flex-direction:row;align-items:center;top:206px;left:424px}.label-growing .bgl-line{width:32px}.label-leading{flex-direction:row;align-items:center;top:424px;left:206px}.label-leading .bgl-line{width:32px}section{padding:100px 6vw;transition:background .35s}.section-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:14px}.section-eyebrow::before{content:'';width:22px;height:1.5px;background:var(--orange);display:block}.section-h2{font-family:var(--serif);font-size:clamp(30px,4vw,46px);font-weight:400;line-height:1.15;color:var(--text);letter-spacing:-.02em;margin-bottom:12px;transition:color .35s}.section-h2 em{font-style:italic;color:var(--orange)}.section-lead{font-size:16px;font-weight:300;line-height:1.75;color:var(--text2);max-width:520px;transition:color .35s}#services{background:var(--bg2);padding:100px 6vw 80px}.svc-phases{display:flex;align-items:center;gap:0;margin:32px 0 40px;padding:20px 28px;background:var(--card);border:1px solid var(--border2);border-radius:12px}.svc-phase{display:flex;align-items:center;gap:10px;flex:1}.phase-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);flex-shrink:0;box-shadow:0 0 8px rgba(240,124,42,0.5)}.phase-desc{font-family:var(--serif);font-size:13px;font-style:italic;font-weight:400;color:var(--text2);letter-spacing:0.01em}.svc-phase-divider{width:1px;height:28px;background:var(--border2);margin:0 24px;flex-shrink:0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:54px;border:1px solid var(--border2);border-radius:16px;overflow:hidden;background:var(--border2)}.svc-card{background:var(--bg);padding:38px 32px;position:relative;overflow:hidden}.svc-card::before{content:'';position:absolute;inset:0;transform:scale(0);transform-origin:center center;transition:transform 0.55s cubic-bezier(0.34,1.1,0.64,1);z-index:0}[data-theme="dark"] .svc-card::before{background:var(--bg3)}[data-theme="light"] .svc-card::before{background:var(--bg3)}.svc-card:hover::before{transform:scale(1)}.svc-card>*{position:relative;z-index:1}.svc-icon{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,0.04);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:background .3s,border-color .3s}.svc-icon svg{width:20px;height:20px;stroke:var(--text2);fill:none;stroke-width:1.5;transition:stroke .3s}.svc-card:hover .svc-icon{background:rgba(217,106,31,0.12);border-color:rgba(217,106,31,0.2)}.svc-card:hover .svc-icon svg{stroke:var(--orange)}.svc-title{font-family:var(--serif);font-size:21px;font-weight:400;color:var(--text);margin-bottom:10px;line-height:1.2;transition:color .3s}.svc-card:hover .svc-title{color:var(--text)}[data-theme="dark"] .svc-card:hover .svc-title{color:#F0EBE0}.svc-desc{font-size:14px;line-height:1.75;font-weight:300;color:var(--text2);margin-bottom:20px;transition:color .3s}.svc-card:hover .svc-desc{color:var(--text2)}[data-theme="dark"] .svc-card:hover .svc-desc{color:rgba(240,235,224,0.65)}.svc-list{list-style:none;padding-bottom:20px;border-bottom:1px solid var(--border)}.svc-list li{font-size:13px;color:var(--text3);padding:7px 0;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;transition:color .3s,border-color .3s}.svc-list li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--orange);flex-shrink:0;transition:background .3s}.svc-card:hover .svc-list li{color:var(--text3);border-top-color:var(--border)}[data-theme="dark"] .svc-card:hover .svc-list li{color:rgba(240,235,224,0.55);border-top-color:rgba(240,235,224,0.08)}.svc-card:hover .svc-list li::before{background:var(--orange)}.svc-cta{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:9px 12px 9px 16px;border:1.5px solid rgba(217,106,31,0.3);border-radius:100px;font-size:13px;font-weight:500;color:var(--orange);text-decoration:none;cursor:pointer;position:relative;overflow:hidden;transition:color .3s,border-color .3s}.svc-cta::before{content:'';position:absolute;inset:0;background:var(--orange);transform:scaleY(0);transform-origin:bottom center;transition:transform 0.38s cubic-bezier(0.4,0,0.2,1);z-index:0}.svc-cta:hover::before{transform:scaleY(1)}.svc-cta:hover{color:#fff;border-color:var(--orange)}.svc-cta>*{position:relative;z-index:1}.cta-text{overflow:hidden;height:1.2em;line-height:1.2;display:block;flex-shrink:0}.cta-text-track{display:flex;flex-direction:column;transition:transform 0.32s cubic-bezier(0.4,0,0.2,1)}.cta-default,.cta-hover{display:block;height:1.2em;line-height:1.2;white-space:nowrap}.cta-hover{font-weight:600;letter-spacing:0.05em}.svc-cta:hover .cta-text-track{transform:translateY(-1.2em)}.cta-needle-wrap{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;background:rgba(217,106,31,0.1);border-radius:50%;transition:background .3s}.svc-cta:hover .cta-needle-wrap{background:rgba(255,255,255,0.15);animation:northArrival 0.5s ease-out 0.42s both}@keyframes northArrival{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}50%{box-shadow:0 0 0 5px rgba(255,255,255,0.12)}}.cta-needle{width:20px;height:20px;transition:transform 0.55s cubic-bezier(0.34,1.4,0.64,1);transform:rotate(180deg);color:var(--orange)}.svc-cta:hover .cta-needle{transform:rotate(360deg);color:#fff}#why{background:var(--bg);padding:120px 6vw}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:54px;align-items:start}.why-item{display:flex;gap:18px;padding:26px 0;border-bottom:1px solid var(--border)}.why-item:first-child{padding-top:0}.why-num{font-family:var(--serif);font-size:13px;color:var(--orange);min-width:22px;margin-top:2px}.why-title{font-family:var(--serif);font-size:19px;font-weight:400;color:var(--text);margin-bottom:7px;transition:color .35s}.why-desc{font-size:14px;font-weight:300;line-height:1.7;color:var(--text2);transition:color .35s}.why-right{position:sticky;top:100px}.testimonial{background:var(--card);border:1px solid var(--border2);border-radius:16px;padding:30px;margin-bottom:14px;transition:background .35s,border-color .35s}.quote-mark{font-family:var(--serif);font-size:52px;line-height:1;color:var(--orange);opacity:.35;margin-bottom:-4px}.quote-text{font-family:var(--serif);font-size:16px;font-style:italic;line-height:1.65;color:var(--text);margin-bottom:18px;transition:color .35s}.quote-author{display:flex;align-items:center;gap:12px}.author-av{width:36px;height:36px;border-radius:50%;background:var(--orange-l);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:13px;color:var(--orange)}.author-name{font-size:13px;font-weight:500;color:var(--text);transition:color .35s}.author-role{font-size:11px;color:var(--text3);margin-top:2px}.why-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.why-stat{background:var(--card);border:1px solid var(--border2);border-radius:12px;padding:18px;text-align:center;transition:background .35s,border-color .35s}.why-stat-num{font-family:var(--serif);font-size:28px;font-weight:400;color:var(--orange)}.why-stat-label{font-size:11px;color:var(--text3);margin-top:4px}#process{background:var(--bg2);padding:80px 6vw 100px}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:54px;position:relative}.process-steps::before{content:'';position:absolute;top:26px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--orange) 20%,var(--orange) 80%,transparent);opacity:.2}.proc-step{text-align:center}.step-circle{width:52px;height:52px;border-radius:50%;background:var(--bg);border:1.5px solid var(--border2);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-family:var(--serif);font-size:18px;color:var(--orange);position:relative;z-index:1;transition:background .2s,border-color .2s,color .2s}.proc-step:hover .step-circle{background:var(--orange);color:#fff;border-color:var(--orange)}.step-title{font-family:var(--serif);font-size:16px;font-weight:400;color:var(--text);margin-bottom:7px;transition:color .35s}.step-desc{font-size:13px;font-weight:300;line-height:1.65;color:var(--text2)}[data-theme="dark"] #cta-banner{background:var(--orange)}[data-theme="dark"] #cta-banner h2 em{color:var(--navy)}[data-theme="light"] #cta-banner{background:var(--navy)}[data-theme="light"] #cta-banner h2 em{color:var(--orange)}#cta-banner{padding:64px 6vw;text-align:center}#cta-banner h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,46px);font-weight:400;line-height:1.15;color:#fff;margin-bottom:28px}.btn-white{background:#fff;color:var(--orange);padding:13px 28px;border-radius:7px;font-size:14px;font-weight:500;text-decoration:none;display:inline-block;margin:0 8px 10px;transition:background .2s,color .2s,transform .15s}.btn-white:hover{background:var(--orange);color:#fff;transform:translateY(-1px)}.btn-outline-white{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,0.5);padding:12px 26px;border-radius:7px;font-size:14px;font-weight:400;text-decoration:none;display:inline-block;margin:0 8px 10px;transition:border-color .2s,color .2s,background .2s}.btn-outline-white:hover{border-color:#fff;background:rgba(255,255,255,0.1)}#contact{background:var(--bg);padding:120px 6vw 100px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:54px;align-items:start}.contact-form{background:var(--card);border:1px solid var(--border2);border-radius:16px;padding:34px;transition:background .35s,border-color .35s}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.form-group{margin-bottom:12px}.form-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.contact-form.is-submitted form{display:none}label{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin-bottom:6px;transition:color .35s}input,textarea,select{width:100%;background:var(--bg2);border:1px solid var(--border2);border-radius:8px;padding:10px 13px;font-size:14px;color:var(--text);font-family:var(--sans);outline:none;transition:border-color .2s,background .35s,color .35s}input:focus,textarea:focus,select:focus{border-color:var(--orange)}input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"]{border-color:#f87171}input::placeholder,textarea::placeholder{color:var(--text3)}select option{background:var(--bg)}textarea{min-height:108px;resize:vertical}.form-submit{width:100%;background:var(--orange);color:#fff;border:none;padding:13px 28px;border-radius:7px;font-size:14px;font-weight:500;font-family:var(--sans);cursor:pointer;margin-top:6px;transition:background .2s,transform .15s;display:flex;align-items:center;justify-content:center;gap:10px}.form-submit:hover{background:var(--orange-d);transform:translateY(-1px)}.form-submit.loading{opacity:0.65;pointer-events:none}.submit-needle-svg{flex-shrink:0;transition:transform .2s}.form-submit:hover .submit-needle-svg{transform:rotate(45deg)}.contact-intro{font-size:15px;font-weight:300;line-height:1.75;color:var(--text2);margin-bottom:32px;transition:color .35s}.contact-detail{display:flex;align-items:flex-start;gap:13px;margin-bottom:22px}.detail-icon{width:36px;height:36px;border-radius:10px;background:var(--orange-l);display:flex;align-items:center;justify-content:center;flex-shrink:0}.detail-icon svg{width:16px;height:16px;stroke:var(--orange);fill:none;stroke-width:1.5}.detail-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text3);margin-bottom:3px}.detail-value{font-size:14px;color:var(--text);font-weight:400;transition:color .35s}.avail-box{margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}.avail-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text3);margin-bottom:10px}.avail-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text2);margin-bottom:7px;font-weight:300}.avail-row+.avail-row{margin-top:5px}.avail-row.is-open{color:var(--text2)}.avail-row.is-open .avail-dot-muted{background:var(--orange);animation:pulse 2s infinite}.avail-dot{width:7px;height:7px;border-radius:50%;background:var(--orange);animation:pulse 2s infinite;flex-shrink:0}.avail-dot-muted{width:7px;height:7px;border-radius:50%;background:var(--border2);display:inline-block;flex-shrink:0}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}.submit-needle-svg{display:inline-block;vertical-align:middle;margin-right:8px;transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1)}.form-success{display:none;text-align:center;padding:48px 20px}.contact-form.is-submitted .form-success{display:block}.form-success-icon{width:52px;height:52px;border-radius:50%;background:rgba(217,106,31,0.1);border:1.5px solid var(--orange);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}.form-success-icon svg{width:22px;height:22px;stroke:var(--orange);fill:none;stroke-width:2}.form-success h3{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--text);margin-bottom:10px}.form-success p{font-size:14px;color:var(--text2);line-height:1.75;max-width:300px;margin:0 auto}.form-error-msg{display:none;background:rgba(220,38,38,0.07);border:1px solid rgba(220,38,38,0.18);border-radius:8px;padding:10px 14px;font-size:13px;color:#f87171;margin-bottom:12px}.form-error-msg.visible{display:block}footer{background:var(--navy);border-top:1px solid rgba(255,255,255,.06);padding:26px 6vw;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.footer-brand{display:flex;align-items:center;gap:8px}.footer-brand-text{font-family:var(--serif);font-size:15px;color:rgba(240,235,224,.5)}.footer-brand-text span{color:var(--orange)}.footer-links{display:flex;gap:16px}.footer-links a{font-size:12px;color:rgba(240,235,224,.3);text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--orange)}.footer-copy{font-size:11px;color:rgba(240,235,224,.22)}.fade-up{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.fade-up.visible{opacity:1;transform:translateY(0)}.fade-up:nth-child(2){transition-delay:.1s}.fade-up:nth-child(3){transition-delay:.2s}.fade-up:nth-child(4){transition-delay:.3s}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;padding:6px;border:none;background:transparent;margin-left:8px;width:36px;height:36px}.hamburger span{display:block;width:20px;height:1.5px;background:var(--text);border-radius:2px;transition:transform .25s,opacity .25s,background .35s}.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.mobile-nav{position:fixed;top:0;left:0;right:0;bottom:0;z-index:190;background:var(--nav-bg);backdrop-filter:blur(20px);padding:88px 7vw 48px;flex-direction:column;display:none}.mobile-nav.open{display:flex}.mobile-nav-links{display:flex;flex-direction:column;gap:0;flex:1}.mobile-nav-links a{font-size:26px;font-family:var(--serif);font-weight:400;color:var(--text);text-decoration:none;padding:18px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;transition:color .2s}.mobile-nav-links a:hover{color:var(--orange)}.mobile-nav-links a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;opacity:0.4}.mobile-nav-cta{margin-top:28px;background:var(--orange);color:#fff;padding:16px 28px;border-radius:8px;font-size:15px;font-weight:500;text-align:center;border:none;cursor:pointer;font-family:var(--sans);width:100%;text-decoration:none;transition:background .2s}.mobile-nav-cta:hover{background:var(--orange-d)}.mobile-compass-wrap{display:none;margin:36px auto 0;width:130px;height:130px}.mobile-compass-wrap svg{width:100%;height:100%;overflow:visible}[data-theme="dark"] .mobile-compass-wrap svg{filter:drop-shadow(0 0 20px rgba(217,106,31,0.22))}[data-theme="light"] .mobile-compass-wrap svg{filter:drop-shadow(0 4px 12px rgba(30,28,26,0.15))}@media(prefers-reduced-motion:reduce){#compass-outer,#compass-inner,#nav-compass-outer,#nav-compass-inner,#footer-compass-outer,#footer-compass-inner{animation:none!important}.avail-dot{animation:none}.fade-up{transition:none;opacity:1;transform:none}.toggle-knob{transition:none}}@media(max-width:1180px){.compass-scene{width:380px;height:380px}.label-building{top:-10px;left:188px}.label-leading{top:384px;left:188px}.label-growing{top:188px;left:auto;right:0;flex-direction:row-reverse}.bgl-label .bgl-line,.bgl-label .bgl-text{display:none}.bgl-label{gap:0}}@media(max-width:960px){#hero{grid-template-columns:1fr;padding-top:100px}.hero-right{display:none}.mobile-compass-wrap{display:block}.svc-phases{padding:18px 20px}.svc-phase{min-width:0}.phase-desc{font-size:12px;line-height:1.35}.svc-phase-divider{margin:0 14px}.services-grid{grid-template-columns:repeat(2,1fr)}.why-grid,.contact-grid{grid-template-columns:1fr}.why-right{position:static}.process-steps{grid-template-columns:1fr 1fr}.process-steps::before{display:none}.form-row{grid-template-columns:1fr}nav{padding:14px 5vw}.nav-links{display:none}.hamburger{display:flex}.nav-cta{display:none}}@media(max-width:600px){.svc-phases{flex-direction:column;align-items:stretch;gap:0;margin:26px 0 34px;padding:8px 18px}.svc-phase{width:100%;padding:14px 0}.phase-desc{font-size:13px;line-height:1.35}.svc-phase-divider{width:100%;height:1px;margin:0;background:var(--border2)}.services-grid{grid-template-columns:1fr}}.cloud-live-badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);margin-bottom:16px;opacity:.9}.cloud-live-dot{width:6px;height:6px;border-radius:50%;background:var(--orange);animation:cloudPing 2s ease-in-out infinite}@keyframes cloudPing{0%,100%{box-shadow:0 0 0 0 rgba(217,106,31,0.7)}50%{box-shadow:0 0 0 5px rgba(217,106,31,0)}}.cloud-arc{fill:none;stroke-linecap:round}@keyframes arcRise{0%,100%{stroke-opacity:0.25}50%{stroke-opacity:1}}.cloud-arc-1{stroke-width:1.8;animation:arcRise 2.8s ease-in-out 0s infinite}.cloud-arc-2{stroke-width:1.6;animation:arcRise 2.8s ease-in-out 0.55s infinite}.cloud-arc-3{stroke-width:1.4;animation:arcRise 2.8s ease-in-out 1.1s infinite}@media(prefers-reduced-motion:reduce){.cloud-arc-1,.cloud-arc-2,.cloud-arc-3{animation:none;stroke-opacity:.7}}


[data-theme="dark"] #cta-banner .btn-white:hover{background:var(--navy);color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.22)}[data-theme="dark"] #cta-banner .btn-white:focus-visible{outline:2px solid #fff;outline-offset:3px}
@keyframes contactArrive{0%{box-shadow:0 0 0 0 rgba(217,106,31,0);transform:translateY(0)}35%{box-shadow:0 0 0 8px rgba(217,106,31,.08);transform:translateY(-2px)}100%{box-shadow:0 0 0 0 rgba(217,106,31,0);transform:translateY(0)}}#contact.contact-arrived .contact-form{animation:contactArrive .85s ease-out}@media(prefers-reduced-motion:reduce){#contact.contact-arrived .contact-form{animation:none}}@media(max-width:1280px){.compass-scene .bgl-line,.compass-scene .bgl-text{display:none!important}.compass-scene .bgl-label{gap:0!important}}.mobile-nav-links a.active,.mobile-nav-links a[aria-current="page"]{color:var(--orange)}[data-theme="light"] footer{background:var(--nav-bg);border-top:1px solid var(--border)}[data-theme="light"] .footer-brand-text{color:var(--text)}[data-theme="light"] .footer-links a{color:var(--text2)}[data-theme="light"] .footer-links a:hover{color:var(--orange)}[data-theme="light"] .footer-copy{color:var(--text3)}[data-theme="light"] footer .footer-brand svg circle:first-child{fill:var(--bg)}[data-theme="light"] footer .footer-brand svg circle[stroke]{stroke:var(--text)!important}[data-theme="light"] footer .footer-brand svg line{stroke:var(--text)!important}[data-theme="light"] footer .footer-brand svg polygon:not([fill="#D96A1F"]){fill:var(--text)!important}[data-theme="light"] footer .footer-brand svg circle[fill="var(--navy)"]{fill:var(--bg)!important}
.skip-link{position:absolute;left:12px;top:12px;z-index:999;background:#fff;color:#000;padding:10px 14px;border-radius:6px;transform:translateY(-150%);transition:transform .15s}.skip-link:focus{transform:translateY(0)}.hero-eyebrow,.badge-sub,.footer-copy,.footer-links a{color:var(--text2)!important}.btn-white{color:#8C3D0F!important}.btn-outline-white{color:#fff!important;border-color:rgba(255,255,255,.78)!important}[data-theme="dark"] #cta-banner .btn-outline-white{color:#0D1B2A!important;border-color:rgba(13,27,42,.45)!important}[data-theme="dark"] #cta-banner .btn-outline-white:hover{background:rgba(13,27,42,.12)!important;border-color:rgba(13,27,42,.7)!important}footer .footer-links a,footer .footer-copy{color:rgba(240,235,224,.72)!important}[data-theme="light"] footer .footer-links a,[data-theme="light"] footer .footer-copy{color:var(--text2)!important}.fade-up{opacity:1;transform:none;content-visibility:auto;contain-intrinsic-size:1px 520px}@media(prefers-reduced-motion:no-preference){.fade-up{opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease}.fade-up.visible{opacity:1;transform:translateY(0)}}@media(max-width:960px){#hero{min-height:auto}.hero-badges{display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
.btn-white,.mobile-nav-cta,.btn-primary{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:0}.btn-white{padding-left:2.35em!important;padding-right:2.35em!important}.mobile-nav-cta,.btn-primary{padding-left:2.4em!important;padding-right:2.4em!important}.moving-arrow,.btn-primary svg{position:absolute;left:1.1em;top:50%;z-index:2;display:inline-flex;line-height:1;transform:translateY(-50%);transition:left .38s cubic-bezier(.45,0,.2,1),color .2s;will-change:left}.btn-primary svg{width:15px;height:15px}.btn-white:hover .moving-arrow,.btn-white:focus-visible .moving-arrow,.mobile-nav-cta:hover .moving-arrow,.mobile-nav-cta:focus-visible .moving-arrow,.btn-primary:hover svg,.btn-primary:focus-visible svg{left:calc(100% - 1.45em)}[data-theme="dark"] #cta-banner .btn-white:hover,[data-theme="dark"] #cta-banner .btn-white:focus-visible{color:#fff!important}@media(prefers-reduced-motion:reduce){.moving-arrow,.btn-primary svg{transition:none!important;will-change:auto}.btn-white:hover .moving-arrow,.btn-white:focus-visible .moving-arrow,.mobile-nav-cta:hover .moving-arrow,.mobile-nav-cta:focus-visible .moving-arrow,.btn-primary:hover svg,.btn-primary:focus-visible svg{left:1.1em!important}}
#cta-banner .btn-outline-white{transition:border-color .2s,color .2s,background .2s,transform .15s}[data-theme="dark"] #cta-banner .btn-outline-white{color:var(--navy)!important;border-color:rgba(13,27,42,.52)!important}[data-theme="dark"] #cta-banner .btn-outline-white:hover,[data-theme="dark"] #cta-banner .btn-outline-white:focus-visible{background:transparent!important;border-color:#fff!important;color:#fff!important;transform:translateY(-1px)}[data-theme="light"] #cta-banner .btn-outline-white{color:#fff!important;border-color:rgba(255,255,255,.58)!important}[data-theme="light"] #cta-banner .btn-outline-white:hover,[data-theme="light"] #cta-banner .btn-outline-white:focus-visible{background:transparent!important;border-color:var(--orange)!important;color:var(--orange)!important;transform:translateY(-1px)}#cta-banner .btn-outline-white:focus-visible{outline:2px solid currentColor;outline-offset:3px}@media(prefers-reduced-motion:reduce){#cta-banner .btn-outline-white{transition:none!important}#cta-banner .btn-outline-white:hover,#cta-banner .btn-outline-white:focus-visible{transform:none!important}}
#cta-banner .btn-white:hover,#cta-banner .btn-white:focus-visible{color:#fff!important}#cta-banner .btn-white:hover .moving-arrow,#cta-banner .btn-white:focus-visible .moving-arrow{color:#fff!important}
.label-note{font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:none;color:var(--text3)}
.mobile-nav-links a{font-family:var(--sans)!important;font-size:20px!important;font-weight:550!important;letter-spacing:.01em;line-height:1.25}.mobile-nav-links a svg{opacity:.52}

/* Form submit compass uses the same NorthStack needle behavior as service CTAs. */
.form-submit {
  position: relative;
  gap: 10px;
}

.form-submit .cta-needle-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .16);
  transition: background .22s ease;
}

.form-submit .cta-needle {
  display: block;
  width: 21px;
  height: 21px;
  margin: 0;
  color: #fff;
  transform: rotate(180deg);
  transition: transform .5s cubic-bezier(.34, 1.4, .64, 1), color .2s ease;
}

.form-submit:hover .cta-needle-wrap,
.form-submit:focus-visible .cta-needle-wrap {
  background: rgba(255, 255, 255, .22);
  animation: northArrival .5s ease-out .28s both;
}

.form-submit:hover .cta-needle,
.form-submit:focus-visible .cta-needle {
  transform: rotate(360deg);
  color: #fff;
}

.form-submit:hover .submit-needle-svg {
  transform: rotate(360deg);
}

.page-hero{min-height:62vh;display:grid;align-items:end;padding:150px 6vw 72px;background:var(--bg);border-bottom:1px solid var(--border)}.page-hero-inner,.page-shell{width:min(1120px,100%);margin:0 auto}.page-title{max-width:830px;margin:0 0 18px;color:var(--text);font-family:var(--serif);font-size:clamp(40px,5.4vw,74px);font-weight:400;line-height:1.02;letter-spacing:-.02em}.page-title em{color:var(--orange);font-style:italic}.page-lead{max-width:680px;color:var(--text2);font-size:17px;font-weight:300;line-height:1.8}.page-shell{padding:92px 6vw}.page-band{background:var(--bg2)}.page-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:start}.page-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.page-card{background:var(--card);border:1px solid var(--border2);border-radius:14px;padding:28px}.page-card h3,.detail-card h3{font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.2;color:var(--text);margin-bottom:10px}.process-page .page-grid-3 .page-card h3{color:var(--orange)}.page-card p,.detail-card p,.page-copy{font-size:15px;font-weight:300;line-height:1.78;color:var(--text2)}.detail-grid{display:grid;grid-template-columns:1fr;gap:22px}.detail-card{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:start;padding:32px;border:1px solid var(--border2);background:var(--bg);border-radius:16px}.page-detail-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:12px}.detail-list{list-style:none;margin-top:18px;display:grid;gap:9px}.detail-list li{display:flex;gap:9px;color:var(--text2);font-size:14px;line-height:1.55}.detail-list li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--orange);flex:0 0 5px;margin-top:.7em}.page-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.page-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:38px}.page-stat{padding:22px;border:1px solid var(--border2);border-radius:12px;background:var(--card)}.page-stat strong{display:block;font-family:var(--serif);font-size:30px;font-weight:400;color:var(--orange);margin-bottom:4px}.page-stat span{font-size:12px;line-height:1.5;color:var(--text2)}.path-list{display:grid;gap:18px;margin-top:42px}.path-step{display:grid;grid-template-columns:80px 1fr;gap:24px;padding:26px 0;border-top:1px solid var(--border)}.path-step-num{font-family:var(--serif);font-size:34px;color:var(--orange);line-height:1}.path-step h3{font-family:var(--serif);font-size:26px;font-weight:400;color:var(--text);margin-bottom:8px}.path-step p{max-width:760px;color:var(--text2);font-size:15px;line-height:1.8}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;border:1px solid var(--border2);border-radius:16px;background:var(--border2);margin-top:38px}.comparison-card{background:var(--bg);padding:30px}.comparison-card h3{font-family:var(--serif);font-size:24px;font-weight:400;margin-bottom:16px;color:var(--text)}.comparison-card ul{list-style:none;display:grid;gap:12px}.comparison-card li{color:var(--text2);font-size:14px;line-height:1.6}.comparison-card li strong{color:var(--text)}.page-final-cta{background:var(--navy);color:#fff;text-align:center;padding:70px 6vw}.page-final-cta h2{font-family:var(--serif);font-size:clamp(30px,4vw,48px);font-weight:400;line-height:1.15;margin-bottom:14px}.page-final-cta h2 em{color:var(--orange);font-style:italic}.page-final-cta p{max-width:640px;margin:0 auto 28px;color:rgba(240,235,224,.72);line-height:1.75}.page-final-cta .btn-white{background:var(--orange);color:#fff!important}.page-final-cta .btn-white:hover{background:var(--orange-d)}@media(max-width:960px){.page-grid-2,.page-grid-3,.comparison-grid{grid-template-columns:1fr}.detail-card{grid-template-columns:1fr}.page-stat-row{grid-template-columns:1fr 1fr}.page-hero{min-height:auto;padding-top:124px}}@media(max-width:600px){.page-hero{padding:116px 22px 52px}.page-shell{padding:68px 22px}.page-stat-row{grid-template-columns:1fr}.path-step{grid-template-columns:1fr;gap:8px}.detail-card{padding:24px}.page-card{padding:24px}}
.service-mini-grid{margin-top:18px;gap:18px}
.page-copy-gap{margin-top:1rem}
.why-proof-grid{margin-top:38px}

@media(min-width:961px){footer{display:grid;grid-template-columns:1fr auto 1fr;column-gap:28px;padding-right:132px}.footer-brand{justify-self:start}.footer-links{justify-self:center}.footer-copy{justify-self:end;text-align:right;max-width:520px;transform:translateX(-22px)}}
/* Stable service cards: use the Cloud Solutions card as the height baseline. */
@media (min-width: 768px) {
  #services .services-grid {
    align-items: stretch;
  }

  #services .svc-card {
    min-height: 560px;
    display: flex;
    flex-direction: column;
  }

  #services .svc-list {
    margin-bottom: 20px;
  }

  #services .svc-cta {
    margin-top: auto;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  #services .svc-card {
    min-height: 540px;
  }
}

@media (max-width: 600px) {
  #services .svc-card {
    min-height: 0;
  }
}

/* Compact service CTA pill with compass accent. */
#services .svc-cta,
.detail-card .svc-cta {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
  padding: 8px 10px 8px 17px;
  border: 1.5px solid rgba(217, 106, 31, .38);
  border-radius: 999px;
  background: transparent;
  color: var(--orange);
  font-weight: 600;
  line-height: 1;
  overflow: hidden;
  transition: background .22s ease, border-color .22s ease, color .22s ease;
}

#services .svc-cta::before,
.detail-card .svc-cta::before {
  display: none;
}

#services .svc-cta:hover,
#services .svc-cta:focus-visible,
.detail-card .svc-cta:hover,
.detail-card .svc-cta:focus-visible {
  color: #fff;
  border-color: var(--orange);
  background: var(--orange);
}

#services .cta-text,
.detail-card .cta-text {
  height: auto;
  overflow: visible;
}

#services .cta-text-track,
.detail-card .cta-text-track,
#services .svc-cta:hover .cta-text-track,
.detail-card .svc-cta:hover .cta-text-track {
  display: block;
  transform: none;
}

#services .cta-hover,
.detail-card .cta-hover {
  display: none;
}

#services .cta-default::after,
.detail-card .cta-default::after {
  content: "";
}

#services .cta-needle-wrap,
.detail-card .cta-needle-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  margin-left: 0;
  flex-shrink: 0;
  border-radius: 50%;
  background: rgba(217, 106, 31, .16);
  transition: background .22s ease;
}

#services .cta-needle,
.detail-card .cta-needle {
  width: 21px;
  height: 21px;
  color: var(--orange);
  transform: rotate(180deg);
  transition: transform .5s cubic-bezier(.34, 1.4, .64, 1), color .2s ease;
}

#services .svc-cta:hover .cta-needle-wrap,
#services .svc-cta:focus-visible .cta-needle-wrap,
.detail-card .svc-cta:hover .cta-needle-wrap,
.detail-card .svc-cta:focus-visible .cta-needle-wrap {
  background: rgba(217, 106, 31, .14);
  animation: northArrival .5s ease-out .28s both;
}

#services .svc-cta:hover .cta-needle,
#services .svc-cta:focus-visible .cta-needle,
.detail-card .svc-cta:hover .cta-needle,
.detail-card .svc-cta:focus-visible .cta-needle {
  transform: rotate(360deg);
  color: #fff;
}

#services .svc-cta:hover .cta-needle-wrap,
#services .svc-cta:focus-visible .cta-needle-wrap,
.detail-card .svc-cta:hover .cta-needle-wrap,
.detail-card .svc-cta:focus-visible .cta-needle-wrap {
  background: rgba(255, 255, 255, .16);
}

/* NorthStack service cards: independent framed cards with lifted icon badges. */
@media (min-width: 768px) {
  #services .services-grid {
    width: min(1080px, 100%);
    margin: 64px auto 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 72px 34px;
    align-items: stretch;
    border: 0;
    border-radius: 0;
    overflow: visible;
    background: transparent;
  }

  #services .svc-card {
    min-height: 540px;
    padding: 70px 40px 34px;
    border: 1.5px solid var(--border2);
    border-radius: 16px;
    background: var(--bg);
    overflow: visible;
    content-visibility: visible;
    contain: none;
    box-shadow: 0 18px 42px rgba(13, 27, 42, .05);
  }

  [data-theme="dark"] #services .svc-card {
    box-shadow: 0 18px 42px rgba(0, 0, 0, .16);
  }

  #services .svc-card::before {
    display: none;
  }

  #services .svc-card:hover {
    border-color: rgba(217, 106, 31, .5);
  }

#services .svc-icon {
    position: absolute;
    top: -38px;
    right: 40px;
    z-index: 3;
    width: 96px;
    height: 96px;
    margin: 0;
    border-radius: 50%;
    background: var(--bg);
    border: 1.5px solid var(--border2);
    box-shadow: none;
  }

  [data-theme="light"] #services .svc-icon {
    background: var(--bg);
    border-color: var(--border2);
  }

  [data-theme="dark"] #services .svc-icon {
    background: var(--navy);
    border-color: var(--border2);
  }

  #services .svc-icon svg {
    width: 36px;
    height: 36px;
    stroke: var(--text);
    stroke-width: 1.35;
  }

  #services .svc-card:hover .svc-icon {
    background: var(--orange);
    border-color: var(--orange);
    box-shadow: none;
  }

  #services .svc-card:hover .svc-icon svg {
    stroke: #fff;
  }

  #services .svc-title {
    max-width: 320px;
    font-size: 21px;
    line-height: 1.2;
    margin-bottom: 10px;
  }

  #services .svc-title::after {
    content: "";
    display: block;
    width: 54px;
    height: 2px;
    margin-top: 18px;
    background: var(--text);
    opacity: .72;
  }

  #services .svc-desc {
    max-width: 430px;
    font-size: 15px;
    line-height: 1.72;
    margin-bottom: 24px;
  }

  #services .svc-list {
    border-bottom: 0;
    padding-bottom: 0;
  }
}

/* Keep the service-card hover treatment consistent across desktop, tablet, and mobile. */
#services .svc-card::before,
#services .svc-card:hover::before,
#services .svc-card:focus-within::before {
  display: none !important;
  transform: none !important;
}

#services .svc-card:hover,
#services .svc-card:focus-within {
  border-color: rgba(217, 106, 31, .5);
}

#services .svc-card:hover .svc-icon,
#services .svc-card:focus-within .svc-icon {
  background: var(--orange);
  border-color: var(--orange);
}

#services .svc-card:hover .svc-icon svg,
#services .svc-card:focus-within .svc-icon svg {
  stroke: #fff;
}

@media (min-width: 1024px) {
  #services .services-grid {
    width: min(1180px, 100%);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 68px 28px;
  }

  #services .svc-card {
    min-height: 590px;
    padding: 66px 32px 32px;
  }

  #services .svc-icon {
    right: 32px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  #services .services-grid {
    gap: 64px 24px;
  }

  #services .svc-card {
    min-height: 560px;
    padding: 66px 28px 30px;
  }

  #services .svc-icon {
    right: 28px;
    width: 92px;
    height: 92px;
    top: -36px;
  }

  #services .svc-icon svg {
    width: 34px;
    height: 34px;
  }

  #services .svc-title {
    font-size: 21px;
  }
}

@media (max-width: 767px) {
  #services .services-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 58px;
    border: 0;
    border-radius: 0;
    overflow: visible;
    background: transparent;
  }

  #services .svc-card {
    padding-top: 62px;
    border: 1.5px solid var(--border2);
    border-radius: 16px;
    overflow: visible;
    content-visibility: visible;
    contain: none;
  }

  #services .svc-icon {
    position: absolute;
    top: -34px;
    right: 28px;
    z-index: 3;
    width: 84px;
    height: 84px;
    margin: 0;
    border-radius: 50%;
    background: var(--bg);
    border: 1.5px solid var(--border2);
    box-shadow: none;
  }

  #services .svc-icon svg {
    width: 32px;
    height: 32px;
    stroke: var(--text);
  }
}

/* Contact statement page: the compass becomes a directional signal, not decoration. */
.contact-statement-hero {
  min-height: calc(100vh - 74px);
  padding: 150px 6vw 86px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 560px);
  align-items: center;
  gap: clamp(36px, 6vw, 90px);
  overflow: hidden;
  position: relative;
  background: var(--bg);
}

.contact-statement-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border2), transparent);
}

.contact-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 760px;
}

.contact-title {
  max-width: 760px;
  font-family: var(--serif);
  font-size: clamp(42px, 6.4vw, 88px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.025em;
  color: var(--text);
}

.contact-title em {
  display: block;
  margin-top: .08em;
  color: var(--orange);
  font-style: italic;
  letter-spacing: -.015em;
}

.contact-lede {
  max-width: 560px;
  margin-top: 26px;
  color: var(--text2);
  font-size: 17px;
  font-weight: 300;
  line-height: 1.78;
}

.contact-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 34px;
}

.contact-compass-art {
  position: relative;
  z-index: 1;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  isolation: isolate;
}

.contact-compass-art::before {
  content: "";
  position: absolute;
  width: 88%;
  aspect-ratio: 1;
  border: 1px solid var(--border2);
  border-radius: 50%;
  opacity: .42;
}

.contact-compass-art::after {
  content: "";
  position: absolute;
  width: 58%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(217, 106, 31, .16), transparent 68%);
  filter: blur(14px);
  opacity: .8;
  z-index: -1;
}

.contact-compass-art svg {
  width: min(100%, 540px);
  overflow: visible;
}

.contact-orbit,
.needle-ring {
  fill: none;
  stroke: var(--text);
  stroke-width: 1.15;
  opacity: .24;
}

.orbit-two {
  opacity: .13;
}

.contact-map-line {
  fill: none;
  stroke: var(--orange);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-dasharray: 5 12;
  opacity: .74;
  animation: contactRoute 8s ease-in-out infinite;
}

.contact-needle-large {
  transform-origin: 260px 260px;
  animation: contactNeedle 7.5s cubic-bezier(.45, 0, .2, 1) infinite;
  will-change: transform;
}

.needle-primary {
  fill: var(--orange);
}

.needle-secondary {
  fill: var(--text);
  opacity: .2;
}

.needle-dot {
  fill: var(--orange);
}

.contact-signal circle {
  fill: var(--orange);
  transform-origin: center;
  animation: contactSignal 2.6s ease-in-out infinite;
}

.contact-signal path {
  fill: none;
  stroke: var(--orange);
  stroke-width: 1.2;
  stroke-linecap: round;
  opacity: .55;
}

.signal-b circle {
  animation-delay: 1.15s;
}

.contact-compass-art text {
  fill: var(--text3);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .18em;
}

@keyframes contactNeedle {
  0%, 100% { transform: rotate(-18deg); }
  42% { transform: rotate(30deg); }
  60% { transform: rotate(22deg); }
}

@keyframes contactRoute {
  0%, 100% { stroke-dashoffset: 0; opacity: .46; }
  50% { stroke-dashoffset: -36; opacity: .9; }
}

@keyframes contactSignal {
  0%, 100% { transform: scale(1); opacity: .72; }
  50% { transform: scale(1.55); opacity: 1; }
}

.contact-intent-strip {
  padding: 0 6vw 86px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--bg);
}

.contact-intent-item {
  min-height: 0;
  padding: 28px 30px;
  border: 1px solid var(--border2);
  background: var(--card);
}

.contact-intent-item:first-child {
  border-radius: 14px 0 0 14px;
}

.contact-intent-item:last-child {
  border-radius: 0 14px 14px 0;
}

.contact-intent-item span {
  display: block;
  margin-bottom: 24px;
  color: var(--orange);
  font-family: var(--serif);
  font-size: 18px;
}

.contact-intent-item strong {
  display: block;
  margin-bottom: 10px;
  color: var(--text);
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 400;
}

.contact-intent-item p {
  max-width: 320px;
  color: var(--text2);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.72;
}

.contact-page-panel {
  padding: 104px 6vw 120px;
  background: var(--bg2);
}

.contact-page-heading {
  max-width: 720px;
  margin-bottom: 54px;
}

.contact-page-grid {
  margin-top: 0;
  align-items: stretch;
}

.contact-side-note {
  min-height: 100%;
  padding: clamp(30px, 4vw, 48px);
  border: 1px solid var(--border2);
  border-radius: 16px;
  background: var(--bg);
}

.contact-side-note h3 {
  max-width: 420px;
  margin-bottom: 18px;
  color: var(--text);
  font-family: var(--serif);
  font-size: clamp(28px, 4vw, 46px);
  font-weight: 400;
  line-height: 1.08;
}

.contact-side-note p {
  max-width: 520px;
  color: var(--text2);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.78;
}

.contact-route-list {
  margin-top: 34px;
  display: grid;
  gap: 14px;
}

.contact-route-list div {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 0;
  border-top: 1px solid var(--border);
}

.contact-route-list span {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: var(--orange);
}

.contact-route-list strong {
  color: var(--text);
  font-size: 14px;
  font-weight: 500;
}

.label-note {
  color: var(--text3);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .06em;
}

@media (max-width: 960px) {
  .contact-statement-hero {
    min-height: auto;
    grid-template-columns: 1fr;
    padding-top: 128px;
  }

  .contact-compass-art {
    width: min(500px, 92vw);
    margin: 0 auto;
    opacity: .9;
  }

  .contact-intent-strip {
    grid-template-columns: 1fr;
    padding-bottom: 70px;
  }

  .contact-intent-item,
  .contact-intent-item:first-child,
  .contact-intent-item:last-child {
    min-height: auto;
    border-radius: 14px;
  }
}

@media (max-width: 600px) {
  .contact-statement-hero {
    padding: 112px 6vw 64px;
  }

  .contact-title {
    font-size: clamp(40px, 14vw, 64px);
  }

  .contact-lede {
    font-size: 15px;
  }

  .contact-hero-actions .btn-primary,
  .contact-hero-actions .btn-ghost {
    width: 100%;
    justify-content: center;
  }

  .contact-page-panel {
    padding-top: 76px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-map-line,
  .contact-needle-large,
  .contact-signal circle {
    animation: none !important;
  }
}

/* Hero text refinement and contact signal-map replacement. */
@media (min-width: 961px) {
  #hero {
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  }

  .hero-left {
    max-width: 800px;
  }
}

.hero-eyebrow {
  margin-bottom: 26px;
  color: var(--text3) !important;
}

.hero-h1 {
  max-width: 820px;
  font-size: clamp(42px, 6.2vw, 84px);
  line-height: .98;
  letter-spacing: -.025em;
}

.hero-h1 em {
  display: inline-block;
  transform: translateY(.02em);
}

.hero-sub {
  max-width: 560px;
  margin-top: 26px;
  margin-bottom: 34px;
  font-size: 17px;
  line-height: 1.78;
}

.hero-actions {
  margin-bottom: 48px;
}

.hero-badges {
  max-width: 980px;
  padding-top: 6px;
  gap: clamp(22px, 4vw, 46px);
}

.hero-badge {
  min-width: 210px;
}

.contact-signal-map::before {
  width: 74%;
  border-style: dashed;
  opacity: .2;
  transform: translate(10%, -5%) rotate(-18deg);
}

.contact-signal-map::after {
  width: 46%;
  background: radial-gradient(circle, rgba(217, 106, 31, .24), transparent 66%);
  transform: translate(18%, -16%);
}

.contact-signal-map svg {
  width: min(100%, 590px);
}

.contact-bearing-arc {
  fill: none;
  stroke: var(--text);
  stroke-linecap: round;
}

.arc-wide {
  stroke-width: 1;
  opacity: .26;
  stroke-dasharray: 2 12;
}

.arc-tight {
  stroke-width: 1.4;
  opacity: .18;
}

.contact-route-path {
  fill: none;
  stroke: var(--orange);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 9 13;
  animation: contactRoute 7s ease-in-out infinite;
}

.contact-map-points circle {
  fill: var(--orange);
  animation: contactSignal 2.7s ease-in-out infinite;
  transform-origin: center;
}

.contact-map-points circle:nth-child(2) {
  animation-delay: .45s;
}

.contact-map-points circle:nth-child(3) {
  animation-delay: .9s;
}

.contact-north-marker {
  transform-origin: 430px 260px;
  animation: contactNeedle 7.5s cubic-bezier(.45, 0, .2, 1) infinite;
  will-change: transform;
}

.contact-north-marker path {
  fill: var(--orange);
}

.contact-north-marker line {
  stroke: var(--orange);
  stroke-width: 2;
  stroke-linecap: round;
  opacity: .75;
}

.contact-north-marker circle {
  fill: var(--bg);
  stroke: var(--orange);
  stroke-width: 1.5;
}

.contact-coordinate-card {
  opacity: .58;
}

.contact-coordinate-card path {
  stroke: var(--text);
  stroke-width: 1;
  stroke-linecap: round;
  opacity: .42;
}

.contact-coordinate-card circle {
  fill: var(--orange);
  opacity: .75;
}

.contact-map-label {
  fill: var(--text3);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
}

.label-talk {
  fill: var(--orange);
}

.contact-signal-map .contact-orbit,
.contact-signal-map .needle-ring,
.contact-signal-map .needle-primary,
.contact-signal-map .needle-secondary,
.contact-signal-map .needle-dot,
.contact-signal-map .contact-signal,
.contact-signal-map .contact-map-line,
.contact-signal-map .contact-needle-large {
  display: none;
}

@media (max-width: 960px) {
  .hero-h1 {
    max-width: 760px;
    font-size: clamp(42px, 10vw, 72px);
  }

  .hero-sub {
    max-width: 620px;
  }
}

@media (max-width: 600px) {
  .hero-eyebrow {
    margin-bottom: 20px;
  }

  .hero-h1 {
    font-size: clamp(40px, 13vw, 58px);
    line-height: 1.02;
  }

  .hero-sub {
    margin-top: 22px;
    font-size: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-route-path,
  .contact-map-points circle,
  .contact-north-marker {
    animation: none !important;
  }
}

/* Homepage hero cleanup: remove the small proof badges under the main actions. */
#hero .hero-badges {
  display: none !important;
}

#hero .hero-actions {
  margin-bottom: 0;
}

/* Contact page compass, revised as useful project coordinates. */
.contact-coordinate-compass {
  align-self: center;
  display: grid;
  gap: 28px;
  place-items: center;
}

.contact-coordinate-compass::before,
.contact-coordinate-compass::after {
  display: none;
}

.coordinate-compass {
  position: relative;
  width: min(440px, 100%);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid var(--border2);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(217, 106, 31, .14), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,.035), transparent);
}

.coordinate-compass::before {
  content: "";
  position: absolute;
  inset: 12%;
  border: 1px dashed var(--border2);
  border-radius: 50%;
  opacity: .7;
}

.coordinate-compass svg {
  width: 72%;
  overflow: visible;
}

.coord-ring,
.coord-cross,
.needle-ring {
  fill: none;
  stroke: var(--text);
  vector-effect: non-scaling-stroke;
}

.coord-ring-outer {
  stroke-width: 1.2;
  opacity: .34;
}

.coord-ring-inner {
  stroke-width: .9;
  opacity: .16;
}

.coord-cross {
  stroke-width: .85;
  opacity: .11;
}

.coord-needle {
  transform-origin: 180px 180px;
  animation: coordinateNeedle 7s ease-in-out infinite;
  will-change: transform;
}

.coordinate-axis {
  position: absolute;
  z-index: 2;
  padding: 8px 12px;
  border: 1px solid var(--border2);
  border-radius: 999px;
  background: var(--bg);
  color: var(--text);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.axis-goal {
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  color: var(--orange);
  border-color: rgba(217, 106, 31, .45);
}

.axis-timeline {
  right: -18px;
  top: 50%;
  transform: translateY(-50%);
}

.axis-budget {
  bottom: -14px;
  left: 50%;
  transform: translateX(-50%);
}

.axis-blocker {
  left: -18px;
  top: 50%;
  transform: translateY(-50%);
}

.coordinate-note {
  max-width: 420px;
  text-align: center;
}

.coordinate-note span {
  display: block;
  margin-bottom: 8px;
  color: var(--orange);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.coordinate-note strong {
  display: block;
  color: var(--text);
  font-family: var(--serif);
  font-size: clamp(22px, 3vw, 34px);
  font-weight: 400;
  line-height: 1.12;
}

@keyframes coordinateNeedle {
  0%, 100% { transform: rotate(-22deg); }
  30% { transform: rotate(62deg); }
  58% { transform: rotate(154deg); }
  78% { transform: rotate(238deg); }
}

@media (max-width: 960px) {
  .coordinate-compass {
    width: min(390px, 88vw);
  }
}

@media (max-width: 600px) {
  .coordinate-compass {
    width: min(310px, 78vw);
  }

  .axis-timeline {
    right: -10px;
  }

  .axis-blocker {
    left: -10px;
  }

  .coordinate-axis {
    font-size: 10px;
    padding: 7px 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .coord-needle {
    animation: none !important;
  }
}

/* Contact page Canada visual. */
.contact-canada-art {
  align-self: center;
  min-height: 560px;
}

.contact-canada-art::before,
.contact-canada-art::after {
  display: none;
}

.contact-canada-frame {
  position: relative;
  width: min(520px, 92vw);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
}

.contact-canada-frame::after {
  content: "";
  position: absolute;
  left: 46%;
  top: 53%;
  width: 35%;
  height: 1px;
  background: linear-gradient(90deg, rgba(217, 106, 31, .7), transparent);
  transform: rotate(-18deg);
  transform-origin: left center;
  opacity: .75;
}

.contact-canada-map {
  position: relative;
  z-index: 1;
  width: min(78%, 410px);
  height: auto;
  filter: drop-shadow(0 24px 44px rgba(0, 0, 0, .16));
  opacity: .9;
}

.contact-canada-pin {
  position: absolute;
  z-index: 2;
  left: 49%;
  top: 89.5%;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  color: #b91c1c;
  background: #b91c1c;
  border: 2px solid var(--bg);
  box-shadow: 0 0 0 0 rgba(185, 28, 28, .58);
  animation: mapPinPulse 2s ease-in-out infinite;
}

.contact-canada-pin.is-open {
  color: #16a34a;
  background: #16a34a;
  box-shadow: 0 0 0 0 rgba(22, 163, 74, .58);
}

.contact-canada-pin.is-closed {
  color: #b91c1c;
  background: #b91c1c;
  box-shadow: 0 0 0 0 rgba(185, 28, 28, .58);
}

@keyframes mapPinPulse {
  0% {
    box-shadow: 0 0 0 0 currentColor;
    opacity: 1;
  }

  70% {
    box-shadow: 0 0 0 10px transparent;
    opacity: .82;
  }

  100% {
    box-shadow: 0 0 0 0 transparent;
    opacity: 1;
  }
}

@media (max-width: 960px) {
  .contact-canada-art {
    min-height: 430px;
  }

  .contact-canada-frame {
    width: min(430px, 86vw);
  }
}

@media (max-width: 600px) {
  .contact-canada-art {
    min-height: 340px;
  }

  .contact-canada-frame {
    width: min(330px, 82vw);
  }

  .contact-canada-pin {
    left: 49%;
    top: 89.5%;
  }

}

@media (prefers-reduced-motion: reduce) {
  .contact-canada-pin {
    animation: none !important;
  }
}
.page-copy {
  font-size: 16px;
  line-height: 1.85;
}

/* Light-theme readability trial: deepen secondary copy without adding weight. */
[data-theme="light"] {
  --text2: rgba(26, 37, 53, 0.80);
}

/* Motion polish: restrained, responsive, and tied to user feedback. */
:root {
  --ease-out-strong: cubic-bezier(.23, 1, .32, 1);
  --ease-in-out-strong: cubic-bezier(.77, 0, .175, 1);
  --motion-fast: 150ms;
  --motion-standard: 220ms;
}

.btn-primary,
.btn-ghost,
.btn-white,
.btn-outline-white,
.svc-cta,
.form-submit,
.nav-links a,
.mobile-nav-links a,
.theme-toggle,
.hamburger,
.page-card,
.detail-card,
.comparison-card,
.why-stat,
.testimonial {
  transition-timing-function: var(--ease-out-strong);
}

.btn-primary,
.btn-ghost,
.btn-white,
.btn-outline-white,
.svc-cta,
.form-submit,
.chat-direct,
.back-to-top {
  will-change: transform;
}

.btn-primary:active,
.btn-ghost:active,
.btn-white:active,
.btn-outline-white:active,
.svc-cta:active,
.form-submit:active,
.chat-direct:active,
.back-to-top:active {
  transform: translateY(0) scale(.98);
}

.mobile-nav {
  display: flex;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  transition:
    opacity var(--motion-standard) var(--ease-out-strong),
    transform var(--motion-standard) var(--ease-out-strong),
    visibility 0s linear var(--motion-standard);
}

.mobile-nav.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0s;
}

.mobile-nav-links a {
  opacity: 0;
  transform: translateY(6px);
  transition:
    opacity 180ms var(--ease-out-strong),
    transform 220ms var(--ease-out-strong),
    color var(--motion-fast) ease;
}

.mobile-nav.open .mobile-nav-links a {
  opacity: 1;
  transform: translateY(0);
}

.mobile-nav.open .mobile-nav-links a:nth-child(1) { transition-delay: 35ms; }
.mobile-nav.open .mobile-nav-links a:nth-child(2) { transition-delay: 55ms; }
.mobile-nav.open .mobile-nav-links a:nth-child(3) { transition-delay: 75ms; }
.mobile-nav.open .mobile-nav-links a:nth-child(4) { transition-delay: 95ms; }
.mobile-nav.open .mobile-nav-links a:nth-child(5) { transition-delay: 115ms; }
.mobile-nav.open .mobile-nav-links a:nth-child(6) { transition-delay: 135ms; }

@media (prefers-reduced-motion: no-preference) {
  .fade-up {
    transform: translateY(10px);
    transition:
      opacity 420ms var(--ease-out-strong),
      transform 420ms var(--ease-out-strong);
  }

  .moving-arrow,
  .btn-primary svg {
    transition:
      left 340ms var(--ease-out-strong),
      color var(--motion-fast) ease;
  }

  .toggle-knob {
    transition: transform 260ms var(--ease-out-strong);
  }

  .hamburger span {
    transition:
      transform 180ms var(--ease-out-strong),
      opacity 120ms ease,
      background 220ms ease;
  }

  .bgl-dot,
  .bgl-line,
  .bgl-text {
    transition-duration: 320ms;
    transition-timing-function: var(--ease-out-strong);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-nav,
  .mobile-nav-links a {
    transition: none !important;
    transform: none !important;
  }
}

/* Impeccable typeset pass: clear hierarchy, comfortable measure, fewer orphans. */
html {
  font-size: 16px;
  text-size-adjust: 100%;
}

body {
  font-kerning: normal;
  font-optical-sizing: auto;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  line-height: 1.6;
}

h1,
h2,
h3,
.hero-h1,
.section-h2,
.page-title,
.svc-title,
.why-title,
.step-title,
.page-card h3,
.detail-card h3,
.comparison-card h3 {
  text-wrap: balance;
}

p,
li,
.hero-sub,
.section-lead,
.page-lead,
.page-copy,
.svc-desc,
.why-desc,
.step-desc,
.contact-intro {
  text-wrap: pretty;
}

.hero-h1 {
  font-size: clamp(2.75rem, 5.2vw, 4.85rem);
  line-height: 1.04;
  letter-spacing: -0.025em;
  max-width: 11.5ch;
}

.hero-sub {
  max-width: 48ch;
  font-size: 1rem;
  line-height: 1.78;
}

.section-h2 {
  font-size: clamp(2.125rem, 4.2vw, 3.35rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
  max-width: 14ch;
}

.section-lead,
.page-lead {
  max-width: 64ch;
  font-size: 1.0625rem;
  line-height: 1.78;
}

.page-title {
  font-size: clamp(2.75rem, 5.8vw, 4.75rem);
  line-height: 1.02;
  letter-spacing: -0.028em;
}

.page-copy,
.page-card p,
.detail-card p,
.comparison-card li,
.path-step p {
  max-width: 68ch;
  line-height: 1.82;
}

.svc-title,
.page-card h3,
.detail-card h3,
.comparison-card h3,
.path-step h3 {
  letter-spacing: -0.012em;
}

.svc-desc {
  line-height: 1.72;
}

.svc-list li,
.detail-list li {
  line-height: 1.58;
}

.section-eyebrow,
.page-detail-label,
label,
.nav-links a,
.footer-links a {
  letter-spacing: .09em;
}

.nav-links a,
.footer-links a,
.btn-primary,
.btn-ghost,
.btn-white,
.btn-outline-white,
.svc-cta,
.form-submit {
  font-size: .875rem;
}

.badge-title,
.detail-value,
.author-name {
  line-height: 1.35;
}

.badge-sub,
.why-stat-label,
.page-stat span {
  line-height: 1.5;
}

.page-stat strong,
.why-stat-num {
  font-variant-numeric: tabular-nums;
}

@media (max-width: 960px) {
  .hero-h1,
  .section-h2,
  .page-title {
    max-width: 100%;
  }
}

@media (max-width: 600px) {
  .hero-h1 {
    font-size: clamp(2.5rem, 13vw, 3.4rem);
  }

  .section-h2,
  .page-title {
    font-size: clamp(2.15rem, 11vw, 3.15rem);
  }

  .page-lead,
  .section-lead {
    font-size: 1rem;
  }
}

/* Full polish pass: make Cloud / Strategy / Apps the service spine. */
[data-theme="light"] {
  --text3: rgba(26, 37, 53, 0.68);
}

#services .section-lead {
  max-width: 74ch;
}

#services .services-grid {
  isolation: isolate;
}

#services .svc-card {
  transition:
    border-color 220ms ease,
    transform 220ms var(--ease-out-strong),
    background 220ms ease;
}

#services .svc-card::before {
  display: none;
}

#services .svc-card:hover,
#services .svc-card:focus-within {
  border-color: rgba(217, 106, 31, .48);
  transform: translateY(-2px);
}

#services .svc-card::after {
  content: none;
}

#services .svc-title {
  max-width: 12.5ch;
}

#services .svc-card:nth-child(2) .svc-title,
#services .svc-card:nth-child(5) .svc-title {
  max-width: 15ch;
}

#services .svc-cta {
  min-height: 44px;
}

#services .cta-default,
#services .cta-hover {
  letter-spacing: 0;
}

.why-icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  margin-top: 1px;
  border: 1px solid var(--border2);
  border-radius: 12px;
  background: rgba(217, 106, 31, .08);
  color: var(--orange);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition:
    border-color 220ms ease,
    background 220ms ease,
    transform 220ms var(--ease-out-strong);
}

.why-icon svg {
  width: 18px;
  height: 18px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.why-icon circle {
  fill: currentColor;
  stroke: none;
}

.why-item:hover .why-icon,
.why-item:focus-within .why-icon {
  border-color: rgba(217, 106, 31, .42);
  background: rgba(217, 106, 31, .14);
  transform: translateY(-1px);
}

@media (min-width: 1080px) {
  #services .services-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 62px 28px;
    width: min(1180px, 100%);
  }

  #services .svc-card {
    min-height: 585px;
  }
}

@media (min-width: 768px) and (max-width: 1079px) {
  #services .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  .svc-phases {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .svc-phase-divider {
    display: none;
  }

  .svc-phase {
    padding: 12px 0;
  }
}

@media (max-width: 600px) {
  #services .svc-card::after {
    top: 22px;
    right: 24px;
  }

  #services .svc-title {
    max-width: 100%;
  }

  .why-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
  }
}

/* Process page -- The Promise band: balance the 2-col layout */
.promise-band .page-grid-2 {
  grid-template-columns: 1.15fr 1fr;
  gap: 64px;
  align-items: center;
}
.promise-band .section-h2 {
  max-width: 22ch;
  font-size: clamp(1.85rem, 3.4vw, 2.7rem);
  line-height: 1.12;
}
.promise-band .page-copy {
  max-width: 46ch;
}
@media (max-width: 900px) {
  .promise-band .page-grid-2 {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .promise-band .section-h2 {
    max-width: 100%;
  }
}
.step-circle{transition:background .2s,border-color .2s,color .2s,transform .2s}.step-circle svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.proc-step:hover .step-circle,.proc-step:focus-within .step-circle{background:var(--orange);color:#fff;border-color:var(--orange);transform:translateY(-1px)}
.path-step-icon{width:54px;height:54px;border:1px solid var(--border2);border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--card);color:var(--orange);font-size:0;transition:background .2s,border-color .2s,transform .2s}.path-step-icon svg{width:23px;height:23px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.path-step:hover .path-step-icon,.path-step:focus-within .path-step-icon{background:var(--orange-l);border-color:var(--orange);transform:translateY(-1px)}
.page-stat .page-stat-icon{width:46px;height:46px;border:1px solid var(--border2);border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--card);color:var(--orange);font-size:0;margin-bottom:12px;transition:background .2s,border-color .2s,transform .2s}.page-stat .page-stat-icon svg{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.page-stat:hover .page-stat-icon{background:var(--orange-l);border-color:var(--orange);transform:translateY(-1px)}
