:root{
  --primary:#055ca5;
  --primary-dark:#034b85;
  --success:#1664a9;
  --green:#70a420;
  --body:#f3f4f6;
  --line:#ced4da;
  --text:#2e2e2e;
  --muted:#66717c;
  --white:#fff;
  --radius:6px;
  --shadow:0 2px 6px rgba(0,0,0,.12);
  --page-width:1440px;
  --page-gutter:24px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:SourceSans3,Arial,Helvetica,sans-serif;
  font-size:16px;
  color:var(--text);
  background:var(--body);
}
body.menu-open{overflow:hidden}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
button,input{font:inherit}
img{max-width:100%}
.container-xxl{width:min(var(--page-width),calc(100% - var(--page-gutter)));margin:0 auto}

.cookie-information{
  position:fixed;
  left:50%;
  top:50%;
  z-index:50;
  width:min(720px,calc(100% - 32px));
  transform:translate(-50%,-50%);
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:0 18px 60px rgba(0,0,0,.28);
  padding:22px;
  text-align:center;
}
.cookie-information.is-hidden{display:none}
.cookie-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}
.btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  border:1px solid transparent;
  border-radius:var(--radius);
  padding:.6rem .9rem;
  cursor:pointer;
  font-weight:700;
}
.btn-success{background:var(--success);color:#fff}
.btn-success:hover{background:var(--primary-dark);text-decoration:none}
.btn-light{background:#f8f9fa;border-color:#d8dde2;color:#222}

.announcement{
  background:#fff;
  border-bottom:1px solid #e5e5e5;
}
.announcement ul{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  justify-content:center;
}
.announcement li{
  flex:1 1 auto;
  min-height:36px;
  padding:.4rem .6rem;
  border-right:1px solid #e5e5e5;
  text-align:center;
  color:#495057;
  font-size:.92rem;
}
.announcement li:first-child{border-left:1px solid #e5e5e5}
.brand-hours,
.announcement .brand-hours{
  color:var(--primary);
  font-weight:700;
}

#site-header{
  position:sticky;
  top:0;
  z-index:20;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.header-top{
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.5rem 0;
}
.logo{
  width:250px;
  flex:0 0 250px;
  padding:.35rem;
}
.logo img{display:block;width:100%;height:auto}
.search-box{
  position:relative;
  flex:1 1 auto;
  display:flex;
  min-width:240px;
}
.search-box input{
  width:100%;
  height:58px;
  border:1px solid var(--line);
  border-right:0;
  border-radius:var(--radius) 0 0 var(--radius);
  padding:.45rem 1rem;
  background:#fff;
}
.search-box label{
  position:absolute;
  left:1rem;
  top:.33rem;
  color:#777;
  font-size:.83rem;
  pointer-events:none;
}
.search-box button{
  min-width:86px;
  border:1px solid var(--primary);
  border-radius:0 var(--radius) var(--radius) 0;
  background:var(--primary);
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.head-item{
  min-width:74px;
  min-height:58px;
  border:0;
  background:transparent;
  color:#2e2e2e;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.15rem;
  cursor:pointer;
  border-radius:var(--radius);
  position:relative;
}
.head-item:hover{background:#f1f5f8;text-decoration:none}
.head-item::before{font-size:1.55rem;line-height:1}
.menu::before{content:"☰"}
.user::before{content:"♙"}
.wishlist::before{content:"♡"}
.cart::before{content:"▣"}
.cart::after,.wishlist::after{
  position:absolute;
  top:.22rem;
  right:.72rem;
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  font-size:.72rem;
  display:grid;
  place-items:center;
}
.cart::after{content:attr(data-cart-count)}
.wishlist::after{content:attr(data-wishlist-count)}
.head-item span{font-size:.83rem}
.head-item.menu{
  visibility:hidden;
  pointer-events:none;
}

.category-nav{
  position:sticky;
  top:74px;
  z-index:19;
  background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:0 2px 4px rgba(0,0,0,.05);
}
.category-nav .container-xxl{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
}
.nav-item{
  position:relative;
}
.category-nav a{
  display:block;
  padding:.75rem .9rem;
  color:#343a40;
  font-weight:700;
}
.nav-trigger{
  height:100%;
  border-right:1px solid #edf0f2;
}
.category-nav a:hover{background:#eef6fc;color:var(--primary);text-decoration:none}
.nav-dropdown{
  position:absolute;
  left:0;
  top:100%;
  z-index:30;
  display:none;
  min-width:260px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 10px 22px rgba(0,0,0,.14);
}
.nav-dropdown a{
  padding:.65rem .9rem;
  border-bottom:1px solid #edf0f2;
  color:#05375f;
  white-space:nowrap;
}
.nav-dropdown a:last-child{border-bottom:0}
.nav-item:hover .nav-trigger,
.nav-item:focus-within .nav-trigger{
  background:#eef6fc;
  color:var(--primary);
  text-decoration:none;
}
.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown{
  display:block;
}

.menu-overlay{
  position:fixed;
  inset:0;
  z-index:60;
  background:rgba(0,0,0,.52);
}
.offcanvas-menu{
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  z-index:61;
  width:290px;
  max-width:calc(100vw - 48px);
  background:#fff;
  box-shadow:8px 0 22px rgba(0,0,0,.22);
  transform:translateX(-104%);
  transition:transform .22s ease;
  overflow:auto;
  padding:2px 10px 28px;
  color:#05375f;
}
.offcanvas-menu.is-open{transform:translateX(0)}
.offcanvas-close{
  position:sticky;
  top:0;
  margin-left:auto;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:0;
  background:#fff;
  color:#686f76;
  font-size:1.55rem;
  line-height:1;
  cursor:pointer;
}
.offcanvas-section{margin-top:8px}
.welcome-section{margin-top:2px}
.offcanvas-section h2{
  margin:0 0 9px;
  color:#05375f;
  font-size:.98rem;
  font-weight:700;
}
.offcanvas-link,.offcanvas-nav a{
  min-height:30px;
  display:flex;
  align-items:center;
  width:100%;
  border:0;
  background:transparent;
  color:#05375f;
  font-size:.95rem;
  font-weight:700;
  text-align:left;
  padding:3px 0;
  cursor:pointer;
}
.offcanvas-link:hover,.offcanvas-nav a:hover{
  color:var(--primary);
  text-decoration:none;
}
.has-icon{gap:6px}
.menu-icon{
  width:16px;
  flex:0 0 16px;
  color:#05375f;
  display:inline-grid;
  place-items:center;
  font-size:.95rem;
}
.offcanvas-nav a{
  justify-content:space-between;
  gap:12px;
}
.offcanvas-nav a span{
  color:#05375f;
  font-size:1.1rem;
  line-height:1;
}
.info-nav a{justify-content:flex-start}
.count-link{
  position:relative;
  padding-right:32px;
}
.count-link>span:last-child{
  margin-left:auto;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#3c3c3c;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:.72rem;
  font-weight:700;
}

#app{padding-bottom:1rem;outline:none}
.hero{
  margin-top:.85rem;
  padding:0;
  overflow:hidden;
  background:#fff;
}
.hero img{
  display:block;
  width:100%;
  height:auto;
  border-radius:var(--radius);
}
.card{
  background:#fff;
  border:1px solid rgba(0,0,0,.125);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.85rem;
}
.section-heading h1,.section-heading h2{
  margin:0;
  font-size:1.5rem;
  font-weight:700;
}
.section-heading p{margin:0;color:var(--muted);max-width:620px}
.theme-world{
  margin-top:1rem;
  padding:1.65rem;
  border-color:#b9d5ec;
  box-shadow:0 10px 28px rgba(5,92,165,.14);
  background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);
}
.theme-heading h1{
  color:#1f2d3a;
  font-size:1.85rem;
}
.theme-controls{
  display:flex;
  gap:.5rem;
}
.theme-controls button{
  width:42px;
  height:42px;
  border:1px solid var(--primary);
  border-radius:50%;
  background:#fff;
  color:var(--primary);
  cursor:pointer;
  font-size:1.8rem;
  font-weight:700;
  line-height:1;
  box-shadow:0 4px 12px rgba(5,92,165,.12);
}
.theme-controls button:hover{
  background:var(--primary);
  color:#fff;
}
.theme-slider{
  overflow:hidden;
}
.theme-grid{
  display:flex;
  gap:1rem;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding:.25rem .15rem .35rem;
}
.theme-grid::-webkit-scrollbar{display:none}
.theme-card{
  flex:0 0 calc((100% - 3rem) / 4);
  min-height:315px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:.35rem .35rem 0;
  display:grid;
  grid-template-rows:minmax(220px,1fr) auto;
  text-align:center;
  color:var(--primary);
  overflow:hidden;
  background:#fff;
  scroll-snap-align:start;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.theme-card:hover,.product-card:hover{
  box-shadow:0 6px 16px rgba(5,92,165,.16);
  transform:translateY(-3px);
  text-decoration:none;
}
.theme-card:hover{border-color:#9fc7e6}
.theme-card img{
  width:100%;
  height:100%;
  min-height:220px;
  object-fit:contain;
  object-position:center;
  padding:0;
}
.theme-card span{
  display:grid;
  place-items:center;
  min-height:58px;
  padding:.75rem .35rem .85rem;
  color:var(--primary);
  background:#fff;
  border-top:1px solid #edf0f2;
  font-weight:700;
  font-size:1.05rem;
  line-height:1.2;
}

.product-section{margin-top:1rem}
.related-product-section{
  margin-top:1.25rem;
  padding-bottom:.25rem;
}
.related-product-section .section-heading{
  padding-bottom:.6rem;
  border-bottom:2px solid var(--primary);
}
.product-section-heading{
  align-items:center;
}
.product-heading-actions{
  display:flex;
  align-items:center;
  gap:.75rem;
}
.all-products-link{
  white-space:nowrap;
}
.product-slider-section{
  overflow:hidden;
}
.product-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1rem;
}
.category-layout .product-grid{
  grid-template-columns:repeat(4,minmax(150px,1fr));
}
.product-slider{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding:.15rem .1rem .45rem;
}
.product-slider::-webkit-scrollbar{display:none}
.product-card{
  position:relative;
  padding:1rem;
  display:flex;
  flex-direction:column;
  gap:.75rem;
}
.product-slider .product-card{
  flex:0 0 calc((100% - 4rem) / 5);
  scroll-snap-align:start;
}
.product-card a{
  display:grid;
  gap:.45rem;
  color:var(--text);
}
.product-card a:hover{text-decoration:none}
.product-card img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;
}
.product-card strong{font-size:1rem;line-height:1.25}
.product-card span{color:var(--muted);font-size:.92rem}
.mini-action{
  position:absolute;
  top:.55rem;
  right:.55rem;
  z-index:1;
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid var(--line);
  background:#fff;
  color:var(--primary);
  cursor:pointer;
}
.empty-state{
  grid-column:1/-1;
  margin:0;
  padding:1rem;
  background:#fff;
  border:1px dashed var(--line);
  border-radius:var(--radius);
}

.simple-ad-banner{
  margin-top:1rem;
  margin-bottom:1.75rem;
}
.simple-ad-banner a{
  display:block;
  overflow:hidden;
  color:#1f2d3a;
  background:#d6d8d9;
  border:2px solid #d6d8d9;
  border-radius:var(--radius);
  box-shadow:0 8px 20px rgba(0,0,0,.08);
  animation:simpleBannerBlink 1.6s ease-in-out infinite;
}
.simple-ad-banner a:hover{
  color:#1f2d3a;
  text-decoration:none;
  border-color:#aeb4ba;
}
.simple-ad-banner img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center;
}
.simple-ad-banner-new a{
  position:relative;
}
.simple-ad-banner-new a::before{
  content:"";
  display:block;
  width:100%;
  aspect-ratio:2163/530;
}
.simple-ad-banner-new img{
  position:absolute;
  inset:0;
  height:100%;
}
@keyframes simpleBannerBlink{
  0%,100%{
    opacity:1;
    transform:scale(1);
  }
  50%{
    opacity:.72;
    transform:scale(1.01);
  }
}
@media(prefers-reduced-motion:reduce){
  .simple-ad-banner a{animation:none}
}

.newsletter-banner{
  margin-top:1rem;
  padding:1.5rem;
  display:grid;
  grid-template-columns:180px 1fr;
  gap:1.5rem;
  align-items:center;
  background:linear-gradient(135deg,#053f73 0%,var(--primary) 58%,#0b78c7 100%);
  color:#fff;
  border-radius:var(--radius);
  box-shadow:0 12px 30px rgba(5,92,165,.22);
}
.newsletter-voucher{
  min-height:150px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:.2rem;
  background:linear-gradient(145deg,#ff7b7b 0%,#e30613 48%,#a80000 100%);
  color:#fff;
  border-radius:var(--radius);
  border:3px solid #fff;
  box-shadow:0 10px 26px rgba(227,6,19,.35),0 0 0 4px rgba(255,255,255,.22);
  text-align:center;
  animation:voucherPulse 1.45s ease-in-out infinite;
}
.newsletter-voucher strong{
  font-size:3.1rem;
  line-height:1;
  color:#ffd43b;
  text-shadow:0 2px 5px rgba(0,0,0,.45);
}
.newsletter-voucher span{
  font-weight:700;
  color:#ffd43b;
}
@keyframes voucherPulse{
  0%,100%{
    transform:scale(1);
    box-shadow:0 10px 26px rgba(227,6,19,.35),0 0 0 4px rgba(255,255,255,.22);
  }
  50%{
    transform:scale(1.045);
    box-shadow:0 16px 34px rgba(227,6,19,.55),0 0 0 10px rgba(255,255,255,.26);
  }
}
@media(prefers-reduced-motion:reduce){
  .newsletter-voucher{animation:none}
}
.newsletter-banner-copy h2{
  margin:.1rem 0 .45rem;
  color:#fff;
  font-size:2rem;
}
.newsletter-banner-copy p{
  margin:0 0 1rem;
  color:#eaf4fc;
}
.newsletter-banner-form{
  max-width:650px;
  display:flex;
  gap:0;
}
.newsletter-banner-form input{
  min-width:0;
  flex:1;
  border:0;
  border-radius:var(--radius) 0 0 var(--radius);
  padding:.85rem 1rem;
}
.newsletter-banner-form button{
  border-radius:0 var(--radius) var(--radius) 0;
  white-space:nowrap;
}
.newsletter-banner-copy small{
  display:block;
  margin-top:.75rem;
  max-width:850px;
  color:#d9ecfb;
  font-size:.85rem;
}

.boxes{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
  margin-top:1rem;
}
.info-box{overflow:hidden}
.info-box h3{
  margin:0;
  padding:.65rem 1rem;
  background:var(--primary);
  color:#fff;
  border-radius:var(--radius) var(--radius) 0 0;
  font-size:1.05rem;
}
.logo-list{
  padding:.85rem 1.25rem 1rem;
  display:grid;
  gap:.1rem;
}
.logo-tile{
  min-height:76px;
  display:grid;
  place-items:center;
  padding:.55rem .25rem;
  border-bottom:1px solid #edf0f2;
}
.logo-tile:last-child{border-bottom:0}
a.logo-tile:hover{background:#f7fafc;text-decoration:none}
.logo-tile img{
  display:block;
  width:100%;
  max-width:225px;
  height:54px;
  object-fit:contain;
  margin:0 auto;
}
.logo-etol img,
.logo-one2taste img{
  max-width:205px;
  height:54px;
}
.logo-wko img{
  max-width:205px;
  height:58px;
}
.logo-pruckner-technologies{
  overflow:hidden;
}
.logo-pruckner-technologies img{
  max-width:225px;
  height:54px;
  object-fit:cover;
  object-position:center;
  transform:scale(1.55);
}
.info-box-action{
  padding:0 1.25rem 1.25rem;
}
.info-box-action .btn{
  width:100%;
  justify-content:center;
}
.partner-directory{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin-top:1rem;
}
.partner-directory-card{
  min-height:190px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1rem;
  padding:1.5rem;
  text-align:center;
}
a.partner-directory-card:hover{
  text-decoration:none;
  border-color:#9cc7e8;
  box-shadow:0 14px 30px rgba(5,92,165,.14);
}
.partner-directory-card img{
  display:block;
  width:100%;
  max-width:205px;
  height:58px;
  object-fit:contain;
  margin:0 auto;
}
.partner-directory-card.logo-pruckner-technologies img{
  object-fit:contain;
  object-position:center;
  transform:none;
}
.partner-directory-card.logo-pruckner-technologies{
  overflow:visible;
}
.partner-directory-card strong{
  color:#1f2d3a;
  font-size:1rem;
}
.brand-row{
  padding:.75rem 1rem;
  display:grid;
  grid-template-columns:92px 1fr;
  gap:1rem;
  align-items:center;
  border-bottom:1px solid #edf0f2;
}
.brand-row img{
  width:92px;
  height:44px;
  object-fit:contain;
}
.social-list{
  padding:1rem;
  display:grid;
  gap:.5rem;
}
.social-logo-list{
  padding:1rem;
  display:grid;
  grid-template-columns:1fr;
  gap:.55rem;
}
.social-logo-list a{
  min-height:58px;
  display:grid;
  grid-template-columns:44px 1fr;
  align-items:center;
  gap:.75rem;
  color:var(--text);
  border:1px solid #edf0f2;
  border-radius:var(--radius);
  padding:.55rem .75rem;
  border-left:5px solid #d8dde2;
}
.social-logo-list a:hover{text-decoration:none;background:#f7fafc}
.social-logo-list a:nth-child(1){border-left-color:#1877f2}
.social-logo-list a:nth-child(2){border-left-color:#0a66c2}
.social-logo-list a:nth-child(3){border-left-color:#e4405f}
.social-logo-list a:nth-child(4){border-left-color:#ff0000}
.social-logo-list a:nth-child(5){border-left-color:#111}
.social-logo-list img{
  width:42px;
  height:42px;
  object-fit:contain;
}
.social-logo-list span{font-weight:700}
.cms-footer-middle{
  margin-top:1rem;
  background:transparent;
}
.question-card{
  padding:1rem;
  display:grid;
  grid-template-columns:25% 1fr;
  gap:0;
  align-items:center;
}
.question-card img{
  width:100%;
  max-width:270px;
  height:auto;
  object-fit:contain;
  border-radius:0;
  margin:auto;
}
.question-card>div{padding:1rem}
.question-card h2{margin:.2rem 0 .5rem;font-size:1.75rem}
.question-card p{font-size:1.05rem}
.question-card h3{margin:.5rem 0 0;font-size:1.45rem}
.question-card h3 span{display:block;font-size:1rem}
.question-help-link{margin-top:.85rem}

.page-title{
  padding:1.5rem 0 1rem;
}
.breadcrumbs{
  color:var(--muted);
  font-size:.95rem;
}
.breadcrumbs span{margin:0 .35rem}
.page-title h1{
  margin:.65rem 0 .35rem;
  font-size:2rem;
}
.page-title p{
  margin:0;
  max-width:760px;
  color:var(--muted);
  font-size:1.05rem;
}
.page-title span{color:var(--muted);margin:0 .25rem}
.split-layout{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:1rem;
  align-items:start;
}
.category-layout{
  display:grid;
  grid-template-columns:250px minmax(0,1fr) 320px;
  column-gap:2rem;
  row-gap:1rem;
  align-items:start;
}
.main-category-layout{
  grid-template-columns:minmax(0,1fr) 320px;
}
.filter-panel{
  position:sticky;
  top:126px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1rem;
}
.filter-panel h2{margin:.1rem 0 .75rem;font-size:1.15rem}
.filter-panel a{
  display:block;
  padding:.55rem 0;
  border-bottom:1px solid #edf0f2;
}
.shop-filter-panel{
  position:sticky;
  top:126px;
  padding:1rem;
  width:100%;
  max-width:320px;
  justify-self:end;
}
.shop-filter-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:.5rem;
}
.shop-filter-head h2{
  margin:0;
  font-size:1.2rem;
}
.shop-filter-head button{
  border:0;
  background:transparent;
  color:var(--primary);
  cursor:pointer;
  font-weight:700;
}
.shop-filter-group{
  border-top:1px solid #edf0f2;
  padding:.85rem 0;
}
.shop-filter-group summary{
  cursor:pointer;
  color:#1f2d3a;
  font-weight:700;
}
.shop-filter-group div{
  display:grid;
  gap:.45rem;
  margin-top:.65rem;
}
.shop-filter-group label{
  display:flex;
  align-items:center;
  gap:.45rem;
  color:var(--muted);
  font-size:.95rem;
}
.shop-filter-group input{
  width:16px;
  height:16px;
  accent-color:var(--primary);
}
.cms-copy{
  padding:1.25rem;
  margin-top:1rem;
}
.cms-copy:first-child{margin-top:0}
.cms-copy h2{margin-top:0}
.cms-grid{
  display:grid;
  grid-template-columns:1fr 330px;
  gap:1rem;
}
.contact-card{
  padding:1.25rem;
  display:grid;
  gap:.5rem;
  align-content:start;
}
.contact-card h2{margin:0 0 .35rem}

.helpcenter{
  display:grid;
  gap:1rem;
  padding-bottom:1rem;
}
.help-hero{
  padding:1.5rem;
  display:grid;
  grid-template-columns:1fr minmax(280px,460px);
  gap:1.5rem;
  align-items:center;
  background:linear-gradient(135deg,#fff 0%,#eef6fc 100%);
  border-color:#b9d5ec;
}
.help-hero>div>span{
  display:inline-block;
  margin-bottom:.45rem;
  color:var(--primary);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.help-hero h2{
  margin:.1rem 0 .5rem;
  font-size:2rem;
}
.help-search{
  display:grid;
  gap:.35rem;
  font-weight:700;
}
.help-search input{
  width:100%;
  min-height:54px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:.75rem 1rem;
  background:#fff;
}
.help-action-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.help-action{
  padding:1.15rem;
  color:var(--text);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.help-action:hover{
  transform:translateY(-3px);
  border-color:#9fc7e6;
  box-shadow:0 8px 18px rgba(5,92,165,.14);
  text-decoration:none;
}
.help-action strong{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eef6fc;
  color:var(--primary);
  font-size:1.4rem;
}
.help-action h3{
  margin:.85rem 0 .35rem;
  color:var(--primary);
}
.help-action p{margin:0;color:var(--muted)}
.help-layout{
  display:grid;
  grid-template-columns:minmax(280px,420px) 1fr;
  gap:1rem;
}
.help-topics,.help-faq{
  padding:1.25rem;
}
.help-topics h2,.help-faq h2{
  margin-top:0;
}
.help-topic{
  padding:.85rem 0;
  border-top:1px solid #edf0f2;
}
.help-topic h3{
  margin:.1rem 0 .25rem;
  color:#1f2d3a;
}
.help-topic p{margin:0;color:var(--muted)}
.help-faq details{
  border-top:1px solid #edf0f2;
  padding:.95rem 0;
}
.help-faq summary{
  cursor:pointer;
  color:var(--primary);
  font-weight:700;
}
.help-faq p{
  margin:.55rem 0 0;
  color:var(--muted);
}

.shelf-configurator{
  display:grid;
  gap:1rem;
  padding-bottom:1rem;
}
.shelf-intro{
  padding:1.5rem;
  display:grid;
  grid-template-columns:1fr 260px;
  gap:1rem;
  align-items:center;
  background:linear-gradient(135deg,#fff 0%,#eef6fc 100%);
  border-color:#b9d5ec;
}
.shelf-intro span{
  color:var(--primary);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.shelf-intro h2{
  margin:.35rem 0 .45rem;
  font-size:2rem;
}
.config-progress strong,
.config-progress small{
  display:block;
  color:#1f2d3a;
}
.config-progress span{
  display:block;
  height:12px;
  margin:.55rem 0;
  overflow:hidden;
  background:#d9e8f5;
  border-radius:999px;
}
.config-progress i{
  display:block;
  width:25%;
  height:100%;
  background:var(--primary);
}
.config-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:1rem;
  align-items:start;
}
.config-form{
  padding:1.25rem;
}
.config-fieldset{
  margin:0 0 1.25rem;
  padding:0 0 1.25rem;
  border:0;
  border-bottom:1px solid #edf0f2;
}
.config-fieldset:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.config-fieldset legend{
  margin-bottom:.75rem;
  color:#1f2d3a;
  font-size:1.25rem;
  font-weight:700;
}
.config-choice-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.75rem;
}
.config-choice{
  min-height:168px;
  display:grid;
  align-content:start;
  gap:.45rem;
  padding:.85rem;
  border:1px solid var(--line);
  border-radius:var(--radius);
  cursor:pointer;
  background:#fff;
}
.config-choice input{display:none}
.config-choice:has(input:checked){
  border-color:var(--primary);
  box-shadow:0 7px 18px rgba(5,92,165,.16);
}
.config-choice-visual{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eef6fc;
  color:var(--primary);
  font-weight:700;
}
.config-choice strong{line-height:1.2}
.config-choice small{color:var(--muted)}
.config-input-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.75rem;
}
.config-input-grid label,
.config-message{
  display:grid;
  gap:.35rem;
  font-weight:700;
}
.config-input-grid input,
.config-input-grid select,
.config-message textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:.75rem;
  background:#fff;
}
.config-message{margin:.75rem 0}
.config-message textarea{min-height:115px;resize:vertical}
.config-summary{
  position:sticky;
  top:126px;
  padding:1.25rem;
}
.config-summary h2{margin-top:0}
.shelf-preview{
  height:210px;
  margin-bottom:1rem;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.65rem;
  align-items:end;
  padding:1rem;
  border:1px solid #d9e8f5;
  border-radius:var(--radius);
  background:linear-gradient(180deg,#f7fbff,#fff);
}
.shelf-preview span{
  display:block;
  height:100%;
  border:5px solid #9aa6ad;
  border-top-width:10px;
  border-bottom-width:10px;
  background:repeating-linear-gradient(to bottom,transparent 0 30px,#cfd7dc 30px 36px,transparent 36px 58px);
}
.config-summary ul{
  margin:0 0 1rem;
  padding:0;
  list-style:none;
}
.config-summary li{
  padding:.45rem 0;
  border-bottom:1px solid #edf0f2;
}
.config-summary p{color:var(--muted)}

.housekeeping-configurator{
  display:grid;
  gap:1rem;
  padding-bottom:1rem;
}
.housekeeping-intro{
  padding:1.5rem;
  display:grid;
  grid-template-columns:1fr 280px;
  gap:1rem;
  align-items:center;
  background:linear-gradient(135deg,#fff 0%,#eef6fc 100%);
  border-color:#b9d5ec;
}
.housekeeping-intro span{
  color:var(--primary);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.housekeeping-intro h2{
  margin:.35rem 0 .45rem;
  font-size:2rem;
}
.roomle-badge{
  padding:1rem;
  background:#fff;
  border:1px solid #b9d5ec;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.roomle-badge strong,
.roomle-badge small{
  display:block;
}
.roomle-badge strong{color:var(--primary);font-size:1.2rem}
.roomle-badge small{color:var(--muted);margin-top:.3rem}
.housekeeping-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:1rem;
  align-items:start;
}
.housekeeping-preview-panel{
  position:sticky;
  top:126px;
  padding:1.25rem;
}
.housekeeping-preview-panel h2{margin-top:0}
.housekeeping-cart-preview{
  position:relative;
  height:300px;
  margin-bottom:1rem;
  border:1px solid #d9e8f5;
  border-radius:var(--radius);
  background:linear-gradient(180deg,#f7fbff,#fff);
  overflow:hidden;
}
.housekeeping-cart-preview::before{
  content:"";
  position:absolute;
  left:78px;
  bottom:54px;
  width:150px;
  height:168px;
  border:8px solid #74828c;
  border-radius:8px;
  background:#eef3f7;
}
.cart-handle{
  position:absolute;
  left:48px;
  top:58px;
  width:214px;
  height:28px;
  border:7px solid #74828c;
  border-bottom:0;
  border-radius:18px 18px 0 0;
}
.cart-shelf{
  position:absolute;
  left:91px;
  width:124px;
  height:10px;
  background:#74828c;
  border-radius:999px;
}
.shelf-a{top:146px}
.shelf-b{top:192px}
.cart-door{
  position:absolute;
  left:94px;
  bottom:64px;
  width:116px;
  height:112px;
  background:linear-gradient(135deg,#ffffff,#dce6ed);
  border:3px solid #9aa6ad;
}
.cart-bag{
  position:absolute;
  right:48px;
  bottom:58px;
  width:82px;
  height:150px;
  background:linear-gradient(180deg,#245f93,#0c4778);
  border-radius:10px 10px 18px 18px;
  box-shadow:inset 0 14px 0 rgba(255,255,255,.15);
}
.cart-wheel{
  position:absolute;
  bottom:31px;
  width:34px;
  height:34px;
  background:#2f3337;
  border-radius:50%;
  box-shadow:inset 0 0 0 7px #697782;
}
.wheel-a{left:84px}
.wheel-b{left:202px}
.config-summary-list{
  display:grid;
  gap:.55rem;
  margin-bottom:1rem;
}
.config-summary-list p{
  margin:0;
  padding:.55rem 0;
  border-bottom:1px solid #edf0f2;
  color:var(--muted);
}
.config-helper{
  margin:.1rem 0 1rem;
  color:var(--muted);
}
.config-consent{
  display:flex;
  gap:.5rem;
  align-items:flex-start;
  margin:.75rem 0 1rem;
  color:var(--muted);
}
.config-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

.product-detail{
  display:grid;
  grid-template-columns:minmax(280px,520px) 1fr;
  gap:1rem;
  padding-top:1rem;
}
.product-image{
  padding:1.5rem;
  display:grid;
  place-items:center;
}
.product-image img{
  width:100%;
  max-height:520px;
  object-fit:contain;
}
.product-info{
  padding:1.5rem;
}
.product-info h1{margin:.5rem 0 1rem;font-size:2rem}
.product-properties{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:1rem;
}
.product-properties span{
  background:#eef6fc;
  color:var(--primary);
  border:1px solid #d8eaf8;
  border-radius:999px;
  padding:.35rem .7rem;
  font-weight:700;
  font-size:.92rem;
}
.detail-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.25rem;
}
.category-results{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin-top:1rem;
}
.category-result{
  padding:1rem;
  display:grid;
  gap:.35rem;
}
.category-result span{color:var(--muted)}

.legal-breadcrumb{
  padding:.75rem 0 .25rem;
}
.legal-breadcrumb ol{
  margin:0;
  padding:.25rem .5rem;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  list-style:none;
  font-size:.92rem;
}
.legal-breadcrumb li+li::before{
  content:"/";
  color:var(--muted);
  margin-right:.5rem;
}
.legal-content{
  margin-bottom:1rem;
}
.legal-content .card-block{
  padding:1.25rem;
}
.legal-content .card-title{
  margin:0 0 1rem;
  font-size:1.65rem;
}
.legal-content .row{
  display:flex;
  flex-wrap:wrap;
  width:100%;
}
.legal-content .col-xl-12,
.legal-content .col-lg-12,
.legal-content .col-md-24,
.legal-content .col-sm-24,
.legal-content .col-xs-24{
  min-width:0;
}
.legal-content .col-xl-12,
.legal-content .col-lg-12{
  flex:0 0 50%;
  max-width:50%;
}
.legal-content .col-xl-6,
.legal-content .col-lg-6,
.legal-content .col-md-6{
  flex:0 0 25%;
  max-width:25%;
}
.legal-content .col-sm-12{
  flex:0 0 50%;
  max-width:50%;
}
.legal-content .col-xs-24,
.legal-content .col-24{
  flex:0 0 100%;
  max-width:100%;
}
.legal-content .col-sm-0,
.legal-content .col-xs-0{
  display:block;
}
.legal-content .col-12{
  flex:0 0 50%;
  max-width:50%;
}
.legal-content .mx-5{margin-left:3rem;margin-right:3rem}
.legal-content .p-0{padding:0}
.legal-content .p-4{padding:1.5rem}
.legal-content .py-2{padding-top:.5rem;padding-bottom:.5rem}
.legal-content .py-3{padding-top:1rem;padding-bottom:1rem}
.legal-content .py-4{padding-top:1.5rem;padding-bottom:1.5rem}
.legal-content .pt-2{padding-top:.5rem}
.legal-content .pt-5{padding-top:3rem}
.legal-content .pb-0{padding-bottom:0}
.legal-content .pb-4{padding-bottom:1.5rem}
.legal-content .px-1{padding-left:.25rem;padding-right:.25rem}
.legal-content .px-2{padding-left:.5rem;padding-right:.5rem}
.legal-content .text-center{text-align:center}
.legal-content .text-uppercase{text-transform:uppercase}
.legal-content h2,
.legal-content h3,
.legal-content h4,
.legal-content h5{
  margin:0 0 .7rem;
}
.legal-content p{
  margin:.65rem 0;
}
.legal-content ul{
  margin:.5rem 0 1rem 1.25rem;
  padding:0;
}
.legal-content .xo-product-container-inner{
  position:relative;
  border:1px solid var(--line)!important;
  box-shadow:none;
  width:auto!important;
  min-height:100%;
}
.legal-content .d-flex{display:flex}
.legal-content .flex-column{flex-direction:column}
.legal-content .card-body{
  padding:1rem;
}
.legal-content .stretched-link{
  color:var(--primary);
  font-weight:700;
}
.legal-content .stretched-link img,
.legal-content a.pdf::before{
  vertical-align:middle;
}
.legal-content a.pdf{
  display:inline-block;
  color:var(--primary);
  font-weight:700;
  margin:.25rem 0;
}
.legal-content .formHint{
  color:var(--muted);
  font-size:.92rem;
}
.legal-download-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin:2rem 0;
}
.legal-download-card{
  display:grid;
  gap:.25rem;
  padding:1.1rem;
  color:var(--primary);
  text-align:center;
  background:#fff;
  border:1px solid #cbe4f7;
  border-radius:var(--radius);
  box-shadow:0 8px 18px rgba(5,92,165,.08);
}
.legal-download-card:hover{
  color:#fff;
  background:var(--primary);
  text-decoration:none;
}
.legal-download-card strong{
  font-size:1.1rem;
}
.legal-download-card span{
  color:inherit;
  font-size:.9rem;
}
.legal-document{
  margin-top:2rem;
  padding-top:1.5rem;
  border-top:1px solid #cbe4f7;
}
.legal-document h2{
  margin-bottom:1.25rem;
  color:var(--primary);
}
.legal-document h3{
  margin-top:1.5rem;
  padding-bottom:.35rem;
  border-bottom:1px solid #d8eaf8;
}
.legal-document p{
  line-height:1.65;
}
.legal-document-en{
  margin-top:2.5rem;
}

.catalogues-page{
  display:grid;
  gap:1.5rem;
  padding-bottom:3rem;
}
.catalogues-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:2rem;
  align-items:center;
  padding:2rem;
  color:#fff;
  background:
    linear-gradient(135deg,rgba(0,47,95,.96),rgba(5,92,165,.9)),
    url("../OneDrive_3_2/Bilder für Tanner Themenwelt/Geschirr.jpg") center/cover no-repeat;
  border-radius:var(--radius);
  box-shadow:0 14px 34px rgba(0,47,95,.14);
}
.catalogues-hero span{
  display:inline-block;
  margin-bottom:.7rem;
  color:#fff;
  font-weight:900;
  text-transform:uppercase;
}
.catalogues-hero h2{
  margin:0;
  color:#fff;
  font-size:2.2rem;
  text-transform:uppercase;
}
.catalogues-hero h2::after{
  content:"";
  display:block;
  width:82px;
  height:3px;
  margin:1rem 0 0;
  background:#fff;
}
.catalogues-hero p{
  max-width:760px;
  margin:1rem 0 0;
  color:#f4f8fb;
  line-height:1.65;
}
.catalogues-hero aside{
  display:grid;
  place-items:center;
  min-height:150px;
  padding:1rem;
  text-align:center;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.32);
  border-radius:var(--radius);
}
.catalogues-hero aside strong{
  color:#fff;
  font-size:3rem;
  line-height:1;
}
.catalogues-hero aside span{
  margin:.5rem 0 0;
  font-size:.9rem;
}
.catalogues-intro{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.catalogues-intro article{
  padding:1.25rem;
  background:#c9c9c9;
  border-left:4px solid var(--primary);
  border-radius:var(--radius);
}
.catalogues-intro strong{
  display:block;
  color:var(--primary);
  font-size:1.05rem;
  text-transform:uppercase;
}
.catalogues-intro p{
  margin:.45rem 0 0;
  color:#1f252b;
  line-height:1.55;
}
.catalogue-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.25rem;
}
.catalogue-card a{
  display:grid;
  grid-template-rows:auto 1fr;
  min-height:100%;
  color:var(--text);
  background:#fff;
  border:1px solid #cfd8df;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 10px 24px rgba(0,47,95,.08);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.catalogue-card a:hover{
  text-decoration:none;
  transform:translateY(-3px);
  border-color:var(--primary);
  box-shadow:0 14px 30px rgba(0,47,95,.16);
}
.catalogue-card figure{
  display:grid;
  place-items:center;
  margin:0;
  padding:1rem;
  background:#f5f6f7;
  border-bottom:1px solid #d8dee3;
}
.catalogue-card img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:contain;
  background:#fff;
  border:1px solid #edf0f2;
  border-radius:var(--radius-sm);
}
.catalogue-card div{
  display:grid;
  gap:.35rem;
  padding:1rem;
  background:#fff;
}
.catalogue-card div>span{
  color:var(--primary);
  font-size:.8rem;
  font-weight:900;
  text-transform:uppercase;
}
.catalogue-card strong{
  color:#111;
  font-size:1.15rem;
}
.catalogue-card small{
  justify-self:start;
  margin-top:.4rem;
  padding:.45rem .75rem;
  color:#fff;
  background:var(--primary);
  border-radius:var(--radius-sm);
  font-weight:800;
  text-transform:uppercase;
}

.team-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.team-profile{
  display:grid;
  grid-template-columns:minmax(280px,420px) 1fr;
  gap:1rem;
  align-items:stretch;
}
.team-card-stack{
  display:grid;
  gap:1rem;
}
.team-card{
  padding:1.25rem;
  text-align:center;
}
.team-card img{
  width:100%;
  max-width:260px;
  aspect-ratio:1/1.08;
  object-fit:contain;
  object-position:bottom center;
  margin:auto;
  display:block;
}
.team-card h2{margin:.85rem 0 .25rem}
.team-card p{margin:0;color:var(--muted)}
.team-card-logo img{
  max-width:300px;
  aspect-ratio:16/9;
  object-position:center;
}
.team-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.team-copy p{
  font-size:1.08rem;
  line-height:1.62;
}
.team-home{
  display:grid;
  gap:1rem;
  margin-top:1rem;
}
.team-home-hero{
  display:grid;
  grid-template-columns:1fr minmax(220px,360px);
  gap:1.5rem;
  align-items:center;
  padding:1.65rem;
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);
  border:1px solid #b9d5ec;
  border-radius:var(--radius);
  box-shadow:0 10px 28px rgba(5,92,165,.14);
}
.team-home-hero span{
  display:block;
  margin-bottom:.45rem;
  color:var(--primary);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.team-home-hero h2{
  margin:.1rem 0 .65rem;
  color:#1f2d3a;
  font-size:2rem;
  line-height:1.18;
}
.team-home-hero h2::after,
.team-home-copy h2::after{
  content:"";
  display:block;
  width:72px;
  height:2px;
  margin-top:.85rem;
  background:var(--primary);
}
.team-home-hero p{
  max-width:760px;
  margin:0;
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.55;
}
.team-home-hero img{
  width:100%;
  max-height:340px;
  object-fit:contain;
  object-position:bottom center;
}
.team-home-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.team-home .team-card{
  border-color:#d8eaf8;
  box-shadow:none;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.team-home .team-card:hover{
  transform:translateY(-3px);
  border-color:#9fc7e6;
  box-shadow:0 6px 16px rgba(5,92,165,.16);
}
.team-home .team-card h2{
  color:#1f2d3a;
  font-size:1.15rem;
}
.team-home .team-card:first-child img{
  aspect-ratio:1/1.18;
  object-fit:cover;
  object-position:center top;
  border-radius:var(--radius);
}
.team-home .team-card p{
  color:var(--primary);
  font-weight:700;
}
.team-contact-list{
  display:grid;
  gap:.45rem;
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid #d8eaf8;
  text-align:left;
}
.team-contact-list a{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:.75rem;
  align-items:center;
  color:var(--text);
}
.team-contact-list a:hover{
  color:var(--primary);
  text-decoration:none;
}
.team-contact-list strong{
  color:var(--primary);
  font-size:.9rem;
}
.team-contact-list span{
  min-width:0;
  overflow-wrap:anywhere;
  color:var(--muted);
}
.team-home-copy{
  display:grid;
  grid-template-columns:1fr auto;
  gap:1.5rem;
  align-items:center;
  padding:1.65rem;
  background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);
  border:1px solid #b9d5ec;
  border-radius:var(--radius);
  box-shadow:0 10px 28px rgba(5,92,165,.14);
}
.team-home-copy h2{
  margin:0 0 1rem;
  color:#1f2d3a;
  font-size:1.5rem;
}
.team-home-copy p{
  margin:.75rem 0 0;
  max-width:860px;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.6;
}
.team-home-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  justify-content:flex-end;
}
.team-home>.team-copy{
  display:none;
}
.team-profile-sheet{
  display:grid;
  grid-template-columns:minmax(320px,.95fr) minmax(360px,1fr);
  gap:2rem;
  align-items:end;
  padding:2rem 2.25rem 0;
  overflow:hidden;
  background:
    linear-gradient(90deg,#fff 0%,#fff 45%,#f7fbff 100%);
  border:1px solid #b9d5ec;
  border-radius:var(--radius);
  box-shadow:0 10px 28px rgba(5,92,165,.14);
}
.team-profile-portrait{
  display:grid;
  align-items:end;
  min-height:500px;
}
.team-profile-portrait img{
  width:100%;
  max-height:540px;
  object-fit:contain;
  object-position:bottom center;
  filter:drop-shadow(0 18px 24px rgba(5,92,165,.18));
}
.team-profile-main{
  align-self:center;
  padding:1.5rem 0 2.25rem;
}
.team-profile-logo{
  width:min(330px,100%);
  height:auto;
  margin-bottom:1.5rem;
}
.team-profile-main h2{
  margin:0;
  color:#1f2d3a;
  font-size:3rem;
  line-height:1.08;
}
.team-profile-role{
  margin:.55rem 0 0;
  color:var(--primary);
  font-size:1.35rem;
  font-weight:700;
}
.team-profile-role::after{
  content:"";
  display:block;
  width:72px;
  height:2px;
  margin:1rem 0 0;
  background:var(--primary);
}
.team-profile-main blockquote{
  position:relative;
  margin:1.5rem 0;
  padding:0 2.25rem;
  color:#1f2d3a;
  font-size:1.08rem;
  line-height:1.55;
}
.team-profile-main blockquote::before,
.team-profile-main blockquote::after{
  position:absolute;
  color:var(--primary);
  font-size:3rem;
  line-height:1;
  font-weight:800;
}
.team-profile-main blockquote::before{
  content:"“";
  left:0;
  top:-.4rem;
}
.team-profile-main blockquote::after{
  content:"”";
  right:.25rem;
  bottom:-1.25rem;
}
.team-profile-contact{
  display:grid;
  gap:.8rem;
  margin-top:1.75rem;
}
.team-profile-contact a,
.team-profile-contact div{
  display:grid;
  grid-template-columns:50px 1fr;
  column-gap:.9rem;
  align-items:center;
  padding-bottom:.8rem;
  border-bottom:1px solid #d8eaf8;
  color:var(--text);
}
.team-profile-contact a:hover{
  color:var(--primary);
  text-decoration:none;
}
.team-profile-contact span{
  grid-row:1 / span 2;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--primary);
  color:#fff;
  font-size:1.25rem;
}
.team-profile-contact strong{
  color:#1f2d3a;
}
.team-profile-contact small{
  color:var(--muted);
  font-size:1rem;
  line-height:1.35;
}
.team-profile-socials{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:1rem;
}
.team-profile-socials a{
  padding:.5rem .75rem;
  color:var(--primary);
  font-size:.9rem;
  font-weight:800;
  background:#eaf5fd;
  border:1px solid #cbe4f7;
  border-radius:999px;
}
.team-profile-socials a:hover{
  color:#fff;
  background:var(--primary);
  text-decoration:none;
}
.team-vcard-download{
  margin-top:1.35rem;
  text-transform:uppercase;
}
.team-profile-info-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.team-profile-info-card,
.team-profile-letter{
  background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);
  border:1px solid #d8eaf8;
  border-radius:var(--radius);
  box-shadow:0 10px 28px rgba(5,92,165,.10);
}
.team-profile-info-card{
  padding:1.4rem;
}
.team-profile-info-icon{
  display:block;
  margin-bottom:.75rem;
  color:var(--primary);
  font-size:1.65rem;
  font-weight:800;
}
.team-profile-info-card h3{
  margin:0 0 .85rem;
  color:var(--primary);
  font-size:1.05rem;
  text-transform:uppercase;
}
.team-profile-info-card ul{
  margin:0;
  padding-left:1rem;
  color:var(--text);
  line-height:1.55;
}
.team-profile-info-card li{
  margin:.35rem 0;
}
.team-profile-letter{
  position:relative;
  display:grid;
  grid-template-columns:48px 1fr;
  gap:1rem;
  padding:1.8rem;
  overflow:hidden;
}
.team-profile-letter>span{
  color:var(--primary);
  font-size:4rem;
  line-height:.8;
  font-weight:800;
}
.team-profile-letter h3{
  margin:0 0 1rem;
  color:var(--primary);
}
.team-profile-letter p{
  max-width:920px;
  margin:.75rem 0;
  line-height:1.6;
}
.team-profile-letter strong,
.team-profile-letter small{
  display:block;
}
.team-profile-letter strong{
  margin-top:1rem;
  color:var(--primary);
}
.team-profile-letter small{
  color:var(--muted);
}

.business-card-page{
  margin:1.5rem auto 2.5rem;
}
.business-card-shell{
  position:relative;
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(380px,1fr) 180px;
  gap:2rem;
  align-items:center;
  padding:2.25rem;
  overflow:hidden;
  background:linear-gradient(90deg,#fff 0%,#fff 42%,#f4f9fe 100%);
  border:1px solid #b9d5ec;
  border-radius:var(--radius);
  box-shadow:0 12px 32px rgba(5,92,165,.14);
}
.business-card-shell::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  background:var(--primary);
}
.business-card-photo{
  align-self:stretch;
  display:grid;
  place-items:end center;
  min-height:460px;
}
.business-card-photo img{
  width:100%;
  max-height:500px;
  object-fit:contain;
  object-position:bottom center;
  filter:drop-shadow(0 18px 24px rgba(5,92,165,.18));
}
.business-card-main{
  position:relative;
  z-index:1;
}
.business-card-kicker{
  margin:0 0 .65rem;
  color:var(--primary);
  font-size:.9rem;
  font-weight:800;
  text-transform:uppercase;
}
.business-card-main h2{
  margin:0;
  color:#1f2d3a;
  font-size:2.7rem;
  line-height:1.08;
}
.business-card-role{
  margin:.55rem 0 0;
  color:var(--primary);
  font-size:1.35rem;
  font-weight:800;
}
.business-card-role::after{
  content:"";
  display:block;
  width:72px;
  height:2px;
  margin:1rem 0;
  background:var(--primary);
}
.business-card-focus{
  max-width:620px;
  margin:0 0 1.25rem;
  color:var(--text);
  font-size:1.05rem;
  line-height:1.55;
}
.business-card-contact{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
}
.business-card-contact a{
  display:grid;
  grid-template-columns:44px 1fr;
  column-gap:.85rem;
  align-items:center;
  min-width:0;
  padding:.85rem;
  color:var(--text);
  background:#fff;
  border:1px solid #d8eaf8;
  border-radius:var(--radius-sm);
}
.business-card-contact a:hover{
  color:var(--primary);
  text-decoration:none;
  border-color:#9cc8e8;
}
.business-card-contact span{
  grid-row:1 / span 2;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--primary);
  color:#fff;
  font-size:1.15rem;
}
.business-card-contact strong{
  color:#1f2d3a;
}
.business-card-contact small{
  min-width:0;
  color:var(--muted);
  font-size:.98rem;
  overflow-wrap:anywhere;
}
.business-card-socials{
  margin-top:1.35rem;
}
.business-card-socials h3{
  margin:0 0 .75rem;
  color:#1f2d3a;
  font-size:1rem;
}
.business-card-socials div{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
}
.business-card-socials a{
  padding:.55rem .8rem;
  color:var(--primary);
  font-weight:800;
  background:#eaf5fd;
  border:1px solid #cbe4f7;
  border-radius:999px;
}
.business-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.4rem;
}
.business-card-qr{
  position:relative;
  z-index:1;
  align-self:end;
  display:grid;
  justify-items:center;
  gap:.7rem;
  padding:1rem;
  background:#fff;
  border:1px solid #d8eaf8;
  border-radius:var(--radius);
}
.business-card-qr img{
  width:132px;
  height:132px;
  object-fit:contain;
}
.business-card-qr span{
  color:var(--muted);
  font-size:.85rem;
  font-weight:700;
  text-align:center;
}

.press-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
}
.press-card{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:1rem;
  padding:1rem;
  align-items:center;
}
.press-card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:contain;
  border:1px solid #edf0f2;
  border-radius:var(--radius);
  background:#f8f9fa;
}
.press-card span{color:var(--muted);font-weight:700}
.press-card h2{margin:.25rem 0 .8rem}

.timeline{
  padding:1.25rem;
}
.timeline h2{margin:0 0 1rem}
.timeline div{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:.75rem;
  border-bottom:1px solid #edf0f2;
  padding:.75rem 0;
}
.timeline strong{color:var(--primary);font-size:1.15rem}
.timeline p{margin:0;color:var(--text)}

.story-page{
  margin-top:0;
  background:#fff;
  color:#081b3f;
}
.story-hero{
  min-height:520px;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(2,20,50,.96) 0%,rgba(2,20,50,.82) 38%,rgba(2,20,50,.25) 72%,rgba(2,20,50,.12) 100%),
    var(--story-hero-image) center/cover no-repeat;
}
.story-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.28));
  pointer-events:none;
}
.story-hero-inner{
  position:relative;
  z-index:1;
  padding-top:5rem;
  padding-bottom:5rem;
}
.story-hero span{
  display:block;
  margin-bottom:1.4rem;
  color:#1676ff;
  font-size:1rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.story-hero h1{
  margin:0;
  max-width:640px;
  font-size:clamp(2.4rem,5vw,4.8rem);
  line-height:1.12;
  font-weight:850;
}
.story-hero h1 strong{color:#1676ff}
.story-hero h1::after,
.story-values h2::after,
.story-milestones h2::after,
.story-cta h2::after{
  content:"";
  display:block;
  width:66px;
  height:4px;
  margin-top:1.6rem;
  background:#1676ff;
}
.story-hero p{
  max-width:520px;
  margin:2rem 0 0;
  color:#f4f7fb;
  font-size:1.15rem;
  line-height:1.75;
}
.story-values{
  display:grid;
  grid-template-columns:minmax(260px,360px) 1fr;
  gap:3.5rem;
  align-items:center;
  padding-top:4rem;
  padding-bottom:4rem;
}
.story-section-copy h2,
.story-milestones h2,
.story-cta h2{
  margin:0;
  color:#081b3f;
  font-size:2rem;
  line-height:1.22;
  font-weight:850;
  text-transform:uppercase;
}
.story-section-copy p{
  margin:1.6rem 0 0;
  color:#20304f;
  line-height:1.8;
}
.story-value-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
}
.story-value{
  text-align:center;
  padding:0 2rem;
  border-left:1px solid #cadcf2;
}
.story-value:first-child{border-left:0}
.story-value h3{
  margin:1.2rem 0 .65rem;
  color:#0758d8;
  font-size:1.05rem;
  font-weight:850;
  text-transform:uppercase;
}
.story-value p{
  margin:0;
  color:#1d2b47;
  line-height:1.55;
}
.story-icon{
  width:88px;
  height:88px;
  display:inline-grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(180deg,#f7f9fd,#fff);
  border:1px solid #e1e8f3;
  box-shadow:0 10px 22px rgba(8,27,63,.12);
}
.story-icon::before{
  color:#0758d8;
  font-size:2rem;
  font-weight:850;
}
.story-icon-rocket::before{content:"R"}
.story-icon-people::before{content:"M"}
.story-icon-target::before{content:"Z"}
.story-icon-medal::before{content:"30"}
.story-icon-handshake::before{content:"P"}
.story-icon-truck::before{content:"L"}
.story-icon-headset::before{content:"S"}
.story-milestones{
  padding:3.2rem 0 3.6rem;
  background:
    radial-gradient(circle at 20% 10%,rgba(22,118,255,.08),transparent 30%),
    linear-gradient(180deg,#f6f9fd,#fff);
}
.story-milestones h2{
  margin-bottom:2rem;
}
.story-timeline{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  position:relative;
  gap:0;
}
.story-timeline::before{
  content:"";
  position:absolute;
  left:6%;
  right:2%;
  top:105px;
  height:3px;
  background:#1676ff;
}
.story-timeline::after{
  content:"";
  position:absolute;
  right:1%;
  top:99px;
  width:16px;
  height:16px;
  border-top:3px solid #1676ff;
  border-right:3px solid #1676ff;
  transform:rotate(45deg);
}
.story-milestone{
  position:relative;
  min-width:0;
  padding:0 1.15rem;
  text-align:center;
}
.story-milestone:not(:first-child){
  border-left:1px dashed #9fc3f3;
}
.story-milestone-icon{
  width:76px;
  height:76px;
  display:inline-grid;
  place-items:center;
  margin-bottom:2.3rem;
  color:#0758d8;
  background:#fff;
  border:1px solid #e1e8f3;
  border-radius:50%;
  box-shadow:0 10px 22px rgba(8,27,63,.12);
  font-weight:850;
}
.story-milestone-icon::after{
  content:"";
  position:absolute;
  top:97px;
  left:50%;
  width:18px;
  height:18px;
  background:#fff;
  border:4px solid #1676ff;
  border-radius:50%;
  transform:translateX(-50%);
  z-index:1;
}
.story-milestone strong{
  display:block;
  margin-bottom:.7rem;
  color:#0758d8;
  font-size:1.35rem;
  font-weight:850;
}
.story-milestone p{
  margin:0;
  color:#102242;
  font-size:.88rem;
  line-height:1.55;
}
.story-cta{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  align-items:stretch;
  margin-top:3rem;
  margin-bottom:2rem;
  overflow:hidden;
  border-radius:14px;
  background:
    radial-gradient(circle at 100% 100%,rgba(22,118,255,.24),transparent 34%),
    linear-gradient(135deg,#061936,#082a60 58%,#05142b);
  box-shadow:0 18px 38px rgba(8,27,63,.18);
}
.story-cta img{
  width:100%;
  height:100%;
  min-height:290px;
  object-fit:cover;
}
.story-cta>div{
  padding:3.2rem;
  color:#fff;
}
.story-cta h2{
  color:#fff;
  text-transform:none;
}
.story-cta p{
  max-width:520px;
  margin:1.6rem 0 1.8rem;
  color:#f4f7fb;
  line-height:1.7;
}
.story-cta .btn{
  text-transform:uppercase;
  font-weight:800;
  padding:.85rem 1.4rem;
}
.story-benefits{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  padding-top:1.4rem;
  padding-bottom:2.6rem;
}
.story-benefits article{
  display:flex;
  gap:1rem;
  align-items:center;
  min-width:0;
  padding:0 1.2rem;
  border-left:1px solid #b9d4f6;
}
.story-benefits article:first-child{
  border-left:0;
}
.story-benefits .story-icon{
  width:58px;
  height:58px;
  flex:0 0 58px;
  box-shadow:none;
  background:#fff;
}
.story-benefits .story-icon::before{
  font-size:1.1rem;
}
.story-benefits strong{
  display:block;
  color:#0758d8;
  font-size:.95rem;
  font-weight:850;
  text-transform:uppercase;
}
.story-benefits p{
  margin:.15rem 0 0;
  color:#102242;
  font-size:.88rem;
}

.sustainability-page{
  margin-top:-1rem;
  background:#fff;
}
.sustainability-hero{
  position:relative;
  width:min(var(--page-width),calc(100% - var(--page-gutter)));
  min-height:430px;
  display:grid;
  align-items:center;
  overflow:hidden;
  margin:0 auto;
  background:
    linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 42%,rgba(255,255,255,.35) 100%),
    var(--sustainability-hero-image) center/cover no-repeat;
  border-bottom:1px solid #cbe4f7;
}
.sustainability-hero-inner{
  padding-top:4rem;
  padding-bottom:4rem;
}
.sustainability-hero span{
  display:inline-block;
  margin-bottom:.9rem;
  color:var(--primary);
  font-weight:800;
  text-transform:uppercase;
}
.sustainability-hero h1{
  max-width:760px;
  margin:0;
  color:#102242;
  font-size:3rem;
  line-height:1.08;
}
.sustainability-hero h1::after,
.sustainability-copy h2::after,
.sustainability-process h2::after,
.sustainability-cta h2::after{
  content:"";
  display:block;
  width:86px;
  height:3px;
  margin:1rem 0 0;
  background:var(--primary);
}
.sustainability-hero p{
  max-width:720px;
  margin:1.35rem 0 0;
  color:#354d68;
  font-size:1.12rem;
  line-height:1.65;
}
.sustainability-intro{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:2rem;
  padding-top:3rem;
  padding-bottom:3rem;
}
.sustainability-copy{
  padding:2rem;
  background:#f7fbff;
  border:1px solid #cbe4f7;
  border-radius:var(--radius);
}
.sustainability-copy h2,
.sustainability-process h2,
.sustainability-cta h2{
  margin:0 0 1.2rem;
  color:#102242;
  font-size:2rem;
}
.sustainability-copy p{
  margin:0;
  color:#516477;
  line-height:1.65;
}
.sustainability-focus-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.sustainability-focus-card{
  padding:1.35rem;
  background:#fff;
  border:1px solid #cbe4f7;
  border-left:4px solid var(--primary);
  border-radius:var(--radius);
  box-shadow:0 8px 20px rgba(5,92,165,.08);
}
.sustainability-focus-card span{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:1rem;
  color:var(--primary);
  background:#eaf5fd;
  border:1px solid #cbe4f7;
  border-radius:50%;
  font-weight:900;
}
.sustainability-focus-card h3{
  margin:0 0 .75rem;
  color:var(--primary);
}
.sustainability-focus-card p{
  margin:0;
  color:#516477;
  line-height:1.55;
}
.sustainability-process{
  width:min(var(--page-width),calc(100% - var(--page-gutter)));
  margin:0 auto;
  padding:3rem 0;
  background:#f4f8fb;
  border-top:1px solid #d8eaf8;
  border-bottom:1px solid #d8eaf8;
}
.sustainability-step-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.6rem;
}
.sustainability-step-grid article{
  padding:1.35rem;
  background:#fff;
  border:1px solid #cbe4f7;
  border-radius:var(--radius);
}
.sustainability-step-grid strong{
  color:var(--primary);
  font-size:1.35rem;
}
.sustainability-step-grid h3{
  margin:.6rem 0 .5rem;
  color:#102242;
}
.sustainability-step-grid p{
  margin:0;
  color:#516477;
  line-height:1.55;
}
.sustainability-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);
  gap:1.5rem;
  align-items:stretch;
  padding-top:3rem;
  padding-bottom:3rem;
}
.sustainability-cta>div:first-child,
.sustainability-commitments{
  padding:2rem;
  background:#fff;
  border:1px solid #cbe4f7;
  border-radius:var(--radius);
  box-shadow:0 10px 24px rgba(5,92,165,.08);
}
.sustainability-cta p{
  color:#516477;
  line-height:1.65;
}
.sustainability-commitments{
  display:grid;
  gap:1rem;
}
.sustainability-commitments article{
  padding-bottom:1rem;
  border-bottom:1px solid #d8eaf8;
}
.sustainability-commitments article:last-child{
  padding-bottom:0;
  border-bottom:0;
}
.sustainability-commitments strong{
  color:var(--primary);
  font-size:1.05rem;
}
.sustainability-commitments p{
  margin:.35rem 0 0;
}
.delivery-payment-page{
  display:grid;
  gap:1.5rem;
  padding:2rem 0 4rem;
  color:#102242;
}
.delivery-payment-hero{
  padding:2rem;
  background:linear-gradient(90deg,#fff 0%,#f4f9fe 100%);
  border:1px solid #cbe4f7;
  border-left:5px solid var(--primary);
  border-radius:var(--radius);
  box-shadow:0 10px 24px rgba(5,92,165,.08);
}
.delivery-payment-hero span{
  display:inline-block;
  margin-bottom:.65rem;
  color:var(--primary);
  font-weight:800;
  text-transform:uppercase;
}
.delivery-payment-hero h2{
  max-width:760px;
  margin:0;
  color:#102242;
  font-size:2rem;
}
.delivery-payment-hero h2::after,
.delivery-payment-card h2::after{
  content:"";
  display:block;
  width:78px;
  height:3px;
  margin:1rem 0 0;
  background:var(--primary);
}
.delivery-payment-hero p{
  max-width:760px;
  margin:1rem 0 0;
  color:#516477;
  line-height:1.6;
}
.delivery-payment-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
}
.delivery-payment-card{
  padding:2rem;
  background:#fff;
  border:1px solid #cbe4f7;
  border-radius:var(--radius);
  box-shadow:0 10px 24px rgba(5,92,165,.08);
}
.delivery-payment-card h2{
  margin:0 0 1.5rem;
  color:#102242;
  font-size:1.65rem;
}
.delivery-payment-card h3{
  margin:1.35rem 0 .8rem;
  color:var(--primary);
  font-size:1.45rem;
}
.delivery-payment-card p{
  margin:0 0 1rem;
  color:#334b63;
  line-height:1.65;
}
.delivery-price-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
  margin:1rem 0;
}
.delivery-price-grid div{
  min-height:110px;
  display:grid;
  align-content:center;
  gap:.35rem;
  padding:.9rem;
  text-align:center;
  background:#f7fbff;
  border:1px solid #d8eaf8;
  border-radius:var(--radius-sm);
}
.delivery-price-grid strong{
  color:var(--primary);
  font-size:1.35rem;
}
.delivery-price-grid span{
  color:#516477;
  font-size:.88rem;
  line-height:1.35;
}
.delivery-payment-note{
  padding:.85rem 1rem;
  background:#eef6fc;
  border-left:4px solid var(--primary);
  border-radius:var(--radius-sm);
}
.returns-page{
  display:grid;
  gap:1.5rem;
  padding:2rem 0 4rem;
}
.returns-hero{
  padding:2rem;
  background:linear-gradient(90deg,#fff 0%,#f4f9fe 100%);
  border:1px solid #cbe4f7;
  border-left:5px solid var(--primary);
  border-radius:var(--radius);
  box-shadow:0 10px 24px rgba(5,92,165,.08);
}
.returns-hero span{
  display:inline-block;
  margin-bottom:.65rem;
  color:var(--primary);
  font-weight:800;
  text-transform:uppercase;
}
.returns-hero h2{
  margin:0;
  color:#102242;
  font-size:2rem;
}
.returns-hero h2::after,
.returns-card h3::after,
.returns-help-card h3::after{
  content:"";
  display:block;
  width:78px;
  height:3px;
  margin:1rem 0 0;
  background:var(--primary);
}
.returns-hero p{
  max-width:780px;
  margin:1rem 0 0;
  color:#516477;
  line-height:1.6;
}
.returns-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);
  gap:1.25rem;
}
.returns-card,
.returns-help-card{
  padding:2rem;
  background:#fff;
  border:1px solid #cbe4f7;
  border-radius:var(--radius);
  box-shadow:0 10px 24px rgba(5,92,165,.08);
}
.returns-card h3,
.returns-help-card h3{
  margin:0 0 1.25rem;
  color:#102242;
  font-size:1.55rem;
}
.returns-card p,
.returns-help-card p{
  color:#334b63;
  line-height:1.65;
}
.returns-note{
  padding:1rem;
  background:#eef6fc;
  border-left:4px solid var(--primary);
  border-radius:var(--radius-sm);
  font-weight:800;
}
.returns-help-card{
  align-content:start;
  display:grid;
  gap:.85rem;
}
.returns-help-card .btn{
  justify-content:center;
}
.planning-page{
  margin-top:-1rem;
  background:#fff;
}
.planning-hero{
  position:relative;
  min-height:560px;
  display:grid;
  align-items:center;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(0,31,63,.96) 0%,rgba(0,47,95,.9) 36%,rgba(0,47,95,.34) 63%,rgba(0,0,0,.05) 100%),
    var(--planning-hero-image) center right/cover no-repeat;
  color:#fff;
}
.planning-hero::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:min(46vw,680px);
  opacity:.18;
  background:
    linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(135deg,transparent 0 48%,rgba(255,255,255,.34) 49% 51%,transparent 52%) 0 0/120px 120px;
}
.planning-hero-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,720px) 150px;
  align-items:end;
  gap:2rem;
  padding-top:5rem;
  padding-bottom:5rem;
}
.planning-hero-copy{
  max-width:680px;
}
.planning-hero-copy>span{
  display:inline-block;
  margin-bottom:1rem;
  color:#fff;
  font-weight:800;
  letter-spacing:0;
  text-transform:uppercase;
}
.planning-hero h1{
  max-width:760px;
  margin:0;
  color:#fff;
  font-size:3.35rem;
  line-height:1.14;
  text-transform:uppercase;
}
.planning-hero h1::after,
.planning-final-cta h2::after{
  content:"";
  display:block;
  width:86px;
  height:3px;
  margin:1.25rem 0 0;
  background:#fff;
}
.planning-hero p{
  max-width:560px;
  margin:1.4rem 0 2rem;
  color:#f4f8fb;
  font-size:1.08rem;
  line-height:1.65;
}
.planning-hero-features{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  max-width:620px;
  margin:0 0 2rem;
}
.planning-hero-features strong{
  min-height:58px;
  display:flex;
  align-items:center;
  gap:.7rem;
  padding:.8rem .9rem;
  color:#fff;
  font-size:.88rem;
  line-height:1.35;
  text-transform:uppercase;
  border-left:3px solid #fff;
  background:rgba(255,255,255,.12);
}
.planning-line-icon{
  position:relative;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border:2px solid currentColor;
  opacity:.98;
}
.planning-line-icon-blueprint{
  border-radius:4px;
}
.planning-line-icon-blueprint::before,
.planning-line-icon-blueprint::after{
  content:"";
  position:absolute;
  background:currentColor;
}
.planning-line-icon-blueprint::before{
  left:8px;
  right:8px;
  top:11px;
  height:2px;
  box-shadow:0 7px 0 currentColor;
}
.planning-line-icon-blueprint::after{
  left:10px;
  bottom:6px;
  width:13px;
  height:9px;
  border:2px solid currentColor;
  background:transparent;
}
.planning-line-icon-gear{
  border-radius:50%;
}
.planning-line-icon-gear::before{
  content:"";
  position:absolute;
  inset:9px;
  border:2px solid currentColor;
  border-radius:50%;
  box-shadow:
    0 -15px 0 -5px currentColor,
    0 15px 0 -5px currentColor,
    15px 0 0 -5px currentColor,
    -15px 0 0 -5px currentColor;
}
.planning-line-icon-tool{
  border:0;
}
.planning-line-icon-tool::before,
.planning-line-icon-tool::after{
  content:"";
  position:absolute;
  background:currentColor;
}
.planning-line-icon-tool::before{
  left:17px;
  top:4px;
  width:4px;
  height:31px;
  border-radius:4px;
  transform:rotate(-42deg);
}
.planning-line-icon-tool::after{
  right:3px;
  top:2px;
  width:16px;
  height:16px;
  border:3px solid currentColor;
  border-left-color:transparent;
  border-radius:50%;
  background:transparent;
  transform:rotate(-42deg);
}
.planning-hero-badge{
  position:relative;
  display:grid;
  place-items:center;
  align-self:center;
  width:148px;
  height:148px;
  padding:1.2rem;
  color:#fff;
  text-align:center;
  text-transform:uppercase;
  background:rgba(0,47,95,.78);
  border:4px solid #c9c9c9;
  border-radius:50%;
  box-shadow:0 14px 32px rgba(0,0,0,.28);
}
.planning-hero-badge::before,
.planning-hero-badge::after{
  content:"";
  position:absolute;
  border:1px solid rgba(255,255,255,.6);
  border-radius:50%;
}
.planning-hero-badge::before{
  inset:8px;
}
.planning-hero-badge::after{
  inset:-12px;
  border-color:rgba(201,201,201,.34);
}
.planning-hero-badge strong{
  display:block;
  margin-bottom:.5rem;
  font-size:.82rem;
  line-height:1.25;
}
.planning-hero-badge span{
  font-size:.76rem;
  font-weight:800;
  line-height:1.35;
}
.planning-process{
  padding:1.75rem 0 2.1rem;
  background:#fff;
}
.planning-process-grid{
  position:relative;
}
.planning-process-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;
}
.planning-process-card{
  position:relative;
  display:grid;
  gap:.8rem;
}
.planning-process-card::after{
  content:"";
  position:absolute;
  z-index:2;
  top:109px;
  right:-1.28rem;
  width:42px;
  height:42px;
  background:#fff;
  border:1px solid #cfd8df;
  border-radius:50%;
  box-shadow:0 8px 20px rgba(0,47,95,.12);
}
.planning-process-card p::before{
  content:"→";
  position:absolute;
  top:117px;
  right:-.62rem;
  z-index:3;
  color:var(--primary);
  font-size:1.35rem;
  font-weight:900;
}
.planning-process-card:last-child::after{
  content:none;
}
.planning-process-card:last-child p::before{
  content:none;
}
.planning-process-card>span{
  position:absolute;
  z-index:1;
  top:0;
  left:0;
  padding:.65rem 1.1rem;
  color:#fff;
  background:var(--primary);
  font-weight:900;
  text-transform:uppercase;
  box-shadow:0 8px 18px rgba(0,47,95,.2);
}
.planning-process-card img{
  display:block;
  width:100%;
  height:240px;
  object-fit:cover;
  border:1px solid #cfd8df;
  border-radius:var(--radius);
}
.planning-process-card p{
  margin:0;
  padding:0 .85rem;
  color:#1f252b;
  line-height:1.55;
}
.planning-service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;
  padding-top:2rem;
  padding-bottom:2rem;
  background:#c9c9c9;
}
.planning-service-grid article{
  display:grid;
  align-content:start;
  padding:1.5rem;
  background:#fff;
  border:1px solid #cfd8df;
  border-radius:var(--radius);
  box-shadow:0 10px 24px rgba(0,0,0,.06);
}
.planning-service-grid span{
  color:var(--primary);
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
}
.planning-service-grid h2{
  margin:.35rem 0 .9rem;
  color:#111;
  font-size:1.35rem;
  line-height:1.2;
  text-transform:uppercase;
}
.planning-service-grid p{
  color:#2e2e2e;
  font-size:1rem;
  line-height:1.55;
}
.planning-service-grid a{
  display:inline-flex;
  align-self:end;
  gap:.45rem;
  margin-top:1rem;
  color:var(--primary);
  font-weight:800;
  text-transform:uppercase;
}
.planning-project-cta{
  padding:2.25rem 0;
  background:#fff;
}
.planning-project-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:2rem;
  align-items:center;
  padding:2rem;
  color:#fff;
  background:linear-gradient(135deg,var(--primary),#111);
  border-radius:var(--radius);
  box-shadow:0 14px 34px rgba(0,47,95,.14);
}
.planning-project-inner span{
  color:#fff;
  font-weight:900;
  text-transform:uppercase;
}
.planning-project-inner h2{
  margin:.45rem 0 0;
  color:#fff;
  font-size:2rem;
  text-transform:uppercase;
}
.planning-project-inner p{
  max-width:780px;
  margin:.8rem 0 0;
  color:#f3f7fb;
  line-height:1.6;
}
.planning-project-inner article{
  display:grid;
  gap:1rem;
  justify-items:start;
  padding:1.25rem;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.28);
  border-radius:var(--radius);
}
.planning-project-inner strong{
  color:#fff;
  text-transform:uppercase;
}
.planning-image-showcase{
  width:min(var(--page-width),calc(100% - var(--page-gutter)));
  overflow:hidden;
  margin:0 auto;
  padding:1.5rem 0;
  background:#c9c9c9;
  border-bottom:6px solid #fff;
}
.planning-image-showcase img{
  display:block;
  width:min(100% - 24px,1024px);
  height:auto;
  margin:0 auto;
  background:#fff;
  border:1px solid #cfd8df;
  border-radius:var(--radius);
  box-shadow:0 12px 30px rgba(0,47,95,.12);
}
.planning-showcase{
  background:#fff;
}
.planning-showcase-hero{
  min-height:430px;
  display:grid;
  align-items:stretch;
  background:
    linear-gradient(90deg,rgba(5,92,165,.05) 0%,rgba(5,92,165,.02) 100%),
    var(--planning-hero-image) center right/cover no-repeat;
  border-bottom:8px solid #fff;
}
.planning-showcase-panel{
  position:relative;
  width:min(720px,48vw);
  min-height:430px;
  display:grid;
  align-content:center;
  padding:2rem 5.5rem 2rem 2rem;
  color:#fff;
  background:linear-gradient(135deg,var(--primary),#00366d);
  clip-path:polygon(0 0,86% 0,100% 100%,0% 100%);
}
.planning-showcase-panel::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background:
    linear-gradient(rgba(255,255,255,.28) 1px,transparent 1px) 0 0/42px 42px,
    linear-gradient(90deg,rgba(255,255,255,.28) 1px,transparent 1px) 0 0/42px 42px;
}
.planning-showcase-logo,
.planning-showcase-panel h1,
.planning-showcase-panel p,
.planning-showcase-panel b,
.planning-showcase-panel ul{
  position:relative;
  z-index:1;
}
.planning-showcase-logo{
  color:#fff;
  font-size:3rem;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:0;
}
.planning-showcase-panel h1{
  margin:1.25rem 0 1rem;
  color:#fff;
  font-size:2.65rem;
  line-height:1.05;
  text-transform:uppercase;
}
.planning-showcase-panel h1::after{
  content:"";
  display:block;
  width:72px;
  height:3px;
  margin:1rem 0 0;
  background:#fff;
}
.planning-showcase-panel p{
  max-width:460px;
  margin:0 0 .35rem;
  color:#fff;
  font-size:1.02rem;
  line-height:1.5;
}
.planning-showcase-panel b{
  color:#fff;
}
.planning-showcase-panel ul{
  display:grid;
  gap:.5rem;
  margin:1.2rem 0 0;
  padding:0;
  list-style:none;
}
.planning-showcase-panel li{
  position:relative;
  padding-left:1.75rem;
  color:#fff;
  font-weight:700;
}
.planning-showcase-panel li::before{
  content:"";
  position:absolute;
  left:0;
  top:.1rem;
  width:18px;
  height:18px;
  border:2px solid #fff;
  border-radius:50%;
}
.planning-showcase-panel li::after{
  content:"";
  position:absolute;
  left:5px;
  top:.45rem;
  width:8px;
  height:4px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg);
}
.planning-showcase-rows{
  display:grid;
  gap:6px;
  background:#fff;
}
.planning-showcase-row{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  min-height:230px;
  background:#fff;
  border-bottom:6px solid #fff;
}
.planning-showcase-side{
  display:grid;
  align-content:center;
  padding:1.8rem 2rem;
  color:#fff;
  background:linear-gradient(135deg,var(--primary),#00366d);
}
.planning-showcase-side span{
  color:#fff;
  font-size:.95rem;
  text-transform:uppercase;
}
.planning-showcase-side h2{
  margin:.45rem 0 1rem;
  color:#fff;
  font-size:1.9rem;
  line-height:1.08;
  text-transform:uppercase;
}
.planning-showcase-side h2::after{
  content:"";
  display:block;
  width:48px;
  height:3px;
  margin:.8rem 0 0;
  background:#fff;
}
.planning-showcase-side p{
  margin:0;
  color:#f5f9ff;
  line-height:1.55;
}
.planning-showcase-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2.6rem;
  padding:.75rem 1rem;
  background:#fff;
}
.planning-showcase-step{
  position:relative;
  display:grid;
  grid-template-rows:auto 132px 1fr;
  align-content:start;
  gap:.55rem;
}
.planning-showcase-step::after{
  content:"→";
  position:absolute;
  top:92px;
  right:-2rem;
  color:var(--primary);
  font-size:2rem;
  font-weight:800;
}
.planning-showcase-step:last-child::after{
  content:none;
}
.planning-showcase-step>span{
  justify-self:start;
  padding:.35rem .85rem;
  color:#fff;
  background:var(--primary);
  border-radius:4px;
  font-weight:900;
  text-transform:uppercase;
}
.planning-showcase-step img{
  display:block;
  width:100%;
  height:132px;
  object-fit:cover;
  background:#c9c9c9;
  border:1px solid #cfd8df;
  border-radius:4px;
}
.planning-showcase-step-copy{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:.75rem;
  align-items:start;
  padding:.1rem .35rem 0;
}
.planning-showcase-step-copy p{
  margin:0;
  color:#002f5f;
  font-size:.92rem;
  font-weight:700;
  line-height:1.35;
}
.planning-showcase-step-copy i{
  position:relative;
  display:block;
  width:34px;
  height:34px;
  color:var(--primary);
}
.planning-showcase-icon-blueprint{
  border:2px solid currentColor;
  border-radius:4px;
}
.planning-showcase-icon-blueprint::before,
.planning-showcase-icon-blueprint::after,
.planning-showcase-icon-gear::before,
.planning-showcase-icon-check::before,
.planning-showcase-icon-check::after{
  content:"";
  position:absolute;
}
.planning-showcase-icon-blueprint::before{
  left:7px;
  right:7px;
  top:9px;
  height:2px;
  background:currentColor;
  box-shadow:0 7px 0 currentColor;
}
.planning-showcase-icon-blueprint::after{
  left:9px;
  bottom:5px;
  width:11px;
  height:8px;
  border:2px solid currentColor;
}
.planning-showcase-icon-gear{
  border:2px solid currentColor;
  border-radius:50%;
}
.planning-showcase-icon-gear::before{
  inset:8px;
  border:2px solid currentColor;
  border-radius:50%;
  box-shadow:
    0 -13px 0 -5px currentColor,
    0 13px 0 -5px currentColor,
    13px 0 0 -5px currentColor,
    -13px 0 0 -5px currentColor;
}
.planning-showcase-icon-check{
  border:2px solid currentColor;
  border-radius:50%;
}
.planning-showcase-icon-check::before{
  left:9px;
  top:14px;
  width:14px;
  height:7px;
  border-left:3px solid currentColor;
  border-bottom:3px solid currentColor;
  transform:rotate(-45deg);
}
.planning-partners{
  width:min(var(--page-width),calc(100% - var(--page-gutter)));
  margin:0 auto;
  padding:2rem 0;
  color:#fff;
  background:
    radial-gradient(circle at 18% 20%,rgba(5,92,165,.25),transparent 24rem),
    linear-gradient(135deg,#07111b,#111 58%,#002f5f);
}
.planning-partners h2{
  margin:0 0 1.75rem;
  color:#fff;
  font-size:1rem;
  letter-spacing:0;
  text-align:center;
  text-transform:uppercase;
}
.planning-partner-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.5rem;
}
.planning-partner-grid article{
  padding:1rem 1.5rem;
  text-align:center;
  border-left:1px solid rgba(201,201,201,.65);
}
.planning-partner-grid article:first-child{
  border-left:0;
}
.planning-partner-grid strong{
  display:block;
  color:#fff;
  font-size:2.15rem;
  letter-spacing:0;
}
.planning-partner-grid span{
  color:#c9c9c9;
  text-transform:uppercase;
}
.planning-partner-grid p{
  color:#f3f4f6;
  line-height:1.55;
}
.planning-benefits{
  width:min(var(--page-width),calc(100% - var(--page-gutter)));
  margin:0 auto;
  padding:1.75rem 0;
  background:#c9c9c9;
  border-bottom:1px solid #e2e6e9;
}
.planning-benefit-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
}
.planning-benefit-grid article{
  display:grid;
  grid-template-columns:62px 1fr;
  gap:1rem;
  align-items:center;
  padding:1rem 1.15rem;
  border-left:1px solid var(--primary);
}
.planning-benefit-grid article:first-child{
  border-left:0;
}
.planning-benefit-grid>article>.planning-benefit-icon{
  position:relative;
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  color:var(--primary);
  background:#fff;
  border:2px solid var(--primary);
  border-radius:50%;
}
.planning-benefit-icon::before,
.planning-benefit-icon::after{
  content:"";
  position:absolute;
}
.planning-benefit-icon-advice::before{
  top:10px;
  width:17px;
  height:17px;
  border:2px solid currentColor;
  border-radius:50%;
}
.planning-benefit-icon-advice::after{
  bottom:9px;
  width:28px;
  height:16px;
  border:2px solid currentColor;
  border-bottom:0;
  border-radius:18px 18px 0 0;
}
.planning-benefit-icon-planning::before{
  inset:13px 12px;
  border:2px solid currentColor;
  border-radius:3px;
}
.planning-benefit-icon-planning::after{
  left:17px;
  top:18px;
  width:20px;
  height:2px;
  background:currentColor;
  box-shadow:0 7px 0 currentColor,0 14px 0 currentColor;
}
.planning-benefit-icon-quality::before{
  inset:10px;
  border:2px solid currentColor;
  border-radius:50%;
}
.planning-benefit-icon-quality::after{
  left:18px;
  top:25px;
  width:18px;
  height:9px;
  border-left:3px solid currentColor;
  border-bottom:3px solid currentColor;
  transform:rotate(-45deg);
}
.planning-benefit-icon-partner::before{
  left:8px;
  top:20px;
  width:36px;
  height:17px;
  border:2px solid currentColor;
  border-radius:12px 12px 8px 8px;
  transform:rotate(-8deg);
}
.planning-benefit-icon-partner::after{
  left:15px;
  top:16px;
  width:23px;
  height:17px;
  border:2px solid currentColor;
  border-radius:12px 12px 8px 8px;
  transform:rotate(8deg);
}
.planning-benefit-grid strong{
  color:#111;
  text-transform:uppercase;
}
.planning-benefit-grid p{
  margin:.35rem 0 0;
  color:#1f252b;
  font-size:.9rem;
  line-height:1.45;
}
.planning-final-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.7fr);
  align-items:center;
  margin-top:2rem;
  margin-bottom:2rem;
  overflow:hidden;
  background:#fff;
  border:1px solid #cfd8df;
  border-radius:var(--radius);
  box-shadow:0 10px 24px rgba(5,92,165,.08);
}
.planning-final-cta img{
  width:100%;
  height:320px;
  object-fit:cover;
}
.planning-final-cta>div{
  padding:2rem;
}
.planning-final-cta h2{
  margin:0;
  color:#111;
  text-transform:uppercase;
}
.planning-final-cta p{
  color:#2e2e2e;
  line-height:1.6;
}
.contact-layout{
  display:grid;
  grid-template-columns:1fr 420px;
  gap:1rem;
}
.contact-request-layout{
  display:grid;
  grid-template-columns:minmax(260px,330px) minmax(0,1fr);
  gap:9rem;
  align-items:start;
  padding:3.5rem 0 4rem;
}
.contact-info-panel{
  margin-top:8.25rem;
  padding:1.75rem 2rem;
  color:#002f5f;
  background:#fff;
  border:1px solid #c8cdd2;
  border-radius:6px;
}
.contact-info-panel h2{
  margin:0 0 2rem;
  color:#333;
  font-size:1.25rem;
}
.contact-info-panel p{
  margin:0 0 1.6rem;
  line-height:1.55;
}
.contact-info-panel a{
  color:#002f5f;
}
.contact-request-form{
  display:grid;
  gap:.85rem;
}
.contact-request-form h2{
  margin:0 0 1.35rem;
  color:#333;
  font-size:1.25rem;
}
.contact-topic-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:.25rem;
  margin-bottom:.65rem;
}
.contact-topic-tabs button{
  padding:.7rem 1rem;
  color:#333;
  background:#fff;
  border:1px solid #222;
  border-radius:4px;
  font-weight:700;
  text-transform:uppercase;
  cursor:pointer;
}
.contact-topic-tabs button.is-active{
  color:#fff;
  background:#2d2d2d;
}
.contact-field{
  display:grid;
  gap:.35rem;
  color:#002f5f;
  font-weight:700;
}
.contact-field small{
  color:#002f5f;
  font-size:.72rem;
  font-weight:500;
}
.contact-field input,
.contact-field textarea{
  width:100%;
  border:1px solid #c8cdd2;
  border-radius:6px;
  padding:1rem;
  background:#f7f8fa;
  color:#002f5f;
  font:inherit;
}
.contact-field textarea{
  min-height:120px;
  resize:vertical;
}
.contact-field-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem;
}
.contact-form-note{
  margin:.25rem 0 0;
  color:#31577f;
  font-size:.85rem;
}
.contact-consent{
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  color:#002f5f;
  font-weight:700;
}
.contact-consent input{
  width:34px;
  height:18px;
  margin-top:.12rem;
  flex:0 0 auto;
  accent-color:var(--primary);
}
.contact-privacy-box{
  padding:.85rem 1rem;
  color:#46515c;
  background:#d2d8df;
  border:1px solid #b8c0c8;
  border-radius:6px;
  font-size:.86rem;
  line-height:1.5;
}
.contact-status{
  min-height:1.1rem;
  margin:0;
  color:#b00020;
  font-size:.86rem;
  font-weight:700;
}
.contact-form-actions{
  display:flex;
  gap:.75rem;
  align-items:center;
  margin-top:.4rem;
}
.contact-form-actions .btn{
  text-transform:uppercase;
}
.contact-request-form.has-validation-error .contact-form-note,
.contact-request-form.has-validation-error .contact-consent{
  color:#b00020;
}
#site-footer{
  margin-top:1rem;
  background:transparent;
  color:var(--primary);
  padding:0;
}
#site-footer>.container-fluid{
  background:#c9c9c9;
  padding:2.75rem 0;
}
.main-footer{
  display:grid;
  grid-template-columns:minmax(380px,1.3fr) minmax(280px,1fr) minmax(300px,1.1fr);
  gap:2.5rem;
  align-items:start;
}
.footer-info-contact{
  display:contents;
}
.main-footer>section{
  min-width:0;
  padding-left:2.5rem;
  border-left:1px solid var(--primary);
}
.footer-information{
  grid-column:1;
  grid-row:1;
}
.main-footer h3{
  margin:0 0 1.1rem;
  color:var(--primary);
  font-size:1.18rem;
}
.main-footer h4{
  margin:1rem 0 .45rem;
  color:var(--primary);
  font-size:1rem;
}
.main-footer a{
  color:var(--primary);
}
.main-footer p,.main-footer small{
  color:var(--primary);
}
#site-footer .brand-hours{
  color:var(--primary);
}
.footer-icon{
  display:inline-block;
  width:1.5rem;
  color:var(--primary);
}
.footer-link{
  margin:.55rem 0 .55rem 1.4rem;
}
.footer-information-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:1.5rem;
  row-gap:.1rem;
}
.footer-trust-seals{
  display:grid;
  grid-template-columns:repeat(3,minmax(74px,1fr));
  gap:.65rem;
  max-width:380px;
  margin:1.3rem 0 0 1.4rem;
}
.footer-trust-seal{
  display:block;
  overflow:hidden;
  aspect-ratio:1;
  border-radius:50%;
  background:transparent;
  box-shadow:0 10px 24px rgba(0,0,0,.2);
}
.footer-trust-seal img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.footer-contact{
  grid-column:1 / -1;
  grid-row:2;
  display:grid;
  grid-template-columns:minmax(300px,.75fr) minmax(0,2fr);
  gap:2.5rem;
  margin-top:.25rem;
  padding-top:2rem;
  border-top:1px solid var(--primary);
}
.footer-contact-details{
  min-width:0;
}
.footer-contact h4{
  margin-top:1.5rem;
  padding-bottom:.55rem;
  border-bottom:2px solid var(--primary);
  font-size:.92rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.footer-contact-showcase{
  display:grid;
  grid-template-columns:minmax(220px,.75fr) minmax(0,1.5fr);
  gap:2rem;
  align-items:start;
  margin-top:0;
}
.footer-contact-showcase>div{
  min-width:0;
}
.footer-contact-showcase>div+div{
  padding-left:1.75rem;
  border-left:1px solid var(--primary);
}
.footer-contact-showcase h4{
  margin-top:0!important;
}
.footer-contact ul{
  margin:.75rem 0 0;
  padding:0;
  list-style:none;
}
.footer-contact li{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:.55rem;
  align-items:center;
  margin:.55rem 0;
}
.footer-rating-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:.65rem;
  margin-top:.75rem;
}
.footer-rating-link{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.65rem;
  background:#fff;
  border:1px solid #dfe6ed;
  border-radius:6px;
  box-shadow:0 5px 12px rgba(0,0,0,.16);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.footer-rating-link:hover{
  text-decoration:none;
  border-color:#9cc7e8;
  transform:translateY(-2px);
  box-shadow:0 8px 16px rgba(0,0,0,.22);
}
.footer-rating-link img{
  display:block;
  max-width:100%;
  max-height:44px;
  object-fit:contain;
}
.footer-awards-heading{
  margin-top:1.5rem!important;
}
.footer-awards-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:.75rem;
  align-items:flex-start;
  margin-top:.75rem;
}
.footer-award-link{
  grid-column:span 2;
  width:auto;
  min-width:0;
  min-height:128px;
  display:flex;
  position:relative;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  overflow:hidden;
  padding:.7rem;
  color:#102242!important;
  background:#fff;
  border:2px solid #d9e1eb;
  box-shadow:0 5px 12px rgba(0,0,0,.22);
  transition:transform .18s ease,border-color .18s ease;
}
.footer-award-link:nth-child(4),
.footer-award-link:nth-child(5){
  grid-column:span 3;
}
.footer-award-link:hover{
  text-decoration:none;
  transform:translateY(-2px);
  border-color:#9cc7e8;
}
.footer-award-link strong,
.footer-award-link small{
  position:relative;
  z-index:1;
}
.footer-award-link strong{
  display:block;
  font-size:.82rem;
  line-height:1.1;
  letter-spacing:.02em;
}
.footer-award-link small{
  display:block;
  margin-top:.3rem;
  color:#4a586a;
  font-size:.64rem;
  line-height:1.2;
}
.footer-award-symbol{
  position:absolute;
  top:.7rem;
  left:.7rem;
  width:38px;
  height:38px;
}
.footer-award-symbol::before,
.footer-award-symbol::after{
  content:"";
  position:absolute;
}
.footer-award-certificate{
  border-color:#d3ad45;
  background:linear-gradient(180deg,#fffdf5,#fff);
}
.footer-award-certificate .footer-award-symbol{
  border:3px solid #b78a20;
  border-radius:50%;
}
.footer-award-certificate .footer-award-symbol::before{
  inset:6px;
  border:2px solid #b78a20;
  border-radius:50%;
}
.footer-award-certificate .footer-award-symbol::after{
  left:7px;
  bottom:-15px;
  width:16px;
  height:18px;
  background:linear-gradient(135deg,#b78a20 0 45%,transparent 46% 54%,#b78a20 55%);
}
.footer-award-partner,
.footer-award-care,
.footer-award-germany,
.footer-award-smart{
  color:#fff!important;
  border-color:#0b5938;
  background:linear-gradient(145deg,#06452c,#0c6b44);
}
.footer-award-care{
  border-color:#1b7894;
  background:linear-gradient(145deg,#07536d,#158fae);
}
.footer-award-germany{
  border-color:#b8a67a;
  background:linear-gradient(145deg,#202020,#444);
}
.footer-award-smart{
  border-color:#e2a329;
  background:linear-gradient(145deg,#d28a10,#f1bc38);
}
.footer-award-partner small,
.footer-award-care small,
.footer-award-germany small,
.footer-award-smart small{
  color:rgba(255,255,255,.84);
}
.footer-award-partner .footer-award-symbol,
.footer-award-care .footer-award-symbol,
.footer-award-germany .footer-award-symbol,
.footer-award-smart .footer-award-symbol{
  border:3px solid rgba(255,255,255,.92);
  border-radius:50%;
}
.footer-award-partner .footer-award-symbol::before,
.footer-award-care .footer-award-symbol::before,
.footer-award-germany .footer-award-symbol::before,
.footer-award-smart .footer-award-symbol::before{
  left:8px;
  top:4px;
  width:12px;
  height:18px;
  border-right:3px solid #fff;
  border-bottom:3px solid #fff;
  transform:rotate(45deg);
}
.footer-logo-grid{
  display:grid;
  gap:.5rem;
}
.footer-payment-shipping,
.footer-service{
  padding-top:.1rem;
}
.footer-payment-shipping{
  grid-column:2;
  grid-row:1;
}
.footer-service{
  grid-column:3;
  grid-row:1;
}
.footer-payment-shipping h3,
.footer-service h3{
  padding-bottom:.7rem;
  border-bottom:1px solid var(--primary);
}
.footer-service .footer-link{
  margin-top:.65rem;
  margin-bottom:.65rem;
}
.footer-service{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:1rem;
  align-content:start;
}
.footer-service h3,
.footer-service .footer-service-note,
.footer-service .footer-premium-seal{
  grid-column:1 / -1;
}
.footer-service .footer-link{
  margin-left:0;
}
.payment-logo-grid{
  grid-template-columns:repeat(3,1fr);
}
.shipping-logo-grid{
  grid-template-columns:repeat(4,1fr);
}
.footer-logo-wrapper{
  position:relative;
  min-height:50px;
  background:#fff;
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.55rem;
}
.footer-logo-wrapper:hover{text-decoration:none}
.footer-logo-wrapper::before,
.footer-logo-wrapper::after{
  position:absolute;
  left:50%;
  z-index:20;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,8px);
  transition:opacity .18s ease,transform .18s ease;
}
.footer-logo-wrapper::before{
  content:attr(data-tooltip);
  bottom:calc(100% + 10px);
  width:max-content;
  max-width:260px;
  padding:.65rem .8rem;
  color:#fff;
  background:#005ca9;
  border-radius:6px;
  box-shadow:0 8px 20px rgba(0,0,0,.2);
  font-size:.82rem;
  font-weight:700;
  line-height:1.35;
  text-align:center;
}
.footer-logo-wrapper::after{
  content:"";
  bottom:calc(100% + 4px);
  border:6px solid transparent;
  border-top-color:#005ca9;
}
.footer-logo-wrapper:hover::before,
.footer-logo-wrapper:hover::after,
.footer-logo-wrapper:focus-visible::before,
.footer-logo-wrapper:focus-visible::after{
  opacity:1;
  transform:translate(-50%,0);
}
.footer-logo-wrapper img{
  display:block;
  max-width:100%;
  max-height:36px;
  object-fit:contain;
}
.shipping-heading{margin-top:2rem!important}
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.footer-service-note{
  margin:0;
  margin-top:1rem;
  padding:.75rem;
  background:#d6d8d9;
  border-radius:var(--radius);
  color:#1f252b!important;
  font-size:.86rem;
}
.footer-premium-seal{
  display:flex;
  justify-content:center;
  width:260px;
  height:260px;
  margin-top:1.75rem;
  margin-left:auto;
  margin-right:auto;
  overflow:hidden;
  background:transparent;
  border-radius:50%;
  box-shadow:0 16px 36px rgba(0,0,0,.32);
}
.footer-premium-seal img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:translateY(14px) scale(1.24);
}
.footer-legal{
  background:var(--body);
  color:#212529;
  padding-top:1.5rem;
  font-size:.9rem;
}
.footer-legal p{margin:.25rem 0 1rem}
.poweredby{color:#6c757d}
.poweredby a{color:#6c757d}

.scrolltop{
  position:fixed;
  right:1rem;
  bottom:1rem;
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--primary);
  color:#fff;
  box-shadow:var(--shadow);
}
.scrolltop:hover{text-decoration:none;background:var(--primary-dark)}

.language-switcher{
  position:fixed;
  right:1rem;
  bottom:4.75rem;
  z-index:40;
  display:flex;
  gap:.45rem;
  padding:.45rem;
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  box-shadow:var(--shadow);
}
.language-switcher button{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:2px solid transparent;
  border-radius:50%;
  padding:0;
  background:#f8f9fa;
  cursor:pointer;
}
.language-switcher button:hover{background:#eef6fc}
.language-switcher button.is-active{
  border-color:var(--primary);
  background:#fff;
}
.flag{
  width:28px;
  height:28px;
  display:block;
  overflow:hidden;
  border:1px solid #d8dde2;
  border-radius:50%;
  box-shadow:0 1px 2px rgba(0,0,0,.16);
}
.flag-at{
  background:linear-gradient(to bottom,#ed2939 0 33%,#fff 33% 66%,#ed2939 66% 100%);
}
.flag-uk{
  position:relative;
  background:#012169;
}
.flag-uk::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(32deg,transparent 0 42%,#fff 42% 48%,#c8102e 48% 52%,#fff 52% 58%,transparent 58% 100%),
    linear-gradient(148deg,transparent 0 42%,#fff 42% 48%,#c8102e 48% 52%,#fff 52% 58%,transparent 58% 100%),
    linear-gradient(to right,transparent 0 38%,#fff 38% 45%,#c8102e 45% 55%,#fff 55% 62%,transparent 62% 100%),
    linear-gradient(to bottom,transparent 0 38%,#fff 38% 45%,#c8102e 45% 55%,#fff 55% 62%,transparent 62% 100%);
}

@media(max-width:1180px){
  .theme-card{flex-basis:calc((100% - 2rem) / 3)}
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .category-layout{
    grid-template-columns:220px minmax(0,1fr) 300px;
    column-gap:1.25rem;
  }
  .main-category-layout{
    grid-template-columns:minmax(0,1fr) 300px;
  }
  .category-layout .product-grid{grid-template-columns:repeat(3,minmax(145px,1fr))}
  .product-slider .product-card{flex-basis:calc((100% - 2rem) / 3)}
  .boxes{grid-template-columns:repeat(2,1fr)}
  .main-footer{grid-template-columns:minmax(320px,1.2fr) minmax(240px,1fr)}
  .main-footer>section{padding-left:1.75rem}
  .footer-payment-shipping{grid-column:2;grid-row:1}
  .footer-contact{grid-column:1 / -1;grid-row:2}
  .footer-service{grid-column:1 / -1;grid-row:3}
  .partner-directory{grid-template-columns:repeat(2,1fr)}
  .footer-rating-grid{grid-template-columns:repeat(3,minmax(90px,1fr))}
  .catalogue-grid{grid-template-columns:repeat(3,1fr)}
  .sustainability-intro,
  .sustainability-cta{grid-template-columns:1fr}
  .sustainability-focus-grid,
  .sustainability-step-grid{grid-template-columns:1fr}
  .story-values{grid-template-columns:1fr;gap:2.5rem}
  .story-timeline{
    grid-template-columns:repeat(3,1fr);
    row-gap:2.2rem;
  }
  .story-timeline::before,
  .story-timeline::after,
  .story-milestone-icon::after{display:none}
  .story-milestone:nth-child(4){border-left:0}
  .story-benefits{grid-template-columns:repeat(2,1fr);row-gap:1.4rem}
  .story-benefits article:nth-child(3){border-left:0}
}

@media(max-width:880px){
  .announcement li:nth-child(n+4){display:none}
  .header-top{flex-wrap:wrap}
  .logo{width:210px;flex-basis:210px;margin-right:auto}
  .search-box{order:2;flex-basis:100%}
  .head-item.menu{
    visibility:visible;
    pointer-events:auto;
  }
  .category-nav{display:none;position:static}
  .category-nav.is-open{display:block}
  .category-nav .container-xxl{display:grid}
  .boxes,.main-footer,.cms-grid,.split-layout,.category-layout,.main-category-layout,.product-detail,.category-results,.team-grid,.team-profile,.team-home-hero,.team-home-copy,.team-profile-sheet,.team-profile-info-grid,.business-card-shell,.press-grid,.contact-layout,.contact-request-layout,.delivery-payment-page,.delivery-payment-grid,.returns-layout,.planning-process-grid,.planning-service-grid,.planning-project-inner,.planning-partner-grid,.planning-benefit-grid,.planning-final-cta,.planning-showcase-row,.planning-showcase-steps,.catalogues-hero,.catalogues-intro,.help-hero,.help-layout,.newsletter-banner,.shelf-intro,.config-layout,.housekeeping-intro,.housekeeping-layout{grid-template-columns:1fr}
  .main-footer{gap:2rem}
  .planning-showcase-panel{
    width:100%;
    min-height:380px;
    clip-path:none;
  }
  .planning-showcase-step{
    grid-template-rows:auto 220px auto;
  }
  .planning-showcase-step img{
    height:220px;
  }
  .planning-showcase-step::after{
    content:none;
  }
  .planning-hero h1{
    font-size:2.5rem;
  }
  .planning-partner-grid article,
  .planning-benefit-grid article{
    border-left:0;
    border-top:1px solid rgba(5,92,165,.28);
  }
  .planning-partner-grid article:first-child,
  .planning-benefit-grid article:first-child{
    border-top:0;
  }
  .contact-request-layout{
    gap:1.5rem;
    padding:2rem 0;
  }
  .delivery-payment-page{
    gap:2rem;
  }
  .delivery-price-grid{grid-template-columns:1fr}
  .contact-info-panel{
    margin-top:0;
  }
  .contact-field-row{
    grid-template-columns:1fr;
  }
  .main-footer>section{
    padding:2rem 0 0;
    border-left:0;
    border-top:1px solid var(--primary);
  }
  .main-footer>section:last-child{grid-column:auto}
  .footer-information-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-information{grid-column:1;grid-row:1}
  .footer-contact{
    grid-column:1;
    grid-row:2;
    grid-template-columns:1fr;
    gap:1.75rem;
  }
  .footer-payment-shipping{grid-column:1;grid-row:3}
  .footer-service{grid-column:1;grid-row:4}
  .story-hero{min-height:460px}
  .sustainability-hero{min-height:420px}
  .story-hero-inner{padding-top:4rem;padding-bottom:4rem}
  .story-value-grid{grid-template-columns:1fr}
  .story-value{
    display:grid;
    grid-template-columns:88px 1fr;
    column-gap:1rem;
    text-align:left;
    padding:1.2rem 0;
    border-left:0;
    border-top:1px solid #cadcf2;
  }
  .story-value:first-child{border-top:0}
  .story-value .story-icon{grid-row:1 / span 2}
  .story-value h3{margin:.25rem 0 .35rem}
  .story-timeline{grid-template-columns:1fr}
  .story-milestone,
  .story-milestone:not(:first-child){
    display:grid;
    grid-template-columns:76px 1fr;
    column-gap:1rem;
    text-align:left;
    border-left:0;
    padding:1rem 0;
    border-top:1px dashed #9fc3f3;
  }
  .story-milestone:first-child{border-top:0}
  .story-milestone-icon{grid-row:1 / span 2;margin:0}
  .story-cta{grid-template-columns:1fr}
  .story-cta>div{padding:2rem}
  .story-benefits{grid-template-columns:1fr}
  .story-benefits article,
  .story-benefits article:nth-child(3){
    border-left:0;
    border-top:1px solid #b9d4f6;
    padding:1rem 0;
  }
  .story-benefits article:first-child{border-top:0}
  .help-action-grid{grid-template-columns:repeat(2,1fr)}
  .config-choice-grid,.config-input-grid{grid-template-columns:repeat(2,1fr)}
  .config-summary{position:static}
  .housekeeping-preview-panel{position:static}
  .theme-card{flex-basis:calc((100% - 1rem) / 2)}
  .product-slider .product-card{flex-basis:calc((100% - 1rem) / 2)}
  .filter-panel{position:static}
  .shop-filter-panel{position:static}
  .question-card{grid-template-columns:1fr;text-align:center}
  .question-card img{margin:auto}
  .payment-logo-grid,.shipping-logo-grid{grid-template-columns:repeat(4,70px)}
  .footer-rating-grid{max-width:360px}
  .legal-content .col-xl-12,
  .legal-content .col-lg-12,
  .legal-content .col-xl-6,
  .legal-content .col-lg-6,
  .legal-content .col-md-6,
  .legal-content .col-sm-12{
    flex:0 0 100%;
    max-width:100%;
  }
  .legal-content .col-sm-0,
  .legal-content .col-xs-0{
    display:none;
  }
  .legal-content .mx-5{margin-left:1rem;margin-right:1rem}
}

@media(max-width:560px){
  .container-xxl{width:min(100% - 16px,var(--page-width))}
  .logo{width:180px;flex-basis:180px}
  .head-item span{display:none}
  .head-item{min-width:48px;min-height:48px}
  .theme-world,.cms-copy,.product-info,.product-image{padding:1rem}
  .product-grid,.catalogue-grid{grid-template-columns:1fr}
  .catalogues-hero{
    padding:1.25rem;
  }
  .catalogues-hero h2{
    font-size:1.55rem;
  }
  .catalogues-hero aside{
    min-height:110px;
  }
  .catalogues-intro article{
    padding:1rem;
  }
  .partner-directory{grid-template-columns:1fr}
  .legal-download-grid{grid-template-columns:1fr}
  .team-home-grid{grid-template-columns:1fr}
  .team-home-actions{justify-content:flex-start}
  .team-profile-sheet{
    padding:1rem 1rem 0;
    gap:1rem;
  }
  .team-profile-portrait{
    min-height:0;
  }
  .team-profile-portrait img{
    max-height:420px;
  }
  .team-profile-main{
    padding:0 0 1.25rem;
  }
  .business-card-shell{
    padding:1rem;
    gap:1rem;
  }
  .business-card-photo{
    min-height:0;
  }
  .business-card-photo img{
    max-height:360px;
  }
  .business-card-main h2{
    font-size:2rem;
  }
  .business-card-contact{
    grid-template-columns:1fr;
  }
  .business-card-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .business-card-actions .btn{
    justify-content:center;
  }
  .business-card-qr{
    justify-self:stretch;
  }
  .team-profile-main h2{
    font-size:2.1rem;
  }
  .team-profile-main blockquote{
    padding:0 1.5rem;
  }
  .team-profile-contact a,
  .team-profile-contact div{
    grid-template-columns:44px 1fr;
  }
  .team-profile-contact span{
    width:38px;
    height:38px;
  }
  .team-profile-letter{
    grid-template-columns:1fr;
    padding:1.2rem;
  }
  .config-choice-grid,.config-input-grid{grid-template-columns:1fr}
  .product-section-heading{
    align-items:flex-start;
  }
  .product-heading-actions{
    width:100%;
    justify-content:space-between;
  }
  .newsletter-banner{
    padding:1rem;
  }
  .newsletter-banner-form{
    display:grid;
  }
  .newsletter-banner-form input,
  .newsletter-banner-form button{
    border-radius:var(--radius);
  }
  .product-slider .product-card{flex-basis:86%}
  .help-action-grid{grid-template-columns:1fr}
  .theme-heading{
    align-items:flex-start;
  }
  .theme-card{
    flex-basis:86%;
    min-height:300px;
    grid-template-rows:minmax(220px,1fr) auto;
  }
  .theme-card img{
    min-height:220px;
  }
  .theme-card span{
    min-height:56px;
    font-size:1rem;
  }
  .press-card{grid-template-columns:1fr}
  .social-logo-list{grid-template-columns:1fr}
  .timeline div{grid-template-columns:1fr}
  .story-hero{
    min-height:420px;
    background:
      linear-gradient(90deg,rgba(2,20,50,.96),rgba(2,20,50,.72)),
      var(--story-hero-image) center/cover no-repeat;
  }
  .story-hero h1{font-size:2.35rem}
  .story-hero p{font-size:1rem}
  .sustainability-hero{
    min-height:360px;
    background:
      linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.84)),
      var(--sustainability-hero-image) center/cover no-repeat;
  }
  .sustainability-hero h1{font-size:2.1rem}
  .sustainability-hero p{font-size:1rem}
  .sustainability-intro,
  .sustainability-process,
  .sustainability-cta{
    padding-top:2rem;
    padding-bottom:2rem;
  }
  .sustainability-copy,
  .sustainability-cta>div:first-child,
  .sustainability-commitments{
    padding:1.25rem;
  }
  .sustainability-copy h2,
  .sustainability-process h2,
  .sustainability-cta h2{font-size:1.55rem}
  .planning-hero{
    min-height:420px;
    background:
      linear-gradient(90deg,rgba(0,47,95,.94),rgba(5,92,165,.78)),
      var(--planning-hero-image) center/cover no-repeat;
  }
  .planning-showcase-panel{
    padding:1.5rem;
  }
  .planning-showcase-logo{
    font-size:2.25rem;
  }
  .planning-showcase-panel h1{
    font-size:2rem;
  }
  .planning-showcase-side{
    padding:1.5rem;
  }
  .planning-showcase-side h2{
    font-size:1.55rem;
  }
  .planning-showcase-steps{
    gap:1rem;
    padding:1rem;
  }
  .planning-showcase-step{
    grid-template-rows:auto 180px auto;
  }
  .planning-showcase-step img{
    height:180px;
  }
  .planning-showcase-step-copy{
    grid-template-columns:36px 1fr;
  }
  .planning-hero-inner{
    grid-template-columns:1fr;
    padding-top:3rem;
    padding-bottom:3rem;
  }
  .planning-hero h1{
    font-size:2rem;
  }
  .planning-hero-features{
    grid-template-columns:1fr;
    gap:.6rem;
  }
  .planning-hero-features strong{
    min-height:0;
  }
  .planning-hero-badge{
    width:124px;
    height:124px;
    justify-self:start;
  }
  .planning-process-card::after{
    content:none;
  }
  .planning-process-card p::before{
    content:none;
  }
  .planning-process-card img{
    height:210px;
  }
  .planning-final-cta img{
    height:220px;
  }
  .story-values{padding-top:2.5rem;padding-bottom:2.5rem}
  .story-section-copy h2,
  .story-milestones h2,
  .story-cta h2{font-size:1.65rem}
  .story-value{grid-template-columns:68px 1fr}
  .story-icon{width:68px;height:68px}
  .story-icon::before{font-size:1.45rem}
  .story-cta{margin-top:2rem;border-radius:10px}
  .story-cta img{min-height:210px}
  .story-cta>div{padding:1.4rem}
  .payment-logo-grid,.shipping-logo-grid{grid-template-columns:repeat(2,1fr)}
  .footer-information-links{grid-template-columns:1fr}
  .footer-contact-showcase{grid-template-columns:1fr;gap:0}
  .footer-contact-showcase>div+div{
    margin-top:1.5rem;
    padding-left:0;
    border-left:0;
  }
  .footer-rating-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-awards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-award-link,
  .footer-award-link:nth-child(4),
  .footer-award-link:nth-child(5){grid-column:span 1}
  .footer-contact li{grid-template-columns:1fr;gap:.15rem}
  .footer-service{grid-template-columns:1fr}
  .footer-service h3,
  .footer-service .footer-service-note,
  .footer-service .footer-premium-seal{grid-column:auto}
  .language-switcher{
    right:.5rem;
    bottom:4.25rem;
  }
  .section-heading{display:block}
}

/* Unternehmensgeschichte im ruhigen Tanner-Shopstil. Inhalte bleiben unveraendert. */
.story-page{
  margin:0;
  padding:1rem 0 0;
  background:var(--body);
  color:var(--text);
}
.story-hero{
  width:min(var(--page-width),calc(100% - var(--page-gutter)));
  min-height:0;
  display:block;
  margin:0 auto 1rem;
  overflow:hidden;
  color:var(--text);
  background:#fff;
  border:1px solid rgba(0,0,0,.125);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.story-hero::after{display:none}
.story-hero-inner{
  padding:1.6rem;
}
.story-hero span{
  margin:0 0 .55rem;
  color:var(--primary);
  font-size:.95rem;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}
.story-hero h1{
  max-width:900px;
  color:#1f2d3a;
  font-size:2rem;
  line-height:1.18;
  font-weight:700;
}
.story-hero h1 strong{
  color:var(--primary);
}
.story-hero h1::after,
.story-values h2::after,
.story-milestones h2::after,
.story-cta h2::after{
  width:72px;
  height:2px;
  margin-top:.85rem;
  background:var(--primary);
}
.story-hero p{
  max-width:820px;
  margin:1rem 0 0;
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.55;
}
.story-values{
  display:grid;
  grid-template-columns:minmax(280px,360px) 1fr;
  gap:1rem;
  align-items:stretch;
  padding-top:0;
  padding-bottom:1rem;
}
.story-section-copy,
.story-value,
.story-milestone,
.story-benefits article{
  background:#fff;
  border:1px solid rgba(0,0,0,.125);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.story-section-copy{
  padding:1.4rem;
}
.story-section-copy h2,
.story-milestones h2,
.story-cta h2{
  color:#1f2d3a;
  font-size:1.5rem;
  line-height:1.25;
  font-weight:700;
  text-transform:none;
}
.story-section-copy p{
  margin:1rem 0 0;
  color:var(--muted);
  line-height:1.6;
}
.story-value-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.story-value{
  display:grid;
  align-content:start;
  gap:.7rem;
  padding:1.2rem;
  text-align:left;
  border-left:1px solid rgba(0,0,0,.125);
}
.story-value:first-child{
  border-left:1px solid rgba(0,0,0,.125);
}
.story-value h3{
  margin:0;
  color:var(--primary);
  font-size:1.05rem;
  font-weight:700;
  text-transform:none;
}
.story-value p{
  color:var(--muted);
  line-height:1.55;
}
.story-section-copy p,
.story-value p,
.story-milestone p,
.story-cta p,
.story-benefits p{
  font-size:.95rem;
  font-weight:400;
}
.story-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eef6fc;
  border:1px solid #d8eaf8;
  box-shadow:none;
}
.story-icon::before{
  color:var(--primary);
  font-size:1.05rem;
  font-weight:700;
}
.story-milestones{
  padding:0 0 1rem;
  background:transparent;
}
.story-milestones .container-xxl{
  background:#fff;
  border:1px solid rgba(0,0,0,.125);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1.4rem;
}
.story-milestones h2{
  margin:0 0 1rem;
}
.story-timeline{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.story-timeline::before,
.story-timeline::after,
.story-milestone-icon::after{
  display:none;
}
.story-milestone,
.story-milestone:not(:first-child){
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:.85rem;
  align-items:start;
  padding:1rem;
  text-align:left;
  border-left:4px solid var(--primary);
}
.story-milestone-icon{
  width:44px;
  height:44px;
  margin:0;
  color:var(--primary);
  background:#eef6fc;
  border:1px solid #d8eaf8;
  border-radius:50%;
  box-shadow:none;
  font-size:.9rem;
  font-weight:700;
}
.story-milestone strong{
  margin:0 0 .35rem;
  color:var(--primary);
  font-size:1.15rem;
  font-weight:700;
  white-space:nowrap;
}
.story-milestone p{
  margin:0;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.5;
  font-weight:400;
}
.story-cta{
  display:grid;
  grid-template-columns:minmax(280px,.85fr) 1fr;
  align-items:stretch;
  margin-top:0;
  margin-bottom:1rem;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.125);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow);
}
.story-cta img{
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
}
.story-cta>div{
  padding:1.6rem;
  color:var(--text);
}
.story-cta h2{
  color:#1f2d3a;
}
.story-cta p{
  max-width:720px;
  margin:1rem 0 1.25rem;
  color:var(--muted);
  line-height:1.6;
}
.story-cta .btn{
  text-transform:none;
  font-weight:700;
  padding:.6rem .9rem;
}
.story-benefits{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
  padding-top:0;
  padding-bottom:1rem;
}
.story-benefits article,
.story-benefits article:nth-child(3){
  display:flex;
  gap:.85rem;
  align-items:center;
  padding:1rem;
  border-left:4px solid var(--primary);
}
.story-benefits article:first-child{
  border-left:4px solid var(--primary);
}
.story-benefits .story-icon{
  width:46px;
  height:46px;
  flex:0 0 46px;
}
.story-benefits .story-icon::before{
  font-size:.95rem;
}
.story-benefits strong{
  color:var(--primary);
  font-size:.95rem;
  font-weight:700;
  text-transform:none;
}
.story-benefits p{
  color:var(--muted);
  font-size:.9rem;
}
@media(max-width:1020px){
  .story-values,
  .story-cta{
    grid-template-columns:1fr;
  }
  .story-timeline,
  .story-benefits{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:700px){
  .story-hero{
    width:min(100% - 16px,var(--page-width));
    min-height:0;
    background:#fff;
  }
  .story-hero-inner,
  .story-section-copy,
  .story-milestones .container-xxl,
  .story-cta>div{
    padding:1rem;
  }
  .story-hero h1{
    font-size:1.75rem;
  }
  .story-value-grid,
  .story-timeline,
  .story-benefits{
    grid-template-columns:1fr;
  }
  .story-value,
  .story-milestone,
  .story-milestone:not(:first-child),
  .story-benefits article,
  .story-benefits article:nth-child(3){
    grid-template-columns:auto 1fr;
    border-left:4px solid var(--primary);
    border-top:1px solid rgba(0,0,0,.125);
  }
  .story-cta img{
    min-height:210px;
  }
}

/* Startseitennaeherer Look fuer die Unternehmensgeschichte. */
.story-page{
  padding-top:1rem;
}
.story-hero{
  min-height:360px;
  display:flex;
  align-items:center;
  border-color:#b9d5ec;
  background:
    linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 44%,rgba(255,255,255,.25) 100%),
    var(--story-hero-image) center/cover no-repeat;
  box-shadow:0 10px 28px rgba(5,92,165,.14);
}
.story-hero-inner{
  padding:3rem 2rem;
}
.story-hero span{
  color:var(--primary);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.story-hero h1{
  color:#1f2d3a;
  font-size:2.65rem;
}
.story-hero p{
  color:#3f4a56;
  font-size:1.12rem;
}
.story-values{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
  padding:1.65rem;
  margin-bottom:1rem;
  background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);
  border:1px solid #b9d5ec;
  border-radius:var(--radius);
  box-shadow:0 10px 28px rgba(5,92,165,.14);
}
.story-section-copy{
  padding:0 0 1rem;
  background:transparent;
  border:0;
  border-bottom:1px solid #b9d5ec;
  box-shadow:none;
}
.story-value-panel{
  padding:1rem;
  background:#fff;
  border:1px solid #d8eaf8;
  border-radius:var(--radius);
}
.story-value-grid{
  gap:1rem;
  grid-template-columns:repeat(3,1fr);
}
.story-value{
  grid-template-columns:1fr;
  min-height:170px;
  border-color:#d8eaf8;
  box-shadow:none;
}
.story-value>.story-icon{
  display:none;
}
.story-value-brand{
  display:inline-grid;
  width:30px;
  height:30px;
  place-items:center;
  margin-bottom:.35rem;
  border-radius:50%;
  background:var(--primary);
  color:#fff;
  font-size:1rem;
  line-height:1;
  font-weight:800;
}
.story-value h3{
  margin:0 0 .35rem;
}
@media(max-width:1020px){
  .story-value-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:700px){
  .story-value-grid{
    grid-template-columns:1fr;
  }
}
.story-value:hover,
.story-milestone:hover,
.story-benefits article:hover{
  border-color:#9fc7e6;
  box-shadow:0 6px 16px rgba(5,92,165,.16);
}
.story-milestones .container-xxl{
  border-color:#b9d5ec;
  background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);
  box-shadow:0 10px 28px rgba(5,92,165,.14);
}
.story-milestone{
  border-color:#d8eaf8;
  box-shadow:none;
}
.story-cta{
  border-color:#b9d5ec;
  background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);
  box-shadow:0 10px 28px rgba(5,92,165,.14);
}
.story-cta img{
  object-position:center;
  object-fit:contain;
  background:#fff;
}
.story-benefits article{
  border-color:#d8eaf8;
  background:#fff;
  box-shadow:none;
}
@media(max-width:700px){
  .story-hero{
    min-height:320px;
    background:
      linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,255,255,.84)),
      var(--story-hero-image) center/cover no-repeat;
  }
  .story-hero-inner{
    padding:1.4rem;
  }
  .story-hero h1{
    font-size:2rem;
  }
  .story-values{
    padding:1rem;
  }
}
