
:root{
  --color-bg:#FBF5EC;
  --color-bg-alt:#F3E8D6;
  --color-surface:#FFFDF9;
  --color-primary:#C9683F;
  --color-primary-dark:#A34F2C;
  --color-primary-light:#F0C6AE;
  --color-secondary:#6F8A5E;
  --color-secondary-dark:#54704A;
  --color-accent:#E0A73D;
  --color-text:#2E2419;
  --color-text-muted:#6B5D4F;
  --color-border:#E7DCC9;
  --color-dark:#2A2118;

  --shadow-sm:0 1px 2px rgba(46,36,25,.07),0 1px 1px rgba(46,36,25,.05);
  --shadow-md:0 6px 14px rgba(46,36,25,.09),0 2px 4px rgba(46,36,25,.06);
  --shadow-lg:0 16px 32px rgba(46,36,25,.12),0 6px 12px rgba(46,36,25,.07);
  --shadow-xl:0 30px 60px rgba(46,36,25,.16),0 10px 20px rgba(46,36,25,.08);

  --radius-sm:12px;
  --radius-md:20px;
  --radius-lg:32px;
  --radius-xl:48px;
  --radius-blob:63% 37% 54% 46% / 43% 47% 53% 57%;
  --radius-blob-alt:37% 63% 46% 54% / 57% 43% 47% 53%;

  --space-1:.5rem;
  --space-2:1rem;
  --space-3:1.5rem;
  --space-4:2rem;
  --space-5:3rem;
  --space-6:4.5rem;
  --space-7:6.5rem;
  --space-8:9rem;

  --transition:all .3s cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--color-bg);
  color:var(--color-text);
  font-family:'DM Sans',sans-serif;
  font-size:1.05rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:'Sora',sans-serif;
  color:var(--color-text);
  line-height:1.15;
  margin:0 0 .75rem;
}
p{margin:0 0 1rem;color:var(--color-text);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}

.container{width:100%;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:100px;
  font-weight:600;font-size:.98rem;
  transition:var(--transition);
  min-height:48px;
  white-space:nowrap;
}
.btn--primary{
  background:var(--color-primary);color:#FFF9F3;
  box-shadow:var(--shadow-md);
}
.btn--primary:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.btn--ghost{
  background:transparent;color:var(--color-primary-dark);
  border:1.5px solid var(--color-primary);
}
.btn--ghost:hover{background:var(--color-primary);color:#FFF9F3;transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn--sm{padding:.6rem 1.3rem;font-size:.88rem;min-height:40px;}
.btn--lg{padding:1.1rem 2.4rem;font-size:1.05rem;}


.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:1.4rem 0;
  transition:background .4s ease,box-shadow .4s ease,padding .4s ease;
}
.nav--solid{
  background:rgba(251,245,236,.92);
  backdrop-filter:blur(14px);
  box-shadow:var(--shadow-md);
  padding:.9rem 0;
}
.nav__inner{
  max-width:1240px;margin:0 auto;padding:0 1.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;position:relative;
}
.nav__list{display:flex;align-items:center;gap:1.8rem;flex:1;}
.nav__list--right{justify-content:flex-end;}
.nav__link{
  font-weight:500;font-size:.96rem;color:var(--color-text);
  position:relative;padding:.3rem 0;transition:var(--transition);
}
.nav__link::after{
  content:'';position:absolute;left:0;bottom:-2px;width:0;height:2px;
  background:var(--color-primary);transition:width .3s ease;
}
.nav__link:hover::after,.nav__link--active::after{width:100%;}
.nav__link--active{color:var(--color-primary-dark);}
.nav__logo{flex-shrink:0;}
.nav__logo-img{height:40px;width:auto;transition:var(--transition);}
.nav__logo:hover .nav__logo-img{transform:scale(1.04);}
.nav__cta{flex-shrink:0;}
.nav__toggle{display:none;flex-direction:column;gap:5px;padding:.5rem;width:44px;height:44px;align-items:center;justify-content:center;}
.nav__toggle-bar{width:24px;height:2.5px;background:var(--color-text);border-radius:2px;transition:var(--transition);}


.mobile-menu{
  position:fixed;inset:0;z-index:2000;
  background:linear-gradient(145deg,var(--color-primary) 0%,var(--color-accent) 100%);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s ease;
}
.mobile-menu--open{opacity:1;visibility:visible;}
.mobile-menu__close{
  position:absolute;top:1.8rem;right:1.8rem;
  width:52px;height:52px;border-radius:50%;
  background:rgba(255,255,255,.18);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;
  transition:var(--transition);
}
.mobile-menu__close:hover{background:rgba(255,255,255,.32);transform:rotate(90deg);}
.mobile-menu__nav{display:flex;flex-direction:column;align-items:center;gap:1.6rem;}
.mobile-menu__link{
  font-family:'Sora',sans-serif;font-weight:600;font-size:clamp(1.8rem,6vw,3rem);
  color:#FFF9F3;opacity:.92;transition:var(--transition);
}
.mobile-menu__link:hover{opacity:1;transform:translateX(8px);}


.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:8rem 1.5rem 4rem;text-align:center;overflow:hidden;
}
.hero__blob{
  position:absolute;border-radius:var(--radius-blob);filter:blur(10px);opacity:.35;z-index:0;
}
.hero__blob--1{
  width:420px;height:420px;top:-100px;left:-140px;
  background:radial-gradient(circle at 30% 30%,var(--color-primary-light),var(--color-primary) 80%);
}
.hero__blob--2{
  width:340px;height:340px;bottom:-120px;right:-100px;
  background:radial-gradient(circle at 60% 60%,var(--color-secondary),var(--color-secondary-dark) 85%);
}
.hero__content{position:relative;z-index:1;max-width:900px;margin:0 auto;}
.hero__eyebrow{
  display:inline-block;padding:.5rem 1.2rem;border-radius:100px;
  background:var(--color-surface);color:var(--color-primary-dark);
  font-weight:600;font-size:.85rem;letter-spacing:.03em;margin-bottom:1.5rem;
  box-shadow:var(--shadow-sm);
}
.hero__title{
  font-weight:700;font-size:clamp(2.5rem,7vw,6rem);line-height:1.05;margin:0 0 1.5rem;
}
.hero__typed{color:var(--color-primary);}
.hero__subtitle{
  font-size:clamp(1.05rem,2vw,1.3rem);color:var(--color-text-muted);
  max-width:640px;margin:0 auto 2.2rem;
}
.hero__cta{margin-top:.5rem;}


.page-hero{
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  padding:9rem 1.5rem 3.5rem;text-align:center;
}
.page-hero__content{position:relative;z-index:1;max-width:820px;margin:0 auto;}
.page-hero__title{font-weight:700;font-size:clamp(2rem,5.5vw,4.2rem);line-height:1.1;margin:0 0 1rem;}


.section{padding:var(--space-7) 0;position:relative;}
.island{}
.island--alt{background:var(--color-bg-alt);border-radius:var(--radius-xl);margin:0 1rem;}
.island--tease{}
.section__header{max-width:720px;margin-bottom:var(--space-5);}
.section__header--center{margin-left:auto;margin-right:auto;text-align:center;}
.section__eyebrow{
  display:inline-block;font-weight:600;font-size:.85rem;letter-spacing:.04em;
  color:var(--color-secondary-dark);text-transform:uppercase;margin-bottom:.75rem;
}
.section__title{font-weight:700;font-size:clamp(1.7rem,4vw,2.6rem);margin-bottom:1rem;}
.section__lead{font-size:1.1rem;color:var(--color-text-muted);max-width:640px;}
.section__closing{
  font-family:'Sora',sans-serif;font-weight:600;font-size:.98rem;
  color:var(--color-primary-dark);margin-top:1.6rem;
}
.section__closing--center{text-align:center;margin-left:auto;margin-right:auto;}

.section__grid{
  display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-6);align-items:center;
}
.section__grid--asym{grid-template-columns:1.2fr .8fr;}
.section__grid--reverse{direction:rtl;}
.section__grid--reverse > *{direction:ltr;}
.section__media{position:relative;}
.section__img{width:100%;height:auto;object-fit:cover;box-shadow:var(--shadow-lg);}
.section__img--blob{border-radius:var(--radius-blob);aspect-ratio:4/5;}
.section__img--blob-alt{border-radius:var(--radius-blob-alt);aspect-ratio:4/5;}


.card-grid{
  container-type:inline-size;container-name:cards;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-3);
}
.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);
  transition:var(--transition);flex-direction: column;
}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-light);}
.card__icon{
  width:52px;height:52px;border-radius:var(--radius-blob);
  background:var(--color-primary-light);color:var(--color-primary-dark);
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:1.1rem;
}
.card__title{font-size:1.15rem;margin-bottom:.6rem;}
.card__body{color:var(--color-text-muted);font-size:.98rem;margin:0;}

@container cards (min-width:600px){
  .card{display:flex;gap:1.5rem;align-items:flex-start;text-align:left;}
  .card__icon{margin-bottom:0;flex-shrink:0;}
}


.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);}
.step{
  background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4);
  box-shadow:var(--shadow-sm);border:1px solid var(--color-border);
  transition:var(--transition);position:relative;
}
.step:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);}
.step__number{
  display:inline-block;font-family:'Sora',sans-serif;font-weight:800;font-size:1.6rem;
  color:var(--color-primary-light);margin-bottom:.6rem;
}
.step__title{font-size:1.05rem;margin-bottom:.5rem;}
.step__body{color:var(--color-text-muted);font-size:.95rem;margin:0;}


.gallery__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);
}
.gallery__item{
  position:relative;border-radius:var(--radius-md);overflow:hidden;
  box-shadow:var(--shadow-md);margin:0;
}
.gallery__img{width:100%;height:280px;object-fit:cover;transition:transform .6s ease,filter .6s ease;}
.gallery__item:hover .gallery__img{transform:scale(1.08);filter:brightness(.9);}
.gallery__caption{
  position:absolute;left:0;right:0;bottom:0;padding:1rem 1.2rem;
  background:linear-gradient(to top,rgba(46,36,25,.78),transparent);
  color:#FFF9F3;font-weight:600;font-size:.92rem;
  opacity:0;transform:translateY(8px);transition:var(--transition);
}
.gallery__item:hover .gallery__caption{opacity:1;transform:translateY(0);}


.faq__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);}
.faq__card{
  background:var(--color-surface);border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);border:1px solid var(--color-border);
  overflow:hidden;transition:var(--transition);
}
.faq__card:hover{box-shadow:var(--shadow-md);}
.faq__question{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  padding:1.4rem 1.6rem;font-family:'Sora',sans-serif;font-weight:600;font-size:1.02rem;
  text-align:left;color:var(--color-text);
}
.faq__icon{transition:transform .35s ease;color:var(--color-primary);flex-shrink:0;}
.faq__card.is-open .faq__icon{transform:rotate(45deg);}
.faq__answer{
  max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease;
  padding:0 1.6rem;
}
.faq__card.is-open .faq__answer{max-height:260px;padding:0 1.6rem 1.5rem;}
.faq__answer p{color:var(--color-text-muted);margin:0;font-size:.96rem;}


.cta-banner{
  padding:var(--space-7) 0;margin:var(--space-6) 1rem;
  background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-secondary-dark) 100%);
  border-radius:var(--radius-xl);position:relative;overflow:hidden;
}
.cta-banner::before{
  content:'';position:absolute;width:300px;height:300px;border-radius:var(--radius-blob);
  background:rgba(255,255,255,.08);top:-80px;right:-60px;
}
.cta-banner__inner{position:relative;z-index:1;text-align:center;max-width:640px;margin:0 auto;}
.cta-banner__title{color:#FFF9F3;font-size:clamp(1.6rem,3.6vw,2.4rem);margin-bottom:1rem;}
.cta-banner__text{color:rgba(255,249,243,.85);margin-bottom:1.8rem;}


.pricing__grid{
  container-type:inline-size;container-name:pricing;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-3);
}
.pricing__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);
  display:flex;flex-direction:column;transition:var(--transition);position:relative;
}
.pricing__card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.pricing__card--featured{border-color:var(--color-primary);box-shadow:var(--shadow-lg);}
.pricing__badge{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  background:var(--color-primary);color:#FFF9F3;font-size:.8rem;font-weight:600;
  padding:.35rem 1rem;border-radius:100px;box-shadow:var(--shadow-sm);
}
.pricing__name{font-size:1.3rem;margin-bottom:.4rem;}
.pricing__desc{color:var(--color-text-muted);font-size:.94rem;min-height:48px;}
.pricing__price{font-family:'Sora',sans-serif;font-weight:700;font-size:1.9rem;margin:.8rem 0 1.2rem;}
.pricing__price span{font-family:'DM Sans',sans-serif;font-weight:400;font-size:.9rem;color:var(--color-text-muted);}
.pricing__features{margin-bottom:1.6rem;flex:1;}
.pricing__feature{display:flex;align-items:center;gap:.6rem;font-size:.93rem;margin-bottom:.6rem;color:var(--color-text-muted);}
.pricing__feature i{color:var(--color-secondary-dark);}
.pricing__cta{width:100%;}

@container pricing (max-width:340px){
  .pricing__card{padding:var(--space-3);}
}


.contact-card{
  background:var(--color-surface);border-radius:var(--radius-lg);
  padding:var(--space-5);box-shadow:var(--shadow-md);border:1px solid var(--color-border);
}
.contact-info{display:flex;flex-direction:column;gap:1.4rem;}
.contact-info__block{
  display:flex;align-items:center;gap:.9rem;font-size:1rem;
  background:var(--color-surface);padding:1.1rem 1.3rem;border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);transition:var(--transition);
}
.contact-info__block:hover{box-shadow:var(--shadow-md);transform:translateX(4px);}
.contact-info__block i{color:var(--color-primary);font-size:1.2rem;flex-shrink:0;}
.contact-info__img{border-radius:var(--radius-blob-alt);width:100%;height:220px;object-fit:cover;box-shadow:var(--shadow-md);}


.form__group{margin-bottom:1.4rem;}
.form__label{display:block;font-weight:600;font-size:.92rem;margin-bottom:.5rem;}
.form__input,.form__textarea{
  width:100%;padding:.85rem 1.1rem;border-radius:var(--radius-sm);
  border:1.5px solid var(--color-border);background:var(--color-bg);
  font-family:inherit;font-size:.98rem;color:var(--color-text);
  transition:var(--transition);
}
.form__input:focus,.form__textarea:focus{
  outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(201,104,63,.15);
}
.form__textarea{resize:vertical;min-height:130px;}
.form__group--checkbox{display:flex;align-items:flex-start;gap:.7rem;}
.form__checkbox{width:20px;height:20px;flex-shrink:0;margin-top:.15rem;accent-color:var(--color-primary);}
.form__checkbox-label{font-size:.9rem;color:var(--color-text-muted);}
.form__checkbox-label a{color:var(--color-primary-dark);text-decoration:underline;}
.form__submit{width:100%;margin-top:.5rem;}
.form__error{color:#B23A2F;font-size:.9rem;margin-bottom:1rem;}


.timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);}
.timeline__item{text-align:center;position:relative;padding:var(--space-3);}
.timeline__marker{
  width:60px;height:60px;border-radius:50%;background:var(--color-primary-light);
  color:var(--color-primary-dark);display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;margin:0 auto 1rem;box-shadow:var(--shadow-sm);
}
.timeline__title{font-size:1.05rem;margin-bottom:.5rem;}
.timeline__text{color:var(--color-text-muted);font-size:.93rem;}

.map-wrapper{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);}


.thanks{position:relative;min-height:80vh;display:flex;align-items:center;justify-content:center;padding:9rem 1.5rem 4rem;text-align:center;overflow:hidden;}
.thanks__content{position:relative;z-index:1;}
.thanks__title{font-weight:700;font-size:clamp(2.2rem,6vw,4.5rem);margin-bottom:1.2rem;}
.thanks__text{font-size:1.15rem;color:var(--color-text-muted);margin-bottom:2rem;}


.footer{background:var(--color-dark);color:#F3E8D6;padding:var(--space-6) 0 var(--space-4);margin-top:var(--space-7);}
.footer__inner{display:flex;flex-direction:column;align-items:center;gap:2rem;text-align:center;}
.footer__logo{height:42px;}
.footer__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:1.8rem;}
.footer__link{font-weight:500;font-size:.95rem;color:#E8DAC5;transition:var(--transition);position:relative;}
.footer__link:hover{color:var(--color-accent);transform:translateY(-2px);}
.footer__contact{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem;}
.footer__contact-item{
  display:flex;align-items:center;gap:.5rem;font-size:.92rem;color:#D8C7AC;transition:var(--transition);
}
.footer__contact-item:hover{color:var(--color-accent);}
.footer__legal{display:flex;flex-direction:column;align-items:center;gap:.8rem;border-top:1px solid rgba(255,255,255,.1);padding-top:1.8rem;width:100%;max-width:600px;}
.footer__copyright{font-size:.85rem;color:#B7A688;margin:0;}
.footer__legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.3rem;}
.footer__legal-link{font-size:.85rem;color:#B7A688;transition:var(--transition);}
.footer__legal-link:hover{color:var(--color-accent);}


.legal-page{padding-top:7rem;}
.legal{display:grid;grid-template-columns:260px 1fr;gap:var(--space-6);align-items:start;padding:var(--space-6) 0;}
.legal__toc-toggle{display:none;width:100%;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:600;justify-content:space-between;align-items:center;margin-bottom:1rem;}
.legal__sidebar{
  position:sticky;top:7rem;background:var(--color-surface);border-radius:var(--radius-md);
  padding:1.6rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);
}
.legal__sidebar-label{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:1rem;}
.legal__toc{display:flex;flex-direction:column;gap:.3rem;}
.legal__toc-link{
  display:block;padding:.55rem .8rem;border-radius:var(--radius-sm);font-size:.9rem;
  color:var(--color-text-muted);transition:var(--transition);
}
.legal__toc-link:hover{background:var(--color-bg-alt);color:var(--color-text);}
.legal__toc-link.is-active{background:var(--color-primary-light);color:var(--color-primary-dark);font-weight:600;}
.legal__content{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);}
.legal__title{font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:.4rem;}
.legal__updated{color:var(--color-text-muted);font-size:.9rem;margin-bottom:2.5rem;}
.legal__section{margin-bottom:2.4rem;scroll-margin-top:7rem;}
.legal__section h2{font-size:1.3rem;margin-bottom:.9rem;}
.legal__section p{color:var(--color-text-muted);}

.impressum-table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);}
.impressum-table th,.impressum-table td{padding:1rem 1.3rem;text-align:left;border-bottom:1px solid var(--color-border);font-size:.95rem;}
.impressum-table th{background:var(--color-bg-alt);font-weight:600;width:40%;}
.impressum-table tr:last-child th,.impressum-table tr:last-child td{border-bottom:none;}


.cookie-bell{
  position:fixed;bottom:1.8rem;right:1.8rem;z-index:3000;
  width:58px;height:58px;border-radius:50%;
  background:var(--color-primary);color:#FFF9F3;
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;
  box-shadow:var(--shadow-lg);transition:var(--transition);
}
.cookie-bell:hover{transform:scale(1.08);background:var(--color-primary-dark);}
.cookie-bell__badge{
  position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;
  background:var(--color-accent);border:2px solid var(--color-bg);
}
.cookie-panel{
  position:fixed;bottom:0;left:0;right:0;z-index:3001;
  background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;
  box-shadow:var(--shadow-xl);padding:2rem 1.5rem 2.2rem;
  max-width:640px;margin:0 auto;
  transform:translateY(110%);transition:transform .45s cubic-bezier(.4,0,.2,1);
}
.cookie-panel.is-open{transform:translateY(0);}
.cookie-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;}
.cookie-panel__title{font-size:1.2rem;margin:0;}
.cookie-panel__close{width:36px;height:36px;border-radius:50%;background:var(--color-bg-alt);display:flex;align-items:center;justify-content:center;transition:var(--transition);}
.cookie-panel__close:hover{background:var(--color-primary-light);}
.cookie-panel__text{color:var(--color-text-muted);font-size:.92rem;margin-bottom:1.4rem;}
.cookie-panel__categories{display:flex;flex-direction:column;gap:.9rem;margin-bottom:1.6rem;max-height:260px;overflow-y:auto;}
.cookie-cat{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;background:var(--color-bg-alt);border-radius:var(--radius-sm);}
.cookie-cat__name{font-weight:600;font-size:.94rem;}
.cookie-cat__desc{font-size:.82rem;color:var(--color-text-muted);margin:.2rem 0 0;}
.cookie-cat__switch{position:relative;width:46px;height:26px;flex-shrink:0;}
.cookie-cat__switch input{opacity:0;width:0;height:0;}
.cookie-cat__slider{position:absolute;inset:0;background:#CBB89A;border-radius:100px;cursor:pointer;transition:var(--transition);}
.cookie-cat__slider::before{content:'';position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:var(--transition);}
.cookie-cat__switch input:checked + .cookie-cat__slider{background:var(--color-primary);}
.cookie-cat__switch input:checked + .cookie-cat__slider::before{transform:translateX(20px);}
.cookie-cat__switch input:disabled + .cookie-cat__slider{opacity:.6;cursor:not-allowed;}
.cookie-panel__actions{display:flex;gap:.9rem;flex-wrap:wrap;}
.cookie-panel__actions .btn{flex:1;min-width:140px;}


@media (max-width:960px){
  .nav__list,.nav__cta{display:none;}
  .nav__toggle{display:flex;}
  .section__grid{grid-template-columns:1fr;}
  .section__grid--reverse{direction:ltr;}
  .contact-info{margin-top:2rem;}
  .gallery__grid{grid-template-columns:repeat(2,1fr);}
  .faq__grid{grid-template-columns:1fr;}
  .legal{grid-template-columns:1fr;}
  .legal__sidebar{position:static;display:none;}
  .legal__sidebar.is-open{display:block;}
  .legal__toc-toggle{display:flex;}
}
@media (max-width:640px){
  .gallery__grid{grid-template-columns:1fr;}
  .island--alt{margin:0 .5rem;}
  .cta-banner{margin:var(--space-5) .5rem;}
  .hero{padding-top:7rem;}
  .contact-card{padding:var(--space-3);}
}