@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap");

:root{
  --color-bg:#fbf5ec;
  --color-bg-soft:#f3e8d8;
  --color-surface:#fffdf9;
  --color-text:#2a2318;
  --color-text-soft:#6b5f4f;
  --color-primary:#d9683f;
  --color-primary-dark:#b04f2c;
  --color-secondary:#748a5d;
  --color-secondary-dark:#566b43;
  --color-accent:#e8ae49;
  --color-accent2:#9c6b84;
  --color-dark:#241c15;
  --color-dark-soft:#33281c;
  --color-cream:#fffaf1;

  --shadow-sm: 0 1px 2px rgba(90,60,30,.10), 0 1px 1px rgba(90,60,30,.06);
  --shadow-md: 0 8px 20px -6px rgba(90,60,30,.22), 0 3px 8px rgba(90,60,30,.10);
  --shadow-lg: 0 24px 48px -16px rgba(60,40,20,.32), 0 10px 24px -10px rgba(60,40,20,.18);

  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 30px;
  --radius-full: 999px;

  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.6rem;
  --space-4: 2.6rem;
  --space-5: 4.2rem;
  --space-6: 6.5rem;

  --sidebar-width: 268px;
  --nav-height: 76px;

  --ease: cubic-bezier(.22,.9,.35,1);
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family:'Space Grotesk', sans-serif;
  background: var(--color-bg);
  color: var(--color-text);
  line-height: 1.65;
  font-size: 16px;
  overflow-x: hidden;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration:none; }
h1,h2,h3,h4{ font-family:'Space Grotesk', sans-serif; font-weight:700; line-height:1.15; margin:0 0 .6em; color: var(--color-dark); }
p{ margin:0 0 1em; color: var(--color-text-soft); }
button{ font-family:inherit; cursor:pointer; }
ul{ margin:0; padding:0; }

.skip-link{
  position:absolute; left:-999px; top:0; background:var(--color-dark); color:#fff;
  padding:.8rem 1.2rem; z-index:999; border-radius: 0 0 var(--radius-sm) 0;
}
.skip-link:focus{ left:0; }

.eyebrow{
  display:inline-block; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase;
  font-weight:600; color: var(--color-primary-dark); margin-bottom: var(--space-2);
}
.section__head--light .eyebrow{ color: var(--color-accent); }

h1{ font-size: clamp(2.2rem, 4.2vw + 1rem, 3.6rem); }
h2.section__title{ font-size: clamp(1.7rem, 2.6vw + 1rem, 2.5rem); }
.card__title{ font-size: 1.15rem; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding: .95rem 1.7rem; border-radius: var(--radius-full); font-weight:600; font-size:.95rem;
  border:2px solid transparent; transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), color .25s var(--ease);
  min-height:44px; cursor:pointer; will-change:transform;
}
.btn--primary{
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
  color:#fff8ef; box-shadow: var(--shadow-md);
}
.btn--primary:hover{ transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.btn--primary:active{ transform: translateY(-1px) scale(.98); }
.btn--outline{
  background: transparent; border-color: var(--color-dark); color: var(--color-dark);
}
.btn--outline:hover{ background: var(--color-dark); color:#fff8ef; transform: translateY(-2px); }
.section--dark .btn--outline{ border-color:#fff8ef; color:#fff8ef; }
.section--dark .btn--outline:hover{ background:#fff8ef; color: var(--color-dark); }


.sidebar-rail{
  position: fixed; top:0; left:0; bottom:0; width: var(--sidebar-width);
  background: linear-gradient(180deg, var(--color-dark), var(--color-dark-soft));
  color: #f1e6d6; z-index: 60; display:none;
  box-shadow: var(--shadow-lg);
}
.sidebar-rail__inner{ display:flex; flex-direction:column; height:100%; padding: var(--space-4) var(--space-3); gap: var(--space-4); }
.sidebar-rail__brand{ display:flex; align-items:center; gap:.7rem; font-weight:700; font-size:1.1rem; color:#fff8ef; }
.sidebar-rail__logo{ border-radius: 8px; }
.sidebar-rail__nav{ display:flex; flex-direction:column; gap: .3rem; }
.sidebar-rail__nav a{
  padding: .7rem .9rem; border-radius: var(--radius-sm); color:#d9cdb8; font-weight:500; transition: background .25s var(--ease), color .25s var(--ease), padding-left .25s var(--ease);
}
.sidebar-rail__nav a:hover, .sidebar-rail__nav a.is-active{
  background: rgba(217,104,63,.18); color:#fff8ef; padding-left: 1.2rem;
}
.sidebar-rail__info{ margin-top:auto; display:flex; flex-direction:column; gap:.6rem; font-size:.85rem; color:#c9bca6; }
.sidebar-rail__info i{ color: var(--color-accent); width:16px; }
.sidebar-rail__cta{ text-align:center; }

@media (min-width: 1080px){
  .sidebar-rail{ display:block; }
  .page-shell{ margin-left: var(--sidebar-width); }
}


.site-nav{
  position: fixed; top:0; left:0; right:0; z-index: 70;
  background: rgba(251,245,236,.92); backdrop-filter: blur(10px);
  transform: translateY(-100%); transition: transform .5s var(--ease);
  box-shadow: var(--shadow-md);
}
.site-nav.site-nav--visible{ transform: translateY(0); }
.site-nav__inner{
  max-width: 1280px; margin:0 auto; padding: .9rem 1.4rem; display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.site-nav__brand{ display:flex; align-items:center; gap:.6rem; font-weight:700; }
.site-nav__links{ display:none; gap: 1.8rem; }
.site-nav__links a{ font-weight:500; color: var(--color-text); position:relative; padding: .3rem 0; transition: color .25s var(--ease); }
.site-nav__links a::after{ content:""; position:absolute; left:0; bottom:0; height:2px; width:0; background: var(--color-primary); transition: width .3s var(--ease); }
.site-nav__links a:hover{ color: var(--color-primary-dark); }
.site-nav__links a:hover::after{ width:100%; }

@media (min-width: 1080px){
  .site-nav{ left: var(--sidebar-width); }
  .site-nav__links{ display:flex; }
  .hamburger{ display:none; }
}

.hamburger{
  width:44px; height:44px; border:none; background:transparent; position:relative; border-radius: var(--radius-sm);
  display:flex; align-items:center; justify-content:center; transition: background .25s var(--ease);
}
.hamburger:hover{ background: rgba(217,104,63,.12); }
.hamburger span{
  position:absolute; width:22px; height:2px; background: var(--color-dark); border-radius:2px; transition: transform .3s var(--ease), opacity .3s var(--ease);
}
.hamburger span:nth-child(1){ transform: translateY(-7px); }
.hamburger span:nth-child(3){ transform: translateY(7px); }
.hamburger[aria-expanded="true"] span:nth-child(1){ transform: rotate(45deg); }
.hamburger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.hamburger[aria-expanded="true"] span:nth-child(3){ transform: rotate(-45deg); }


.mobile-menu{
  position: fixed; inset:0; z-index: 90;
  background: linear-gradient(135deg, var(--color-primary-dark), var(--color-accent2) 60%, var(--color-dark));
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition: opacity .4s var(--ease), visibility .4s var(--ease);
}
.mobile-menu.is-open{ opacity:1; visibility:visible; }
.mobile-menu__close{
  position:absolute; top: 1.5rem; right: 1.5rem; width:52px; height:52px; border-radius: var(--radius-full);
  border:2px solid rgba(255,255,255,.5); background: rgba(255,255,255,.08); color:#fff8ef; font-size:1.3rem;
  display:flex; align-items:center; justify-content:center; transition: background .25s var(--ease), transform .25s var(--ease);
}
.mobile-menu__close:hover{ background: rgba(255,255,255,.2); transform: rotate(90deg); }
.mobile-menu__nav{ display:flex; flex-direction:column; align-items:center; gap: 1.8rem; }
.mobile-menu__nav a{
  font-size: clamp(1.6rem, 6vw, 2.4rem); font-weight:700; color:#fff8ef; opacity:.92; transition: opacity .25s var(--ease), transform .25s var(--ease);
}
.mobile-menu__nav a:hover{ opacity:1; transform: scale(1.05); }


.page-shell{ min-height:100vh; display:flex; flex-direction:column; }
main{ flex:1; }


.blur-shape{
  position:absolute; border-radius:50%; filter: blur(95px); pointer-events:none; z-index:0; opacity:.55;
  will-change: transform;
}
.blur-shape--a{ width:520px; height:520px; top:-140px; left:-120px; background: radial-gradient(circle at 30% 30%, var(--color-primary), transparent 70%); }
.blur-shape--b{ width:460px; height:460px; top:60px; right:-140px; background: radial-gradient(circle at 60% 40%, var(--color-accent), transparent 70%); }
.blur-shape--c{ width:400px; height:400px; bottom:-160px; left:20%; background: radial-gradient(circle at 40% 60%, var(--color-secondary), transparent 70%); }
.blur-shape--d{ width:480px; height:480px; top:-120px; right:10%; background: radial-gradient(circle at 50% 50%, var(--color-accent2), transparent 70%); }
.blur-shape--e{ width:560px; height:560px; top:-180px; left:-160px; background: radial-gradient(circle at 30% 30%, var(--color-primary), transparent 72%); opacity:.4;}
.blur-shape--f{ width:420px; height:420px; bottom:-140px; right:-100px; background: radial-gradient(circle at 60% 60%, var(--color-secondary), transparent 72%); opacity:.4;}
.blur-shape--g{ width:400px; height:400px; top:40%; left:50%; transform: translate(-50%,-50%); background: radial-gradient(circle, var(--color-accent), transparent 70%); }


.hero{ position:relative; overflow:hidden; padding: calc(var(--space-6) + 2rem) var(--space-3) var(--space-5); background: linear-gradient(180deg, var(--color-dark), var(--color-dark-soft)); }
.hero__inner{ position:relative; z-index:2; max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr; gap: var(--space-5); align-items:center; }
.hero__copy .hero__title{ color:#fff8ef; }
.hero__text{ color:#d9cdb8; max-width: 46ch; }
.hero__actions{ display:flex; flex-wrap:wrap; gap: 1rem; margin-top: var(--space-3); }
.hero-sentinel{ height:1px; }

.quote-card{
  background: var(--color-cream); border-radius: var(--radius-lg); padding: var(--space-4);
  box-shadow: var(--shadow-lg); position:relative; max-width: 420px; justify-self:center;
  border: 1px solid rgba(217,104,63,.15);
}
.quote-card__mark{ color: var(--color-primary); font-size:1.6rem; opacity:.5; }
.quote-card__text{ font-size:1.1rem; font-weight:500; color: var(--color-dark); line-height:1.55; }
.quote-card__author{ display:flex; flex-direction:column; margin-top: var(--space-2); }
.quote-card__name{ font-weight:700; color: var(--color-primary-dark); }
.quote-card__role{ font-size:.85rem; color: var(--color-text-soft); }
.quote-card--standalone{ margin: 0 auto var(--space-4); max-width:520px; }

@media (min-width: 900px){
  .hero__inner{ grid-template-columns: 1.15fr .85fr; text-align:left; }
}


.section{ position:relative; padding: var(--space-6) var(--space-3); overflow:hidden; }
.section--alt{ background: var(--color-bg-soft); }
.section--dark{ background: linear-gradient(180deg, var(--color-dark), var(--color-dark-soft)); color:#f1e6d6; }
.section--dark p{ color:#d9cdb8; }
.section--dark h2, .section--dark h3{ color:#fff8ef; }
.section--cta{ position:relative; background: var(--color-bg); }
.section__inner{ position:relative; z-index:2; max-width:1240px; margin:0 auto; }
.section__inner--narrow{ max-width: 860px; }
.section__inner--split{ display:grid; grid-template-columns:1fr; gap: var(--space-4); align-items:center; }
.section__inner--reverse{ direction: rtl; }
.section__inner--reverse > *{ direction: ltr; }
@media (min-width: 900px){
  .section__inner--split{ grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.section__head{ text-align:center; max-width: 700px; margin: 0 auto var(--space-4); }
.section__subtitle{ font-size:1.05rem; }
.cta-box{ text-align:center; }

.lead{ font-size:1.25rem; text-align:center; color: var(--color-text); font-weight:500; line-height:1.6; }


.page-hero{ position:relative; overflow:hidden; padding: calc(var(--space-6) + 1.6rem) var(--space-3) var(--space-5); background: linear-gradient(180deg, var(--color-bg-soft), var(--color-bg)); }
.page-hero__inner{ position:relative; z-index:2; max-width: 760px; margin:0 auto; text-align:center; }
.page-hero--legal{ padding: calc(var(--space-5) + 1.4rem) var(--space-3) var(--space-4); background: var(--color-dark); }
.page-hero--legal .page-hero__title{ color:#fff8ef; }
.page-hero--legal .eyebrow{ color: var(--color-accent); }
.page-hero--legal .page-hero__text{ color:#d9cdb8; }
.page-hero--center{ min-height: 70vh; display:flex; align-items:center; }
.page-hero__inner--center{ display:flex; flex-direction:column; align-items:center; }


.cards-grid{ container-type: inline-size; container-name: cardsgrid; display:grid; grid-template-columns: 1fr; gap: var(--space-3); }
@container cardsgrid (min-width: 620px){ .cards-grid{ grid-template-columns: repeat(2, 1fr); } }
@container cardsgrid (min-width: 960px){ .cards-grid{ grid-template-columns: repeat(3, 1fr); } }

.card{
  background: var(--color-surface); border-radius: var(--radius-md); padding: var(--space-3);
  box-shadow: var(--shadow-sm); border:1px solid rgba(90,60,30,.06);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
  container-type: inline-size; container-name: card;
}
.card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: rgba(217,104,63,.25); }
.card--service .card__icon{
  width:52px; height:52px; border-radius: var(--radius-sm); display:flex; align-items:center; justify-content:center;
  background: linear-gradient(135deg, rgba(217,104,63,.16), rgba(232,174,73,.16)); color: var(--color-primary-dark); font-size:1.3rem; margin-bottom: var(--space-2);
}
.card--team{ text-align:center; }
.card--team__photo{ width:100%; aspect-ratio: 4/5; object-fit:cover; border-radius: var(--radius-md); margin-bottom: var(--space-2); }
.card__role{ font-size:.85rem; color: var(--color-primary-dark); font-weight:600; margin-bottom:.6rem; }
.card--news{ padding:0; overflow:hidden; }
.card--news img{ width:100%; aspect-ratio: 16/10; object-fit:cover; }
.card--news__body{ padding: var(--space-3); }
.card__tag{ display:inline-block; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color: var(--color-secondary-dark); font-weight:700; margin-bottom:.5rem; }
.card--info{ padding: var(--space-2) var(--space-3); }
.card--info h3{ font-size:1rem; display:flex; align-items:center; gap:.5rem; }
.card--info h3 i{ color: var(--color-primary); }

.values-grid{ display:grid; grid-template-columns:1fr; gap: var(--space-3); }
@media (min-width: 700px){ .values-grid{ grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1080px){ .values-grid{ grid-template-columns: repeat(4,1fr); } }
.value-item{ background: rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius: var(--radius-md); padding: var(--space-3); transition: background .3s var(--ease), transform .3s var(--ease); }
.value-item:hover{ background: rgba(255,255,255,.09); transform: translateY(-4px); }
.value-item i{ font-size:1.4rem; color: var(--color-accent); margin-bottom:.6rem; display:block; }
.value-item h3{ color:#fff8ef; font-size:1.05rem; }


.workflow{ container-type: inline-size; container-name: workflow; }
.workflow__steps{ display:flex; flex-direction:column; gap: var(--space-3); position:relative; }
.workflow__step{
  background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius: var(--radius-md);
  padding: var(--space-3); position:relative; transition: background .3s var(--ease), transform .3s var(--ease);
}
.workflow__step:hover{ background: rgba(255,255,255,.1); transform: translateY(-4px); }
.workflow__step h3{ color:#fff8ef; margin-bottom:.4rem; }
.workflow__num{
  display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%;
  background: linear-gradient(135deg, var(--color-primary), var(--color-accent)); color:#241c15; font-weight:700; margin-bottom:.7rem;
}
@container workflow (min-width: 860px){
  .workflow__steps{ flex-direction:row; align-items:flex-start; }
  .workflow__step{ flex:1; }
  .workflow__step::after{
    content:""; position:absolute; top:20px; right:-1.2rem; width:1.6rem; height:2px; background: rgba(255,255,255,.25);
  }
  .workflow__step:last-child::after{ display:none; }
}


.faq-list{ display:flex; flex-direction:column; gap: var(--space-2); }
.faq-item{
  background: var(--color-surface); border-radius: var(--radius-md); box-shadow: var(--shadow-sm);
  border:1px solid rgba(90,60,30,.08); overflow:hidden; transition: box-shadow .3s var(--ease);
}
.faq-item:hover{ box-shadow: var(--shadow-md); }
.faq-item__question{
  width:100%; text-align:left; background:none; border:none; padding: var(--space-3);
  display:flex; align-items:center; justify-content:space-between; gap:1rem; font-size:1.02rem; font-weight:600; color: var(--color-dark);
}
.faq-item__question i{ color: var(--color-primary); transition: transform .35s var(--ease); flex-shrink:0; }
.faq-item.is-open .faq-item__question i{ transform: rotate(180deg); }
.faq-item__answer{ max-height:0; overflow:hidden; transition: max-height .45s var(--ease), padding .35s var(--ease); padding: 0 var(--space-3); }
.faq-item.is-open .faq-item__answer{ max-height: 400px; padding: 0 var(--space-3) var(--space-3); }


.gallery-grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-2); }
@media (min-width: 700px){ .gallery-grid{ grid-template-columns: repeat(3, 1fr); } }
.gallery-item{ border-radius: var(--radius-md); overflow:hidden; box-shadow: var(--shadow-sm); display:block; position:relative; transition: box-shadow .3s var(--ease); }
.gallery-item:hover{ box-shadow: var(--shadow-md); }
.gallery-item img{ width:100%; aspect-ratio: 4/3; object-fit:cover; transition: transform .5s var(--ease); }
.gallery-item:hover img{ transform: scale(1.06); }

.feature-image{ margin:0; border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-lg); }
.feature-image img{ width:100%; aspect-ratio: 4/3; object-fit:cover; }
.feature-image figcaption{ padding: var(--space-2); font-size:.85rem; color: var(--color-text-soft); }


.form{ background: var(--color-surface); border-radius: var(--radius-lg); padding: var(--space-4); box-shadow: var(--shadow-md); }
.section--dark .form{ background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); box-shadow:none; }
.form__row{ display:grid; grid-template-columns:1fr; gap: var(--space-2); }
@media (min-width: 640px){ .form__row{ grid-template-columns: 1fr 1fr; } }
.form__field{ margin-bottom: var(--space-2); display:flex; flex-direction:column; gap:.4rem; }
.form__field label{ font-size:.85rem; font-weight:600; color: var(--color-text); }
.section--dark .form__field label{ color:#f1e6d6; }
.form__field input, .form__field textarea{
  width:100%; padding: .85rem 1rem; border-radius: var(--radius-sm); border: 1.5px solid rgba(90,60,30,.18);
  background: var(--color-bg); font-family:inherit; font-size: .95rem; color: var(--color-text);
  transition: border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.form__field input:focus, .form__field textarea:focus{
  outline:none; border-color: var(--color-primary); box-shadow: 0 0 0 4px rgba(217,104,63,.18);
}
.form__checkbox{ display:flex; align-items:flex-start; gap:.6rem; font-size:.85rem; color: var(--color-text-soft); margin: var(--space-2) 0 var(--space-3); }
.section--dark .form__checkbox{ color:#d9cdb8; }
.form__checkbox input{ width:20px; height:20px; margin-top:.1rem; accent-color: var(--color-primary); flex-shrink:0; }
.form__checkbox a{ color: var(--color-primary-dark); text-decoration:underline; }
.section--dark .form__checkbox a{ color: var(--color-accent); }
.section__title--form{ margin-bottom: var(--space-3); }

.contact-side{ display:flex; flex-direction:column; gap: var(--space-2); }
.map-wrap{ border-radius: var(--radius-md); overflow:hidden; box-shadow: var(--shadow-md); }


.site-footer{ background: var(--color-dark); color:#d9cdb8; padding: var(--space-5) var(--space-3) var(--space-3); margin-top:auto; }
.site-footer__inner{ max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1fr; gap: var(--space-4); }
@media (min-width: 800px){ .site-footer__inner{ grid-template-columns: 1.2fr 2fr; } }
.site-footer__brand{ display:flex; flex-direction:column; gap:.5rem; }
.site-footer__brand img{ margin-bottom:.4rem; }
.site-footer__brand p:first-of-type{ font-weight:700; color:#fff8ef; font-size:1.1rem; }
.site-footer__tag{ font-size:.9rem; max-width:38ch; }
.site-footer__links{ display:grid; grid-template-columns: repeat(2,1fr); gap: var(--space-3); }
@media (min-width: 520px){ .site-footer__links{ grid-template-columns: repeat(3,1fr); } }
.site-footer__links h3{ color:#fff8ef; font-size:.9rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom: .8rem; }
.site-footer__links a, .site-footer__links p{ display:block; font-size:.88rem; color:#c9bca6; margin-bottom:.5rem; transition: color .25s var(--ease); }
.site-footer__links a:hover{ color: var(--color-accent); }
.site-footer__bottom{ max-width:1240px; margin: var(--space-4) auto 0; padding-top: var(--space-2); border-top:1px solid rgba(255,255,255,.1); font-size:.8rem; text-align:center; color:#a9977f; }


.legal-timeline .timeline-item{ position:relative; padding: var(--space-3) 0 var(--space-3) var(--space-4); border-left: 2px solid rgba(217,104,63,.3); margin-left: .5rem; }
.legal-timeline .timeline-item::before{
  content:""; position:absolute; left:-7px; top: var(--space-3); width:12px; height:12px; border-radius:50%;
  background: var(--color-primary); box-shadow: 0 0 0 4px rgba(217,104,63,.18);
}
.timeline-item__date{ display:inline-block; font-size:.75rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color: var(--color-primary-dark); background: rgba(217,104,63,.1); padding:.25rem .7rem; border-radius: var(--radius-full); margin-bottom:.6rem; }
.legal-timeline--long .timeline-item{ padding-top: var(--space-2); padding-bottom: var(--space-2); }
.legal-timeline--compact .timeline-item{ padding-top: var(--space-2); padding-bottom: var(--space-2); }
.legal-timeline--compact h2{ font-size:1.2rem; }


.cookie-modal{
  position: fixed; inset:0; z-index: 200; display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition: opacity .35s var(--ease), visibility .35s var(--ease); padding: 1rem;
}
.cookie-modal.is-visible{ opacity:1; visibility:visible; }
.cookie-modal__backdrop{ position:absolute; inset:0; background: rgba(36,28,21,.72); backdrop-filter: blur(4px); }
.cookie-modal__box{
  position:relative; z-index:2; background: var(--color-surface); border-radius: var(--radius-lg); padding: var(--space-4);
  max-width: 520px; width:100%; box-shadow: var(--shadow-lg); max-height: 88vh; overflow-y:auto;
  transform: translateY(10px) scale(.98); transition: transform .35s var(--ease);
}
.cookie-modal.is-visible .cookie-modal__box{ transform: translateY(0) scale(1); }
.cookie-modal__categories{ display:flex; flex-direction:column; gap:.7rem; margin: var(--space-3) 0; }
.cookie-toggle{
  display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1rem;
  background: var(--color-bg-soft); border-radius: var(--radius-sm); font-size:.9rem; font-weight:600;
}
.cookie-toggle small{ display:block; font-weight:400; color: var(--color-text-soft); font-size:.75rem; margin-top:.2rem; }
.cookie-toggle input{ width:20px; height:20px; accent-color: var(--color-primary); flex-shrink:0; }
.cookie-modal__actions{ display:flex; flex-wrap:wrap; gap:.7rem; justify-content:flex-end; }
.cookie-modal__actions .btn{ flex:1 1 auto; min-width:150px; }


.section__inner-text p{ margin-bottom: 1.1em; }

@media (max-width: 899px){
  .section__inner--reverse{ direction: ltr; }
}