/* ==========================================================================
   ORCHARD LANE — Chromatic Blur design system
   ========================================================================== */


:root{
  --font-heading:'Sora',sans-serif;
  --font-body:'Sora',sans-serif;

  --color-bg:#FAF8F4;
  --color-bg-soft:#F2ECE2;
  --color-surface:#FFFFFF;
  --color-dark:#1D1A38;
  --color-dark-soft:#272054;

  --color-text:#221F3B;
  --color-text-soft:#635D7C;
  --color-text-inverse:#F3EFFE;
  --color-text-inverse-soft:#C4BCE6;

  --color-primary:#4C3AA8;
  --color-primary-dark:#332570;
  --color-primary-light:#7C6BD9;
  --color-secondary:#1B9C86;
  --color-accent:#F2994A;
  --color-rose:#E8637A;
  --color-violet:#8B5CF6;

  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:28px;
  --radius-xl:42px;
  --radius-full:999px;

  --space-3xs:.25rem;
  --space-2xs:.5rem;
  --space-xs:.75rem;
  --space-sm:1rem;
  --space-md:1.5rem;
  --space-lg:2.5rem;
  --space-xl:4rem;
  --space-2xl:6rem;
  --space-3xl:8rem;

  --shadow-sm:0 2px 10px rgba(29,26,56,.06);
  --shadow-md:0 10px 30px rgba(29,26,56,.08),0 2px 8px rgba(29,26,56,.05);
  --shadow-lg:0 25px 70px rgba(29,26,56,.16),0 10px 25px rgba(29,26,56,.08);
  --shadow-glow-primary:0 14px 34px rgba(76,58,168,.32);
  --shadow-glow-accent:0 14px 34px rgba(242,153,74,.34);
  --shadow-glow-teal:0 14px 34px rgba(27,156,134,.28);

  --ease:cubic-bezier(.4,0,.2,1);
}


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

.container{max-width:1240px;margin:0 auto;padding:0 1.5rem;}


.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.9rem 1.8rem;border-radius:var(--radius-full);
  font-weight:600;font-size:.95rem;white-space:nowrap;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease),color .35s var(--ease);
  min-height:48px;
}
.btn-primary{background:linear-gradient(120deg,var(--color-primary),var(--color-violet));color:#fff;box-shadow:var(--shadow-glow-primary);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(76,58,168,.42);}
.btn-outline{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary-light);}
.btn-outline:hover{background:var(--color-primary);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-glow-primary);}
.btn-ghost{color:var(--color-primary);padding:.5rem 0;background:none;box-shadow:none;}
.btn-ghost:hover{gap:.85rem;color:var(--color-primary-dark);}
.btn-lg{padding:1.05rem 2.3rem;font-size:1.02rem;}


.blurBlob{
  position:absolute;border-radius:50%;filter:blur(90px);
  pointer-events:none;z-index:0;opacity:.65;
  transition:transform 1.2s var(--ease);
}
.blurBlob-sm{width:260px;height:260px;}
.blurBlob-md{width:420px;height:420px;}
.blurBlob-lg{width:620px;height:620px;}
.blurBlob-violet{background:radial-gradient(circle,var(--color-violet),transparent 70%);}
.blurBlob-teal{background:radial-gradient(circle,var(--color-secondary),transparent 70%);}
.blurBlob-amber{background:radial-gradient(circle,var(--color-accent),transparent 70%);}
.blurBlob-rose{background:radial-gradient(circle,var(--color-rose),transparent 70%);}


.siteHeader{position:fixed;top:0;left:0;right:0;z-index:1000;perspective:1400px;}
.siteHeader_flipWrap{
  position:relative;width:100%;height:88px;
  transform-style:preserve-3d;
  transition:transform .8s var(--ease),height .8s var(--ease),background .4s var(--ease);
}
.siteHeader.menuOpen .siteHeader_flipWrap{transform:rotateX(180deg);height:100vh;}
.siteHeader_face{position:absolute;inset:0;backface-visibility:hidden;width:100%;height:100%;}
.siteHeader_faceFront{background:transparent;transition:background .4s var(--ease),box-shadow .4s var(--ease);}
.siteHeader.siteHeader-solid .siteHeader_faceFront{background:rgba(250,248,244,.9);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(29,26,56,.06),0 12px 30px rgba(29,26,56,.06);}
.siteHeader_faceBack{
  transform:rotateX(180deg);
  background:linear-gradient(160deg,var(--color-dark),var(--color-primary-dark));
  display:flex;align-items:center;justify-content:center;
}
.siteHeader_inner{
  max-width:1240px;margin:0 auto;height:88px;padding:0 1.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
}
.siteHeader_logo{display:flex;align-items:center;gap:.6rem;font-family:var(--font-heading);font-weight:700;font-size:1.15rem;color:var(--color-text);}
.siteHeader_nav{display:flex;align-items:center;gap:2rem;flex:1;justify-content:center;}
.siteHeader_nav a{font-size:.94rem;font-weight:500;color:var(--color-text-soft);position:relative;transition:color .3s var(--ease);}
.siteHeader_nav a::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));transition:width .3s var(--ease);}
.siteHeader_nav a:hover,.siteHeader_nav a.isActive{color:var(--color-primary);}
.siteHeader_nav a:hover::after,.siteHeader_nav a.isActive::after{width:100%;}
.siteHeader_cta{flex-shrink:0;}
.siteHeader_toggle{display:none;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;}
.siteHeader_toggle span{display:block;width:24px;height:2px;background:var(--color-text);border-radius:2px;transition:all .3s var(--ease);}

.siteHeader_flipNav{display:flex;flex-direction:column;align-items:center;gap:1.6rem;}
.siteHeader_flipNav a{color:var(--color-text-inverse);font-size:1.3rem;font-weight:600;transition:color .3s var(--ease),transform .3s var(--ease);}
.siteHeader_flipNav a:hover{color:var(--color-accent);transform:translateX(6px);}
.siteHeader_flipNav .btn{margin-top:1rem;}
.siteHeader_close{position:absolute;top:1.6rem;right:1.6rem;color:var(--color-text-inverse);font-size:2rem;line-height:1;width:44px;height:44px;}
.siteHeader_close:hover{color:var(--color-accent);transform:rotate(90deg);transition:transform .3s var(--ease),color .3s var(--ease);}

@media (max-width:900px){
  .siteHeader_nav{display:none;}
  .siteHeader_cta{display:none;}
  .siteHeader_toggle{display:flex;}
}


.mainHero,.pageHero{
  position:relative;overflow:hidden;
  padding:calc(88px + 5rem) 1.5rem 6rem;
  background:linear-gradient(180deg,var(--color-bg),var(--color-bg-soft));
}
.mainHero_inner{
  max-width:1240px;margin:0 auto;position:relative;z-index:2;
  display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;
}
.mainHero_eyebrow{
  display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--color-primary);background:rgba(76,58,168,.08);padding:.5rem 1rem;border-radius:var(--radius-full);
  margin-bottom:1.4rem;
}
.mainHero_title{
  font-size:clamp(2.4rem,5.2vw,4.4rem);
  font-weight:800;letter-spacing:-.02em;margin-bottom:1.4rem;
  background:linear-gradient(120deg,var(--color-primary) 10%,var(--color-rose) 45%,var(--color-accent) 85%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.mainHero_text{font-size:1.12rem;color:var(--color-text-soft);max-width:44ch;margin-bottom:2rem;}
.mainHero_actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem;}
.mainHero_note{font-size:.86rem;color:var(--color-text-soft);display:flex;gap:.5rem;align-items:flex-start;max-width:42ch;}
.mainHero_note i{color:var(--color-secondary);margin-top:.2rem;}

.mainHero_visual{position:relative;}
.mainHero_visualCard{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);border:6px solid var(--color-surface);}
.mainHero_visualCard img{border-radius:calc(var(--radius-xl) - 6px);width:100%;aspect-ratio:4/5;object-fit:cover;}
.mainHero_visualBadge{
  position:absolute;bottom:-1.6rem;left:-1.6rem;background:var(--color-surface);
  border-radius:var(--radius-lg);padding:1rem 1.4rem;box-shadow:var(--shadow-md);
  display:flex;align-items:center;gap:.9rem;max-width:230px;
}
.mainHero_visualBadge i{font-size:1.4rem;color:var(--color-accent);}
.mainHero_visualBadge strong{display:block;font-size:.92rem;}
.mainHero_visualBadge span{font-size:.78rem;color:var(--color-text-soft);}

.pageHero{padding:calc(88px + 4rem) 1.5rem 4.5rem;text-align:left;}
.pageHero-sm{padding-bottom:3rem;}
.pageHero_inner{max-width:820px;margin:0 auto;position:relative;z-index:2;text-align:center;}
.pageHero_title{font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:800;letter-spacing:-.02em;margin-bottom:1.1rem;color:var(--color-text);}
.pageHero_text{font-size:1.08rem;color:var(--color-text-soft);max-width:60ch;margin:0 auto;}


.sectionHead{max-width:640px;margin-bottom:3rem;}
.sectionHead-center{text-align:center;margin-left:auto;margin-right:auto;}
.sectionHead_eyebrow{display:block;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-secondary);margin-bottom:.8rem;}
.sectionHead_title{font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:700;margin-bottom:1rem;letter-spacing:-.01em;}
.sectionHead_text{color:var(--color-text-soft);font-size:1.05rem;}
.sectionHead-light .sectionHead_eyebrow{color:var(--color-accent);}
.sectionHead-light .sectionHead_title,.sectionHead-light .sectionHead_text{color:var(--color-text-inverse);}


.storySection{
  display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;
  max-width:1240px;margin:0 auto;padding:var(--space-2xl) 1.5rem;
}
.storySection_media img{aspect-ratio:5/4;object-fit:cover;box-shadow:var(--shadow-lg);}
.storySection_content p{color:var(--color-text-soft);margin-bottom:1rem;}
.storySection_content p:last-of-type{margin-bottom:1.4rem;}


.formatSection{max-width:1240px;margin:0 auto;padding:var(--space-2xl) 1.5rem;}
.formatGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;}
.formatCard{
  background:var(--color-surface);border-radius:var(--radius-lg);padding:2.2rem 1.8rem;
  box-shadow:var(--shadow-md);border:1px solid rgba(29,26,56,.05);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
  display:flex;flex-direction:column;
}
.formatCard:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);}
.formatCard_icon{
  width:56px;height:56px;border-radius:var(--radius-md);
  background:linear-gradient(135deg,var(--color-primary),var(--color-violet));
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.2rem;
  box-shadow:var(--shadow-glow-primary);
}
.formatCard_meta{font-size:.78rem;font-weight:600;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.6rem;}
.formatCard_title{font-size:1.25rem;margin-bottom:.7rem;}
.formatCard_text{color:var(--color-text-soft);font-size:.94rem;margin-bottom:1.2rem;flex:1;}
.formatCard_list li{display:flex;align-items:flex-start;gap:.55rem;font-size:.86rem;color:var(--color-text-soft);margin-bottom:.55rem;}
.formatCard_list i{color:var(--color-secondary);margin-top:.2rem;font-size:.78rem;}


.processSection{
  position:relative;overflow:hidden;background:linear-gradient(160deg,var(--color-dark),var(--color-dark-soft));
  padding:var(--space-2xl) 1.5rem;
}
.processSection_grid{
  max-width:1240px;margin:0 auto;position:relative;z-index:2;
  display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;
}
.processSection_grid::before{
  content:"";position:absolute;top:74px;left:12%;right:12%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);z-index:1;
}
.processStep{position:relative;text-align:center;padding:0 .6rem;}
.processStep_num{
  display:block;font-family:var(--font-heading);font-size:.85rem;font-weight:700;
  color:var(--color-accent);margin-bottom:.8rem;letter-spacing:.05em;
}
.processStep_icon{
  width:64px;height:64px;border-radius:50%;margin:0 auto 1.2rem;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--color-text-inverse);
  transition:transform .4s var(--ease),background .4s var(--ease);
}
.processStep:hover .processStep_icon{transform:translateY(-6px);background:rgba(242,153,74,.2);}
.processStep_title{color:var(--color-text-inverse);font-size:1.1rem;margin-bottom:.6rem;}
.processStep_text{color:var(--color-text-inverse-soft);font-size:.92rem;}


.topicsSection{max-width:1240px;margin:0 auto;padding:var(--space-2xl) 1.5rem;}
.topicsSlider{padding-bottom:2.4rem;}
.topicCard{
  background:var(--color-surface);border-radius:var(--radius-lg);padding:2rem 1.7rem;height:100%;
  box-shadow:var(--shadow-md);border:1px solid rgba(29,26,56,.05);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);min-height:210px;
}
.topicCard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.topicCard i{font-size:1.7rem;color:var(--color-primary);margin-bottom:1rem;}
.topicCard h3{font-size:1.08rem;margin-bottom:.6rem;}
.topicCard p{font-size:.9rem;color:var(--color-text-soft);}
.swiper-slide{height:auto;}


.whySection{
  display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;
  max-width:1240px;margin:0 auto;padding:var(--space-2xl) 1.5rem;
}
.whySection-alt{background:var(--color-bg-soft);max-width:100%;border-radius:var(--radius-xl);
  padding:var(--space-2xl) clamp(1.5rem,6vw,5rem);}
.whySection_content p{color:var(--color-text-soft);margin-bottom:1rem;}
.whySection_media img{aspect-ratio:4/3;object-fit:cover;box-shadow:var(--shadow-lg);}


.ctaSplit{
  position:relative;overflow:hidden;
  background:linear-gradient(120deg,var(--color-primary-dark),var(--color-primary));
  border-radius:var(--radius-xl);max-width:1240px;margin:0 auto var(--space-2xl);
  padding:var(--space-2xl) clamp(1.5rem,5vw,4rem);
  display:grid;grid-template-columns:1.3fr .9fr;gap:2.5rem;align-items:center;
}
.ctaSplit_content h2{color:#fff;font-size:clamp(1.6rem,3.2vw,2.3rem);margin-bottom:1rem;letter-spacing:-.01em;}
.ctaSplit_content p{color:var(--color-text-inverse-soft);font-size:1.02rem;max-width:48ch;}
.ctaSplit_action{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;position:relative;z-index:2;}
.ctaSplit_note{color:var(--color-text-inverse-soft);font-size:.85rem;max-width:26ch;}
.ctaSplit .btn-primary{background:linear-gradient(120deg,var(--color-accent),var(--color-rose));box-shadow:var(--shadow-glow-accent);}


.principleSection{max-width:1240px;margin:0 auto;padding:var(--space-2xl) 1.5rem;}
.principleGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;}
.principleCard{
  background:var(--color-surface);border-radius:var(--radius-lg);padding:2rem 1.6rem;
  box-shadow:var(--shadow-sm);border:1px solid rgba(29,26,56,.05);text-align:left;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.principleCard:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.principleCard_icon{
  width:52px;height:52px;border-radius:var(--radius-md);margin-bottom:1.1rem;
  background:linear-gradient(135deg,var(--color-secondary),var(--color-primary));
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:var(--shadow-glow-teal);
}
.principleCard h3{font-size:1.05rem;margin-bottom:.6rem;}
.principleCard p{font-size:.9rem;color:var(--color-text-soft);}


.teamBlock{
  display:grid;grid-template-columns:.8fr 1.2fr;gap:3.5rem;align-items:center;
  max-width:1240px;margin:0 auto;padding:var(--space-2xl) 1.5rem;
}
.teamBlock_media img{aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);}
.teamBlock_content p{color:var(--color-text-soft);margin-bottom:1rem;}


.scheduleSection{max-width:1240px;margin:0 auto;padding:var(--space-2xl) 1.5rem;}
.scheduleGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;}
.scheduleCard{
  background:var(--color-surface);border-radius:var(--radius-lg);padding:2rem 1.7rem;
  box-shadow:var(--shadow-md);border:1px solid rgba(29,26,56,.05);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.scheduleCard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.scheduleCard_head{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;}
.scheduleCard_head i{font-size:1.3rem;color:var(--color-primary);}
.scheduleCard_head h3{font-size:1.05rem;}
.scheduleCard p{font-size:.9rem;color:var(--color-text-soft);margin-bottom:1rem;}
.scheduleCard_tag{
  display:inline-block;font-size:.74rem;font-weight:600;color:var(--color-secondary);
  background:rgba(27,156,134,.1);padding:.35rem .8rem;border-radius:var(--radius-full);
}


.blogListSection{max-width:1240px;margin:0 auto;padding:var(--space-2xl) 1.5rem;}
.blogGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;}
.blogCard{
  background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-md);border:1px solid rgba(29,26,56,.05);
  display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.blogCard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.blogCard_image img{aspect-ratio:4/3;object-fit:cover;border-radius:0;transition:transform .5s var(--ease);}
.blogCard_image{overflow:hidden;display:block;}
.blogCard:hover .blogCard_image img{transform:scale(1.06);}
.blogCard_body{padding:1.6rem;flex:1;display:flex;flex-direction:column;}
.blogCard_tag{
  display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  color:var(--color-accent);margin-bottom:.7rem;
}
.blogCard_body h3{font-size:1.05rem;margin-bottom:.7rem;line-height:1.4;}
.blogCard_body h3 a:hover{color:var(--color-primary);}
.blogCard_body p{font-size:.9rem;color:var(--color-text-soft);margin-bottom:1rem;flex:1;}
.blogCard_link{font-size:.88rem;font-weight:600;color:var(--color-primary);display:inline-flex;align-items:center;gap:.4rem;transition:gap .3s var(--ease);}
.blogCard_link:hover{gap:.7rem;}

.articleSection{max-width:800px;margin:0 auto;padding:0 1.5rem var(--space-2xl);}
.articleBlock{padding:3rem 0;border-top:1px solid rgba(29,26,56,.08);}
.articleBlock:first-child{border-top:none;}
.articleBlock h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin:.8rem 0 1.3rem;}
.articleBlock p{color:var(--color-text-soft);margin-bottom:1rem;}


.contactSplit{
  display:grid;grid-template-columns:1fr 1fr;
  max-width:1240px;margin:0 auto var(--space-2xl);
  border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);
}
.contactSplit_map{min-height:520px;background:var(--color-bg-soft);}
.contactSplit_map iframe{width:100%;height:100%;min-height:520px;display:block;}
.contactSplit_form{background:var(--color-surface);padding:3rem clamp(1.6rem,4vw,3.2rem);}
.contactSplit_form h2{font-size:1.7rem;margin-bottom:.6rem;}
.contactSplit_lead{color:var(--color-text-soft);margin-bottom:2rem;font-size:.98rem;}
.formRow{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.formField{margin-bottom:1.2rem;}
.formField label{display:block;font-size:.86rem;font-weight:600;margin-bottom:.5rem;}
.formField input,.formField textarea{
  width:100%;padding:.85rem 1rem;border-radius:var(--radius-sm);
  border:1.5px solid rgba(29,26,56,.12);background:var(--color-bg);
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease);
}
.formField input:focus,.formField textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(76,58,168,.12);}
.formCheck{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:1.6rem;font-size:.86rem;color:var(--color-text-soft);}
.formCheck input{margin-top:.25rem;width:18px;height:18px;flex-shrink:0;}
.formCheck a{color:var(--color-primary);font-weight:600;}

.addressSection{max-width:1240px;margin:0 auto;padding:0 1.5rem var(--space-2xl);}
.addressGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.addressCard{
  background:var(--color-bg-soft);border-radius:var(--radius-lg);padding:1.8rem;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.addressCard:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.addressCard i{font-size:1.3rem;color:var(--color-primary);margin-bottom:.8rem;display:block;}
.addressCard h3{font-size:1rem;margin-bottom:.5rem;}
.addressCard p{font-size:.88rem;color:var(--color-text-soft);}
.addressCard a{color:var(--color-primary);font-weight:600;}


.thanksSection_icon{font-size:3.2rem;color:var(--color-secondary);margin-bottom:1.2rem;}
.thanksSection_redirect{margin:1.6rem 0;font-weight:600;color:var(--color-text);}
.thanksSection_redirect span{color:var(--color-accent);font-weight:800;}


.legalPage{max-width:900px;margin:0 auto;padding:calc(88px + 3rem) 1.5rem var(--space-2xl);}
.legalPage_head{margin-bottom:3rem;text-align:center;}
.legalPage_head h1{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:.8rem;}
.legalPage_updated{color:var(--color-text-soft);font-size:.9rem;}
.legalGrid{display:grid;grid-template-columns:1fr 1fr;gap:2rem 2.5rem;}
.legalGrid-single{grid-template-columns:1fr;}
.legalSection h2{font-size:1.15rem;margin-bottom:.7rem;color:var(--color-primary-dark);}
.legalSection p{color:var(--color-text-soft);font-size:.95rem;}


.pageFooter{
  position:relative;overflow:hidden;background:var(--color-dark);
  padding:var(--space-2xl) 1.5rem var(--space-lg);margin-top:auto;
}
.pageFooter_grid{
  max-width:1240px;margin:0 auto;position:relative;z-index:2;
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2.5rem;
}
.pageFooter_brand .siteHeader_logo{color:#fff;margin-bottom:1rem;}
.pageFooter_brand p{color:var(--color-text-inverse-soft);font-size:.9rem;max-width:32ch;}
.pageFooter_col h4{color:#fff;font-size:.9rem;margin-bottom:1.1rem;text-transform:uppercase;letter-spacing:.05em;}
.pageFooter_col{display:flex;flex-direction:column;gap:.7rem;}
.pageFooter_col a,.pageFooter_col span{color:var(--color-text-inverse-soft);font-size:.9rem;display:flex;align-items:center;gap:.5rem;transition:color .3s var(--ease);}
.pageFooter_col a:hover{color:var(--color-accent);}
.pageFooter_bottom{
  max-width:1240px;margin:2.5rem auto 0;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);
  position:relative;z-index:2;color:var(--color-text-inverse-soft);font-size:.84rem;
}
html,body{height:100%;}
body{display:flex;flex-direction:column;min-height:100vh;}
main{flex:1;}


.cookieConsent{position:fixed;bottom:1.4rem;left:1.4rem;z-index:2000;max-width:360px;width:calc(100% - 2.8rem);}
.cookieConsent_card{
  background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);
  padding:1.6rem;border:1px solid rgba(29,26,56,.06);
  transform:translateY(20px);opacity:0;pointer-events:none;transition:all .5s var(--ease);
}
.cookieConsent.isVisible .cookieConsent_card{transform:translateY(0);opacity:1;pointer-events:auto;}
.cookieConsent_title{font-weight:700;font-size:1rem;margin-bottom:.6rem;display:flex;align-items:center;gap:.5rem;color:var(--color-primary-dark);}
.cookieConsent_text{font-size:.86rem;color:var(--color-text-soft);margin-bottom:1rem;}
.cookieConsent_customize{max-height:0;overflow:hidden;transition:max-height .4s var(--ease),margin .4s var(--ease);display:flex;flex-direction:column;gap:.6rem;}
.cookieConsent_customize.isOpen{max-height:200px;margin-bottom:1rem;}
.cookieConsent_customize label{display:flex;align-items:center;gap:.6rem;font-size:.84rem;color:var(--color-text-soft);}
.cookieConsent_actions{display:flex;flex-direction:column;gap:.6rem;}
.cookieConsent_actions .btn{width:100%;padding:.75rem 1rem;font-size:.86rem;}


@media (max-width:1080px){
  .formatGrid,.principleGrid,.scheduleGrid,.blogGrid,.processSection_grid,.addressGrid{grid-template-columns:repeat(2,1fr);}
  .pageFooter_grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:900px){
  .mainHero_inner,.storySection,.whySection,.teamBlock,.ctaSplit,.contactSplit{grid-template-columns:1fr;}
  .mainHero_visual{order:-1;}
  .storySection_media,.whySection_media,.teamBlock_media{order:-1;}
  .ctaSplit_action{align-items:flex-start;}
  .legalGrid{grid-template-columns:1fr;}
  .processSection_grid::before{display:none;}
  .contactSplit_map,.contactSplit_map iframe{min-height:340px;}
}
@media (max-width:640px){
  .formatGrid,.principleGrid,.scheduleGrid,.blogGrid,.processSection_grid,.addressGrid{grid-template-columns:1fr;}
  .pageFooter_grid{grid-template-columns:1fr;}
  .formRow{grid-template-columns:1fr;}
  .mainHero_visualBadge{position:static;margin-top:-2rem;max-width:100%;}
  .cookieConsent{left:.8rem;bottom:.8rem;width:calc(100% - 1.6rem);}
  .ctaSplit{padding:var(--space-xl) 1.4rem;}
}