:root{
  --color-bg:#FBF5EC;
  --color-bg-alt:#F3E6D6;
  --color-surface:#FFFDF9;
  --color-surface-alt:#F7EEE1;
  --color-text:#2B2117;
  --color-text-muted:#6E6156;
  --color-border:#E7D8C4;
  --color-primary:#BE5B36;
  --color-primary-dark:#9C4527;
  --color-primary-light:#EFCBB4;
  --color-secondary:#5C6E4E;
  --color-secondary-dark:#465939;
  --color-accent:#D9A052;
  --color-rose:#C08574;
  --color-cream-shadow:rgba(120,72,40,0.14);

  --font-heading:'DM Serif Display', serif;
  --font-body:'DM Sans', sans-serif;

  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:24px;
  --radius-xl:36px;
  --radius-pill:999px;

  --shadow-sm:0 2px 8px rgba(120,72,40,0.08);
  --shadow-md:0 8px 24px rgba(120,72,40,0.10), 0 2px 6px rgba(120,72,40,0.08);
  --shadow-lg:0 20px 50px rgba(120,72,40,0.16), 0 6px 16px rgba(120,72,40,0.08);
  --shadow-inset:inset 0 1px 2px rgba(120,72,40,0.08);

  --space-1:0.5rem;
  --space-2:1rem;
  --space-3:1.5rem;
  --space-4:2rem;
  --space-5:3rem;
  --space-6:4rem;
  --space-7:6rem;
  --space-8:8rem;

  --transition-fast:0.2s ease;
  --transition-base:0.35s cubic-bezier(.4,0,.2,1);
  --transition-slow:0.6s cubic-bezier(.4,0,.2,1);
}

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

.u-container{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  padding:0 var(--space-3);
}
.u-hidden{display:none !important;}
.u-text-center{text-align:center;}

h1,h2,h3,h4{
  font-family:var(--font-heading);
  font-weight:400;
  line-height:1.15;
  color:var(--color-text);
}
.c-eyebrow{
  display:inline-block;
  font-size:0.8rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--color-primary-dark);
  margin-bottom:var(--space-2);
}
.s-heading{
  font-size:clamp(1.8rem,3.2vw,2.6rem);
  margin-bottom:var(--space-3);
}
p{color:var(--color-text-muted);}

.u-reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity 0.7s ease, transform 0.7s ease;
}
.u-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}


.c-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.5rem;
  padding:0.85rem 1.6rem;
  border-radius:var(--radius-pill);
  font-weight:700;
  font-size:0.95rem;
  min-height:48px;
  transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast), color var(--transition-fast);
  white-space:nowrap;
}
.c-btn--primary{
  background:var(--color-primary);
  color:#FFF9F2;
  box-shadow:var(--shadow-md);
}
.c-btn--primary:hover{
  background:var(--color-primary-dark);
  transform:translateY(-2px);
  box-shadow:var(--shadow-lg);
}
.c-btn--primary:active{transform:translateY(0px) scale(0.98);}
.c-btn--ghost{
  background:transparent;
  color:var(--color-primary-dark);
  border:2px solid var(--color-primary-light);
}
.c-btn--ghost:hover{
  background:var(--color-primary-light);
  transform:translateY(-2px);
}
.c-btn--secondary{
  background:var(--color-secondary);
  color:#FBF5EC;
}
.c-btn--secondary:hover{background:var(--color-secondary-dark);transform:translateY(-2px);}
.c-btn--lg{padding:1rem 2.2rem;font-size:1.05rem;}


.c-nav{
  position:fixed;
  top:0;left:0;right:0;
  z-index:1000;
  background:rgba(251,245,236,0.92);
  backdrop-filter:blur(10px);
  box-shadow:var(--shadow-sm);
  transition:transform 0.4s ease, opacity 0.4s ease;
}
.c-nav.is-condensed{
  transform:translateY(-120%);
  opacity:0;
  pointer-events:none;
}
.c-nav.is-menu-open{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}
.c-nav__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1rem var(--space-3);
  gap:var(--space-3);
}
.c-nav__brand{display:flex;align-items:center;gap:0.6rem;}
.c-nav__logo{width:38px;height:38px;}
.c-nav__brandtext{font-family:var(--font-heading);font-size:1.3rem;color:var(--color-text);}
.c-nav__links{display:flex;gap:var(--space-4);}
.c-nav__links a{
  font-weight:500;
  color:var(--color-text-muted);
  position:relative;
  padding:0.3rem 0;
  transition:color var(--transition-fast);
}
.c-nav__links a::after{
  content:'';
  position:absolute;
  left:0;bottom:-2px;
  height:2px;width:0;
  background:var(--color-primary);
  transition:width var(--transition-base);
}
.c-nav__links a:hover{color:var(--color-text);}
.c-nav__links a:hover::after,
.c-nav__links a.is-active::after{width:100%;}
.c-nav__links a.is-active{color:var(--color-primary-dark);}
.c-nav__cta{display:inline-flex;}
.c-nav__burger{
  display:none;
  flex-direction:column;
  gap:5px;
  width:44px;height:44px;
  align-items:center;justify-content:center;
}
.c-nav__burger span{
  display:block;width:22px;height:2px;
  background:var(--color-text);
  transition:transform var(--transition-fast), opacity var(--transition-fast);
}
.c-nav__burger.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.c-nav__burger.is-active span:nth-child(2){opacity:0;}
.c-nav__burger.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.c-nav__accordion{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.4s ease;
  background:var(--color-surface);
}
.c-nav__accordion.is-open{max-height:520px;}
.c-nav__accordion-list{padding:var(--space-2) var(--space-3) var(--space-3);}
.c-nav__accordion-list > li{border-bottom:1px solid var(--color-border);}
.c-nav__accordion-list > li > a{
  display:block;padding:0.9rem 0.2rem;font-weight:600;
}
.c-nav__accordion-toggle{
  width:100%;
  display:flex;justify-content:space-between;align-items:center;
  padding:0.9rem 0.2rem;
  font-weight:600;
  font-size:1rem;
}
.c-nav__accordion-toggle i{transition:transform var(--transition-fast);}
.c-nav__accordion-toggle.is-open i{transform:rotate(180deg);}
.c-nav__accordion-sub{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.35s ease;
  padding-left:var(--space-2);
}
.c-nav__accordion-sub.is-open{max-height:200px;}
.c-nav__accordion-sub li a{display:block;padding:0.6rem 0.2rem;color:var(--color-text-muted);}

.c-nav__pill{
  position:fixed;
  top:16px;left:50%;
  transform:translateX(-50%) scale(0.7);
  width:52px;height:52px;
  border-radius:50%;
  background:var(--color-primary);
  color:#FFF9F2;
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-lg);
  z-index:1001;
  opacity:0;
  pointer-events:none;
  transition:opacity var(--transition-base), transform var(--transition-base), background var(--transition-fast);
  font-size:1.2rem;
}
.c-nav__pill.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) scale(1);
}
.c-nav__pill:hover{background:var(--color-primary-dark);}
.c-nav__pill.is-active i::before{content:"\f00d";}

@media (max-width:900px){
  .c-nav__links,.c-nav__cta{display:none;}
  .c-nav__burger{display:flex;}
}


.s-hero{padding:calc(var(--space-8) + 2rem) 0 var(--space-7);}
.s-hero__inner{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-6);
  align-items:center;
}
@media (min-width:900px){
  .s-hero__inner{grid-template-columns:45% 55%;}
}
.s-hero__title{
  font-size:clamp(2.4rem,5.5vw,4.2rem);
  margin-bottom:var(--space-3);
}
.s-hero__title em{color:var(--color-primary);font-style:normal;}
.s-hero__lead{font-size:1.1rem;margin-bottom:var(--space-4);max-width:540px;}
.s-hero__actions{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-5);}
.s-hero__stats{display:flex;gap:var(--space-4);flex-wrap:wrap;}
.c-stat{display:flex;flex-direction:column;}
.c-stat__num{font-family:var(--font-heading);font-size:1.8rem;color:var(--color-primary-dark);}
.c-stat__label{font-size:0.85rem;color:var(--color-text-muted);max-width:140px;}

.s-hero__media{position:relative;}
.s-hero__img{
  width:100%;
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-lg);
  aspect-ratio:4/5;
  object-fit:cover;
}
.c-float-card{
  position:absolute;
  bottom:-30px;left:-30px;
  max-width:250px;
  background:var(--color-surface);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  padding:var(--space-3);
  display:flex;
  gap:0.8rem;
  align-items:flex-start;
  border:1px solid var(--color-border);
}
.c-float-card i{color:var(--color-accent);font-size:1.4rem;margin-top:2px;}
.c-float-card p{font-size:0.85rem;color:var(--color-text);}
@media (max-width:640px){
  .c-float-card{left:10px;bottom:-24px;max-width:200px;padding:var(--space-2);}
}


.s-scenarios{padding:var(--space-7) 0;background:var(--color-bg-alt);}
.s-scenarios__head{max-width:640px;margin-bottom:var(--space-5);}
.s-scenarios__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-3);
}
@media (min-width:640px){.s-scenarios__grid{grid-template-columns:1fr 1fr;}}
@media (min-width:1100px){.s-scenarios__grid{grid-template-columns:1fr 1fr 1fr 1fr;}}
.c-scenario{
  background:var(--color-surface);
  border-radius:var(--radius-lg);
  padding:var(--space-4);
  box-shadow:var(--shadow-sm);
  transition:transform var(--transition-base), box-shadow var(--transition-base);
}
.c-scenario:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.c-scenario i{font-size:1.6rem;color:var(--color-primary);margin-bottom:var(--space-2);}
.c-scenario h3{font-size:1.15rem;margin-bottom:0.6rem;font-family:var(--font-body);font-weight:700;}
.c-scenario p{font-size:0.92rem;}


.s-compare{padding:var(--space-7) 0;}
.s-compare__head{max-width:640px;margin-bottom:var(--space-5);}
.s-compare__lead{margin-top:var(--space-2);}
.s-compare__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-3);
}
@media (min-width:800px){.s-compare__grid{grid-template-columns:1fr 1fr;}}
.c-compare-card{
  background:var(--color-surface);
  border-radius:var(--radius-lg);
  padding:var(--space-4);
  box-shadow:var(--shadow-sm);
  border:1px solid var(--color-border);
}
.c-compare-card--highlight{
  background:var(--color-surface-alt);
  border-color:var(--color-primary-light);
  box-shadow:var(--shadow-md);
}
.c-compare-card h3{font-size:1.2rem;margin-bottom:var(--space-3);display:flex;gap:0.6rem;align-items:center;font-family:var(--font-body);font-weight:700;}
.c-compare-card h3 i{color:var(--color-primary);}
.c-compare-card li{display:flex;gap:0.7rem;align-items:flex-start;margin-bottom:0.8rem;font-size:0.94rem;color:var(--color-text);}
.c-compare-card li i{margin-top:3px;color:var(--color-secondary);}
.c-compare-card:first-child li i{color:var(--color-rose);}


.s-process{padding:var(--space-7) 0;background:var(--color-bg-alt);}
.s-process__inner{display:grid;grid-template-columns:1fr;gap:var(--space-5);align-items:center;}
@media (min-width:900px){.s-process__inner{grid-template-columns:55% 45%;}}
.c-step{display:flex;gap:var(--space-3);margin-bottom:var(--space-3);}
.c-step__num{
  font-family:var(--font-heading);
  font-size:1.6rem;
  color:var(--color-primary-light);
  min-width:50px;
}
.c-step h4{font-size:1.1rem;margin-bottom:0.3rem;}
.c-step p{font-size:0.93rem;}
.s-process__img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;aspect-ratio:4/5;object-fit:cover;}


.s-calc{padding:var(--space-7) 0;}
.s-calc__inner{display:grid;grid-template-columns:1fr;gap:var(--space-5);align-items:center;}
@media (min-width:900px){.s-calc__inner{grid-template-columns:45% 55%;}}
.s-calc__img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;aspect-ratio:4/5;object-fit:cover;}
.s-calc__lead{margin-bottom:var(--space-3);}
.c-calc-form{
  display:grid;
  gap:var(--space-2);
  background:var(--color-surface);
  padding:var(--space-4);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  border:1px solid var(--color-border);
}
.c-calc-form label{display:flex;flex-direction:column;gap:0.4rem;font-size:0.9rem;font-weight:600;color:var(--color-text);}
.c-calc-form input{
  padding:0.75rem 1rem;
  border-radius:var(--radius-sm);
  border:1.5px solid var(--color-border);
  background:var(--color-bg);
  font-size:1rem;
  transition:border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.c-calc-form input:focus{
  outline:none;
  border-color:var(--color-primary);
  box-shadow:0 0 0 4px var(--color-primary-light);
}
.c-calc-form button{margin-top:0.4rem;}
.c-calc-result{
  margin-top:var(--space-3);
  background:var(--color-surface-alt);
  border-radius:var(--radius-lg);
  padding:var(--space-3);
  border:1px dashed var(--color-primary-light);
  min-height:80px;
  display:flex;align-items:center;
}
.c-calc-result__placeholder{font-size:0.9rem;font-style:italic;}
.c-calc-result__value{font-family:var(--font-heading);font-size:1.8rem;color:var(--color-primary-dark);}
.c-calc-result__note{font-size:0.8rem;margin-top:0.3rem;}


.s-programs{padding:var(--space-7) 0;background:var(--color-bg-alt);}
.s-programs__head{max-width:640px;margin-bottom:var(--space-5);}
.s-programs__grid{display:grid;grid-template-columns:1fr;gap:var(--space-3);}
@media (min-width:800px){.s-programs__grid{grid-template-columns:1fr 1fr;}}
.c-program-card{
  position:relative;
  background:var(--color-surface);
  border-radius:var(--radius-lg);
  padding:var(--space-4);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
  transition:transform var(--transition-base), box-shadow var(--transition-base);
}
.c-program-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.c-program-card h3{font-size:1.5rem;margin-bottom:0.6rem;}
.c-program-card__desc{margin-bottom:var(--space-3);font-size:0.94rem;}
.c-program-card ul{margin-bottom:var(--space-3);}
.c-program-card li{display:flex;gap:0.6rem;align-items:flex-start;margin-bottom:0.6rem;font-size:0.9rem;color:var(--color-text);}
.c-program-card li i{color:var(--color-secondary);margin-top:2px;}

.c-program-card--ribbon{border:1px solid var(--color-primary-light);}
.c-ribbon{
  position:absolute;
  top:18px;right:-38px;
  background:var(--color-primary);
  color:#FFF9F2;
  font-size:0.75rem;
  font-weight:700;
  letter-spacing:0.05em;
  text-transform:uppercase;
  padding:0.35rem 2.6rem;
  transform:rotate(45deg);
  box-shadow:var(--shadow-sm);
}


.s-faq{padding:var(--space-7) 0;}
.s-faq__inner > div:first-child{max-width:640px;margin-bottom:var(--space-4);}
.c-faq-list{max-width:760px;}
.c-faq{border-bottom:1px solid var(--color-border);}
.c-faq__q{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:var(--space-3) 0.2rem;
  font-weight:700;
  font-size:1rem;
  text-align:left;
  color:var(--color-text);
  transition:color var(--transition-fast);
}
.c-faq__q:hover{color:var(--color-primary-dark);}
.c-faq__q i{transition:transform var(--transition-fast);color:var(--color-primary);}
.c-faq.is-open .c-faq__q i{transform:rotate(180deg);}
.c-faq__a{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.4s ease;
}
.c-faq.is-open .c-faq__a{max-height:300px;}
.c-faq__a p{padding:0 0.2rem var(--space-3);font-size:0.94rem;}


.s-cta{padding:var(--space-7) 0;}
.s-cta__inner{
  background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);
  color:#FFF9F2;
  border-radius:var(--radius-xl);
  padding:var(--space-6) var(--space-4);
  text-align:center;
  box-shadow:var(--shadow-lg);
}
.s-cta__inner h2{color:#FFF9F2;}
.s-cta__inner p{color:rgba(255,249,242,0.85);max-width:560px;margin:0 auto var(--space-4);}
.s-cta .c-btn--primary{background:#FFF9F2;color:var(--color-primary-dark);}
.s-cta .c-btn--primary:hover{background:#fff;}


.c-footer{background:#2A2117;color:#EFE4D6;padding-top:var(--space-6);margin-top:auto;}
.c-footer__inner{display:grid;grid-template-columns:1fr;gap:var(--space-5);padding-bottom:var(--space-5);}
@media (min-width:800px){.c-footer__inner{grid-template-columns:2fr 1fr 1fr 1fr;}}
.c-footer__logo{width:38px;height:38px;margin-bottom:var(--space-2);filter:brightness(1.4);}
.c-footer__brand p{color:#C9BBA6;font-size:0.9rem;margin-bottom:0.6rem;}
.c-footer__addr{display:flex;gap:0.5rem;align-items:flex-start;}
.c-footer__col h4{color:#EFE4D6;font-family:var(--font-body);font-size:1rem;margin-bottom:var(--space-2);font-weight:700;}
.c-footer__col a{display:block;color:#C9BBA6;font-size:0.9rem;margin-bottom:0.6rem;transition:color var(--transition-fast);}
.c-footer__col a:hover{color:var(--color-accent);}
.c-footer__brand a{color:#EFE4D6;}
.c-footer__bottom{
  border-top:1px solid rgba(255,255,255,0.1);
  padding:var(--space-3);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:0.5rem;
  font-size:0.8rem;
  color:#A79579;
}


.s-page-hero{padding:calc(var(--space-8) + 1rem) 0 var(--space-5);background:var(--color-bg-alt);}
.s-page-hero__inner{max-width:760px;}
.s-page-hero__title{font-size:clamp(2rem,4.5vw,3.2rem);margin-bottom:var(--space-2);}
.s-page-hero__lead{font-size:1.05rem;}


.s-narrative{padding:var(--space-7) 0;}
.s-narrative__grid{display:grid;grid-template-columns:1fr;gap:var(--space-5);align-items:center;}
@media (min-width:900px){.s-narrative__grid{grid-template-columns:55% 45%;}}
.s-narrative__text p{margin-bottom:var(--space-2);}
.s-narrative__img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;aspect-ratio:4/5;object-fit:cover;}

.s-friction-types{padding:var(--space-7) 0;background:var(--color-bg-alt);}
.s-friction-types__grid{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-top:var(--space-4);}
@media (min-width:700px){.s-friction-types__grid{grid-template-columns:1fr 1fr;}}
@media (min-width:1100px){.s-friction-types__grid{grid-template-columns:1fr 1fr 1fr 1fr;}}
.c-friction-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:transform var(--transition-base);}
.c-friction-card:hover{transform:translateY(-5px);}
.c-friction-card__num{font-family:var(--font-heading);font-size:1.8rem;color:var(--color-primary-light);}
.c-friction-card h3{font-size:1.1rem;margin:0.4rem 0 0.5rem;}
.c-friction-card p{font-size:0.9rem;}

.s-shift{padding:var(--space-7) 0;}
.s-shift__grid{display:grid;grid-template-columns:1fr;gap:var(--space-5);align-items:center;}
@media (min-width:900px){.s-shift__grid{grid-template-columns:45% 55%;}}
.s-shift__img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;aspect-ratio:4/5;object-fit:cover;cursor:pointer;transition:transform var(--transition-base);}
.s-shift__img:hover{transform:scale(1.02);}
.s-shift__text p{margin-bottom:var(--space-2);}

.s-not-do{padding:var(--space-7) 0;background:var(--color-bg-alt);}
.s-not-do__grid{display:grid;grid-template-columns:1fr;gap:var(--space-2);margin-top:var(--space-4);}
@media (min-width:700px){.s-not-do__grid{grid-template-columns:1fr 1fr;}}
.c-notdo{
  display:flex;gap:var(--space-2);align-items:flex-start;
  background:var(--color-surface);
  padding:var(--space-3);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);
}
.c-notdo i{color:var(--color-rose);margin-top:3px;}
.c-notdo p{font-size:0.92rem;color:var(--color-text);}

.s-gallery{padding:var(--space-7) 0;}
.s-gallery__grid{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-top:var(--space-4);}
@media (min-width:700px){.s-gallery__grid{grid-template-columns:1fr 1fr;}}
.c-gallery-item{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);display:block;position:relative;}
.c-gallery-item img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform var(--transition-slow);}
.c-gallery-item:hover img{transform:scale(1.06);}


.s-program-detail{padding:var(--space-7) 0;}
.s-program-detail--alt{background:var(--color-bg-alt);}
.s-program-detail__grid{display:grid;grid-template-columns:1fr;gap:var(--space-5);align-items:center;}
@media (min-width:900px){.s-program-detail__grid{grid-template-columns:45% 55%;}}
.s-program-detail__grid--reverse{direction:rtl;}
.s-program-detail__grid--reverse > *{direction:ltr;}
.s-program-detail__img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;aspect-ratio:4/5;object-fit:cover;}
.c-check-list{margin:var(--space-3) 0;}
.c-check-list li{display:flex;gap:0.6rem;align-items:flex-start;margin-bottom:0.6rem;font-size:0.94rem;color:var(--color-text);}
.c-check-list li i{color:var(--color-secondary);margin-top:3px;}


.s-compare-table{padding:var(--space-7) 0;}
.c-table{margin-top:var(--space-4);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--color-border);}
.c-table__row{display:grid;grid-template-columns:1fr 1fr 1fr;}
.c-table__row > div{padding:var(--space-2) var(--space-3);font-size:0.92rem;border-bottom:1px solid var(--color-border);color:var(--color-text);}
.c-table__row:last-child > div{border-bottom:none;}
.c-table__row--head{background:var(--color-primary);}
.c-table__row--head div{color:#FFF9F2;font-weight:700;border-bottom:none;}
.c-table__row:nth-child(even):not(.c-table__row--head){background:var(--color-surface-alt);}
.c-table__row:nth-child(odd):not(.c-table__row--head){background:var(--color-surface);}
@media (max-width:700px){
  .c-table__row{grid-template-columns:1fr;}
  .c-table__row > div:first-child{font-weight:700;background:var(--color-bg-alt);}
}


.s-diag-intro{padding:var(--space-7) 0;}
.s-diag-intro__grid{display:grid;grid-template-columns:1fr;gap:var(--space-5);align-items:center;}
@media (min-width:900px){.s-diag-intro__grid{grid-template-columns:45% 55%;}}
.s-diag-intro__img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;aspect-ratio:4/5;object-fit:cover;}
.s-diag-intro__text p{margin-bottom:var(--space-2);}

.s-diag-categories{padding:var(--space-7) 0;background:var(--color-bg-alt);}
.s-diag-categories__list{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);}
.c-diag-row{
  display:flex;gap:var(--space-3);align-items:flex-start;
  background:var(--color-surface);
  padding:var(--space-3);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);
  transition:transform var(--transition-base);
}
.c-diag-row:hover{transform:translateX(6px);}
.c-diag-row__icon{
  width:48px;height:48px;flex:0 0 48px;
  border-radius:50%;
  background:var(--color-primary-light);
  color:var(--color-primary-dark);
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;
}
.c-diag-row h3{font-size:1.1rem;margin-bottom:0.3rem;}
.c-diag-row p{font-size:0.93rem;}

.s-diag-process{padding:var(--space-7) 0;}
.s-diag-process__grid{display:grid;grid-template-columns:1fr;gap:var(--space-5);align-items:center;}
@media (min-width:900px){.s-diag-process__grid{grid-template-columns:55% 45%;}}
.s-diag-process__img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;aspect-ratio:4/5;object-fit:cover;}
.s-diag-process__text p{margin-bottom:var(--space-2);}

.s-diag-output{padding:var(--space-7) 0;background:var(--color-bg-alt);}
.s-diag-output__grid{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-top:var(--space-4);}
@media (min-width:700px){.s-diag-output__grid{grid-template-columns:1fr 1fr;}}
@media (min-width:1100px){.s-diag-output__grid{grid-template-columns:1fr 1fr 1fr 1fr;}}
.c-output-card{background:var(--color-surface);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center;transition:transform var(--transition-base);}
.c-output-card:hover{transform:translateY(-5px);}
.c-output-card i{font-size:1.6rem;color:var(--color-primary);margin-bottom:var(--space-2);}
.c-output-card h3{font-size:1.05rem;margin-bottom:0.4rem;}
.c-output-card p{font-size:0.88rem;}


.s-contact{padding:var(--space-7) 0;}
.s-contact__grid{display:grid;grid-template-columns:1fr;gap:var(--space-5);}
@media (min-width:900px){.s-contact__grid{grid-template-columns:1fr 1.4fr;}}
.s-contact__info{display:flex;flex-direction:column;gap:var(--space-2);}
.c-info-card{
  display:flex;gap:var(--space-2);align-items:flex-start;
  background:var(--color-surface);
  padding:var(--space-3);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);
  transition:transform var(--transition-base);
}
.c-info-card:hover{transform:translateY(-3px);}
.c-info-card i{color:var(--color-primary);font-size:1.3rem;margin-top:3px;}
.c-info-card h4{font-size:1rem;margin-bottom:0.2rem;}
.c-info-card a{color:var(--color-text-muted);transition:color var(--transition-fast);}
.c-info-card a:hover{color:var(--color-primary-dark);}

.c-form-panel{background:var(--color-surface);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);}
.c-form{display:grid;gap:var(--space-2);margin-top:var(--space-3);}
.c-form label{display:flex;flex-direction:column;gap:0.4rem;font-size:0.9rem;font-weight:600;}
.c-form input,.c-form select,.c-form textarea{
  padding:0.75rem 1rem;
  border-radius:var(--radius-sm);
  border:1.5px solid var(--color-border);
  background:var(--color-bg);
  font-size:1rem;
  font-family:inherit;
  transition:border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.c-form input:focus,.c-form select:focus,.c-form textarea:focus{
  outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-light);
}
.c-form__checkbox{flex-direction:row !important;align-items:flex-start;gap:0.6rem;font-weight:400;font-size:0.87rem;}
.c-form__checkbox input{width:20px;height:20px;flex:0 0 20px;margin-top:2px;}
.c-form button{margin-top:0.4rem;}

.s-map{padding:var(--space-7) 0;}
.c-map-frame{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);margin-top:var(--space-4);border:1px solid var(--color-border);}

.s-directions{padding:var(--space-7) 0;background:var(--color-bg-alt);}
.s-directions__grid{display:grid;grid-template-columns:1fr;gap:var(--space-5);align-items:center;}
@media (min-width:900px){.s-directions__grid{grid-template-columns:45% 55%;}}
.s-directions__img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;aspect-ratio:4/3;object-fit:cover;}
.s-directions__text p{margin-bottom:var(--space-2);}


.s-legal{padding:calc(var(--space-8) + 1rem) 0 var(--space-7);}
.s-legal__inner{max-width:800px;}
.s-legal__title{font-size:clamp(2rem,4vw,2.8rem);margin:var(--space-1) 0 var(--space-3);}
.s-legal__intro{margin-bottom:var(--space-5);font-size:1rem;}
.c-legal-block,.c-legal-box{margin-bottom:var(--space-4);}
.c-legal-block h2,.c-legal-box h2{font-size:1.3rem;font-family:var(--font-body);font-weight:700;margin-bottom:0.6rem;color:var(--color-primary-dark);}
.c-legal-box{background:var(--color-surface);padding:var(--space-3);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border-left:4px solid var(--color-primary);}
.c-legal-accordion{
  background:var(--color-surface);
  border-radius:var(--radius-md);
  padding:var(--space-2) var(--space-3);
  margin-bottom:var(--space-2);
  box-shadow:var(--shadow-sm);
}
.c-legal-accordion summary{
  font-weight:700;cursor:pointer;padding:0.6rem 0;list-style:none;position:relative;padding-right:1.5rem;
}
.c-legal-accordion summary::-webkit-details-marker{display:none;}
.c-legal-accordion summary::after{
  content:'+';position:absolute;right:0;top:0.5rem;font-size:1.2rem;color:var(--color-primary);transition:transform var(--transition-fast);
}
.c-legal-accordion[open] summary::after{transform:rotate(45deg);}
.c-legal-accordion p{padding:0.4rem 0 0.6rem;font-size:0.94rem;}


.s-thanks{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:var(--space-7) 0;}
.s-thanks__inner{text-align:center;}
.c-thanks-dot{
  width:60px;height:60px;
  background:var(--color-primary);
  border-radius:50%;
  margin:0 auto var(--space-4);
  transform:scale(0);
  animation:dotPop 0.6s cubic-bezier(.4,0,.2,1) forwards;
}
.s-thanks__title{
  font-size:clamp(1.8rem,4vw,2.6rem);
  opacity:0;
  animation:fadeUp 0.8s ease forwards;
  animation-delay:0.6s;
  margin-bottom:var(--space-3);
}
.s-thanks__link{
  display:inline-block;
  opacity:0;
  color:var(--color-primary-dark);
  font-weight:700;
  border-bottom:2px solid var(--color-primary-light);
  padding-bottom:2px;
  animation:fadeUp 0.8s ease forwards;
  animation-delay:1.3s;
  transition:color var(--transition-fast), border-color var(--transition-fast);
}
.s-thanks__link:hover{color:var(--color-primary);border-color:var(--color-primary);}
@keyframes dotPop{to{transform:scale(1);}}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(14px);}
  to{opacity:1;transform:translateY(0);}
}


.c-cookie-trigger{
  position:fixed;
  bottom:14px;left:14px;
  z-index:900;
  background:var(--color-surface);
  color:var(--color-text-muted);
  font-size:0.78rem;
  padding:0.5rem 0.9rem;
  border-radius:var(--radius-pill);
  box-shadow:var(--shadow-sm);
  display:flex;align-items:center;gap:0.4rem;
  border:1px solid var(--color-border);
  transition:transform var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);
}
.c-cookie-trigger:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--color-primary-dark);}
.c-cookie-trigger.is-pulsing{animation:cookiePulse 1.6s ease-in-out 3;}
@keyframes cookiePulse{
  0%,100%{box-shadow:0 0 0 0 rgba(190,91,54,0.4);}
  50%{box-shadow:0 0 0 10px rgba(190,91,54,0);}
}

.c-cookie-modal{
  position:fixed;inset:0;
  z-index:1200;
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity var(--transition-base);
}
.c-cookie-modal.is-open{opacity:1;pointer-events:auto;}
.c-cookie-modal__backdrop{
  position:absolute;inset:0;
  background:rgba(43,33,23,0.5);
}
.c-cookie-modal__panel{
  position:relative;
  background:var(--color-surface);
  border-radius:var(--radius-lg);
  padding:var(--space-4);
  max-width:480px;
  width:92%;
  max-height:85vh;
  overflow-y:auto;
  box-shadow:var(--shadow-lg);
  transform:translateY(20px) scale(0.97);
  transition:transform var(--transition-base);
}
.c-cookie-modal.is-open .c-cookie-modal__panel{transform:translateY(0) scale(1);}
.c-cookie-modal__close{
  position:absolute;top:14px;right:14px;
  font-size:1.4rem;color:var(--color-text-muted);
  width:32px;height:32px;
  transition:color var(--transition-fast);
}
.c-cookie-modal__close:hover{color:var(--color-primary);}
.c-cookie-modal__panel h3{margin-bottom:var(--space-2);font-size:1.4rem;}
.c-cookie-modal__panel > p{font-size:0.9rem;margin-bottom:var(--space-3);}
.c-cookie-modal__option{
  display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);
  padding:var(--space-2) 0;
  border-top:1px solid var(--color-border);
}
.c-cookie-modal__option strong{font-size:0.92rem;color:var(--color-text);}
.c-cookie-modal__option p{font-size:0.82rem;margin-top:0.2rem;}
.c-cookie-modal__option input{width:20px;height:20px;flex:0 0 20px;margin-top:2px;accent-color:var(--color-primary);}
.c-cookie-modal__actions{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:var(--space-3);}
.c-cookie-modal__actions .c-btn{flex:1;font-size:0.85rem;padding:0.7rem 1rem;}

@media (max-width:640px){
  .s-hero{padding-top:calc(var(--space-7) + 1rem);}
  .s-cta__inner{padding:var(--space-5) var(--space-2);}
}