:root{
  --clr-bg: #F7F1E6;
  --clr-bg-alt: #EFE6D3;
  --clr-surface: #FBF7EE;
  --clr-primary: #3F6D5D;
  --clr-primary-dark: #2C4F42;
  --clr-primary-light: #DCEAE1;
  --clr-secondary: #D97D54;
  --clr-secondary-dark: #B85F3A;
  --clr-secondary-light: #F6DCC7;
  --clr-accent: #E3A83B;
  --clr-accent-light: #F8E7C1;
  --clr-lavender: #E1DAEA;
  --clr-text: #2B2620;
  --clr-text-soft: #5C5546;
  --clr-text-inverse: #FBF7EE;
  --shadow-c: 43,32,20;
  --shadow-sm: 5px 5px 12px rgba(var(--shadow-c),0.12), -4px -4px 10px rgba(255,255,255,0.65);
  --shadow-md: 10px 10px 24px rgba(var(--shadow-c),0.14), -8px -8px 18px rgba(255,255,255,0.7);
  --shadow-lg: 16px 16px 38px rgba(var(--shadow-c),0.18), -12px -12px 26px rgba(255,255,255,0.75);
  --shadow-inset: inset 3px 3px 6px rgba(255,255,255,0.55), inset -3px -3px 8px rgba(var(--shadow-c),0.08);
  --radius-sm: 14px;
  --radius-md: 24px;
  --radius-lg: 36px;
  --radius-xl: 48px;
  --radius-pill: 999px;
  --transition: 0.35s cubic-bezier(.22,.9,.35,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:'Commissioner', sans-serif;
  background:var(--clr-bg);
  color:var(--clr-text);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }
input,textarea{ font-family:inherit; }

h1,h2,h3,h4{ font-weight:700; margin:0; letter-spacing:-0.01em; color:var(--clr-text); }
p{ margin:0 0 1em; color:var(--clr-text-soft); }
p:last-child{ margin-bottom:0; }

.sectionTitle{ font-size:clamp(1.8rem,3.2vw,2.6rem); margin-bottom:1rem; line-height:1.2; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:0.5rem;
  padding:0.9rem 1.8rem; border-radius:var(--radius-pill); font-weight:600; font-size:0.98rem;
  transition:transform var(--transition), box-shadow var(--transition), background var(--transition);
  min-height:44px;
}
.btn-primary{
  background:var(--clr-primary);
  color:var(--clr-text-inverse);
  box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,0.2);
}
.btn-primary:hover{ transform:translateY(-3px); box-shadow: var(--shadow-lg); background:var(--clr-primary-dark); }
.btn-ghost{
  background:var(--clr-surface);
  color:var(--clr-primary-dark);
  box-shadow:var(--shadow-sm);
}
.btn-ghost:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
.btn-secondary{ background:var(--clr-secondary); color:#fff; box-shadow:var(--shadow-md); }
.btn-secondary:hover{ transform:translateY(-3px); box-shadow:var(--shadow-lg); background:var(--clr-secondary-dark); }
.btn-lg{ padding:1.1rem 2.4rem; font-size:1.05rem; }

.linkArrow{ display:inline-flex; align-items:center; gap:0.5rem; font-weight:600; color:var(--clr-primary-dark); transition:gap var(--transition); }
.linkArrow:hover{ gap:0.9rem; }

section{ padding: clamp(3rem,8vw,7rem) clamp(1.25rem,6vw,5rem); }


.siteHeader{
  position:fixed; top:0; left:0; right:0; z-index:200;
  padding:1.6rem clamp(1.25rem,5vw,3.5rem);
  transition: padding var(--transition), background var(--transition), box-shadow var(--transition);
  background: rgba(247,241,230,0.7);
  backdrop-filter: blur(10px);
}
.siteHeader.isScrolled{
  padding:0.75rem clamp(1.25rem,5vw,3.5rem);
  background: rgba(247,241,230,0.94);
  box-shadow: 0 8px 30px rgba(var(--shadow-c),0.08);
}
.siteHeader_inner{ display:flex; align-items:center; justify-content:space-between; max-width:1320px; margin:0 auto; }
.siteHeader_logo{ display:flex; align-items:center; gap:0.6rem; font-weight:800; font-size:1.3rem; transition:font-size var(--transition); }
.siteHeader_logoImg{ width:42px; height:42px; transition:width var(--transition), height var(--transition); }
.siteHeader.isScrolled .siteHeader_logoImg{ width:32px; height:32px; }
.siteHeader.isScrolled .siteHeader_logo{ font-size:1.1rem; }

.siteHeader_navList{ display:flex; gap:2.2rem; }
.siteHeader_navLink{ font-weight:500; font-size:0.98rem; color:var(--clr-text-soft); position:relative; padding:0.3rem 0; transition:color var(--transition); }
.siteHeader_navLink::after{ content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--clr-secondary); transition:width var(--transition); border-radius:2px; }
.siteHeader_navLink:hover, .siteHeader_navLink.is-active{ color:var(--clr-primary-dark); }
.siteHeader_navLink:hover::after, .siteHeader_navLink.is-active::after{ width:100%; }

.siteHeader_actions{ display:flex; align-items:center; gap:0.8rem; }
.siteHeader_searchToggle, .siteHeader_menuToggle{
  width:46px; height:46px; border-radius:var(--radius-md); background:var(--clr-surface);
  display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-sm);
  transition:box-shadow var(--transition), transform var(--transition);
}
.siteHeader_searchToggle:hover, .siteHeader_menuToggle:hover{ box-shadow:var(--shadow-md); transform:translateY(-2px); }
.siteHeader_menuToggle{ display:none; flex-direction:column; gap:5px; padding:0; }
.siteHeader_menuToggle span{ width:20px; height:2px; background:var(--clr-text); border-radius:2px; transition:var(--transition); }


.searchOverlay{
  position:fixed; inset:0; z-index:400; background:rgba(43,38,32,0.96);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.4rem;
  opacity:0; visibility:hidden; transform:translateY(-16px);
  transition: opacity var(--transition), visibility var(--transition), transform var(--transition);
  padding:2rem;
}
.searchOverlay.isOpen{ opacity:1; visibility:visible; transform:translateY(0); }
.searchOverlay_close{ position:absolute; top:2rem; right:2rem; color:#fff; font-size:1.4rem; width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.08); transition:background var(--transition), transform var(--transition); }
.searchOverlay_close:hover{ background:rgba(255,255,255,0.18); transform:rotate(90deg); }
.searchOverlay_form{ display:flex; align-items:center; gap:1rem; width:min(700px,90vw); border-bottom:2px solid rgba(255,255,255,0.3); padding-bottom:1rem; }
.searchOverlay_form i{ color:#fff; font-size:1.4rem; }
.searchOverlay_input{ flex:1; background:transparent; border:none; outline:none; color:#fff; font-size:1.4rem; }
.searchOverlay_input::placeholder{ color:rgba(255,255,255,0.5); }
.searchOverlay_hint{ color:rgba(255,255,255,0.55); font-size:0.9rem; }


.mobileMenu{
  position:fixed; inset:0 0 auto 0; height:0; overflow:hidden; z-index:350;
  background: linear-gradient(160deg, var(--clr-primary) 0%, var(--clr-primary-dark) 100%);
  display:flex; flex-direction:column; justify-content:space-between;
  transition:height 0.6s cubic-bezier(.7,0,.3,1);
}
.mobileMenu.isOpen{ height:100vh; }
.mobileMenu_list{ display:flex; flex-direction:column; padding:7rem 2rem 2rem; gap:0.4rem; }
.mobileMenu_item{ overflow:hidden; }
.mobileMenu_link{
  display:block; color:#fff; font-size:1.7rem; font-weight:700; padding:0.6rem 0;
  opacity:0; transform:translateY(-30px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.mobileMenu.isOpen .mobileMenu_link, .mobileMenu.isOpen .mobileMenu_accordionToggle{ opacity:1; transform:translateY(0); }
.mobileMenu_list .mobileMenu_item:nth-child(1) .mobileMenu_link{ transition-delay:0.1s; }
.mobileMenu_list .mobileMenu_item:nth-child(2) .mobileMenu_accordionToggle{ transition-delay:0.18s; }
.mobileMenu_list .mobileMenu_item:nth-child(3) .mobileMenu_link{ transition-delay:0.26s; }
.mobileMenu_list .mobileMenu_item:nth-child(4) .mobileMenu_link{ transition-delay:0.34s; }
.mobileMenu_list .mobileMenu_item:nth-child(5) .mobileMenu_link{ transition-delay:0.42s; }
.mobileMenu_accordionToggle{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  color:#fff; font-size:1.7rem; font-weight:700; padding:0.6rem 0;
  opacity:0; transform:translateY(-30px); transition:opacity 0.5s ease, transform 0.5s ease;
}
.mobileMenu_accordionToggle i{ font-size:1rem; transition:transform var(--transition); }
.mobileMenu_accordion.isOpen .mobileMenu_accordionToggle i{ transform:rotate(180deg); }
.mobileMenu_accordionPanel{ max-height:0; overflow:hidden; transition:max-height var(--transition); display:flex; flex-direction:column; }
.mobileMenu_accordion.isOpen .mobileMenu_accordionPanel{ max-height:220px; }
.mobileMenu_sublink{ color:rgba(255,255,255,0.75); font-size:1.05rem; padding:0.5rem 0 0.5rem 1rem; }
.mobileMenu_sublink:hover{ color:#fff; }
.mobileMenu_close{
  align-self:center; margin-bottom:2.4rem; color:#fff; border:2px solid rgba(255,255,255,0.4);
  border-radius:var(--radius-pill); padding:0.7rem 1.6rem; display:flex; gap:0.5rem; align-items:center;
  transition:background var(--transition);
}
.mobileMenu_close:hover{ background:rgba(255,255,255,0.12); }


.mainHero{
  min-height:92vh; display:flex; align-items:center; gap:clamp(2rem,5vw,4rem);
  padding: clamp(7rem,14vw,10rem) clamp(1.25rem,6vw,5rem) clamp(3rem,6vw,5rem);
  flex-wrap:wrap;
}
.mainHero_content{ flex:1 1 520px; }
.mainHero_eyebrow{ text-transform:uppercase; letter-spacing:0.12em; font-size:0.82rem; font-weight:600; color:var(--clr-secondary-dark); margin-bottom:1rem; }
.mainHero_title{ font-size:clamp(2.3rem,5.6vw,4rem); line-height:1.08; margin-bottom:1.4rem; }
.mainHero_rotateWrap{ display:inline-block; vertical-align:top; }
.mainHero_rotate{
  display:inline-block; color:var(--clr-primary-dark); position:relative;
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.mainHero_rotate.fadeOut{ opacity:0; transform:translateY(8px); }
.mainHero_subtitle{ font-size:1.15rem; max-width:52ch; margin-bottom:2rem; }
.mainHero_actions{ display:flex; gap:1rem; flex-wrap:wrap; }
.mainHero_visual{ flex:1 1 420px; position:relative; }
.mainHero_img{
  border-radius:var(--radius-xl); box-shadow:var(--shadow-lg);
  width:100%; aspect-ratio:4/3.4; object-fit:cover;
}
.mainHero_badge{
  position:absolute; bottom:-1.6rem; left:-1.4rem; background:var(--clr-accent-light);
  padding:1rem 1.4rem; border-radius:var(--radius-lg); box-shadow:var(--shadow-md), var(--shadow-inset);
  display:flex; align-items:center; gap:0.7rem; font-weight:700; font-size:0.95rem; color:var(--clr-primary-dark);
}
.mainHero_badge i{ font-size:1.3rem; color:var(--clr-secondary-dark); }


.introSplit{ display:flex; align-items:center; gap:clamp(2rem,6vw,5rem); flex-wrap:wrap; background:var(--clr-bg-alt); border-radius:var(--radius-xl); margin:0 clamp(1rem,4vw,3rem); }
.introSplit_media{ flex:1 1 380px; }
.introSplit_media img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-md); width:100%; aspect-ratio:5/4; object-fit:cover; }
.introSplit_text{ flex:1.3 1 460px; }
.introSplit_text p{ font-size:1.05rem; }


.moduleSection_header{ max-width:760px; margin:0 auto 3rem; text-align:center; }
.moduleSection_intro{ font-size:1.08rem; }
.moduleGrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.6rem; max-width:1280px; margin:0 auto; }
.moduleGrid:has(.moduleCard:hover) .moduleCard:not(:hover){ opacity:0.65; filter:saturate(0.85); }
.moduleCard{
  background:var(--clr-primary-light); border-radius:var(--radius-lg); padding:2rem;
  box-shadow:var(--shadow-md), var(--shadow-inset);
  transition: transform var(--transition), box-shadow var(--transition), opacity var(--transition);
  position:relative;
}
.moduleCard:hover{ transform:translateY(-6px) scale(1.015); box-shadow:var(--shadow-lg), var(--shadow-inset); }
.moduleCard-highlighted{ background:var(--clr-secondary-light); }
.moduleSection:has(.moduleCard-highlighted) { background: linear-gradient(180deg, var(--clr-bg) 0%, var(--clr-bg-alt) 100%); }
.moduleCard_number{ font-size:0.85rem; font-weight:700; color:var(--clr-secondary-dark); letter-spacing:0.08em; }
.moduleCard_icon{ display:block; font-size:1.8rem; color:var(--clr-primary-dark); margin:1rem 0; }
.moduleCard_title{ font-size:1.2rem; margin-bottom:0.6rem; }
.moduleSection_footer{ text-align:center; margin-top:3rem; }


.glossarySection{ text-align:center; }
.glossarySection_text{ max-width:680px; margin:0 auto 2.2rem; }
.glossaryChips{ display:flex; flex-wrap:wrap; gap:0.9rem; justify-content:center; }
.glossaryChip{
  background:var(--clr-surface); padding:0.8rem 1.3rem; border-radius:var(--radius-pill);
  box-shadow:var(--shadow-sm); font-weight:600; font-size:0.92rem; display:inline-flex; align-items:center; gap:0.5rem;
  color:var(--clr-primary-dark); cursor:help; transition:box-shadow var(--transition), transform var(--transition);
}
.glossaryChip:hover{ box-shadow:var(--shadow-md); transform:translateY(-2px); }
.glossaryChip i{ color:var(--clr-secondary); font-size:0.85rem; }


.photoGridSection_title{ text-align:center; margin-bottom:2.5rem; }
.photoGrid{
  display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:120px; gap:1.2rem; max-width:1200px; margin:0 auto;
}
.photoGrid_item{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); transition:box-shadow var(--transition), transform var(--transition); }
.photoGrid_item:hover{ box-shadow:var(--shadow-lg); transform:translateY(-4px); }
.photoGrid_item img{ width:100%; height:100%; object-fit:cover; }
.photoGrid_item-a{ grid-column:1/4; grid-row:1/4; }
.photoGrid_item-b{ grid-column:4/7; grid-row:1/3; }
.photoGrid_item-c{ grid-column:4/6; grid-row:3/5; }
.photoGrid_item-d{ grid-column:6/7; grid-row:3/5; }


.forWhomSection{ display:flex; gap:1.8rem; flex-wrap:wrap; }
.forWhomSection_col{
  flex:1 1 360px; background:var(--clr-surface); border-radius:var(--radius-lg); padding:2.4rem;
  box-shadow:var(--shadow-md), var(--shadow-inset);
}
.forWhomSection_col-alt{ background:var(--clr-lavender); }
.forWhomSection_title{ display:flex; align-items:center; gap:0.7rem; font-size:1.3rem; margin-bottom:1.4rem; color:var(--clr-primary-dark); }
.forWhomSection_list li{ position:relative; padding-left:1.6rem; margin-bottom:0.9rem; color:var(--clr-text-soft); }
.forWhomSection_list li::before{ content:'\f00c'; font-family:'Font Awesome 6 Free'; font-weight:900; position:absolute; left:0; top:0.2rem; color:var(--clr-secondary-dark); font-size:0.8rem; }


.ctaBand{ background:var(--clr-primary); border-radius:var(--radius-xl); margin:0 clamp(1rem,4vw,3rem); color:#fff; }
.ctaBand_inner{ display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.ctaBand_text h2{ color:#fff; font-size:clamp(1.5rem,3vw,2.1rem); margin-bottom:0.6rem; }
.ctaBand_text p{ color:rgba(255,255,255,0.82); max-width:48ch; }


.pageFooter{ background:var(--clr-bg-alt); padding:4.5rem clamp(1.25rem,6vw,5rem) 2.2rem; }
.pageFooter_inner{ max-width:760px; margin:0 auto; text-align:center; display:flex; flex-direction:column; align-items:center; gap:1.3rem; }
.pageFooter_logo{ display:flex; align-items:center; gap:0.6rem; font-weight:800; font-size:1.4rem; }
.pageFooter_logo img{ width:40px; height:40px; }
.pageFooter_tagline{ max-width:42ch; }
.pageFooter_nav{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.4rem; }
.pageFooter_nav a{ font-weight:500; color:var(--clr-text-soft); transition:color var(--transition); }
.pageFooter_nav a:hover{ color:var(--clr-primary-dark); }
.pageFooter_contact{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.6rem; font-size:0.92rem; color:var(--clr-text-soft); }
.pageFooter_contact i{ color:var(--clr-secondary-dark); margin-right:0.4rem; }
.pageFooter_bottom{ margin-top:1rem; padding-top:1.6rem; border-top:1px solid rgba(43,38,32,0.1); width:100%; }
.pageFooter_bottom p{ font-size:0.85rem; }


.pageHero{ padding:clamp(8rem,14vw,10rem) clamp(1.25rem,6vw,5rem) clamp(3rem,6vw,4rem); }
.pageHero-split{ display:flex; align-items:center; gap:clamp(2rem,5vw,4rem); flex-wrap:wrap; }
.pageHero_text{ flex:1 1 460px; }
.pageHero_title{ font-size:clamp(2rem,4.6vw,3.2rem); line-height:1.12; margin-bottom:1.2rem; }
.pageHero_subtitle{ font-size:1.1rem; max-width:56ch; }
.pageHero_media{ flex:1 1 400px; }
.pageHero_media img{ border-radius:var(--radius-xl); box-shadow:var(--shadow-lg); width:100%; aspect-ratio:4/3; object-fit:cover; }


.visionSplit{ display:flex; align-items:center; gap:clamp(2rem,6vw,5rem); flex-wrap:wrap; }
.visionSplit-reverse{ background:var(--clr-bg-alt); border-radius:var(--radius-xl); margin:0 clamp(1rem,4vw,3rem); }
.visionSplit-reverse .visionSplit_media{ order:1; }
.visionSplit-reverse .visionSplit_text{ order:2; }
.visionSplit_text{ flex:1.2 1 440px; }
.visionSplit_media{ flex:1 1 400px; }
.visionSplit_media img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-md); width:100%; aspect-ratio:5/4; object-fit:cover; }
.pullQuote{
  border-left:4px solid var(--clr-secondary); padding:0.4rem 0 0.4rem 1.4rem; margin:1.6rem 0;
  font-size:1.2rem; font-style:italic; color:var(--clr-primary-dark);
}

.pillarsSection_title{ text-align:center; max-width:720px; margin:0 auto 2.6rem; }
.pillarsGrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:1.6rem; max-width:1200px; margin:0 auto; }
.pillarCard{ background:var(--clr-surface); border-radius:var(--radius-lg); padding:2.2rem; box-shadow:var(--shadow-sm); transition:box-shadow var(--transition), transform var(--transition); }
.pillarCard:hover{ box-shadow:var(--shadow-md); transform:translateY(-5px); }
.pillarCard_icon{ font-size:1.7rem; color:var(--clr-secondary-dark); margin-bottom:1rem; cursor:help; }
.pillarCard h3{ font-size:1.15rem; margin-bottom:0.6rem; }

.faqSection_title{ text-align:center; max-width:700px; margin:0 auto 2.4rem; }
.faqAccordion{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:1rem; }
.faqItem{ background:var(--clr-surface); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); overflow:hidden; }
.faqItem_toggle{ width:100%; display:flex; align-items:center; justify-content:space-between; padding:1.3rem 1.6rem; font-weight:600; font-size:1.02rem; text-align:left; }
.faqItem_toggle i{ transition:transform var(--transition); color:var(--clr-secondary-dark); }
.faqItem.isOpen .faqItem_toggle i{ transform:rotate(45deg); }
.faqItem_panel{ max-height:0; overflow:hidden; transition:max-height var(--transition); padding:0 1.6rem; }
.faqItem.isOpen .faqItem_panel{ max-height:220px; padding-bottom:1.4rem; }


.formatSection{ text-align:center; }
.formatGrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.6rem; max-width:1200px; margin:2.4rem auto 0; text-align:left; }
.formatCard{ background:var(--clr-accent-light); border-radius:var(--radius-lg); padding:2rem; box-shadow:var(--shadow-sm), var(--shadow-inset); transition:transform var(--transition), box-shadow var(--transition); }
.formatCard:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md), var(--shadow-inset); }
.formatCard i{ font-size:1.6rem; color:var(--clr-primary-dark); margin-bottom:0.9rem; display:block; }
.formatCard h3{ font-size:1.1rem; margin-bottom:0.5rem; }

.modulesDetail_list{ max-width:900px; margin:2.4rem auto 0; display:flex; flex-direction:column; gap:1.4rem; }
.modulesDetail_item{ display:flex; gap:1.6rem; background:var(--clr-surface); border-radius:var(--radius-lg); padding:2rem; box-shadow:var(--shadow-sm); transition:box-shadow var(--transition); }
.modulesDetail_item:hover{ box-shadow:var(--shadow-md); }
.modulesDetail_num{ font-size:1.8rem; font-weight:800; color:var(--clr-secondary); flex-shrink:0; min-width:52px; }
.modulesDetail_item h3{ font-size:1.2rem; margin-bottom:0.5rem; }

.exerciseSplit{ display:flex; align-items:center; gap:clamp(2rem,6vw,5rem); flex-wrap:wrap; background:var(--clr-lavender); border-radius:var(--radius-xl); margin:0 clamp(1rem,4vw,3rem); }
.exerciseSplit_media{ flex:1 1 380px; }
.exerciseSplit_media img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-md); width:100%; aspect-ratio:5/4; object-fit:cover; }
.exerciseSplit_text{ flex:1.2 1 460px; }

.stepsSection{ text-align:center; }
.stepsGrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.6rem; max-width:1100px; margin:2.4rem auto 0; text-align:left; }
.stepCard{ background:var(--clr-primary-light); border-radius:var(--radius-lg); padding:2rem; box-shadow:var(--shadow-sm), var(--shadow-inset); position:relative; }
.stepCard_num{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:var(--clr-primary); color:#fff; font-weight:700; margin-bottom:1rem; }
.stepCard h3{ font-size:1.08rem; margin-bottom:0.4rem; }


.contactIntro{ text-align:center; max-width:760px; margin:0 auto; padding-top:clamp(8rem,14vw,10rem); }
.comparisonSection{ padding-top:1rem; }
.comparisonGrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1.5rem; max-width:1200px; margin:0 auto; }
.comparisonGrid:has(.comparisonCard:hover) .comparisonCard:not(:hover){ opacity:0.7; }
.comparisonCard{
  background:var(--clr-surface); border-radius:var(--radius-lg); padding:1.9rem; box-shadow:var(--shadow-sm);
  transition:box-shadow var(--transition), transform var(--transition), opacity var(--transition);
}
.comparisonCard:hover{ box-shadow:var(--shadow-md); transform:translateY(-5px); }
.comparisonCard i{ font-size:1.5rem; color:var(--clr-secondary-dark); margin-bottom:0.8rem; display:block; }
.comparisonCard h3{ font-size:1.08rem; margin-bottom:0.5rem; }
.comparisonCard_when{ display:block; margin-top:0.8rem; font-size:0.85rem; font-weight:600; color:var(--clr-primary-dark); }

.contactFormSection{ display:flex; justify-content:center; }
.contactForm{
  width:min(680px,100%); background:var(--clr-surface); border-radius:var(--radius-xl);
  padding:clamp(2rem,5vw,3.4rem); box-shadow:var(--shadow-lg);
  display:flex; flex-direction:column; gap:1.7rem;
}
.contactForm:has(:focus){ box-shadow:var(--shadow-lg), 0 0 0 3px rgba(63,109,93,0.18); }
.contactForm_title{ font-size:clamp(1.5rem,3vw,2rem); margin-bottom:0.4rem; text-align:center; }
.formField{ display:flex; flex-direction:column; gap:0.5rem; }
.formField label{ font-weight:600; font-size:0.95rem; color:var(--clr-primary-dark); }
.formField input, .formField textarea{
  padding:0.9rem 1.1rem; border-radius:var(--radius-md); border:1.5px solid rgba(43,38,32,0.12);
  background:var(--clr-bg); box-shadow:var(--shadow-inset); font-size:1rem; color:var(--clr-text);
  transition:border-color var(--transition), box-shadow var(--transition);
  resize:vertical;
}
.formField input:focus, .formField textarea:focus{ outline:none; border-color:var(--clr-primary); box-shadow:var(--shadow-inset), 0 0 0 3px rgba(63,109,93,0.15); }
.formField_help{ font-size:0.82rem; color:var(--clr-text-soft); }
.formField-checkbox .checkboxLabel{ display:flex; align-items:flex-start; gap:0.7rem; font-weight:400; color:var(--clr-text-soft); font-size:0.95rem; }
.formField-checkbox input{ width:20px; height:20px; margin-top:0.15rem; accent-color:var(--clr-primary); flex-shrink:0; }
.contactForm_submit{ margin-top:0.5rem; width:100%; }

.mapSection{ display:flex; gap:2rem; flex-wrap:wrap; align-items:stretch; max-width:1200px; margin:0 auto; }
.mapSection_media{ flex:1 1 300px; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); }
.mapSection_media img{ width:100%; height:100%; object-fit:cover; min-height:260px; }
.mapSection_frame{ flex:1.6 1 460px; }
.mapSection_address{ margin-top:1rem; font-size:0.92rem; display:flex; align-items:center; gap:0.5rem; }
.mapSection_address i{ color:var(--clr-secondary-dark); }


.thanksMain{ min-height:80vh; display:flex; align-items:center; justify-content:center; padding:8rem 1.5rem 4rem; text-align:center; }
.thanksMain_content{ max-width:600px; }
.thanksMain_title{ font-size:clamp(2.4rem,6vw,4rem); margin-bottom:1.2rem; }
.thanksMain_text{ font-size:1.15rem; margin-bottom:2rem; }


.legalMain{ padding-top:clamp(7rem,12vw,9rem); }
.legalHero{ text-align:center; padding:2rem 1.5rem 3rem; max-width:800px; margin:0 auto; }
.legalHero h1{ font-size:clamp(2rem,4.4vw,3rem); margin-bottom:0.6rem; }
.legalHero p{ font-weight:600; color:var(--clr-secondary-dark); }
.legalHero-privacy{ border-bottom:3px solid var(--clr-primary-light); }
.legalHero-terms{ border-bottom:3px solid var(--clr-secondary-light); }
.legalHero-cookies{ border-bottom:3px solid var(--clr-accent-light); }

.legalTimeline{ max-width:900px; margin:0 auto; padding:3rem clamp(1.25rem,5vw,2rem) 5rem; position:relative; }
.legalTimeline::before{ content:''; position:absolute; left:26px; top:0; bottom:0; width:2px; background:var(--clr-bg-alt); }
.legalTimeline_item{ position:relative; padding-left:70px; margin-bottom:2.6rem; }
.legalTimeline-compact .legalTimeline_item{ margin-bottom:1.8rem; }
.legalTimeline_marker{
  position:absolute; left:0; top:0; width:54px; height:54px; border-radius:50%;
  background:var(--clr-surface); box-shadow:var(--shadow-sm), var(--shadow-inset);
  display:flex; align-items:center; justify-content:center; font-weight:800; color:var(--clr-primary-dark);
}
.legalTimeline_date{ font-size:0.8rem; font-weight:700; letter-spacing:0.05em; color:var(--clr-secondary-dark); text-transform:uppercase; margin-bottom:0.4rem; }
.legalTimeline_content h2{ font-size:1.25rem; margin-bottom:0.6rem; }
.legalTimeline_content p{ font-size:0.98rem; }


.cookieConsent{ position:fixed; bottom:1.6rem; left:50%; transform:translateX(-50%); z-index:500; width:min(560px,92vw); }
.cookieConsent_pill{
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  background:var(--clr-surface); border-radius:var(--radius-pill); padding:0.9rem 1.6rem;
  box-shadow:var(--shadow-lg); transition:opacity var(--transition), transform var(--transition), border-radius var(--transition);
}
.cookieConsent_pill p{ font-size:0.86rem; margin:0; color:var(--clr-text-soft); }
.cookieConsent_pill a{ color:var(--clr-primary-dark); font-weight:600; text-decoration:underline; }
.cookieConsent_pillActions{ display:flex; gap:0.6rem; align-items:center; }
.cookieConsent_linkBtn{ font-size:0.85rem; font-weight:600; color:var(--clr-text-soft); padding:0.5rem 0.8rem; transition:color var(--transition); }
.cookieConsent_linkBtn:hover{ color:var(--clr-primary-dark); }
.cookieConsent_acceptBtn{
  background:var(--clr-primary); color:#fff; padding:0.55rem 1.2rem; border-radius:var(--radius-pill);
  font-size:0.85rem; font-weight:700; box-shadow:var(--shadow-sm); transition:transform var(--transition), box-shadow var(--transition);
}
.cookieConsent_acceptBtn:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md); }
.cookieConsent_modal{
  display:none; background:var(--clr-surface); border-radius:var(--radius-lg); padding:2rem;
  box-shadow:var(--shadow-lg); max-height:80vh; overflow-y:auto;
}
.cookieConsent.isCustomizing .cookieConsent_pill{ display:none; }
.cookieConsent.isCustomizing .cookieConsent_modal{ display:block; }
.cookieConsent_modal h3{ font-size:1.2rem; margin-bottom:0.6rem; }
.cookieConsent_modal p{ font-size:0.9rem; margin-bottom:1.2rem; }
.cookieConsent_category{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0.9rem 0; border-top:1px solid rgba(43,38,32,0.08); }
.cookieConsent_category div{ display:flex; flex-direction:column; gap:0.15rem; }
.cookieConsent_category strong{ font-size:0.94rem; }
.cookieConsent_category span{ font-size:0.8rem; color:var(--clr-text-soft); }
.cookieConsent_category input{ width:20px; height:20px; accent-color:var(--clr-primary); flex-shrink:0; }
.cookieConsent_modalActions{ display:flex; justify-content:flex-end; gap:0.8rem; margin-top:1.2rem; }


@media (max-width:900px){
  .siteHeader_nav{ display:none; }
  .siteHeader_menuToggle{ display:flex; }
  .photoGrid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:160px; }
  .photoGrid_item-a{ grid-column:1/3; grid-row:1/3; }
  .photoGrid_item-b{ grid-column:1/2; grid-row:3/5; }
  .photoGrid_item-c{ grid-column:2/3; grid-row:3/4; }
  .photoGrid_item-d{ grid-column:2/3; grid-row:4/5; }
}
@media (max-width:640px){
  section{ padding:2.6rem 1.25rem; }
  .mainHero{ padding-top:6.5rem; }
  .mainHero_badge{ left:0.5rem; bottom:-1.2rem; padding:0.8rem 1.1rem; font-size:0.85rem; }
  .ctaBand_inner{ flex-direction:column; align-items:flex-start; }
  .modulesDetail_item{ flex-direction:column; gap:0.6rem; }
  .cookieConsent_pill{ flex-direction:column; align-items:stretch; text-align:center; }
  .cookieConsent_pillActions{ justify-content:center; }
}