/* CoreSocialMedia.com v3 — Green Theme — WCAG 2.2 AA */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:'DM Sans',system-ui,sans-serif;font-size:17px;line-height:1.7;color:#1A1A2E;background:#fff;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:#0E6B4E;text-decoration:none;transition:color .25s}a:hover{color:#0A5740}ul,ol{list-style:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit}
:root{--green-900:#064E3B;--green-800:#065F46;--green-700:#047857;--green-600:#059669;--green-500:#10B981;--green-400:#34D399;--green-300:#6EE7B7;--green-200:#A7F3D0;--green-100:#D1FAE5;--green-50:#ECFDF5;--teal:#0D9488;--amber:#D97706;--amber-dark:#B45309;--purple-accent:#8B5CF6;--text-heading:#1B3A5C;--text-body:#1A1A2E;--text-secondary:#4A4A5A;--text-muted:#595959;--text-light:#6B6B6B;--on-dark:#FFFFFF;--on-dark-body:#D0D8E4;--on-dark-muted:#B0BEC5;--on-dark-green:#6EE7B7;--border:#E5E7EB;--bg-light:#F8FAFC;--bg-green-tint:#F0FDF4;--white:#FFFFFF;--max-w:1200px;--radius:12px;--radius-sm:8px;--radius-lg:20px;--shadow:0 2px 20px rgba(0,0,0,0.06);--shadow-lg:0 8px 32px rgba(0,0,0,0.1);--shadow-green:0 4px 20px rgba(5,150,105,0.2);--shadow-green-lg:0 8px 32px rgba(5,150,105,0.25);--transition:0.3s cubic-bezier(0.4,0,0.2,1)}
.skip-link{position:absolute;top:-50px;left:0;background:var(--green-700);color:#fff;padding:10px 20px;z-index:100001;font-weight:600;border-radius:0 0 var(--radius-sm) 0;transition:top .2s}.skip-link:focus{top:0;color:#fff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important}}
:focus-visible{outline:3px solid var(--green-600);outline-offset:2px;border-radius:2px}a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(5,150,105,0.3)}50%{box-shadow:0 0 0 14px rgba(5,150,105,0)}}
@keyframes slideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
.reveal{transition:opacity 0.6s ease,transform 0.6s ease}.revealed{animation:fadeInUp 0.6s ease forwards}
.stagger>*:nth-child(1){animation-delay:0s}.stagger>*:nth-child(2){animation-delay:.08s}.stagger>*:nth-child(3){animation-delay:.16s}.stagger>*:nth-child(4){animation-delay:.24s}.stagger>*:nth-child(5){animation-delay:.32s}.stagger>*:nth-child(6){animation-delay:.36s}.stagger>*:nth-child(7){animation-delay:.4s}.stagger>*:nth-child(8){animation-delay:.44s}.stagger>*:nth-child(9){animation-delay:.48s}.stagger>*:nth-child(10){animation-delay:.52s}.stagger>*:nth-child(11){animation-delay:.56s}.stagger>*:nth-child(12){animation-delay:.6s}
h1,h2,h3,h4,h5{font-family:'Poppins',system-ui,sans-serif;color:var(--text-heading);line-height:1.25;margin-bottom:.5em}h1{font-size:clamp(2rem,5vw,3.25rem);font-weight:700;line-height:1.1}h2{font-size:clamp(1.625rem,3.5vw,2.375rem);font-weight:700}h3{font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:600}h4{font-size:1.25rem;font-weight:600}p{margin-bottom:1em}p:last-child{margin-bottom:0}
.gradient-text{background:linear-gradient(135deg,var(--green-700),var(--teal),var(--green-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% auto;animation:gradientShift 4s ease infinite}
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 20px}.section{padding:80px 0;position:relative}.section--light{background:var(--bg-light)}.section--green-tint{background:var(--bg-green-tint)}.section--dark{background:var(--green-900);color:var(--on-dark-body)}.section--dark h2,.section--dark h3{color:var(--on-dark)}
.section--gradient{background:linear-gradient(135deg,#064E3B 0%,#065F46 30%,#047857 70%,#064E3B 100%);background-size:300% 300%;animation:gradientShift 8s ease infinite;color:var(--on-dark-body)}.section--gradient h2{color:var(--on-dark)}
.section--mint{background:linear-gradient(180deg,var(--green-50),var(--white))}.section--emerald-soft{background:linear-gradient(180deg,#ECFDF5,#F0FDF4 50%,#FFF 100%)}
.section--blobs{overflow:hidden}.section--blobs::before{content:'';position:absolute;top:-100px;right:-60px;width:400px;height:400px;background:radial-gradient(circle,rgba(16,185,129,0.12),transparent 70%);border-radius:50%;pointer-events:none;z-index:0}.section--blobs::after{content:'';position:absolute;bottom:-80px;left:-40px;width:300px;height:300px;background:radial-gradient(circle,rgba(13,148,136,0.08),transparent 70%);border-radius:50%;pointer-events:none;z-index:0}.section--blobs>*{position:relative;z-index:1}
.text-center{text-align:center}.mx-auto{margin-left:auto;margin-right:auto}.max-w-narrow{max-width:680px}.max-w-medium{max-width:800px}
.grid{display:grid;gap:24px}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1024px){.grid--4{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid--4,.grid--3,.grid--2{grid-template-columns:1fr}.section{padding:50px 0}.container{padding:0 16px}}
.flex{display:flex}.flex-wrap{flex-wrap:wrap}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:12px}.gap-md{gap:20px}.gap-lg{gap:32px}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,0.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(229,231,235,0.5);transition:box-shadow .3s}.site-header.scrolled{box-shadow:0 4px 24px rgba(0,0,0,0.08)}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:20px}.logo{display:flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-weight:700;font-size:1.25rem;color:var(--green-700);text-decoration:none;transition:transform .2s}.logo:hover{transform:scale(1.02);color:var(--green-700)}.logo img{height:40px;width:auto}
.nav-desktop{display:flex;align-items:center;gap:4px}.nav-desktop a{padding:8px 16px;font-size:.9375rem;font-weight:500;color:var(--text-body);border-radius:var(--radius-sm);transition:all .25s;text-decoration:none;position:relative}.nav-desktop a::after{content:'';position:absolute;bottom:4px;left:50%;width:0;height:2px;background:var(--green-600);border-radius:1px;transition:all .25s;transform:translateX(-50%)}.nav-desktop a:hover::after,.nav-desktop a[aria-current="page"]::after{width:60%}.nav-desktop a:hover,.nav-desktop a[aria-current="page"]{color:var(--green-700)}
.nav-dropdown{position:relative}.nav-dropdown-toggle{display:flex;align-items:center;gap:4px;background:none;border:none;padding:8px 16px;font-size:.9375rem;font-weight:500;color:var(--text-body);border-radius:var(--radius-sm);cursor:pointer;transition:all .25s}.nav-dropdown-toggle:hover{color:var(--green-700)}.nav-dropdown-toggle svg{width:12px;height:12px;transition:transform .3s}.nav-dropdown-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:calc(100% + 8px);left:-12px;min-width:280px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:8px;display:none;z-index:100;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s}.nav-dropdown-menu.open{display:block;opacity:1;transform:translateY(0)}.nav-dropdown-menu a{display:block;padding:10px 16px;font-size:.875rem;color:var(--text-body);border-radius:var(--radius-sm);text-decoration:none;transition:all .2s}.nav-dropdown-menu a:hover{background:var(--bg-green-tint);color:var(--green-700);padding-left:20px}
.header-ctas{display:flex;align-items:center;gap:10px}@media(max-width:1024px){.header-ctas{display:none}}
.mobile-toggle{display:none;background:none;border:none;padding:8px;color:var(--text-body);transition:color .2s}.mobile-toggle:hover{color:var(--green-700)}.mobile-toggle svg{width:28px;height:28px}@media(max-width:1024px){.mobile-toggle{display:flex;align-items:center}.nav-desktop{display:none}}
.mobile-overlay{position:fixed;inset:0;background:rgba(6,78,59,0.6);backdrop-filter:blur(4px);z-index:9998;opacity:0;visibility:hidden;transition:all .3s}.mobile-overlay.open{opacity:1;visibility:visible}.mobile-menu{position:fixed;top:0;right:-320px;width:320px;max-width:85vw;height:100vh;background:var(--white);z-index:9999;transition:right .35s cubic-bezier(0.4,0,0.2,1);overflow-y:auto;padding:20px;box-shadow:-8px 0 40px rgba(0,0,0,0.15)}.mobile-menu.open{right:0}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.mobile-close{background:none;border:none;padding:8px;color:var(--text-body)}.mobile-close svg{width:24px;height:24px}.mobile-nav a,.mobile-nav button{display:block;width:100%;padding:12px 16px;font-size:1rem;font-weight:500;color:var(--text-body);border:none;background:none;text-align:left;border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;transition:all .2s}.mobile-nav a:hover,.mobile-nav button:hover{background:var(--bg-green-tint);color:var(--green-700);padding-left:20px}.mobile-submenu{padding-left:16px;display:none;border-left:2px solid var(--green-200)}.mobile-submenu.open{display:block}.mobile-submenu a{font-size:.9375rem;padding:10px 16px}.mobile-ctas{margin-top:24px;padding-top:20px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:600;border-radius:var(--radius-sm);border:2px solid transparent;transition:all .3s cubic-bezier(0.4,0,0.2,1);text-decoration:none;cursor:pointer;line-height:1.2;position:relative;overflow:hidden}
.btn--primary{background:var(--green-700);color:var(--white);border-color:var(--green-700);box-shadow:0 4px 14px rgba(4,120,87,0.25)}.btn--primary:hover{background:var(--green-800);border-color:var(--green-800);color:var(--white);box-shadow:var(--shadow-green-lg);transform:translateY(-2px)}.btn--primary::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent);background-size:200% 100%;animation:shimmer 3s ease infinite;pointer-events:none}
.btn--outline{background:transparent;color:var(--green-700);border-color:var(--green-700)}.btn--outline:hover{background:var(--green-700);color:var(--white);box-shadow:var(--shadow-green);transform:translateY(-2px)}
.btn--gold{background:var(--amber-dark);color:var(--white);border-color:var(--amber-dark);box-shadow:0 4px 14px rgba(180,83,9,0.2)}.btn--gold:hover{background:#8B3E03;border-color:#8B3E03;color:var(--white);box-shadow:0 6px 24px rgba(180,83,9,0.3);transform:translateY(-2px)}.btn--gold::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.12),transparent);background-size:200% 100%;animation:shimmer 3s ease infinite;pointer-events:none}
.btn--white{background:var(--white);color:var(--green-700);border-color:var(--white);box-shadow:0 4px 14px rgba(255,255,255,0.2)}.btn--white:hover{background:var(--green-50);color:var(--green-800);transform:translateY(-2px)}
.btn--white-outline{background:transparent;color:var(--white);border-color:rgba(255,255,255,0.4)}.btn--white-outline:hover{background:rgba(255,255,255,0.1);color:var(--white);border-color:rgba(255,255,255,0.6)}
.btn--sm{padding:10px 20px;font-size:.875rem}.btn--lg{padding:18px 40px;font-size:1.0625rem}.btn--pulse{animation:pulse 2s ease infinite}.btn-group{display:flex;gap:16px;flex-wrap:wrap}@media(max-width:640px){.btn-group{flex-direction:column;align-items:stretch}.btn-group .btn{text-align:center}}
.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow);transition:all .35s cubic-bezier(0.4,0,0.2,1);position:relative}.card:hover{box-shadow:var(--shadow-lg),0 0 0 1px rgba(5,150,105,0.15);transform:translateY(-6px);border-color:var(--green-200)}.card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--green-500),var(--teal));border-radius:var(--radius) var(--radius) 0 0;opacity:0;transition:opacity .35s}.card:hover::before{opacity:1}
.card__icon{width:52px;height:52px;margin-bottom:16px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);background:var(--green-50);color:var(--green-700);transition:all .3s}.card:hover .card__icon{background:var(--green-700);color:var(--white);transform:scale(1.1) rotate(-3deg)}.card__icon svg,.card__icon img{width:28px;height:28px}.card__icon--teal{background:rgba(13,148,136,0.1);color:var(--teal)}.card:hover .card__icon--teal{background:var(--teal);color:var(--white)}.card__icon--gold{background:rgba(217,119,6,0.1);color:var(--amber-dark)}.card:hover .card__icon--gold{background:var(--amber-dark);color:var(--white)}.card__icon--purple{background:rgba(139,92,246,0.1);color:var(--purple-accent)}.card:hover .card__icon--purple{background:var(--purple-accent);color:var(--white)}.card__title{font-family:'Poppins',sans-serif;font-size:1.125rem;font-weight:600;color:var(--text-heading);margin-bottom:8px}.card__desc{font-size:.9375rem;color:var(--text-secondary);line-height:1.6}a.card{text-decoration:none;color:inherit;display:block}a.card:hover{color:inherit}
.eyebrow{display:block;font-family:'DM Sans',sans-serif;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;margin-bottom:8px}.eyebrow--green{color:var(--green-700)}.eyebrow--teal{color:var(--teal)}.eyebrow--gold{color:var(--amber-dark)}
.trust-bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.stat{text-align:center;padding:10px}.stat__number{font-family:'Poppins',sans-serif;font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.2;background:linear-gradient(135deg,var(--green-700),var(--teal));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat__label{font-size:.875rem;font-weight:500;color:var(--text-muted)}
.step{text-align:center;padding:20px 12px}.step__num{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--green-600),var(--green-900));color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-weight:700;font-size:1.125rem;margin:0 auto 16px;box-shadow:0 4px 16px rgba(5,150,105,0.3);transition:transform .3s,box-shadow .3s}.step:hover .step__num{transform:scale(1.12);box-shadow:var(--shadow-green-lg)}.step__title{font-family:'Poppins',sans-serif;font-size:1.25rem;font-weight:600;color:var(--text-heading);margin-bottom:8px}.step__desc{font-size:.9375rem;color:var(--text-secondary);line-height:1.6}
.pricing-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;transition:all .35s}.pricing-card:hover{transform:translateY(-8px);box-shadow:0 16px 48px rgba(0,0,0,0.12)}.pricing-card--featured{border:2px solid var(--amber);position:relative}.pricing-card--featured::before{content:"Most Popular";position:absolute;top:16px;right:-32px;background:linear-gradient(135deg,var(--amber),var(--amber-dark));color:#fff;font-size:.75rem;font-weight:700;padding:4px 40px;transform:rotate(45deg);z-index:1;box-shadow:0 2px 8px rgba(217,119,6,0.3)}.pricing-header{padding:32px 32px 24px;text-align:center}.pricing-header--standard{background:linear-gradient(135deg,#ECFDF5,#D1FAE5)}.pricing-header--vip{background:linear-gradient(135deg,#FFFBEB,#FEF3C7)}.pricing-name{font-family:'Poppins',sans-serif;font-size:1.375rem;font-weight:700;color:var(--text-heading)}.pricing-subtitle{font-size:.875rem;color:var(--text-muted);margin-top:4px}.pricing-amount{margin-top:16px}.pricing-currency{font-size:1.5rem;font-weight:600;vertical-align:super;color:var(--text-secondary)}.pricing-number{font-family:'Poppins',sans-serif;font-size:3.25rem;font-weight:700}.pricing-number--green{color:var(--green-700)}.pricing-number--gold{color:var(--amber-dark)}.pricing-period{font-size:1rem;color:var(--text-muted);margin-left:4px}.pricing-features{padding:24px 32px;flex-grow:1}.pricing-features li{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:.9375rem;color:var(--text-body)}.pricing-features li svg{width:18px;height:18px;flex-shrink:0;margin-top:3px}.pricing-features li svg.check-green{color:var(--green-600)}.pricing-features li svg.check-gold{color:var(--amber-dark)}.pricing-footer{padding:20px 32px 32px}.pricing-footer .btn{width:100%;justify-content:center}
.testimonial{padding:28px 24px}.testimonial__stars{color:var(--amber);font-size:1.25rem;margin-bottom:12px;letter-spacing:2px}.testimonial__quote{font-size:1rem;font-style:italic;color:var(--text-body);line-height:1.7;margin-bottom:16px}.testimonial__name{font-family:'Poppins',sans-serif;font-weight:600;color:var(--text-heading);font-size:.9375rem}.testimonial__role{font-size:.8125rem;color:var(--text-muted)}
.faq-list{max-width:800px;margin:0 auto}.faq-item{border-bottom:1px solid var(--border)}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:20px 0;background:none;border:none;text-align:left;font-family:'Poppins',sans-serif;font-size:1rem;font-weight:600;color:var(--text-heading);cursor:pointer;transition:color .25s}.faq-question:hover{color:var(--green-700)}.faq-question svg{width:20px;height:20px;flex-shrink:0;color:var(--green-600);transition:transform .3s}.faq-question[aria-expanded="true"] svg{transform:rotate(45deg)}.faq-answer{overflow:hidden;max-height:0;transition:max-height .35s cubic-bezier(0.4,0,0.2,1)}.faq-answer__inner{padding:0 0 20px;font-size:.9375rem;color:var(--text-secondary);line-height:1.7}
.compare-table{width:100%;border-collapse:collapse;font-size:.9375rem}.compare-table th,.compare-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border)}.compare-table thead th{background:var(--green-900);color:#fff;font-family:'Poppins',sans-serif;font-weight:600;font-size:.875rem}.compare-table thead th.highlight{background:var(--green-700)}.compare-table tbody tr:nth-child(even){background:var(--bg-green-tint)}.compare-table td.highlight{background:rgba(5,150,105,0.04);font-weight:500}.compare-table tbody tr{transition:background .2s}.compare-table tbody tr:hover{background:var(--green-100)}@media(max-width:768px){.compare-table{display:block;overflow-x:auto;white-space:nowrap}}
.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;font-size:.9375rem;color:var(--text-heading);margin-bottom:6px}.form-group label .required{color:var(--amber-dark)}.form-input,.form-textarea,.form-select{width:100%;padding:14px 16px;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;color:var(--text-body);background:var(--white);transition:all .25s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--green-500);outline:none;box-shadow:0 0 0 4px rgba(16,185,129,0.15)}.form-textarea{min-height:140px;resize:vertical}.form-checkbox{display:flex;align-items:flex-start;gap:10px}.form-checkbox input{width:18px;height:18px;margin-top:3px;accent-color:var(--green-700)}.form-checkbox label{font-size:.875rem;font-weight:400;color:var(--text-secondary)}.form-status{padding:12px 16px;border-radius:var(--radius-sm);font-weight:500;display:none}.form-status--success{display:block;background:var(--green-50);color:var(--green-800);border:1px solid var(--green-200)}.form-status--error{display:block;background:#FEF2F2;color:#B91C1C;border:1px solid #FECACA}
.hero{padding:100px 0 80px;text-align:center;position:relative;overflow:hidden}.hero--tall{padding:120px 0 100px}.hero::before{content:'';position:absolute;top:-80px;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(16,185,129,0.12) 0%,transparent 70%);pointer-events:none;z-index:0}.hero::after{content:'';position:absolute;bottom:-60px;left:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(13,148,136,0.08) 0%,transparent 70%);pointer-events:none;z-index:0}.hero>*{position:relative;z-index:1}.hero__badge{display:inline-block;padding:8px 24px;background:var(--green-50);border:1px solid var(--green-200);border-radius:50px;font-size:.875rem;font-weight:600;color:var(--green-800);margin-bottom:16px}.hero__subtitle{font-size:clamp(1rem,2vw,1.1875rem);color:var(--text-secondary);max-width:640px;margin:0 auto 24px}.hero .btn-group{justify-content:center}.hero__micro{font-size:.8125rem;color:var(--text-light);margin-top:16px}@media(max-width:640px){.hero{padding:60px 0}.hero--tall{padding:60px 0}}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.portfolio-item{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:all .35s;position:relative}.portfolio-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.portfolio-item::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(6,78,59,0.7));opacity:0;transition:opacity .3s;pointer-events:none}.portfolio-item:hover::after{opacity:1}.portfolio-item img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .5s}.portfolio-item:hover img{transform:scale(1.05)}.portfolio-item__meta{padding:14px;background:var(--white)}.portfolio-item__meta p{font-size:.875rem;color:var(--text-muted);margin:0}@media(max-width:768px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.portfolio-grid{grid-template-columns:1fr}}
.legal-content{max-width:800px;margin:0 auto}.legal-content h2{margin-top:2em;padding-top:1.5em;border-top:1px solid var(--border);font-size:1.375rem}.legal-content h2:first-of-type{margin-top:1em;padding-top:0;border-top:none}.legal-content h3{margin-top:1.5em;font-size:1.125rem;color:var(--green-700)}.legal-content p{color:var(--text-secondary)}.legal-content strong{color:var(--text-body)}.legal-content ul{padding-left:1.5em;margin:1em 0}.legal-content ul li{color:var(--text-secondary);padding:.25em 0;list-style:disc}.legal-content a{color:var(--green-700);text-decoration:underline}.legal-date{font-size:.875rem;color:var(--text-muted);margin-bottom:2em}
.site-footer{background:var(--green-900);position:relative;overflow:hidden}.site-footer::before{content:'';position:absolute;top:-100px;right:-50px;width:300px;height:300px;background:radial-gradient(circle,rgba(16,185,129,0.08),transparent);pointer-events:none}.footer-main{padding:60px 0 40px;position:relative;z-index:1}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:30px}}@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}.footer-heading{font-family:'Poppins',sans-serif;font-size:1rem;font-weight:600;color:var(--on-dark);margin-bottom:16px}.footer-desc{font-size:.875rem;color:var(--on-dark-muted);line-height:1.6;margin-bottom:16px}.footer-links a{display:block;padding:4px 0;font-size:.875rem;color:var(--on-dark-muted);text-decoration:none;transition:all .25s}.footer-links a:hover{color:var(--on-dark);padding-left:4px}.footer-social{display:flex;gap:12px;margin-top:8px}.footer-social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.08);color:var(--on-dark-body);transition:all .3s;text-decoration:none}.footer-social a:hover{background:var(--green-600);color:#fff;transform:scale(1.1)}.footer-social a svg{width:16px;height:16px}.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding:16px 0;text-align:center;background:#032A22}.footer-bottom p{font-size:.8125rem;color:var(--on-dark-muted);margin:0}
.service-hero{padding:80px 0 60px}.service-hero .eyebrow{margin-bottom:12px}.included-banner{background:linear-gradient(135deg,var(--green-50),var(--bg-light));border:1px solid var(--green-200);border-radius:var(--radius-lg);padding:40px;text-align:center;position:relative;overflow:hidden}.included-banner::before{content:'';position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle,rgba(5,150,105,0.1),transparent);pointer-events:none}.included-banner h3{color:var(--text-heading);margin-bottom:8px;position:relative}.included-banner p{color:var(--text-secondary);max-width:500px;margin:0 auto 20px;position:relative}
.pill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.pill{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--green-50);border:1px solid var(--green-100);border-radius:var(--radius-sm);font-size:.9375rem;color:var(--text-body);transition:all .25s}.pill:hover{background:var(--green-100);transform:translateX(4px)}.pill svg{width:18px;height:18px;color:var(--green-600);flex-shrink:0}
.error-code{font-family:'Poppins',sans-serif;font-size:clamp(6rem,15vw,10rem);font-weight:700;background:linear-gradient(135deg,var(--green-200),var(--green-100));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid var(--border);box-shadow:0 -4px 24px rgba(0,0,0,0.1);z-index:9990;padding:20px 0;transform:translateY(100%);transition:transform .4s cubic-bezier(0.4,0,0.2,1);display:none}.cookie-banner.visible{display:block;transform:translateY(0)}.cookie-banner__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.cookie-banner__text{flex:1;min-width:280px;font-size:.9375rem;color:var(--text-secondary);line-height:1.5}.cookie-banner__text a{color:var(--green-700);text-decoration:underline}.cookie-banner__actions{display:flex;gap:12px;flex-shrink:0}.cookie-banner__actions .btn{padding:10px 24px;font-size:.875rem}@media(max-width:640px){.cookie-banner__inner{flex-direction:column;text-align:center}.cookie-banner__actions{width:100%;justify-content:center}}
.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.pt-0{padding-top:0}.pb-0{padding-bottom:0}
@media print{.site-header,.site-footer,.mobile-menu,.mobile-overlay,.skip-link,.btn,.cookie-banner,#aw-widget-root{display:none!important}body{font-size:12pt;color:#000}a{color:#000;text-decoration:underline}}

/* ═══ WCAG 2.1 AA Enhancements ═══ */
/* Ensure all interactive elements have visible focus indicators */
.btn:focus-visible,.pricing-footer .btn:focus-visible,.nav-desktop a:focus-visible,.mobile-nav a:focus-visible,.footer-links a:focus-visible,.footer-social a:focus-visible{outline:3px solid #10B981;outline-offset:3px;border-radius:4px}
/* Ensure sufficient touch target size (44x44 minimum) */
.nav-desktop a,.mobile-nav a,.footer-links a{min-height:44px;display:inline-flex;align-items:center}
.footer-social a{min-width:44px;min-height:44px}
/* Focus within for card interactions */
.card:focus-within{outline:2px solid var(--green-500);outline-offset:2px;border-radius:var(--radius)}
/* High contrast mode support */
@media(forced-colors:active){.btn,.pricing-card,.card{border:2px solid ButtonText}.skip-link:focus{outline:3px solid Highlight}}
/* Ensure text spacing override support (WCAG 1.4.12) */
body{line-height:1.7;letter-spacing:normal;word-spacing:normal}
p{margin-bottom:1em}
