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

  --color-bg: #fbfaff;
  --color-bg-alt: #f3effc;
  --color-surface: #ffffff;
  --color-ink: #1e1b2e;
  --color-ink-soft: #55506e;
  --color-ink-faint: #8b86a3;
  --color-border: #ece7f8;

  --color-primary: #7c5cfc;
  --color-primary-dark: #5c3ff0;
  --color-pink: #ff6fa0;
  --color-blue: #5b9dff;
  --color-teal: #23c9b7;
  --color-peach: #ffb27a;

  --gradient-candy: linear-gradient(135deg,#ff6fa0 0%, #a06bff 35%, #5b9dff 68%, #23c9b7 100%);
  --gradient-candy-soft: linear-gradient(135deg, #ffe1ec 0%, #ece1ff 35%, #e0edff 68%, #d9faf3 100%);
  --gradient-candy-vertical: linear-gradient(180deg,#ff6fa0, #7c5cfc 55%, #23c9b7);

  --shadow-sm: 0 1px 2px rgba(40,20,80,.06), 0 1px 1px rgba(40,20,80,.04);
  --shadow-md: 0 8px 20px -6px rgba(70,40,140,.14), 0 3px 8px rgba(70,40,140,.08);
  --shadow-lg: 0 24px 48px -14px rgba(70,40,140,.24), 0 8px 20px rgba(70,40,140,.10);
  --shadow-glow: 0 0 0 1px rgba(255,255,255,.5) inset, 0 20px 45px -10px rgba(124,92,252,.35);

  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 30px;
  --radius-xl: 44px;
  --radius-full: 999px;

  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;

  --ease: cubic-bezier(.16,.84,.44,1);
  --transition: .35s var(--ease);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
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;}
ul{margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4{font-family:var(--font-heading);margin:0;font-weight:800;letter-spacing:-.01em;color:var(--color-ink);}
p{margin:0;color:var(--color-ink-soft);}


.section{padding-block:var(--space-9);}
.section__inner{max-width:1240px;margin-inline:auto;padding-inline:var(--space-5);}
.section__inner--narrow{max-width:880px;}
.section__inner--split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:center;}
.section__header{max-width:680px;margin-bottom:var(--space-7);}
.section__eyebrow{
  display:inline-flex;align-items:center;gap:var(--space-2);
  font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--color-primary);margin-bottom:var(--space-3);
}
.section__title{font-size:clamp(1.9rem,3vw + 1rem,2.75rem);line-height:1.15;margin-bottom:var(--space-4);}
.section__title--center{text-align:center;margin-inline:auto;}
.section__subtitle{font-size:1.05rem;color:var(--color-ink-soft);}
.section__subtitle-left{color:var(--color-ink-soft);margin-bottom:var(--space-5);}
.section__text-block{margin-bottom:var(--space-4);font-size:1.02rem;}
.link-arrow{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-primary);font-weight:700;transition:gap var(--transition), color var(--transition);}
.link-arrow:hover{gap:var(--space-3);color:var(--color-primary-dark);}


.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
  padding:.9rem 1.7rem;border-radius:var(--radius-full);font-weight:700;font-size:.98rem;
  border:none;transition:transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition);
  min-height:48px;
}
.btn--primary{
  background:var(--gradient-candy);color:#fff;box-shadow:var(--shadow-md);
}
.btn--primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-lg);}
.btn--primary:active{transform:translateY(0) scale(.99);}
.btn--ghost{
  background:var(--color-surface);color:var(--color-ink);border:1.5px solid var(--color-border);box-shadow:var(--shadow-sm);
}
.btn--ghost:hover{border-color:var(--color-primary);color:var(--color-primary-dark);transform:translateY(-2px);}


.header{
  position:fixed;inset-block-start:0;inset-inline:0;z-index:100;
  background:color-mix(in srgb, var(--color-bg) 82%, transparent);
  backdrop-filter:blur(14px);
  border-block-end:1px solid var(--color-border);
  transition:transform .5s var(--ease), opacity .5s var(--ease);
}
.header--hidden{transform:translateY(-120%);opacity:0;}
.header__inner{
  max-width:1320px;margin-inline:auto;padding:var(--space-4) var(--space-5);
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);
}
.header__logo{display:flex;align-items:center;gap:var(--space-2);}
.header__logo-img{width:36px;height:36px;}
.header__logo-text{font-family:var(--font-heading);font-weight:800;font-size:1.25rem;}
.header__nav{flex:1;display:flex;justify-content:center;}
.nav__list{display:flex;gap:var(--space-6);list-style:none;}
.nav__link{
  position:relative;font-weight:600;font-size:.95rem;color:var(--color-ink-soft);
  padding-block:var(--space-2);transition:color var(--transition);
}
.nav__link::after{
  content:'';position:absolute;inset-inline-start:0;inset-block-end:-2px;width:0;height:2px;
  background:var(--gradient-candy);transition:width var(--transition);border-radius:var(--radius-full);
}
.nav__link:hover{color:var(--color-ink);}
.nav__link:hover::after{width:100%;}
.nav__link--active{color:var(--color-ink);}
.nav__link--active::after{width:100%;}
.header__cta{
  display:inline-flex;padding:.7rem 1.4rem;border-radius:var(--radius-full);
  background:var(--gradient-candy);color:#fff;font-weight:700;font-size:.9rem;
  box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition);
  white-space:nowrap;
}
.header__cta:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.header__hamburger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;background:none;border:none;padding:0;
}
.header__hamburger span{width:24px;height:2px;background:var(--color-ink);border-radius:2px;margin-inline:auto;transition:var(--transition);}


.nav-pill{
  position:fixed;inset-block-start:18px;inset-inline-end:20px;z-index:101;
  width:52px;height:52px;border-radius:var(--radius-full);
  background:var(--gradient-candy);border:none;box-shadow:var(--shadow-lg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  opacity:0;pointer-events:none;transform:scale(.7) translateY(-10px);
  transition:opacity .4s var(--ease), transform .4s var(--ease);
}
.nav-pill--visible{opacity:1;pointer-events:auto;transform:scale(1) translateY(0);}
.nav-pill span{width:20px;height:2px;background:#fff;border-radius:2px;}
.nav-pill:hover{transform:scale(1.08);}


.mobile-nav{position:fixed;inset:0;z-index:200;visibility:hidden;pointer-events:none;}
.mobile-nav--active{visibility:visible;pointer-events:auto;}
.mobile-nav__overlay{
  position:absolute;inset:0;background:rgba(20,12,40,.5);opacity:0;
  transition:opacity .4s var(--ease);
}
.mobile-nav--active .mobile-nav__overlay{opacity:1;}
.mobile-nav__panel{
  position:absolute;inset-block:0;inset-inline-end:0;
  width:min(360px,86vw);height:100vh;background:var(--color-surface);
  box-shadow:var(--shadow-lg);
  padding:var(--space-7) var(--space-6);
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .5s var(--ease);
}
.mobile-nav--active .mobile-nav__panel{transform:translateX(0);}
.mobile-nav__close{
  align-self:flex-end;width:44px;height:44px;border-radius:var(--radius-full);
  background:var(--color-bg-alt);border:none;font-size:1.1rem;color:var(--color-ink);
  transition:background var(--transition), transform var(--transition);
}
.mobile-nav__close:hover{background:var(--color-border);transform:rotate(90deg);}
.mobile-nav__list{list-style:none;margin-block-start:var(--space-8);display:flex;flex-direction:column;gap:var(--space-5);}
.mobile-nav__link{font-size:1.3rem;font-weight:700;color:var(--color-ink);transition:color var(--transition), padding-inline-start var(--transition);display:block;}
.mobile-nav__link:hover{color:var(--color-primary);padding-inline-start:var(--space-2);}
.mobile-nav__cta{
  margin-block-start:auto;text-align:center;padding:1rem;border-radius:var(--radius-full);
  background:var(--gradient-candy);color:#fff;font-weight:700;
}


.hero{padding-block:calc(var(--space-9) + 3rem) var(--space-9);position:relative;overflow:hidden;}
.hero::before{
  content:'';position:absolute;inset-block-start:-200px;inset-inline-end:-200px;width:600px;height:600px;
  background:var(--gradient-candy-soft);border-radius:50%;filter:blur(10px);opacity:.6;z-index:-1;
}
.hero__inner{
  max-width:1280px;margin-inline:auto;padding-inline:var(--space-5);
  display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-8);align-items:center;
}
.hero__eyebrow{
  display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:.85rem;
  color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-4);
}
.hero__title{font-size:clamp(2.4rem,4vw + 1rem,3.8rem);line-height:1.1;margin-bottom:var(--space-5);}
.hero__title-gradient{
  background:var(--gradient-candy);-webkit-background-clip:text;background-clip:text;color:transparent;
  display:inline;
}
.hero__subtitle{font-size:1.15rem;max-width:560px;margin-bottom:var(--space-6);color:var(--color-ink-soft);}
.hero__actions{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-5);}
.hero__disclaimer{font-size:.85rem;color:var(--color-ink-faint);}
.hero__figure{position:relative;display:flex;justify-content:center;}
.hero__circle{
  width:min(420px,100%);aspect-ratio:1/1;border-radius:50%;overflow:hidden;position:relative;
  border:6px solid #fff;box-shadow:var(--shadow-glow);
}
.hero__circle::after{
  content:'';position:absolute;inset:0;border-radius:50%;
  background:linear-gradient(135deg, rgba(255,111,160,.15), rgba(35,201,183,.15));
}
.hero__img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.hero__figure:hover .hero__img{transform:scale(1.08);}
.hero__badge{
  position:absolute;background:#fff;border-radius:var(--radius-full);padding:.65rem 1.1rem;
  font-size:.85rem;font-weight:700;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:var(--space-2);
  animation:float 5s ease-in-out infinite;
}
.hero__badge i{color:var(--color-primary);}
.hero__badge--one{inset-block-start:5%;inset-inline-start:-6%;animation-delay:0s;}
.hero__badge--two{inset-block-end:12%;inset-inline-end:-8%;animation-delay:1.2s;}
.hero__badge--three{inset-block-end:-4%;inset-inline-start:18%;animation-delay:2.4s;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}


.section--intro{background:var(--color-bg-alt);}
.philosophy-preview__figure{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);}
.philosophy-preview__img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .6s var(--ease);}
.philosophy-preview__figure:hover .philosophy-preview__img{transform:scale(1.05);}


.modules{background:var(--color-surface);}
.modules__grid{
  columns:3 300px;column-gap:var(--space-6);
}
.module-card{
  break-inside:avoid;margin-bottom:var(--space-6);
  background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);
  padding:var(--space-6);position:relative;box-shadow:var(--shadow-sm);
  transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
  overflow:hidden;
}
.module-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:transparent;}
.module-card::before{
  content:'';position:absolute;inset:0;border-radius:var(--radius-lg);padding:2px;
  background:var(--gradient-candy);opacity:0;transition:opacity var(--transition);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;
}
.module-card:hover::before{opacity:1;}
.module-card__number{
  font-family:var(--font-heading);font-weight:800;font-size:1rem;color:#fff;
  background:var(--gradient-candy);width:38px;height:38px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);
}
.module-card__img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-md);margin-bottom:var(--space-4);}
.module-card__title{font-size:1.25rem;margin-bottom:var(--space-3);line-height:1.3;}
.module-card__body{font-size:.96rem;margin-bottom:var(--space-4);}
.module-card__tag{
  display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, white);
  padding:.35rem .8rem;border-radius:var(--radius-full);
}
.module-card--tall{padding-block-end:var(--space-7);}


.compare__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);}
.compare__col{
  background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-7);
  border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition);
}
.compare__col:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.compare__col--alt{background:linear-gradient(160deg,#fff, var(--color-bg-alt));border-color:transparent;position:relative;}
.compare__col--alt::before{
  content:'';position:absolute;inset:0;border-radius:var(--radius-lg);padding:2px;
  background:var(--gradient-candy);opacity:.5;
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;
}
.compare__icon{
  width:56px;height:56px;border-radius:var(--radius-md);background:var(--gradient-candy-soft);
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--color-primary);
  margin-bottom:var(--space-5);
}
.compare__title{font-size:1.4rem;margin-bottom:var(--space-5);}
.compare__list{list-style:none;display:flex;flex-direction:column;gap:var(--space-4);}
.compare__item{display:flex;align-items:flex-start;gap:var(--space-3);font-size:.98rem;color:var(--color-ink-soft);}
.compare__item i{margin-block-start:.2rem;color:var(--color-teal);flex-shrink:0;}
.compare__item i.fa-circle-xmark{color:var(--color-pink);}


.faq__list{display:flex;flex-direction:column;gap:var(--space-4);}
.faq__item{
  background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);
  overflow:hidden;transition:box-shadow var(--transition), border-color var(--transition);
}
.faq__item:hover{box-shadow:var(--shadow-md);}
.faq__question{
  width:100%;background:none;border:none;padding:var(--space-5) var(--space-6);
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);
  font-weight:700;font-size:1.02rem;color:var(--color-ink);text-align:start;
}
.faq__icon{transition:transform var(--transition);color:var(--color-primary);flex-shrink:0;}
.faq__item--open .faq__icon{transform:rotate(180deg);}
.faq__answer{
  max-height:0;overflow:hidden;transition:max-height .5s var(--ease), padding var(--transition);
  padding-inline:var(--space-6);
}
.faq__item--open .faq__answer{max-height:400px;padding-block-end:var(--space-5);}
.faq__answer p{font-size:.98rem;}


.contact-preview__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);}
.contact-card{
  background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-6);
  border:1px solid var(--color-border);box-shadow:var(--shadow-sm);text-align:center;
  transition:transform var(--transition), box-shadow var(--transition);
}
.contact-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.contact-card__icon{
  width:56px;height:56px;margin-inline:auto;border-radius:50%;background:var(--gradient-candy);
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:var(--space-4);
}
.contact-card__title{font-size:1.1rem;margin-bottom:var(--space-2);}
.contact-card__text a{color:var(--color-primary);font-weight:600;transition:color var(--transition);}
.contact-card__text a:hover{color:var(--color-primary-dark);}
.contact-preview__cta{text-align:center;margin-block-start:var(--space-7);}


.page-hero{padding-block:calc(var(--space-9) + 2rem) var(--space-8);background:var(--gradient-candy-soft);position:relative;overflow:hidden;}
.page-hero--legal{padding-block:calc(var(--space-8) + 2rem) var(--space-6);}
.page-hero__inner{max-width:900px;margin-inline:auto;padding-inline:var(--space-5);text-align:center;}
.page-hero__inner--split{max-width:1240px;text-align:start;display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-7);align-items:center;}
.page-hero--split{text-align:start;}
.page-hero__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;margin-bottom:var(--space-4);}
.page-hero__title{font-size:clamp(2.2rem,4vw + 1rem,3.4rem);line-height:1.15;margin-bottom:var(--space-4);}
.page-hero__title-gradient{background:var(--gradient-candy);-webkit-background-clip:text;background-clip:text;color:transparent;}
.page-hero__subtitle{font-size:1.1rem;color:var(--color-ink-soft);max-width:640px;}
.page-hero__figure{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);}
.page-hero__img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;}


.philosophy-grid__cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5);}
.philosophy-card{
  background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-6);
  border:1px solid var(--color-border);box-shadow:var(--shadow-sm);
  transition:transform var(--transition), box-shadow var(--transition);
}
.philosophy-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.philosophy-card__icon{
  width:52px;height:52px;border-radius:var(--radius-sm);background:var(--gradient-candy-soft);
  display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--color-primary);margin-bottom:var(--space-4);
}
.philosophy-card__title{font-size:1.1rem;margin-bottom:var(--space-3);}
.philosophy-card__body{font-size:.95rem;}


.quote-block{
  display:flex;gap:var(--space-6);align-items:center;background:var(--color-surface);
  border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--color-border);
}
.quote-block__img{width:160px;height:160px;border-radius:var(--radius-md);object-fit:cover;flex-shrink:0;}
.quote-block__text{font-size:1.15rem;font-style:italic;color:var(--color-ink);margin-bottom:var(--space-3);line-height:1.5;}
.quote-block__attribution{font-size:.85rem;color:var(--color-ink-faint);font-weight:600;}


.update-list{display:flex;flex-direction:column;gap:var(--space-5);}
.update-card{
  background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-6);
  border-inline-start:4px solid var(--color-primary);box-shadow:var(--shadow-sm);
  transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.update-card:hover{transform:translateX(6px);box-shadow:var(--shadow-md);border-color:var(--color-teal);}
.update-card__date{font-size:.82rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-2);}
.update-card__title{font-size:1.15rem;margin-bottom:var(--space-3);}
.update-card__body{font-size:.96rem;}
.update-figure-section{background:var(--color-bg-alt);}


.recognize-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5);margin-block-start:var(--space-6);}
.recognize-card{
  background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-6);
  border:1px solid var(--color-border);box-shadow:var(--shadow-sm);text-align:center;
  transition:transform var(--transition), box-shadow var(--transition);
}
.recognize-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.recognize-card i{font-size:1.8rem;color:var(--color-primary);margin-bottom:var(--space-3);display:block;}
.recognize-card p{font-size:.96rem;}


.for-page-modules{background:var(--color-surface);}
.detail-row{display:flex;gap:var(--space-6);padding-block:var(--space-6);border-block-end:1px solid var(--color-border);}
.detail-row:last-child{border-block-end:none;}
.detail-row__number{
  font-family:var(--font-heading);font-weight:800;font-size:2rem;
  background:var(--gradient-candy);-webkit-background-clip:text;background-clip:text;color:transparent;
  flex-shrink:0;width:70px;
}
.detail-row__title{font-size:1.3rem;margin-bottom:var(--space-3);}
.detail-row__body{font-size:1rem;}


.format-section{background:var(--color-bg-alt);}
.format-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5);margin-block-start:var(--space-6);}
.format-item{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-6);text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:transform var(--transition), box-shadow var(--transition);}
.format-item:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.format-item i{font-size:1.7rem;color:var(--color-primary);margin-bottom:var(--space-3);display:block;}
.format-item h4{font-size:1.02rem;margin-bottom:var(--space-2);}
.format-item p{font-size:.9rem;}
.format-cta{text-align:center;margin-block-start:var(--space-7);}


.legal-stack{display:flex;flex-direction:column;gap:var(--space-5);}
.legal-card{
  background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-7);
  box-shadow:var(--shadow-md);border:1px solid var(--color-border);
}
.legal-card__title{font-size:1.25rem;margin-bottom:var(--space-4);}
.legal-card p{font-size:.98rem;}


.team-figure{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);}
.team-figure__img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;}


.form{display:flex;flex-direction:column;gap:var(--space-5);}
.form__group{position:relative;}
.form__input{
  width:100%;padding:1.2rem 1.1rem .6rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);
  font-family:inherit;font-size:1rem;color:var(--color-ink);background:var(--color-surface);
  transition:border-color var(--transition), box-shadow var(--transition);
}
.form__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-primary) 15%, transparent);}
.form__textarea{resize:vertical;min-height:120px;padding-block-start:1.4rem;}
.form__select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath fill='%237c5cfc' d='M0 0l7 9 7-9z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.1rem center;padding-inline-end:2.5rem;}
.form__label{
  position:absolute;inset-inline-start:1.1rem;inset-block-start:1.1rem;color:var(--color-ink-faint);
  font-size:1rem;pointer-events:none;transition:all var(--transition);background:var(--color-surface);padding-inline:.25rem;
}
.form__input:focus + .form__label,
.form__input:not(:placeholder-shown) + .form__label{
  inset-block-start:-.55rem;font-size:.78rem;color:var(--color-primary);font-weight:700;
}
.form__label--select{inset-block-start:-.55rem;font-size:.78rem;color:var(--color-primary);font-weight:700;}
.form__checkbox-wrap{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer;}
.form__checkbox{position:absolute;opacity:0;width:0;height:0;}
.form__checkbox-box{
  width:24px;height:24px;border-radius:8px;border:1.5px solid var(--color-border);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;
  transition:background var(--transition), border-color var(--transition);margin-block-start:2px;
}
.form__checkbox:checked + .form__checkbox-box{background:var(--gradient-candy);border-color:transparent;}
.form__checkbox-text{font-size:.9rem;color:var(--color-ink-soft);}
.form__checkbox-text a{color:var(--color-primary);font-weight:600;}
.form__submit{align-self:flex-start;}

.contact-map-wrap{display:flex;flex-direction:column;gap:var(--space-5);}
.contact-map{width:100%;aspect-ratio:4/3;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);}
.contact-hours{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-6);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);}
.contact-hours__title{font-size:1.05rem;margin-bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-2);}
.contact-hours__text{font-size:.94rem;}


.thanks{min-height:70vh;display:flex;align-items:center;justify-content:center;padding-block:var(--space-9);}
.thanks__inner{max-width:560px;text-align:center;padding-inline:var(--space-5);}
.thanks__icon{font-size:4rem;background:var(--gradient-candy);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:var(--space-5);}
.thanks__title{font-size:clamp(1.9rem,3vw + 1rem,2.6rem);margin-bottom:var(--space-4);}
.thanks__text{margin-bottom:var(--space-4);font-size:1.02rem;}
.thanks__inner .btn{margin-block-start:var(--space-4);}


.footer{background:var(--color-ink);color:#e8e5f5;margin-block-start:auto;}
.footer__inner{max-width:1240px;margin-inline:auto;padding:var(--space-8) var(--space-5) var(--space-6);}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:var(--space-6);margin-bottom:var(--space-7);}
.footer__logo{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);font-weight:800;font-size:1.2rem;color:#fff;}
.footer__logo-img{width:32px;height:32px;}
.footer__text{color:#b3adcf;font-size:.92rem;}
.footer__heading{color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-4);}
.footer__list{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);color:#b3adcf;font-size:.92rem;}
.footer__link{color:#b3adcf;transition:color var(--transition), padding-inline-start var(--transition);}
.footer__link:hover{color:#fff;padding-inline-start:4px;}
.footer__bottom{
  border-block-start:1px solid rgba(255,255,255,.12);padding-block-start:var(--space-5);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3);
  color:#9a94bd;font-size:.85rem;
}


body{display:flex;flex-direction:column;min-height:100vh;}
main{flex:1;}


@keyframes fadeInUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}


@media (max-width:1024px){
  .header__nav, .header__cta{display:none;}
  .header__hamburger{display:flex;}
  .hero__inner{grid-template-columns:1fr;text-align:center;}
  .hero__subtitle{margin-inline:auto;}
  .hero__actions{justify-content:center;}
  .hero__figure{margin-block-start:var(--space-6);}
  .section__inner--split{grid-template-columns:1fr;}
  .page-hero__inner--split{grid-template-columns:1fr;text-align:center;}
  .modules__grid{columns:2 260px;}
  .compare__grid{grid-template-columns:1fr;}
  .contact-preview__grid{grid-template-columns:1fr;}
  .philosophy-grid__cards{grid-template-columns:repeat(2,1fr);}
  .format-grid{grid-template-columns:repeat(2,1fr);}
  .recognize-grid{grid-template-columns:1fr;}
  .quote-block{flex-direction:column;text-align:center;}
}

@media (max-width:640px){
  .section{padding-block:var(--space-7);}
  .hero{padding-block:var(--space-8) var(--space-7);}
  .modules__grid{columns:1;}
  .footer__grid{grid-template-columns:1fr 1fr;}
  .footer__col--brand{grid-column:1/-1;}
  .detail-row{flex-direction:column;gap:var(--space-3);}
  .detail-row__number{width:auto;}
  .nav-pill{inset-block-start:14px;inset-inline-end:14px;width:46px;height:46px;}
}

@media (max-width:480px){
  .hero__badge{display:none;}
  .footer__grid{grid-template-columns:1fr;}
  .footer__bottom{flex-direction:column;align-items:flex-start;}
}


.cookie-pill{
  position:fixed;inset-block-end:24px;inset-inline-start:50%;transform:translateX(-50%);
  z-index:300;background:var(--color-ink);color:#fff;border-radius:var(--radius-full);
  padding:.85rem 1.4rem;display:flex;align-items:center;gap:var(--space-3);
  box-shadow:var(--shadow-lg);font-size:.88rem;max-width:92vw;
  transition:all .5s var(--ease);
}
.cookie-pill--expanded{
  border-radius:var(--radius-lg);flex-direction:column;align-items:stretch;
  width:min(460px,92vw);padding:var(--space-6);gap:var(--space-4);
}
.cookie-pill__row{display:flex;align-items:center;gap:var(--space-3);}
.cookie-pill__text{color:#e8e5f5;line-height:1.4;}
.cookie-pill__text a{color:#fff;text-decoration:underline;}
.cookie-pill__actions{display:flex;gap:var(--space-2);flex-shrink:0;}
.cookie-pill__btn{
  border:none;border-radius:var(--radius-full);padding:.55rem 1rem;font-weight:700;font-size:.82rem;
  transition:transform var(--transition), background var(--transition);white-space:nowrap;
}
.cookie-pill__btn--accept{background:var(--gradient-candy);color:#fff;}
.cookie-pill__btn--manage{background:rgba(255,255,255,.12);color:#fff;}
.cookie-pill__btn:hover{transform:translateY(-2px);}
.cookie-pill__categories{display:flex;flex-direction:column;gap:var(--space-3);}
.cookie-pill__category{
  display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);
  background:rgba(255,255,255,.06);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);
}
.cookie-pill__category-title{font-weight:700;font-size:.88rem;color:#fff;}
.cookie-pill__category-desc{font-size:.78rem;color:#b3adcf;margin-block-start:2px;}
.cookie-pill__toggle{position:relative;width:44px;height:24px;flex-shrink:0;}
.cookie-pill__toggle input{opacity:0;width:0;height:0;}
.cookie-pill__toggle-slider{
  position:absolute;inset:0;background:rgba(255,255,255,.2);border-radius:var(--radius-full);
  cursor:pointer;transition:background var(--transition);
}
.cookie-pill__toggle-slider::before{
  content:'';position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;
  inset-block-start:3px;inset-inline-start:3px;transition:transform var(--transition);
}
.cookie-pill__toggle input:checked + .cookie-pill__toggle-slider{background:var(--gradient-candy);}
.cookie-pill__toggle input:checked + .cookie-pill__toggle-slider::before{transform:translateX(20px);}
.cookie-pill__toggle input:disabled + .cookie-pill__toggle-slider{opacity:.5;cursor:not-allowed;}
.cookie-pill__footer-actions{display:flex;gap:var(--space-3);justify-content:flex-end;}

@media (max-width:640px){
  .cookie-pill{inset-block-end:14px;}
  .cookie-pill__row{flex-wrap:wrap;justify-content:center;text-align:center;}
}