:root{--navy:#101d26;--navy-deep:#0b171e;--yellow:#ffd21a;--blue:#0878b9;--cream:#f7f5ee;--text:#172b3a;--muted:#66737b;--white:#fff;--line:#dde2e3;--max:1240px;--radius:7px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;color:var(--text);background:#fff;font:15px/1.55 Arial,Helvetica,sans-serif}img{max-width:100%;height:auto}a{color:inherit}.container{width:min(calc(100% - 72px),var(--max));margin:auto}
.site-header{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid #edf0ef;box-shadow:0 3px 16px rgba(16,29,38,.07)}.header-inner{height:82px;display:flex;align-items:center;gap:25px}.brand{width:122px;display:flex;align-items:center;align-self:stretch;position:relative;z-index:2}.brand img{display:block;width:108px;height:108px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.14))}.main-nav{margin-left:auto}.main-nav ul{display:flex;align-items:center;gap:29px;list-style:none;margin:0;padding:0}.main-nav li{margin:0;padding:0}.main-nav a{position:relative;display:block;text-decoration:none;color:#243b4b;font-size:12px;font-weight:700;padding:31px 0 28px;white-space:nowrap}.main-nav a:hover,.main-nav .active>a{color:#112b3d}.main-nav .active>a:after{content:"";position:absolute;left:0;right:0;bottom:20px;height:3px;background:var(--yellow);border-radius:3px}.shop-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 21px;border-radius:999px;background:var(--yellow);color:#17232b;text-decoration:none;font-size:12px;font-weight:900;white-space:nowrap}.mobile-menu{display:none;border:0;background:transparent;font-size:22px;color:#17334a}
.hero{position:relative;min-height:500px;overflow:hidden;background:linear-gradient(90deg,#7da0b0,#6f8c8d 48%,#394c49)}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,34,43,.10),rgba(10,20,23,.42)),radial-gradient(circle at 25% 60%,rgba(255,255,255,.25),transparent 30%)}.hero:after{content:"";position:absolute;right:0;top:0;width:55%;height:100%;background:linear-gradient(135deg,transparent 0 30%,rgba(27,32,28,.12) 30% 55%,rgba(10,15,15,.30) 55% 100%);mix-blend-mode:multiply}.hero-inner{position:relative;z-index:2;min-height:500px;display:flex;align-items:center;justify-content:center;text-align:center}.ks-hero-copy{max-width:760px;color:#fff;padding:60px 0;text-shadow:0 2px 10px rgba(0,0,0,.38)}.hero .ks-eyebrow{display:none}.hero h1{margin:0 0 8px;color:#fff;font-family:"Brush Script MT","Segoe Script","Lucida Handwriting",cursive;font-size:clamp(4rem,7vw,6.2rem);font-weight:700;line-height:.88;letter-spacing:-.035em}.hero h1 strong{display:block;margin-top:22px;font-family:Arial,Helvetica,sans-serif;font-size:clamp(1.25rem,2.5vw,1.65rem);line-height:1.15;letter-spacing:0;font-weight:800}.hero p{max-width:620px;margin:16px auto 0;font-size:14px;line-height:1.5;font-weight:500}.ks-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}.ks-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:11px 22px;text-decoration:none;font-size:12px;font-weight:900;border:1px solid transparent}.ks-btn:after{content:"→";font-size:17px;margin-left:12px}.ks-btn-primary{background:var(--yellow);color:#17232b}.ks-btn-secondary{background:#fff;color:#17334a;border-color:#17334a;text-shadow:none}
.section{padding:68px 0}.intro-section{background:#fff}.intro-section .ks-section-intro{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:62px;align-items:center}.intro-section .ks-section-intro:after{content:"";grid-column:2;grid-row:1;min-height:350px;border-radius:2px;background:linear-gradient(145deg,#a6bdc7 0%,#809e9b 43%,#d7b77b 100%);box-shadow:0 8px 22px rgba(17,43,58,.12)}.ks-eyebrow{display:inline-block;margin:0 0 7px;color:#e0b600;font-size:11px;line-height:1.2;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.section h2{margin:0 0 14px;color:#17334a;font-size:clamp(2rem,3.8vw,2.7rem);line-height:1.05;letter-spacing:-.03em}.intro-section p{max-width:580px;margin:0 0 12px;color:#243747;font-size:14px}.intro-section .ks-section-intro:before{content:"";display:block;grid-column:1;grid-row:1}
.cheese-story{background:var(--navy);color:#fff;overflow:hidden}.cheese-story-inner{display:grid;grid-template-columns:1.02fr 1.12fr .85fr;min-height:285px}.cheese-story-photo{min-height:285px;background:linear-gradient(135deg,#6c4a2d,#b77e39 45%,#3b492f 100%);display:flex;align-items:flex-end;padding:20px;color:transparent}.cheese-story-copy{padding:40px 42px}.cheese-story-copy h2,.cheese-story-copy h3{color:#fff}.cheese-story-copy p{color:#e9eef0;font-size:13px}.cheese-story-copy .ks-section-heading{margin:0}.cheese-values{border-left:1px solid rgba(255,255,255,.23);padding:28px 0 28px 28px;display:flex;flex-direction:column;justify-content:center;gap:18px}.cheese-values div{display:flex;align-items:center;gap:14px;font-size:12px}.cheese-values b{width:31px;color:var(--yellow);font-size:24px;text-align:center}
.cheese-specialties{background:#fff}.cheese-specialties .ks-two-column{display:grid;grid-template-columns:1fr 2.2fr;gap:30px;align-items:start}.cheese-specialties .ks-feature-photo{display:none}.cheese-specialties .ks-two-column>div:last-child{min-width:0}.ks-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.ks-card{overflow:hidden;background:#fff;border:1px solid #e0e2df;border-radius:6px;box-shadow:0 4px 13px rgba(15,31,40,.07)}.ks-product-photo{height:120px;border:0;border-radius:0;background:linear-gradient(135deg,#d6a04a 0%,#f1dfac 45%,#9b6d2c 100%);color:transparent}.ks-card-body{padding:13px}.ks-card h3{margin:5px 0;color:#17334a;font-size:13px;line-height:1.2}.ks-card p{font-size:11px;line-height:1.4;margin:0 0 9px;color:#53636c}.ks-card a{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:var(--yellow);color:#17334a;font-size:10px;font-weight:900;text-decoration:none}.ks-card-tag{display:inline-block;background:var(--yellow);color:#1b2c36;padding:3px 6px;border-radius:4px;font-size:9px;font-weight:900}.ks-card-more{display:none}
.services-section{background:var(--cream)}.services-section .ks-market-box{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:0;background:none;border:0}.services-section .ks-market-box>div{min-height:255px;background:#fff;border:1px solid #e0e2df;border-radius:6px;padding:20px;box-shadow:0 3px 13px rgba(15,31,40,.05)}.services-section .ks-market-box>div:first-child{background:linear-gradient(145deg,#f1dfb9,#fff)}.services-section .ks-market-placeholder{display:flex;flex-direction:column;justify-content:flex-end;background:#fff!important;padding-top:145px!important}.services-section .ks-market-placeholder strong{color:#17334a;font-size:16px}.services-section .ks-market-placeholder span{font-size:12px;color:#596a72}
.cta-banner{position:relative;min-height:245px;overflow:hidden;background:linear-gradient(120deg,#718d73,#9c9870 48%,#d6aa68)}.cta-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,26,33,.18),rgba(8,26,33,.38))}.cta-banner-inner{position:relative;z-index:2;min-height:245px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}.cta-banner .ks-delivery{max-width:720px;padding:30px;background:transparent;box-shadow:none}.cta-banner .ks-delivery-badge{display:none}.cta-banner h2{margin:0 0 5px;color:#fff;font-family:"Brush Script MT","Segoe Script","Lucida Handwriting",cursive;font-size:clamp(3.1rem,6vw,5rem);line-height:.95}.cta-banner p{max-width:650px;margin:6px auto;font-size:14px}.cta-banner .ks-btn{margin-top:10px}
.contact-section{background:#fff}.ks-contact{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:12px 0}.ks-contact h2{color:#17334a}.ks-contact-details{font-size:13px}.ks-contact-details a{color:var(--blue);font-weight:700;text-decoration:none}
.site-footer{padding-top:40px;background:var(--navy);color:#e8eef0}.footer-grid{display:grid;grid-template-columns:1.25fr 1.45fr 1fr .6fr;gap:35px;padding-bottom:34px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:68px;height:68px;object-fit:contain}.footer-brand strong{display:block;color:#fff;font-size:17px}.footer-brand span{display:block;font-size:10px;color:#bdc8cc}.site-footer h3{font-size:12px;color:#fff;margin:0 0 9px}.site-footer p{font-size:10px;line-height:1.75;margin:0}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--yellow)}.footer-seal{width:94px;height:94px;border:3px double #fff;border-radius:50%;display:grid;place-items:center;text-align:center;font-size:10px;font-weight:800;transform:rotate(-8deg)}.footer-bottom{min-height:43px;border-top:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:space-between;color:#aeb9bd;font-size:9px}.footer-bottom a{text-decoration:none}
@media(max-width:950px){.container{width:calc(100% - 40px)}.header-inner{height:76px}.brand{width:88px}.brand img{width:88px;height:88px}.main-nav{display:none}.mobile-menu{display:block;margin-left:4px}.shop-button{margin-left:auto}.intro-section .ks-section-intro{grid-template-columns:1fr;gap:30px}.intro-section .ks-section-intro:after{grid-column:1;grid-row:2;min-height:280px}.cheese-story-inner{grid-template-columns:1fr}.cheese-story-copy{padding:36px 30px}.cheese-values{border-left:0;border-top:1px solid rgba(255,255,255,.23);padding:24px 30px;display:grid;grid-template-columns:1fr 1fr}.cheese-specialties .ks-two-column{grid-template-columns:1fr}.services-section .ks-market-box{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.container{width:calc(100% - 24px)}.header-inner{height:68px;gap:10px}.brand{width:68px}.brand img{width:68px;height:68px}.shop-button{padding:9px 13px;font-size:11px}.hero,.hero-inner{min-height:450px}.hero h1{font-size:3.8rem}.hero h1 strong{font-size:1.15rem}.hero p{font-size:13px}.section{padding:54px 0}.ks-cards{grid-template-columns:1fr}.cheese-values{grid-template-columns:1fr}.ks-contact{grid-template-columns:1fr;gap:25px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:flex-start;padding:11px 0;gap:4px}}


/* =========================================================
   KAASSTANGL V1.8 – Typography & visual refinement
   ========================================================= */
:root {
  --ks-body-size: 18px;
  --ks-body-line: 1.65;
  --ks-heading-xl: clamp(2.9rem, 5vw, 4.6rem);
  --ks-heading-lg: clamp(2.2rem, 3.6vw, 3.4rem);
  --ks-heading-md: clamp(1.45rem, 2.2vw, 2rem);
}

body {
  font-size: var(--ks-body-size);
  line-height: var(--ks-body-line);
}

p,
li {
  font-size: 1em;
  line-height: var(--ks-body-line);
}

h1 {
  font-size: var(--ks-heading-xl);
  line-height: 1.05;
  letter-spacing: -0.02em;
}

h2 {
  font-size: var(--ks-heading-lg);
  line-height: 1.12;
  letter-spacing: -0.015em;
}

h3 {
  font-size: var(--ks-heading-md);
  line-height: 1.2;
}

.ks-eyebrow {
  font-size: 1rem;
  line-height: 1.3;
  letter-spacing: .08em;
}

.ks-btn {
  font-size: 1rem;
  padding: .9rem 1.35rem;
}

.ks-card,
.ks-product-card {
  border-radius: 18px;
}

.ks-card-body {
  padding: 1.5rem;
}

.ks-section-heading,
.ks-section-intro {
  max-width: 820px;
}

.ks-section-heading p,
.ks-section-intro p {
  max-width: 760px;
}

@media (max-width: 900px) {
  body { font-size: 17px; }
  h1 { font-size: clamp(2.5rem, 9vw, 3.6rem); }
  h2 { font-size: clamp(2rem, 7vw, 2.8rem); }
}

@media (max-width: 600px) {
  body { font-size: 17px; }
  p, li { font-size: 1rem; }
  .ks-eyebrow { font-size: .9rem; }
  .ks-btn { width: 100%; text-align: center; }
}


/* V1.8.1 – fine tuning */
.site-footer,
.site-footer p,
.site-footer li,
.site-footer a,
.ks-footer,
.ks-footer p,
.ks-footer li,
.ks-footer a {
  font-size: 1.05rem;
  line-height: 1.6;
}

/* Keep the header logo inside the header and visually balanced. */
.site-header img,
.site-header .logo img,
header img,
header .logo img {
  max-height: 68px;
  width: auto;
  height: auto;
}

.site-header,
header {
  overflow: visible;
}

@media (max-width: 900px) {
  .site-header img,
  .site-header .logo img,
  header img,
  header .logo img {
    max-height: 60px;
  }
}

@media (max-width: 600px) {
  .site-header img,
  .site-header .logo img,
  header img,
  header .logo img {
    max-height: 54px;
  }
}


/* =========================================================
   KAASSTANGL V2.0 – FINAL DESIGN LAYER
   Based on the supplied homepage design reference.
   Content remains Joomla-module driven.
   ========================================================= */

:root{
  --ks-yellow:#f3c400;
  --ks-yellow-dark:#d9ad00;
  --ks-ink:#171717;
  --ks-muted:#666;
  --ks-cream:#faf8f2;
  --ks-dark:#20211f;
  --ks-white:#fff;
  --ks-radius:22px;
  --ks-shadow:0 14px 40px rgba(0,0,0,.10);
}

body{
  color:var(--ks-ink);
  background:#fff;
  font-size:18px;
  line-height:1.65;
}

.ks-container{
  width:min(1180px, calc(100% - 48px));
  margin:0 auto;
}

.ks-section{
  padding:100px 0;
}

.ks-section h2{
  margin:0 0 24px;
  font-size:clamp(2.35rem,4vw,4rem);
  line-height:1.08;
  letter-spacing:-.025em;
}

.ks-section h3{
  font-size:clamp(1.45rem,2vw,2rem);
  line-height:1.15;
}

.ks-section p{
  max-width:760px;
  font-size:1.1rem;
  line-height:1.7;
}

.ks-eyebrow{
  display:inline-block;
  margin-bottom:14px;
  color:#a47f00;
  font-size:1rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
}

/* Hero */
.ks-hero{
  min-height:680px;
  display:flex;
  align-items:center;
  position:relative;
  background:
    linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.18)),
    linear-gradient(135deg,#6b6b63,#d8d3c2);
  background-size:cover;
  background-position:center;
  color:#fff;
}

.ks-hero-overlay{
  width:100%;
  padding:110px 0;
}

.ks-hero h1{
  max-width:800px;
  margin:0 0 25px;
  font-size:clamp(3.2rem,6vw,6rem);
  line-height:.98;
  letter-spacing:-.035em;
}

.ks-hero p{
  max-width:650px;
  margin:0 0 34px;
  font-size:clamp(1.1rem,2vw,1.35rem);
  line-height:1.6;
}

.ks-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.ks-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:13px 23px;
  border-radius:999px;
  font-weight:800;
  text-decoration:none;
  transition:.2s ease;
}

.ks-btn-primary{
  background:var(--ks-yellow);
  color:#161616;
}

.ks-btn-primary:hover{
  background:#fff;
  color:#161616;
  transform:translateY(-2px);
}

.ks-btn-secondary{
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.75);
}

/* Our idea */
.ks-idea{
  background:var(--ks-cream);
}

.ks-idea > .ks-container > *{
  max-width:100%;
}

.ks-idea .ks-two-column,
.ks-idea .ks-feature{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:70px;
  align-items:center;
}

.ks-feature-photo,
.ks-product-photo{
  min-height:360px;
  border-radius:var(--ks-radius);
  background:
    linear-gradient(135deg,rgba(243,196,0,.18),rgba(0,0,0,.05)),
    #e6e1d4;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#8a846f;
  font-weight:800;
  overflow:hidden;
}

/* Four quality icons */
.ks-idea .ks-icons,
.ks-icons{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:45px;
}

.ks-icon-card{
  padding:26px 18px;
  text-align:center;
  background:#fff;
  border-radius:18px;
  box-shadow:0 8px 26px rgba(0,0,0,.06);
}

.ks-icon{
  width:58px;
  height:58px;
  margin:0 auto 16px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--ks-yellow);
  color:#171717;
  font-size:25px;
  font-weight:900;
}

.ks-icon-card h3{
  margin:0 0 7px;
  font-size:1.15rem;
}

.ks-icon-card p{
  margin:0;
  font-size:.98rem;
}

/* Aged / quality section */
.ks-aged{
  background:var(--ks-dark);
  color:#fff;
}

.ks-aged .ks-eyebrow{
  color:var(--ks-yellow);
}

.ks-aged h2{
  font-size:clamp(2.8rem,5vw,5rem);
}

.ks-aged p{
  color:rgba(255,255,255,.78);
}

.ks-aged .ks-cards,
.ks-aged .ks-product-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:45px;
}

.ks-aged .ks-card{
  background:#2c2d2a;
  border:1px solid rgba(255,255,255,.10);
  border-radius:var(--ks-radius);
  padding:30px;
}

.ks-aged .ks-card-tag{
  color:var(--ks-yellow);
  font-weight:800;
}

/* Cheese specialties */
.ks-specialties{
  background:#fff;
}

.ks-specialties .ks-cards,
.ks-specialties .ks-product-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:30px;
  margin-top:45px;
}

.ks-product-card{
  overflow:hidden;
  border-radius:var(--ks-radius);
  background:#fff;
  box-shadow:var(--ks-shadow);
}

.ks-product-card .ks-product-photo{
  min-height:330px;
  border-radius:0;
}

.ks-card-body{
  padding:28px;
}

.ks-card-body h3{
  margin:8px 0 12px;
}

.ks-card-tag{
  color:#a47f00;
  font-size:.95rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.ks-card-body a{
  color:#171717;
  font-weight:800;
}

/* Services: delivery / nearby / contract cheesemaking */
.ks-services{
  background:var(--ks-cream);
}

.ks-services .ks-market-box,
.ks-services .ks-services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.ks-service-card{
  padding:34px;
  min-height:240px;
  background:#fff;
  border-radius:var(--ks-radius);
  box-shadow:0 10px 30px rgba(0,0,0,.07);
}

.ks-service-card .ks-icon{
  margin:0 0 22px;
}

.ks-service-card h3{
  margin:0 0 12px;
}

.ks-service-card p{
  font-size:1rem;
}

/* CTA / delivery */
.ks-delivery{
  background:var(--ks-yellow);
}

.ks-delivery .ks-delivery,
.ks-delivery .ks-delivery-box{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);
  gap:50px;
  align-items:center;
}

.ks-delivery h2{
  font-size:clamp(2.5rem,4.5vw,4.5rem);
}

.ks-delivery-badge{
  display:grid;
  place-items:center;
  width:230px;
  height:230px;
  margin-left:auto;
  border-radius:50%;
  background:#fff;
  text-align:center;
  box-shadow:0 12px 35px rgba(0,0,0,.12);
}

.ks-delivery-badge strong{
  display:block;
  font-size:3.5rem;
  line-height:1;
}

.ks-delivery-badge span{
  font-weight:800;
}

/* Contact */
.ks-contact{
  background:#fff;
}

.ks-contact .ks-contact{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:70px;
}

.ks-contact-details{
  padding:34px;
  background:var(--ks-cream);
  border-radius:var(--ks-radius);
}

/* Footer readability */
.site-footer,
.site-footer p,
.site-footer li,
.site-footer a{
  font-size:1.08rem;
  line-height:1.6;
}

/* Never let the logo overpower the header */
.site-header img,
.site-header .logo img,
header img,
header .logo img{
  max-height:66px;
  width:auto;
}

/* Mobile */
@media (max-width:900px){
  .ks-section{padding:76px 0}
  .ks-container{width:min(100% - 34px,700px)}
  .ks-idea .ks-two-column,
  .ks-idea .ks-feature,
  .ks-delivery .ks-delivery,
  .ks-delivery .ks-delivery-box,
  .ks-contact .ks-contact{
    grid-template-columns:1fr;
    gap:35px;
  }
  .ks-icons{grid-template-columns:repeat(2,1fr)}
  .ks-services .ks-market-box,
  .ks-services .ks-services-grid,
  .ks-aged .ks-cards,
  .ks-aged .ks-product-grid{
    grid-template-columns:1fr;
  }
  .ks-specialties .ks-cards,
  .ks-specialties .ks-product-grid{
    grid-template-columns:1fr;
  }
  .ks-delivery-badge{margin:0 auto}
}

@media (max-width:600px){
  body{font-size:17px}
  .ks-container{width:calc(100% - 28px)}
  .ks-hero{min-height:610px}
  .ks-hero-overlay{padding:85px 0}
  .ks-icons{grid-template-columns:1fr 1fr;gap:12px}
  .ks-icon-card{padding:20px 12px}
  .ks-btn{width:100%}
  .site-header img,
  .site-header .logo img,
  header img,
  header .logo img{max-height:56px}
}

/* KAASSTANGL V3.0 — editorial visual layer */
:root{--v3-yellow:#e9bd00;--v3-ink:#171713;--v3-dark:#20211d;--v3-paper:#f7f5ef;--v3-line:rgba(23,23,19,.14);--v3-wrap:min(1180px,calc(100% - 64px))}
body{background:#fff;color:var(--v3-ink);font-size:18px;line-height:1.65}.v3-wrap{width:var(--v3-wrap);margin:0 auto}
.v3-intro,.v3-product,.v3-services,.v3-contact{padding:112px 0}
.v3-intro h2,.v3-product h2,.v3-services h2,.v3-contact h2{font-size:clamp(2.6rem,4.5vw,4.5rem);line-height:1.02;letter-spacing:-.035em;margin:0 0 26px}
.v3-intro p,.v3-product p,.v3-services p,.v3-contact p{font-size:1.08rem;line-height:1.72}
.ks-eyebrow{color:#947600;font-size:.9rem!important;font-weight:900;letter-spacing:.14em;text-transform:uppercase}

/* hero */
.v3-hero{min-height:720px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#585750;color:#fff}
.v3-hero-media{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.70),rgba(0,0,0,.30) 55%,rgba(0,0,0,.10)),radial-gradient(circle at 72% 32%,#d7c79e 0 10%,transparent 31%),linear-gradient(135deg,#8d8b7c,#4d4d47 58%,#252621);transform:scale(1.02)}
.v3-hero-content{position:relative;z-index:2;padding-bottom:100px}.v3-hero h1{max-width:820px;font-size:clamp(3.6rem,7vw,7rem);line-height:.91;letter-spacing:-.055em;margin:0 0 30px}.v3-hero p{max-width:650px;font-size:1.22rem;line-height:1.55;margin:0 0 34px}
.v3-hero .ks-btn-primary{background:var(--v3-yellow);color:#171713}

/* intro */
.v3-intro{background:#fff}.v3-intro .ks-two-column,.v3-intro .ks-feature{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:90px;align-items:center}
.v3-intro .ks-feature-photo{min-height:520px;border-radius:0;background:linear-gradient(140deg,rgba(0,0,0,.03),rgba(0,0,0,.12)),#ded8c8;position:relative}.v3-intro .ks-feature-photo:after{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.6)}
.v3-intro .ks-icons,.v3-intro .ks-icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--v3-line);margin-top:55px}.v3-intro .ks-icon-card{background:none;box-shadow:none;border-radius:0;padding:28px 22px 10px 0;text-align:left;border-right:1px solid var(--v3-line)}.v3-intro .ks-icon-card:not(:first-child){padding-left:22px}.v3-intro .ks-icon-card:last-child{border-right:0}.v3-intro .ks-icon{width:46px;height:46px;margin:0 0 18px;border-radius:50%;background:var(--v3-yellow);font-size:19px}.v3-intro .ks-icon-card h3{font-size:1.05rem;margin:0 0 7px}.v3-intro .ks-icon-card p{font-size:.9rem;margin:0}

/* quality */
.v3-quality{padding:120px 0;background:var(--v3-dark);color:#fff;position:relative;overflow:hidden}.v3-quality:before{content:"";position:absolute;width:520px;height:520px;right:-180px;top:-220px;border:1px solid rgba(255,255,255,.12);border-radius:50%}.v3-quality .ks-eyebrow{color:var(--v3-yellow)}.v3-quality h2{max-width:850px;font-size:clamp(3rem,6vw,6rem);line-height:.94;letter-spacing:-.05em;margin:0 0 32px}.v3-quality p{color:rgba(255,255,255,.72);max-width:680px}
.v3-quality .ks-cards,.v3-quality .ks-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:65px;border-top:1px solid rgba(255,255,255,.18)}.v3-quality .ks-card{background:none;border:0;border-right:1px solid rgba(255,255,255,.18);border-radius:0;padding:30px 30px 20px 0}.v3-quality .ks-card:not(:first-child){padding-left:30px}.v3-quality .ks-card:last-child{border-right:0}.v3-quality .ks-card-tag{color:var(--v3-yellow);font-weight:900;letter-spacing:.12em;text-transform:uppercase}

/* product */
.v3-product{background:var(--v3-paper)}.v3-product .ks-two-column,.v3-product .ks-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.v3-product .ks-feature-photo{min-height:610px;border-radius:0;background:radial-gradient(circle at 50% 48%,#e9c34d 0 18%,#c7a13b 19% 20%,transparent 21%),linear-gradient(145deg,#e1ddd0,#bdb7a5);box-shadow:22px 22px 0 rgba(233,189,0,.92)}.v3-product .ks-card,.v3-product .ks-product-card{background:none;box-shadow:none;border-radius:0}.v3-product .ks-card-body{padding:0}.v3-product .ks-card-tag{display:inline-block;padding-bottom:8px;border-bottom:2px solid var(--v3-yellow)}.v3-product .ks-card-body h3{font-size:clamp(2.2rem,4vw,4rem);line-height:1;letter-spacing:-.04em}.v3-product .ks-cards,.v3-product .ks-product-grid{display:grid;grid-template-columns:1fr;gap:35px}.v3-product .ks-card-body a{display:inline-block;margin-top:18px;padding-bottom:5px;border-bottom:2px solid var(--v3-yellow);text-decoration:none}.v3-product .ks-card-body:after{content:"3 Monate   ·   6 Monate   ·   9 Monate";display:block;margin-top:34px;padding-top:20px;border-top:1px solid var(--v3-line);font-size:1rem;font-weight:900;letter-spacing:.04em}

/* services */
.v3-services{background:#fff}.v3-services .ks-market-box,.v3-services .ks-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:55px;border-top:1px solid var(--v3-line);border-bottom:1px solid var(--v3-line)}.v3-services .ks-service-card{min-height:290px;padding:34px 34px 34px 0;margin:0;background:none;border:0;border-right:1px solid var(--v3-line);border-radius:0;box-shadow:none}.v3-services .ks-service-card:not(:first-child){padding-left:34px}.v3-services .ks-service-card:last-child{border-right:0}.v3-services .ks-icon{width:48px;height:48px;margin:0 0 34px;background:var(--v3-yellow)}.v3-services .ks-service-card h3{font-size:1.55rem;margin:0 0 13px}.v3-services .ks-service-card p{font-size:1rem}.v3-services .ks-market-placeholder{background:none;border:0;padding:30px 0}

/* CTA */
.v3-cta{min-height:600px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(233,189,0,.98),rgba(233,189,0,.90) 44%,rgba(233,189,0,.35)),linear-gradient(135deg,#d4c18b,#5c5a50)}.v3-cta .ks-delivery{background:none;padding:0;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}.v3-cta h2{font-size:clamp(3rem,6vw,6rem);line-height:.92;letter-spacing:-.055em;max-width:850px}.v3-cta .ks-delivery-badge{width:260px;height:260px;margin-left:auto;background:#fff;box-shadow:none}.v3-cta .ks-delivery-badge strong{font-size:4rem}.v3-cta .ks-btn-primary{background:#171713;color:#fff}.v3-cta .ks-btn-primary:hover{background:#fff;color:#171713}

/* contact/footer */
.v3-contact{background:var(--v3-paper)}.v3-contact .ks-contact{display:grid;grid-template-columns:1.1fr .9fr;gap:90px}.v3-contact .ks-contact-details{background:none;border-left:4px solid var(--v3-yellow);border-radius:0;padding:8px 0 8px 30px}
.site-footer,.site-footer p,.site-footer li,.site-footer a{font-size:1.08rem;line-height:1.65}

/* responsive */
@media(max-width:900px){:root{--v3-wrap:min(100% - 36px,700px)}.v3-intro,.v3-product,.v3-services,.v3-contact{padding:80px 0}.v3-intro .ks-two-column,.v3-intro .ks-feature,.v3-product .ks-two-column,.v3-product .ks-feature,.v3-contact .ks-contact,.v3-cta .ks-delivery{grid-template-columns:1fr;gap:42px}.v3-intro .ks-icons,.v3-intro .ks-icon-grid{grid-template-columns:1fr 1fr}.v3-intro .ks-icon-card:nth-child(2){border-right:0}.v3-quality .ks-cards,.v3-quality .ks-product-grid,.v3-services .ks-market-box,.v3-services .ks-services-grid{grid-template-columns:1fr}.v3-quality .ks-card,.v3-services .ks-service-card{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.18);padding:28px 0!important}.v3-services .ks-service-card{border-color:var(--v3-line)}.v3-quality .ks-card:last-child,.v3-services .ks-service-card:last-child{border-bottom:0}.v3-product .ks-feature-photo{min-height:430px;box-shadow:14px 14px 0 var(--v3-yellow)}.v3-cta{min-height:0;padding:85px 0}.v3-cta .ks-delivery-badge{margin:0 auto}}
@media(max-width:600px){body{font-size:17px}:root{--v3-wrap:calc(100% - 28px)}.v3-hero{min-height:620px}.v3-hero-content{padding-bottom:70px}.v3-hero h1{font-size:clamp(3rem,15vw,4.4rem)}.v3-intro .ks-icons,.v3-intro .ks-icon-grid{grid-template-columns:1fr}.v3-intro .ks-icon-card{border-right:0!important;border-bottom:1px solid var(--v3-line);padding:22px 0!important}.v3-intro .ks-icon-card:last-child{border-bottom:0}.v3-product .ks-feature-photo{min-height:330px}.v3-cta h2{font-size:clamp(3rem,14vw,4.2rem)}.v3-cta .ks-delivery-badge{width:210px;height:210px}.v3-cta .ks-delivery-badge strong{font-size:3.1rem}}



/* Feinschliff: rundes Headerlogo und mehr Luft im Lieferbereich */
.brand img{border-radius:50%;object-fit:cover;clip-path:circle(50%)}
.v3-cta{padding:110px 0}
@media(max-width:900px){.v3-cta{padding:100px 0}}
/* Kontaktseite: nur den zugewiesenen Kontaktbereich anzeigen */
body:has(.main-nav .item-103.current) .ks-page-v3>section:not(.v3-contact){display:none}
/* AGB are not published because the business has no AGB. */
.v3-footer a[href$="/agb"]{display:none!important}
.site-footer a[href$="/agb"]{display:none!important}
/* Readable legal information pages */
.v3-contact .v3-legal-page{max-width:860px;margin:0 auto}
.v3-contact .v3-legal-page h1{font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.1;margin:0 0 1.5rem}
.v3-contact .v3-legal-page h2{font-size:1.35rem;line-height:1.25;margin:2rem 0 .55rem}
.v3-contact .v3-legal-page p{font-size:1rem;line-height:1.7;margin:.5rem 0 1rem}

/* Legal footer routes: show assigned legal content without emp/* Legal footer routes: show assigned legal content without empty homepage sections above it. */
main:has(.v3-legal-page)>section:not(.v3-contact){display:none!important}
