.services-section{background:var(--surface-sunken);padding:100px 0}.service-card{background:var(--surface-card);border-radius:var(--radius-md);border:1px solid color-mix(in srgb, var(--border-color) 85%, var(--text-main));height:100%;transition:var(--transition-smooth);padding:36px 32px;position:relative;overflow:hidden;box-shadow:0 4px 20px -2px #0000000d}.service-card:before{content:"";background:var(--color-primary);transform-origin:0;height:3px;transition:var(--transition-smooth);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.service-card:hover:before,.service-card:has(.service-card-link:focus-visible):before{transform:scaleX(1)}.service-card:hover,.service-card:has(.service-card-link:focus-visible){border-color:var(--color-primary);transform:translateY(-8px);box-shadow:0 14px 32px -4px #0000001f}.service-card:has(.service-card-link:focus-visible){outline:3px solid var(--color-primary);outline-offset:2px}.service-card-link{all:unset;cursor:pointer}.service-card-link:after{content:"";position:absolute;inset:0}.service-number{font-family:var(--font-heading);color:color-mix(in srgb, var(--text-main) 12%, transparent);transition:var(--transition-smooth);margin-bottom:18px;font-size:3.5rem;font-weight:900;line-height:1}.service-card:hover .service-number{color:color-mix(in srgb, var(--color-primary) 25%, transparent)}.service-icon-wrap{width:54px;height:54px;color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, transparent);border-radius:var(--radius-sm);transition:var(--transition-smooth);justify-content:center;align-items:center;margin-bottom:18px;font-size:1.3rem;display:flex}.service-card:hover .service-icon-wrap{background:var(--color-primary);color:#fff}.service-title{color:var(--text-main);margin-bottom:12px;font-size:1.28rem;font-weight:700;line-height:1.3}.service-description{color:var(--text-muted);margin-bottom:20px;font-size:.9rem;line-height:1.7}.service-tag-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;display:flex}.service-tag{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--surface-card));border:1px solid color-mix(in srgb, var(--color-primary) 20%, transparent);border-radius:100px;padding:4px 12px;font-size:.74rem;font-weight:600}.service-arrow{width:36px;height:36px;color:var(--text-main);border:1px solid color-mix(in srgb, var(--border-color) 85%, var(--text-main));transition:var(--transition-smooth);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;display:flex;position:absolute;top:20px;right:20px}.service-card:hover .service-arrow{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:rotate(-45deg)}dialog.service-modal{width:min(800px,100% - 2rem);height:fit-content;max-height:calc(100dvh - 3rem);color:var(--text-main);background:var(--surface-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);margin:auto;padding:0;position:fixed;inset:0;overflow:hidden}dialog.service-modal[open]{flex-direction:column;display:flex}.service-modal::backdrop{background:#00000080}body:has(.service-modal[open]){overflow:hidden}.service-modal .modal-header{background:var(--surface-raised);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:20px 28px;display:flex}.service-modal .modal-title{font-family:var(--font-heading);color:var(--text-main);margin:0;font-size:1.25rem;font-weight:700;line-height:1.3}.service-modal .modal-body{flex:auto;min-height:0;padding:28px;overflow-y:auto}.service-modal .modal-close{width:32px;height:32px;color:var(--text-main);background:var(--surface-sunken);border:1px solid var(--border-color);cursor:pointer;transition:var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.85rem;display:flex}.service-modal .modal-close:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.service-modal .modal-close:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.modal-service-icon{width:68px;height:68px;color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, transparent);border-radius:var(--radius-md);justify-content:center;align-items:center;margin-bottom:18px;font-size:1.75rem;display:flex}.modal-description{color:var(--text-muted);margin-bottom:22px;line-height:1.82}.modal-subtitle{color:var(--text-main);margin-bottom:16px;font-size:.95rem;font-weight:700}.sub-service-card{background:var(--surface-raised);border:1px solid var(--border-color);border-radius:var(--radius-sm);height:100%;padding:16px 20px}.sub-service-title{color:var(--text-main);align-items:center;margin-bottom:6px;font-size:.94rem;font-weight:700;display:flex}.sub-service-check{color:var(--color-primary);margin-right:8px;font-size:.85rem}.sub-service-description{color:var(--text-muted);margin:0;font-size:.84rem;line-height:1.6}.pricing-section{background:var(--surface-base);padding:120px 0}.pricing-card{background:var(--surface-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);height:100%;transition:transform var(--transition-smooth), border-color var(--transition-smooth), box-shadow var(--transition-smooth);flex-direction:column;padding:40px 32px;display:flex;position:relative}.pricing-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.pricing-card.featured{background:var(--surface-sunken);border:2px solid var(--color-primary);box-shadow:var(--shadow-lg)}.pricing-popular-badge{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:#fff;background:var(--color-primary);border-radius:100px;padding:6px 18px;font-size:.72rem;font-weight:700;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.pricing-tier{letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary);margin-bottom:16px;font-family:inherit;font-size:.82rem;font-weight:700;line-height:1.2}.featured .pricing-tier{color:var(--cedar)}.pricing-prefix{letter-spacing:.05em;text-transform:uppercase;color:var(--text-subtle);margin-bottom:2px;font-size:.78rem;font-weight:600;display:block}.pricing-amount-group{color:var(--text-main);align-items:baseline;margin-bottom:12px;display:flex}.pricing-currency{margin-right:2px;font-size:1.5rem;font-weight:700}.pricing-amount{font-family:var(--font-heading);font-size:3.2rem;font-weight:800;line-height:1}.pricing-description{color:var(--text-muted);margin-bottom:24px;font-size:.88rem;line-height:1.65}.pricing-divider{background:var(--border-color);height:1px;margin-bottom:24px}.pricing-card.featured .pricing-divider{background:var(--color-primary)}.pricing-features{flex-grow:1;margin-bottom:32px}.pricing-features li{color:var(--text-muted);align-items:flex-start;gap:12px;padding:8px 0;font-size:.88rem;display:flex}.pricing-features li i{color:var(--color-primary);flex-shrink:0;margin-top:3px;font-size:.9rem}.btn-pricing{text-align:center;width:100%;color:var(--text-main);border:1.5px solid var(--border-color);transition:var(--transition-fast);border-radius:100px;padding:12px 20px;font-size:.92rem;font-weight:600;text-decoration:none;display:block}.btn-pricing:hover,.btn-pricing:focus-visible{background:var(--color-primary);border-color:var(--color-primary);color:#fff;outline:none}.btn-pricing:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.pricing-card.featured .btn-pricing{background:var(--cedar);border-color:var(--cedar);color:#fff}.pricing-card.featured .btn-pricing:hover{background:color-mix(in srgb, var(--cedar) 88%, black);border-color:color-mix(in srgb, var(--cedar) 88%, black)}.pricing-card.featured .btn-pricing:focus-visible{outline:3px solid var(--cedar)}.pricing-retainer-banner{background:var(--surface-sunken);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:32px 40px}.retainer-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--cedar);margin-bottom:6px;font-size:.74rem;font-weight:700}.retainer-title{font-family:var(--font-heading);color:var(--text-main);margin-bottom:8px;font-size:1.35rem;font-weight:700}.retainer-desc{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.6}.retainer-amt{font-family:var(--font-heading);color:var(--text-main);font-size:2.2rem;font-weight:800}.retainer-per{color:var(--text-muted);font-size:.9rem;font-weight:500}.btn-retainer{color:var(--cedar);border:1.5px solid var(--cedar);transition:var(--transition-fast);border-radius:100px;padding:10px 24px;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-block}.btn-retainer:hover,.btn-retainer:focus-visible{background:var(--cedar);color:#fff;outline:none}.btn-retainer:focus-visible{outline:3px solid var(--cedar);outline-offset:2px}@media (width<=991px){.pricing-retainer-banner{text-align:center;padding:32px 24px}.pricing-retainer-banner .text-lg-end{margin-top:20px;text-align:center!important}}@media (width<=575px){.pricing-amount{font-size:2.75rem}}@media (prefers-reduced-motion:reduce){.service-card,.pricing-card{transition:none}.service-card:hover,.service-card:has(.service-card-link:focus-visible),.pricing-card:hover,.service-card:hover .service-arrow{transform:none}}.faq-section{background:var(--surface-sunken);padding:120px 0;overflow:visible}.faq-sidebar{position:sticky;top:100px}.faq-list{flex-direction:column;gap:14px;display:flex}.faq-item{background:var(--surface-card);border:1px solid color-mix(in srgb, var(--border-color) 80%, var(--text-main));border-radius:var(--radius-md);transition:border-color var(--transition-fast);overflow:hidden;box-shadow:0 2px 8px #0000000a}.faq-item:hover{border-color:color-mix(in srgb, var(--color-primary) 35%, var(--border-color))}.faq-summary{cursor:pointer;background:var(--surface-card);transition:color var(--transition-fast), background-color var(--transition-fast);justify-content:space-between;align-items:center;gap:16px;padding:22px 28px;list-style:none;display:flex}.faq-summary::-webkit-details-marker{display:none}.faq-summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.faq-summary:after{content:"+";color:var(--text-muted);transition:transform var(--transition-fast), color var(--transition-fast);flex-shrink:0;font-size:1.4rem;line-height:1}.faq-item[open]>.faq-summary{background:color-mix(in srgb, var(--color-primary) 5%, var(--surface-card))}.faq-item[open]>.faq-summary:after{content:"–";color:var(--color-primary)}.faq-question{font-family:var(--font-heading);color:var(--text-main);margin:0;font-size:.98rem;font-weight:600;line-height:1.4}.faq-item[open] .faq-question{color:var(--color-primary)}.faq-answer{white-space:pre-line;color:var(--text-muted);border-top:1px solid var(--border-color);padding:16px 28px 24px;font-size:.92rem;line-height:1.8}.btn-primary-link{color:var(--cedar);transition:gap var(--transition-fast);align-items:center;gap:10px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary-link:hover,.btn-primary-link:focus-visible{gap:14px}.btn-primary-link:focus-visible{outline:3px solid var(--cedar);outline-offset:4px;border-radius:var(--radius-sm)}@media (width<=991px){.faq-sidebar{position:static}}@media (prefers-reduced-motion:reduce){.btn-primary-link{transition:none}}
