:root{
  --color-bg:#FAF8F3;
  --color-surface:#FFFFFF;
  --color-surface-alt:#F1EFE7;
  --color-primary:#0E6B5C;
  --color-primary-dark:#0A4F44;
  --color-primary-light:#E3F1EC;
  --color-accent:#FF7A59;
  --color-accent-dark:#E4633F;
  --color-ink:#1C2620;
  --color-muted:#5F6B65;
  --color-border:#E3E0D8;
  --shadow-sm:0 1px 2px rgba(28,38,32,.06), 0 1px 1px rgba(28,38,32,.04);
  --shadow-md:0 6px 16px rgba(28,38,32,.08), 0 2px 6px rgba(28,38,32,.06);
  --shadow-lg:0 20px 40px rgba(14,107,92,.14), 0 8px 16px rgba(28,38,32,.08);
  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:28px;
  --radius-full:999px;
  --font-heading:'Urbanist', sans-serif;
  --font-body:'DM Sans', sans-serif;
  --space-section: clamp(3.5rem, 6vw, 7rem);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--color-ink);
  background:var(--color-bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.15;margin:0 0 .5em;color:var(--color-primary-dark);}
p{margin:0 0 1em;color:var(--color-ink);}
ul{margin:0;padding:0;list-style:none;}
button{font-family:var(--font-body);cursor:pointer;}
section{padding:var(--space-section) 1.5rem;}


.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.9rem 1.7rem;border-radius:var(--radius-full);
  font-family:var(--font-heading);font-weight:700;font-size:.95rem;
  border:2px solid transparent;transition:transform .3s ease, box-shadow .3s ease, background .3s ease, color .3s ease, border-color .3s ease;
  white-space:nowrap; min-height:48px;
}
.btn:active{transform:scale(.96);}
.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-md);}
.btn-primary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-lg);transform:translateY(-3px);}
.btn-accent{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-md);}
.btn-accent:hover{background:var(--color-accent-dark);box-shadow:var(--shadow-lg);transform:translateY(-3px);}
.btn-ghost{background:transparent;color:var(--color-primary-dark);border-color:var(--color-border);}
.btn-ghost:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light);}


.textHighlight{
  background-image:linear-gradient(var(--color-primary-light), var(--color-primary-light));
  background-repeat:no-repeat;
  background-size:0% 100%;
  background-position:0 0;
  transition:background-size .8s ease-out;
  padding:.05em .2em;
  border-radius:6px;
  box-decoration-break:clone;
  font-weight:600;
  color:var(--color-primary-dark);
}
.textHighlight.isInView{background-size:100% 100%;}


.siteHeader{
  position:sticky;top:0;z-index:100;
  background:rgba(250,248,243,.85);
  backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
  transition:padding .35s ease, background .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.siteHeader_inner{
  max-width:1240px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.6rem 1.5rem;
  transition:padding .35s ease;
}
.siteHeader.isScrolled{background:rgba(250,248,243,.97);box-shadow:var(--shadow-md);border-color:var(--color-border);}
.siteHeader.isScrolled .siteHeader_inner{padding:.85rem 1.5rem;}
.siteHeader_logo{display:flex;align-items:center;gap:.6rem;}
.siteHeader_logoImg{height:42px;width:42px;transition:height .35s ease, width .35s ease;}
.siteHeader.isScrolled .siteHeader_logoImg{height:32px;width:32px;}
.siteHeader_logoText{font-family:var(--font-heading);font-weight:800;font-size:1.25rem;color:var(--color-primary-dark);transition:font-size .35s ease;}
.siteHeader.isScrolled .siteHeader_logoText{font-size:1.05rem;}
.siteHeader_nav{display:flex;gap:2rem;}
.siteHeader_navLink{position:relative;font-weight:500;font-size:.98rem;color:var(--color-ink);padding:.3rem 0;transition:color .3s ease;}
.siteHeader_navLink::after{content:'';position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--color-accent);transition:width .3s ease;}
.siteHeader_navLink:hover{color:var(--color-primary);}
.siteHeader_navLink:hover::after,.siteHeader_navLink[aria-current="page"]::after{width:100%;}
.siteHeader_navLink[aria-current="page"]{color:var(--color-primary-dark);font-weight:700;}
.siteHeader_actions{display:flex;align-items:center;gap:1rem;}
.siteHeader_ctaBtn{
  background:var(--color-primary);color:#fff;padding:.7rem 1.4rem;border-radius:var(--radius-full);
  font-weight:700;font-size:.9rem;box-shadow:var(--shadow-sm);
  transition:background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.siteHeader_ctaBtn:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-2px);}
.siteHeader_burger{
  display:none;background:none;border:none;width:44px;height:44px;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:var(--radius-sm);
  transition:background .3s ease;
}
.siteHeader_burger span{display:block;width:22px;height:2px;background:var(--color-primary-dark);border-radius:2px;transition:transform .3s ease, opacity .3s ease;}
.siteHeader_burger:hover{background:var(--color-primary-light);}


.mobileMenu{
  position:fixed;inset:0;z-index:200;
  background:linear-gradient(155deg, var(--color-primary-dark), var(--color-primary) 60%, #0B5145);
  display:flex;flex-direction:column;
  padding:1.5rem;
  opacity:0;visibility:hidden;transform:translateY(-12px);
  transition:opacity .4s ease, visibility .4s ease, transform .4s ease;
}
.mobileMenu.isOpen{opacity:1;visibility:visible;transform:translateY(0);}
.mobileMenu_top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem;}
.mobileMenu_logo{font-family:var(--font-heading);font-weight:800;font-size:1.3rem;color:#fff;}
.mobileMenu_close{
  width:46px;height:46px;border-radius:var(--radius-full);background:rgba(255,255,255,.12);
  border:none;color:#fff;font-size:1.2rem;display:flex;align-items:center;justify-content:center;
  transition:background .3s ease, transform .3s ease;
}
.mobileMenu_close:hover{background:rgba(255,255,255,.25);transform:rotate(90deg);}
.mobileMenu_grid{
  flex:1;display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-content:center;
}
.mobileMenu_item{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;
  background:rgba(255,255,255,.08);border-radius:var(--radius-md);
  padding:2rem 1rem;color:#fff;text-align:center;
  transition:background .3s ease, transform .3s ease;
  min-height:120px;
}
.mobileMenu_item i{font-size:1.6rem;}
.mobileMenu_label{font-weight:700;font-family:var(--font-heading);font-size:.95rem;}
.mobileMenu_item:hover{background:rgba(255,255,255,.2);transform:translateY(-4px);}


.mainHero{padding-top:clamp(2rem,5vw,4rem);padding-bottom:0;}
.mainHero_inner{
  max-width:1240px;margin:0 auto;
  display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;
}
.mainHero_eyebrow{
  display:inline-block;background:var(--color-primary-light);color:var(--color-primary-dark);
  font-weight:700;font-size:.85rem;padding:.4rem 1rem;border-radius:var(--radius-full);margin-bottom:1.2rem;
}
.mainHero_title{font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:-.01em;}
.mainHero_desc{font-size:1.1rem;color:var(--color-muted);max-width:52ch;}
.mainHero_actions{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap;}
.mainHero_card{
  background:var(--color-surface);border-radius:var(--radius-lg);padding:2.2rem;
  box-shadow:var(--shadow-lg);border:1px solid var(--color-border);
  transition:transform .4s ease, box-shadow .4s ease;
}
.mainHero_card:hover{transform:translateY(-6px);box-shadow:0 30px 55px rgba(14,107,92,.2), 0 10px 20px rgba(28,38,32,.1);}
.mainHero_cardTag{display:inline-block;background:var(--color-accent);color:#fff;font-size:.75rem;font-weight:700;padding:.3rem .8rem;border-radius:var(--radius-full);margin-bottom:.8rem;}
.mainHero_cardHeader h3{margin-bottom:.3rem;font-size:1.4rem;}
.mainHero_cardPrice{color:var(--color-primary);font-weight:700;font-size:1.2rem;font-family:var(--font-heading);}
.mainHero_cardList{margin:1.5rem 0;display:flex;flex-direction:column;gap:.9rem;}
.mainHero_cardItem{display:flex;align-items:flex-start;gap:.7rem;font-size:.95rem;}
.mainHero_cardItem i{color:var(--color-primary);margin-top:.2rem;}
.mainHero_cardFoot{
  display:flex;align-items:center;justify-content:center;gap:.6rem;
  background:var(--color-primary-light);color:var(--color-primary-dark);font-weight:700;
  padding:.9rem;border-radius:var(--radius-full);transition:background .3s ease, gap .3s ease;
}
.mainHero_cardFoot:hover{background:var(--color-primary);color:#fff;gap:.9rem;}
.mainHero_card:has(.mainHero_cardPrice){border-top:4px solid var(--color-accent);}


.sectionHead{max-width:720px;margin:0 auto 3rem;text-align:center;}
.sectionHead_eyebrow{display:inline-block;color:var(--color-accent-dark);font-weight:700;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.6rem;}
.sectionHead_title{font-size:clamp(1.7rem,3.5vw,2.6rem);}
.sectionHead_desc{color:var(--color-muted);font-size:1.05rem;}


.introSection_inner{
  max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;
}
.introSection-reverse .introSection_inner{direction:rtl;}
.introSection-reverse .introSection_inner > *{direction:ltr;}
.introSection_media img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .5s ease;}
.introSection_media:hover img{transform:scale(1.02);}
.introSection:nth-of-type(even){background:var(--color-surface-alt);}
.introSection:has(.highlighted){background:linear-gradient(120deg, var(--color-primary-light), var(--color-surface));}


.featureGrid_grid{
  max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;
  grid-template-areas:"hero hero small1" "hero hero small2" "hero hero small3";
}
.featureGrid_hero{grid-area:hero;background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);display:flex;flex-direction:column;transition:transform .4s ease, box-shadow .4s ease;border:1px solid var(--color-border);}
.featureGrid_hero:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);}
.featureGrid_hero img{height:260px;width:100%;object-fit:cover;}
.featureGrid_heroBody{padding:2rem;flex:1;display:flex;flex-direction:column;}
.featureGrid_tag{color:var(--color-accent-dark);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem;}
.featureGrid_link{margin-top:auto;color:var(--color-primary);font-weight:700;display:inline-flex;align-items:center;gap:.5rem;transition:gap .3s ease;}
.featureGrid_link:hover{gap:.9rem;}
.serviceCard{
  background:var(--color-surface);border-radius:var(--radius-md);padding:2rem;box-shadow:var(--shadow-sm);
  border:1px solid var(--color-border);transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.serviceCard:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow-lg);border-color:var(--color-primary);}
.serviceCard_icon{
  width:56px;height:56px;border-radius:var(--radius-sm);background:var(--color-primary-light);color:var(--color-primary);
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.2rem;transition:background .3s ease, color .3s ease;
}
.serviceCard:hover .serviceCard_icon{background:var(--color-primary);color:#fff;}
.serviceCard:has(img){padding:0;overflow:hidden;}
.serviceCard:has(img) .serviceCard_body{padding:1.8rem;}
.serviceCard:has(img) img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.serviceCard_list{margin-top:1.2rem;display:flex;flex-direction:column;gap:.5rem;}
.serviceCard_list li{display:flex;gap:.5rem;font-size:.92rem;}
.serviceCard_list i{color:var(--color-primary);}


.tabSection_wrap{max-width:1000px;margin:0 auto;}
.tabSection_nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-bottom:2rem;}
.tabSection_tab{
  background:var(--color-surface);border:1px solid var(--color-border);padding:.8rem 1.5rem;border-radius:var(--radius-full);
  font-weight:700;font-family:var(--font-heading);font-size:.92rem;color:var(--color-muted);
  transition:background .3s ease, color .3s ease, border-color .3s ease, transform .3s ease;
}
.tabSection_tab:hover{transform:translateY(-2px);color:var(--color-primary);}
.tabSection_tab.isActive{background:var(--color-primary);color:#fff;border-color:var(--color-primary);}
.tabSection_panels{position:relative;background:var(--color-surface);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-md);border:1px solid var(--color-border);}
.tabSection_panel{display:none;animation:fadeInPanel .5s ease;}
.tabSection_panel.isActive{display:block;}
.tabSection_panel ul{margin-top:1rem;display:flex;flex-direction:column;gap:.6rem;}
.tabSection_panel li{display:flex;gap:.6rem;}
.tabSection_panel i{color:var(--color-primary);margin-top:.2rem;}
@keyframes fadeInPanel{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}


.workflow{max-width:1200px;margin:0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;flex-wrap:wrap;}
.workflow_step{
  flex:1;min-width:150px;text-align:center;background:var(--color-surface);border-radius:var(--radius-md);
  padding:1.8rem 1.2rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);
  transition:transform .35s ease, box-shadow .35s ease;
}
.workflow_step:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.workflow_stepNum{
  width:44px;height:44px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:800;
  margin:0 auto 1rem;
}
.workflow_stepTitle{font-size:1.05rem;margin-bottom:.4rem;}
.workflow_stepDesc{font-size:.9rem;color:var(--color-muted);}
.workflow_connector{width:36px;height:2px;background:var(--color-border);margin-top:2.6rem;flex-shrink:0;}


.faqSection_list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:1rem;}
.faqItem{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .3s ease, border-color .3s ease;}
.faqItem:has(.faqItem_question[aria-expanded="true"]){box-shadow:var(--shadow-md);border-color:var(--color-primary);}
.faqItem_question{
  width:100%;text-align:left;background:none;border:none;padding:1.3rem 1.6rem;font-family:var(--font-heading);
  font-weight:700;font-size:1.02rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;color:var(--color-ink);
}
.faqItem_icon{transition:transform .35s ease;color:var(--color-primary);flex-shrink:0;}
.faqItem_question[aria-expanded="true"] .faqItem_icon{transform:rotate(180deg);}
.faqItem_answer{max-height:0;overflow:hidden;transition:max-height .4s ease, padding .4s ease;padding:0 1.6rem;}
.faqItem_answer p{color:var(--color-muted);}
.faqItem_question[aria-expanded="true"] + .faqItem_answer{max-height:260px;padding:0 1.6rem 1.4rem;}


.ctaBanner{background:linear-gradient(120deg, var(--color-primary-dark), var(--color-primary));color:#fff;text-align:center;}
.ctaBanner_inner{max-width:700px;margin:0 auto;}
.ctaBanner_inner h2{color:#fff;font-size:clamp(1.6rem,3.5vw,2.4rem);}
.ctaBanner_inner p{color:rgba(255,255,255,.85);margin-bottom:1.8rem;}


.pageHero{background:var(--color-primary-light);padding-top:clamp(3.5rem,7vw,6rem);}
.pageHero_inner{max-width:820px;margin:0 auto;text-align:center;}
.pageHero_eyebrow{display:inline-block;color:var(--color-accent-dark);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.8rem;}
.pageHero_title{font-size:clamp(2rem,4.5vw,3rem);}
.pageHero_desc{color:var(--color-muted);font-size:1.05rem;}


.methodSection_grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.methodSection_item{background:var(--color-surface);border-radius:var(--radius-md);padding:1.8rem;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform .35s ease, box-shadow .35s ease;}
.methodSection_item:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.methodSection_num{font-family:var(--font-heading);font-weight:800;font-size:1.6rem;color:var(--color-primary);opacity:.5;}


.valuesSection_grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.valuesSection_item{text-align:center;background:var(--color-surface);border-radius:var(--radius-md);padding:2rem 1.4rem;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform .35s ease, box-shadow .35s ease;}
.valuesSection_item:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.valuesSection_item i{font-size:1.8rem;color:var(--color-primary);margin-bottom:1rem;}


.topicsSection_grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.topicsSection_item{background:var(--color-surface);border-radius:var(--radius-md);padding:1.8rem;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform .35s ease, box-shadow .35s ease;}
.topicsSection_item:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.topicsSection_item i{font-size:1.5rem;color:var(--color-primary);margin-bottom:.9rem;}


.servicesDetail_grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:1.8rem;}
.pricingNote{padding-top:0;}
.pricingNote_inner{max-width:820px;margin:0 auto;background:var(--color-surface-alt);border-radius:var(--radius-md);padding:1.6rem 2rem;display:flex;gap:1rem;align-items:flex-start;border:1px solid var(--color-border);}
.pricingNote_inner i{color:var(--color-primary);font-size:1.3rem;margin-top:.2rem;}
.pricingNote_inner p{margin:0;color:var(--color-muted);}


.contactSection_grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;}
.contactSection_list{display:flex;flex-direction:column;gap:1.4rem;margin:1.5rem 0 2rem;}
.contactSection_list li{display:flex;gap:1rem;align-items:flex-start;}
.contactSection_list i{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.contactSection_list strong{display:block;font-family:var(--font-heading);}
.contactSection_quote{
  background:var(--color-primary-dark);color:#fff;border-radius:var(--radius-md);padding:1.8rem;margin-bottom:1.8rem;position:relative;
}
.contactSection_quote p{margin:0;font-style:italic;font-size:1.05rem;color:#fff;}
.contactSection_media img{border-radius:var(--radius-md);box-shadow:var(--shadow-md);aspect-ratio:16/10;object-fit:cover;}
.contactForm{background:var(--color-surface);border-radius:var(--radius-lg);padding:2.2rem;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);}
.contactForm_group{margin-bottom:1.3rem;padding:.2rem;border-radius:var(--radius-sm);transition:box-shadow .3s ease;}
.contactForm_group label{display:block;font-weight:700;font-size:.9rem;margin-bottom:.5rem;font-family:var(--font-heading);}
.contactForm_group input, .contactForm_group select, .contactForm_group textarea{
  width:100%;padding:.85rem 1rem;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);
  font-family:var(--font-body);font-size:.98rem;background:var(--color-bg);color:var(--color-ink);
  transition:border-color .3s ease, box-shadow .3s ease;
}
.contactForm_group input:focus, .contactForm_group select:focus, .contactForm_group textarea:focus{
  outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-light);
}
.contactForm:has(:focus){box-shadow:var(--shadow-lg), 0 0 0 3px var(--color-primary-light);}
.contactForm_checkbox{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:1.6rem;font-size:.9rem;}
.contactForm_checkbox input{width:20px;height:20px;flex-shrink:0;margin-top:.15rem;accent-color:var(--color-primary);}
.contactForm_submit{width:100%;}
.mapSection{padding-top:0;}
.mapSection iframe{max-width:1200px;margin:0 auto;display:block;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;}


.thanksMain{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:4rem 1.5rem;background:radial-gradient(circle at top right, var(--color-primary-light), var(--color-bg) 60%);}
.thanksCard{
  background:var(--color-surface);border-radius:var(--radius-lg);padding:3rem 2.5rem;text-align:center;max-width:520px;
  box-shadow:var(--shadow-lg);border:1px solid var(--color-border);
}
.thanksCard_icon{font-size:3rem;color:var(--color-primary);margin-bottom:1rem;}
.thanksCard a.btn{margin-top:1.5rem;}


.legalSection_inner{max-width:800px;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-lg);padding:clamp(2rem,4vw,3.5rem);box-shadow:var(--shadow-md);border:1px solid var(--color-border);}
.legalSection_updated{color:var(--color-muted);font-size:.9rem;margin-bottom:2rem;}
.legalSection_inner h2{margin-top:2.2rem;font-size:1.35rem;}
.legalSection_inner p{color:var(--color-ink);}
.legalSection_inner a{color:var(--color-primary);text-decoration:underline;}


.pageFooter{background:var(--color-primary-dark);color:rgba(255,255,255,.85);}
.pageFooter_stats{background:rgba(0,0,0,.15);}
.pageFooter_statsInner{max-width:1240px;margin:0 auto;padding:1rem 1.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.pageFooter_statItem{display:flex;align-items:center;gap:.7rem;font-size:.85rem;color:#fff;}
.pageFooter_statItem i{color:var(--color-accent);font-size:1.1rem;flex-shrink:0;}
.pageFooter_main{max-width:1240px;margin:0 auto;padding:3.5rem 1.5rem 2rem;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.5rem;}
.pageFooter_logo{font-family:var(--font-heading);font-weight:800;font-size:1.3rem;color:#fff;display:block;margin-bottom:.8rem;}
.pageFooter_colTitle{color:#fff;font-size:1rem;margin-bottom:1rem;}
.pageFooter_links{display:flex;flex-direction:column;gap:.7rem;font-size:.92rem;}
.pageFooter_links a{transition:color .3s ease, padding-left .3s ease;}
.pageFooter_links a:hover{color:#fff;padding-left:4px;}
.pageFooter_links i{margin-right:.5rem;color:var(--color-accent);}
.pageFooter_bottom{border-top:1px solid rgba(255,255,255,.12);text-align:center;padding:1.4rem 1.5rem;font-size:.85rem;}


.cookieLink{
  position:fixed;bottom:1.2rem;left:1.2rem;z-index:150;
  background:var(--color-surface);color:var(--color-ink);font-size:.8rem;font-weight:600;
  padding:.55rem 1rem;border-radius:var(--radius-full);box-shadow:var(--shadow-md);border:1px solid var(--color-border);
  display:flex;align-items:center;gap:.5rem;transition:transform .3s ease, box-shadow .3s ease;
}
.cookieLink i{color:var(--color-accent);}
.cookieLink:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.cookieLink.isPulsing{animation:cookiePulse 1.8s ease-in-out 3;}
@keyframes cookiePulse{
  0%,100%{box-shadow:var(--shadow-md);}
  50%{box-shadow:0 0 0 8px rgba(255,122,89,.25), var(--shadow-md);}
}
.cookieModal{
  position:fixed;inset:0;z-index:250;background:rgba(28,38,32,.55);
  display:flex;align-items:center;justify-content:center;padding:1.5rem;
  opacity:0;visibility:hidden;transition:opacity .35s ease, visibility .35s ease;
}
.cookieModal.isOpen{opacity:1;visibility:visible;}
.cookieModal_panel{
  background:var(--color-surface);border-radius:var(--radius-lg);padding:2.2rem;max-width:520px;width:100%;
  max-height:85vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-lg);
  transform:translateY(20px) scale(.97);transition:transform .35s ease;
}
.cookieModal.isOpen .cookieModal_panel{transform:translateY(0) scale(1);}
.cookieModal_close{position:absolute;top:1.2rem;right:1.2rem;width:36px;height:36px;border-radius:var(--radius-full);border:none;background:var(--color-surface-alt);transition:background .3s ease, transform .3s ease;}
.cookieModal_close:hover{background:var(--color-primary-light);transform:rotate(90deg);}
.cookieModal_option{border-top:1px solid var(--color-border);padding:1rem 0;}
.cookieModal_optionHead{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-family:var(--font-heading);}
.cookieModal_optionHead input{width:20px;height:20px;accent-color:var(--color-primary);}
.cookieModal_option p{font-size:.85rem;color:var(--color-muted);margin:.4rem 0 0;}
.cookieModal_actions{display:flex;gap:.7rem;margin-top:1.5rem;flex-wrap:wrap;}
.cookieModal_actions .btn{flex:1;min-width:120px;padding:.8rem 1rem;font-size:.85rem;}


@media (max-width:1024px){
  .featureGrid_grid{grid-template-columns:repeat(2,1fr);grid-template-areas:"hero hero" "small1 small2" "small3 small3";}
  .methodSection_grid,.valuesSection_grid,.topicsSection_grid{grid-template-columns:repeat(2,1fr);}
  .contactSection_grid{grid-template-columns:1fr;}
  .pageFooter_main{grid-template-columns:1fr 1fr;}
}
@media (max-width:900px){
  .mainHero_inner{grid-template-columns:1fr;}
  .introSection_inner{grid-template-columns:1fr;}
  .introSection-reverse .introSection_inner{direction:ltr;}
  .servicesDetail_grid{grid-template-columns:1fr;}
  .siteHeader_nav{display:none;}
  .siteHeader_ctaBtn{display:none;}
  .siteHeader_burger{display:flex;}
  .workflow{flex-direction:column;align-items:stretch;}
  .workflow_connector{width:2px;height:24px;margin:0 auto;}
  .pageFooter_statsInner{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  section{padding:2.6rem 1.2rem;}
  .methodSection_grid,.valuesSection_grid,.topicsSection_grid{grid-template-columns:1fr;}
  .pageFooter_main{grid-template-columns:1fr;text-align:left;}
  .pageFooter_statsInner{grid-template-columns:1fr;}
  .mainHero_actions{flex-direction:column;align-items:stretch;}
  .mobileMenu_grid{grid-template-columns:1fr 1fr;}
  .cookieModal_actions{flex-direction:column;}
}