.grid{display:grid;grid-template-columns:1fr;gap:22px}.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr}.grid-6{grid-template-columns:1fr}.card{position:relative;background:linear-gradient(180deg,rgba(27,39,66,.7) 0,rgba(18,27,48,.85) 100%);border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px;transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease);overflow:hidden}.card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent);opacity:0;transition:opacity .3s var(--ease)}.card:hover{transform:translateY(-4px);border-color:var(--line-2);box-shadow:var(--shadow)}.card:hover::before{opacity:1}.card-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,rgba(58,123,200,.18),rgba(58,123,200,.06));border:1px solid rgba(58,123,200,.22);margin-bottom:22px;color:var(--accent-2)}.card-icon svg{width:26px;height:26px}.card h3{font-size:20px;font-weight:700;font-family:Inter,sans-serif;letter-spacing:-.005em;margin-bottom:12px;color:#fff}.card p{font-size:14.5px;color:var(--text-muted);line-height:1.7}.service-card{position:relative;background:linear-gradient(180deg,rgba(27,39,66,.6) 0,rgba(18,27,48,.85) 100%);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px;transition:all .3s var(--ease);overflow:hidden;display:flex;flex-direction:column}.service-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.service-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:var(--shadow)}.service-card:hover::after{transform:scaleX(1)}.service-card:hover .card-icon{background:linear-gradient(135deg,var(--accent),var(--accent-deep));border-color:var(--accent);color:#fff;transform:translateY(-4px) rotate(-3deg) scale(1.05)}.service-card .card-icon{transition:transform .35s cubic-bezier(.22,1,.36,1),background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease)}.process-grid{display:grid;grid-template-columns:1fr;gap:22px;position:relative}.process-step{position:relative;z-index:1;background:linear-gradient(180deg,rgba(27,39,66,.55) 0,rgba(18,27,48,.8) 100%);border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px 26px 28px;transition:all .3s var(--ease)}.process-step:hover{transform:translateY(-4px);border-color:var(--line-2);box-shadow:var(--shadow)}#process .process-step.reveal:nth-child(1){transition-delay:0ms}#process .process-step.reveal:nth-child(2){transition-delay:120ms}#process .process-step.reveal:nth-child(3){transition-delay:240ms}#process .process-step.reveal:nth-child(4){transition-delay:360ms}#process .process-step.reveal:nth-child(5){transition-delay:480ms}@media (max-width:760px){.process-step.reveal.in .process-num{animation:processDotPulse 1.2s ease-out 1}@keyframes processDotPulse{0%{box-shadow:0 0 0 0 rgba(90,150,217,.55)}55%{box-shadow:0 0 0 8px rgba(90,150,217,0)}100%{box-shadow:0 0 0 0 rgba(90,150,217,0)}}}@media (prefers-reduced-motion:reduce){.process-step.reveal.in .process-num{animation:none!important}}.process-num{position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;background:linear-gradient(135deg,rgba(58,123,200,.22),rgba(58,123,200,.08));border:1px solid rgba(58,123,200,.3);border-radius:12px;font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--accent-2);margin-bottom:22px}.process-grid::before{content:'';position:absolute;left:49px;top:53px;bottom:53px;width:2px;background:var(--line);z-index:0;pointer-events:none;border-radius:1px}.process-progress{display:none}.process-step h3{font-size:19px;font-weight:700;font-family:Inter,sans-serif;margin-bottom:12px;color:#fff}.process-step p{font-size:14.5px;color:var(--text-muted);line-height:1.7}.compare-grid{display:grid;grid-template-columns:1fr;gap:22px}.compare-col{background:linear-gradient(180deg,rgba(27,39,66,.65) 0,rgba(18,27,48,.9) 100%);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px;position:relative}.compare-col.us{border-color:rgba(58,123,200,.3);box-shadow:0 0 0 1px rgba(58,123,200,.08),0 12px 40px rgba(58,123,200,.06)}.compare-head{display:flex;align-items:center;gap:12px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line)}.compare-head .tag{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:5px 11px;border-radius:999px}.compare-head .tag.them{background:rgba(239,106,106,.1);color:var(--warn);border:1px solid rgba(239,106,106,.25)}.compare-head .tag.us{background:rgba(58,123,200,.12);color:var(--accent-2);border:1px solid rgba(58,123,200,.3)}.compare-head h3{font-size:19px;font-weight:700;font-family:Inter,sans-serif;color:#fff}.compare-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.compare-list li{display:flex;gap:14px;font-size:14.5px;color:var(--text-2);line-height:1.65}.compare-list li .icon{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:6px;margin-top:1px}.compare-list li.x .icon{background:rgba(239,106,106,.1);color:var(--warn)}.compare-list li.x .icon::before{content:'✕';font-size:14px;font-weight:700}.compare-list li.x{color:var(--text-muted)}.compare-list li.check .icon{background:rgba(56,211,159,.12);color:var(--check)}.compare-list li.check .icon svg{width:14px;height:14px}.storm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.storm-item{position:relative;background:linear-gradient(180deg,rgba(27,39,66,.55) 0,rgba(18,27,48,.8) 100%);border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px;transition:all .3s var(--ease)}.storm-item:hover{border-color:var(--line-2);transform:translateY(-2px)}.storm-item .icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(58,123,200,.18),rgba(58,123,200,.06));border:1px solid rgba(58,123,200,.22);color:var(--accent-2);margin-bottom:14px}.storm-item .icon svg{width:20px;height:20px}.storm-item h3{font-size:15px;font-weight:700;font-family:Inter,sans-serif;color:#fff;margin-bottom:6px}.storm-item p{font-size:13px;color:var(--text-muted);line-height:1.55}.storm-note{margin-top:28px;padding:18px 22px;background:rgba(58,123,200,.06);border:1px solid rgba(58,123,200,.18);border-radius:var(--radius);font-size:14px;color:var(--text-2);display:flex;gap:14px;align-items:flex-start}.storm-note svg{width:20px;height:20px;color:var(--accent-2);flex-shrink:0;margin-top:1px}.project-card{position:relative;background:linear-gradient(180deg,rgba(27,39,66,.6) 0,rgba(18,27,48,.9) 100%);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:all .3s var(--ease);display:flex;flex-direction:column}.project-card:hover{transform:translateY(-4px);border-color:var(--line-2);box-shadow:var(--shadow)}.project-img{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,#1a212b 0,#232c39 100%);overflow:hidden}.project-img::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(58,123,200,.18),transparent 50%),radial-gradient(circle at 70% 70%,rgba(58,123,200,.1),transparent 50%)}.project-img::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse at center,black,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,black,transparent 70%);clip-path:polygon(0 0,0 0,0 0,0 0);transition:clip-path 1s cubic-bezier(.22,1,.36,1) 100ms}.project-card.in .project-img::after{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.project-card .project-tag{opacity:0;transform:translateY(-4px);transition:opacity .4s var(--ease) 850ms,transform .4s var(--ease) 850ms}.project-card.in .project-tag{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.project-img::after{clip-path:none!important;transition:none!important}.project-card .project-tag{opacity:1!important;transform:none!important;transition:none!important}}.project-img .placeholder-mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.2);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;z-index:1}.project-img .placeholder-mark svg{width:38px;height:38px;margin-bottom:8px;opacity:.5}.project-img .placeholder-mark>div{display:flex;flex-direction:column;align-items:center}.project-tag{position:absolute;top:14px;left:14px;padding:5px 11px;background:rgba(11,19,34,.85);border:1px solid var(--line-2);border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-2);backdrop-filter:blur(8px);z-index:2}.project-body{padding:22px 24px 24px}.project-body h3{font-size:17px;font-weight:700;font-family:Inter,sans-serif;color:#fff;margin-bottom:8px}.project-body p{font-size:14px;color:var(--text-muted);line-height:1.6;margin-bottom:14px}.project-meta{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-faint);padding-top:14px;border-top:1px solid var(--line)}.project-meta svg{width:13px;height:13px;color:var(--accent-2)}.promise-grid{display:grid;grid-template-columns:1fr;gap:36px;align-items:center}.promise-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.promise-list li{display:flex;gap:16px;padding:18px 22px;background:linear-gradient(180deg,rgba(27,39,66,.55) 0,rgba(18,27,48,.8) 100%);border:1px solid var(--line);border-radius:var(--radius);transition:all .25s var(--ease)}.promise-list li:hover{border-color:rgba(58,123,200,.3);transform:translateX(4px)}.promise-list .check{width:26px;height:26px;flex-shrink:0;background:linear-gradient(135deg,var(--accent) 0,var(--accent-deep) 100%);border-radius:8px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px var(--accent-glow)}.promise-list .check svg{width:14px;height:14px;color:#fff}.promise-list .text strong{display:block;color:#fff;font-size:15.5px;font-weight:700;margin-bottom:2px}.promise-list .text span{font-size:14px;color:var(--text-muted)}.brand-seal{display:flex;align-items:center;gap:18px;margin-top:30px;padding:20px 22px 20px 20px;background:linear-gradient(135deg,rgba(58,123,200,.07),rgba(201,168,97,.04) 70%,rgba(58,123,200,.03));border:1px solid rgba(58,123,200,.22);border-radius:var(--radius);position:relative;overflow:hidden}.brand-seal::before{content:'';position:absolute;top:0;left:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--accent-2),var(--accent-deep))}.brand-seal-mark{width:56px;height:56px;flex-shrink:0;filter:drop-shadow(0 0 14px var(--accent-glow))}.brand-seal-mark svg{width:100%;height:100%}.brand-seal-text{min-width:0}.brand-seal-title{font-family:'Playfair Display',serif;font-size:18.5px;font-weight:700;color:#fff;letter-spacing:-.005em;line-height:1.2}.brand-seal-values{font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);margin-top:6px}.testimonial-card{position:relative;background:linear-gradient(180deg,rgba(27,39,66,.7) 0,rgba(18,27,48,.9) 100%);border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px;display:flex;flex-direction:column;transition:all .3s var(--ease)}.testimonial-card:hover{transform:translateY(-4px);border-color:var(--line-2);box-shadow:var(--shadow)}.testimonial-stars{display:flex;gap:4px;margin-bottom:16px}.testimonial-stars svg{width:16px;height:16px;color:#f5b400}.testimonial-card .placeholder-flag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);background:rgba(255,255,255,.04);border:1px solid var(--line);padding:4px 9px;border-radius:999px;margin-bottom:14px;width:fit-content}.testimonial-card blockquote{margin:0 0 22px;font-size:15px;line-height:1.7;color:var(--text-2);font-style:italic;flex-grow:1}.testimonial-attr{display:flex;align-items:center;gap:14px;padding-top:18px;border-top:1px solid var(--line)}.testimonial-attr .avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-deep));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:#fff;font-family:Inter,sans-serif;flex-shrink:0}.testimonial-attr .who{font-size:14px;font-weight:600;color:#fff}.testimonial-attr .where{font-size:12.5px;color:var(--text-muted);margin-top:2px}.testimonials-note{margin-top:32px;text-align:center;font-size:13px;color:var(--text-faint);padding:14px 20px;background:rgba(255,255,255,.02);border:1px dashed var(--line-2);border-radius:var(--radius)}.area-wrap{background:linear-gradient(180deg,rgba(27,39,66,.6) 0,rgba(18,27,48,.85) 100%);border:1px solid var(--line);border-radius:var(--radius-xl);padding:clamp(30px,4vw,50px)}.area-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.area-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:rgba(255,255,255,.04);border:1px solid var(--line-2);border-radius:999px;font-size:13.5px;font-weight:500;color:var(--text-2);transition:all .2s var(--ease)}.area-chip:hover{background:rgba(58,123,200,.1);border-color:rgba(58,123,200,.3);color:#fff;transform:translateY(-2px)}.area-chip svg{width:8px;height:8px;color:var(--accent-2)}.area-foot{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--text-muted);padding-top:22px;border-top:1px solid var(--line)}.area-foot svg{width:16px;height:16px;color:var(--check)}.faq-list{display:flex;flex-direction:column;gap:12px;max-width:880px;margin:0 auto}.faq-item{background:linear-gradient(180deg,rgba(27,39,66,.55) 0,rgba(18,27,48,.8) 100%);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .25s var(--ease),background .35s var(--ease)}.faq-item[open]{border-color:rgba(58,123,200,.3);background:linear-gradient(180deg,rgba(58,123,200,.06) 0,rgba(18,27,48,.85) 100%)}@supports (interpolate-size:allow-keywords){html{interpolate-size:allow-keywords}.faq-item .faq-body{height:0;overflow:hidden;transition:height .38s cubic-bezier(.22,1,.36,1),padding .38s cubic-bezier(.22,1,.36,1)}.faq-item[open] .faq-body{height:auto}}@media (prefers-reduced-motion:reduce){@supports (interpolate-size:allow-keywords){.faq-item .faq-body{transition:none!important}}}.faq-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px;cursor:pointer;list-style:none;font-family:Inter,sans-serif;font-size:16px;font-weight:600;color:#fff;transition:background .2s var(--ease)}.faq-summary::-webkit-details-marker{display:none}.faq-item:hover .faq-summary{background:rgba(255,255,255,.02)}.faq-toggle{width:30px;height:30px;flex-shrink:0;border-radius:8px;background:rgba(58,123,200,.1);border:1px solid rgba(58,123,200,.22);display:flex;align-items:center;justify-content:center;color:var(--accent-2);transition:transform .3s var(--ease),background .25s var(--ease)}.faq-item[open] .faq-toggle{transform:rotate(45deg);background:var(--accent);border-color:var(--accent);color:#fff}.faq-toggle svg{width:14px;height:14px}.faq-body{padding:0 26px 26px;font-size:14.5px;color:var(--text-muted);line-height:1.75}.faq-disclaimer{margin-top:28px;max-width:880px;margin-left:auto;margin-right:auto;padding:18px 22px;background:rgba(255,255,255,.02);border:1px solid var(--line);border-radius:var(--radius);font-size:13px;color:var(--text-faint);line-height:1.65;display:flex;gap:14px}.faq-disclaimer svg{width:18px;height:18px;color:var(--text-muted);flex-shrink:0;margin-top:2px}.contact-grid{display:grid;grid-template-columns:1fr;gap:28px}.contact-info{background:linear-gradient(180deg,rgba(27,39,66,.7) 0,rgba(18,27,48,.9) 100%);border:1px solid var(--line);border-radius:var(--radius-xl);padding:clamp(28px,3.5vw,40px);display:flex;flex-direction:column;gap:16px}.contact-info-item{display:flex;gap:16px;padding:16px 18px;background:rgba(255,255,255,.02);border:1px solid var(--line);border-radius:var(--radius);transition:all .25s var(--ease)}.contact-info-item:hover{border-color:rgba(58,123,200,.3);background:rgba(58,123,200,.03)}.contact-info-icon{width:42px;height:42px;flex-shrink:0;border-radius:10px;background:linear-gradient(135deg,rgba(58,123,200,.18),rgba(58,123,200,.06));border:1px solid rgba(58,123,200,.22);display:flex;align-items:center;justify-content:center;color:var(--accent-2)}.contact-info-icon svg{width:18px;height:18px}.contact-info-text .label{display:block;font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);margin-bottom:4px}.contact-info-text .value{font-size:15.5px;font-weight:600;color:#fff;line-height:1.4}a.contact-info-item:hover .contact-info-text .value{color:var(--accent-2)}.contact-form-card{background:linear-gradient(180deg,rgba(27,39,66,.85) 0,rgba(18,27,48,.92) 100%);border:1px solid var(--line-2);border-radius:var(--radius-xl);padding:clamp(28px,3.5vw,40px)}
/* === Field focus underline — 1px line grows from center to edges on focus-within. Pairs with the existing border-color fade + 3px outer glow ring. Applies to both the hero form and the /contact form because the .field selector is shared. === */
.field{position:relative}
.field::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-2),transparent);transform:scaleX(0);transform-origin:center;transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .22s var(--ease);opacity:0;pointer-events:none}
.field:focus-within::after{transform:scaleX(1);opacity:.85}
@media (prefers-reduced-motion:reduce){.field::after{transition:none}}
/* Button press anticipate: a tighter compress on :active that composes cleanly with the magnetic translate + tap-anticipate ring already in place. */
.btn-primary:active{transform:translateY(0) scale(.98);transition-duration:.1s}.footer{border-top:1px solid var(--line);background:rgba(11,19,34,.85);position:relative;z-index:2;padding:60px 0 28px}.footer-grid{display:grid;grid-template-columns:1fr;gap:40px;margin-bottom:48px}.footer-brand .brand{gap:16px}.footer-brand .brand-mark{width:64px;height:64px;filter:drop-shadow(0 0 20px rgba(58,123,200,.55))}.footer-brand .brand-text .a{font-size:24px}.footer-brand .brand-text .b{font-size:11px;margin-top:4px}.footer-brand p{font-size:14px;color:var(--text-muted);line-height:1.7;margin-top:22px;max-width:340px}.footer-col h3{font-size:12.5px;font-weight:700;font-family:Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:18px}.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}.footer-col a{font-size:14px;color:var(--text-muted);transition:color .2s var(--ease);display:inline-flex;align-items:center;gap:8px}.footer-col a:hover{color:var(--accent-2)}.footer-col a svg{width:14px;height:14px;color:var(--accent-2)}.footer-col span.muted{color:var(--text-muted);font-size:14px;display:inline-flex;align-items:center;gap:8px}.footer-col span.muted svg{width:14px;height:14px;color:var(--accent-2);flex-shrink:0}.footer-bottom{padding-top:28px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;font-size:12.5px;color:var(--text-faint)}.footer-bottom a:hover{color:var(--text-2)}.footer-disclaimer{font-size:11.5px;color:var(--text-faint);line-height:1.55;max-width:760px;margin:22px auto 0;padding-top:18px;border-top:1px solid var(--line);text-align:center}
/* Footer column links: bump tap-target height to satisfy axe target-size (24x24 min). */ .footer-col a,.footer-col span.muted{min-height:24px;padding:4px 0;box-sizing:border-box}

/* Process timeline state machine + step icons (added in 1.5 polish). */
.process-pin{display:none}
.process-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;color:var(--accent-2);margin-bottom:14px;transition:color .35s var(--ease),opacity .35s var(--ease)}
.process-icon svg{width:24px;height:24px}
.process-step.is-past .process-num{background:linear-gradient(135deg,var(--accent),var(--accent-deep));border-color:var(--accent);color:#fff;box-shadow:0 6px 18px var(--accent-glow),inset 0 1px 0 rgba(255,255,255,.18)}
.process-step.is-past .process-icon{color:var(--accent-3)}
.process-step.is-current .process-num{background:linear-gradient(135deg,var(--accent-2),var(--accent-deep));border-color:var(--accent-2);color:#fff;box-shadow:0 0 0 4px rgba(58,123,200,.2),0 0 24px var(--accent-glow);animation:processCurrentPulse 1.5s ease-in-out infinite}
.process-step.is-current .process-icon{color:#fff}
.process-step.is-future .process-num{opacity:.55;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border-color:var(--line-2);color:var(--text-faint)}
.process-step.is-future .process-icon{color:var(--text-faint);opacity:.55}
@keyframes processCurrentPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}

/* Service card sub-headline — sits between h3 and the supporting sentence,
   set lighter than the body copy and tighter so the eye reads it as a
   tagline rather than a second body paragraph. */
.service-card .card-sub{font-size:14.5px;color:var(--text-2);font-weight:500;line-height:1.55;margin-bottom:10px}

/* Values pill row — used on the about page (and reusable). Gold accent
   variant of the eyebrow chip for displaying brand values. */
.values-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:32px 0 8px}
.value-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:rgba(201,168,97,.07);border:1px solid rgba(201,168,97,.28);border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2)}
.value-pill::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold-2);box-shadow:0 0 8px var(--gold-glow)}

/* Closing CTA section, used on subpages to drive to /contact. */
.cta-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:8px}

/* Page-level intro/lede paragraph below H1 on subpages. */
.page-lede{font-size:clamp(16px,1.6vw,19px);color:var(--text-2);line-height:1.7;max-width:680px;margin:18px auto 0;text-align:center}

/* Flat-layout FAQ page: each Q renders as a card with its A inline. */
.faq-flat{display:flex;flex-direction:column;gap:18px;max-width:880px;margin:0 auto}
.faq-flat article{background:linear-gradient(180deg,rgba(27,39,66,.55) 0,rgba(18,27,48,.8) 100%);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px}
.faq-flat h2{font-size:18px;font-weight:700;font-family:Inter,sans-serif;color:#fff;margin:0 0 10px;letter-spacing:-.005em}
.faq-flat p{font-size:14.5px;color:var(--text-muted);line-height:1.75;margin:0}

/* "What happens next" numbered steps on contact page */
.next-steps{max-width:760px;margin:48px auto 0;display:flex;flex-direction:column;gap:14px}
.next-steps .step{display:flex;gap:16px;align-items:flex-start;padding:18px 22px;background:linear-gradient(180deg,rgba(27,39,66,.55) 0,rgba(18,27,48,.8) 100%);border:1px solid var(--line);border-radius:var(--radius)}
.next-steps .num{flex-shrink:0;width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));display:inline-flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:15px;font-weight:700;color:#fff}
.next-steps .step-text strong{display:block;color:#fff;font-size:15px;font-weight:700;margin-bottom:2px}
.next-steps .step-text span{font-size:14px;color:var(--text-muted);line-height:1.6}

/* Service area page: prominent fallback phone CTA */
.area-fallback{margin-top:36px;padding:28px clamp(22px,3vw,36px);background:linear-gradient(180deg,rgba(58,123,200,.06),rgba(58,123,200,.02));border:1px solid rgba(58,123,200,.22);border-radius:var(--radius);text-align:center}
.area-fallback p{font-size:15.5px;color:var(--text-2);margin:0 0 14px;line-height:1.65}
.area-fallback a.tel{font-family:'Playfair Display',serif;font-size:clamp(26px,3vw,34px);font-weight:700;color:#fff;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--accent-2),var(--accent-3));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Card -> page link affordance, used by the home page "What You Can Expect" cards. */
.card-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--accent-2);transition:gap .2s var(--ease),color .2s var(--ease)}
.card-link svg{width:14px;height:14px;transition:transform .25s var(--ease)}
a.card:hover .card-link{color:var(--accent-3);gap:12px}
a.card:hover .card-link svg{transform:translateX(2px)}

/* Tilt-card marker class: the JS in the IIFE wires 3D cursor-tilt to any .tilt-card.
   The perspective sits on a wrapper-like rule so the tilt reads cleanly without
   distorting nested fixed-position children. */
.tilt-card{transform-style:preserve-3d;transition:transform .2s var(--ease)}
