:root{
  --orange:#ff7a00;
  --brown:#3a1f16;
  --delft:#1f5fbf;
  --bg:#ffffff;
  --muted:#f5f7fb;
  --text:#1b1b1b;
  --radius:18px;
  --cd-accent: var(--orange);
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
}

.cd-container{max-width:1100px;margin:0 auto;padding:0 20px}

.cd-header{
  position:sticky; top:0; z-index:20;
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  border-bottom:1px solid #eee;
}
.cd-header__inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}

.cd-brand{display:flex;flex-direction:column;text-decoration:none}
.cd-brand__name{
  font-weight:900; letter-spacing:.2px;
  color:var(--orange);
  text-shadow: 2px 2px 0 var(--brown);
  font-size:22px;
}
.cd-brand__tag{color:#666;font-size:12px;margin-top:2px}

.cd-nav__menu{list-style:none;display:flex;gap:16px;margin:0;padding:0}
.cd-nav__menu a{color:#222;text-decoration:none;font-weight:700}
.cd-nav__menu a:hover{color:var(--orange)}

/* HERO */
.cd-hero{
  padding:54px 0 30px;
  background:
    radial-gradient(1200px 420px at 25% 0%, rgba(31,95,191,.16), transparent 60%),
    radial-gradient(900px 360px at 85% 10%, rgba(255,122,0,.14), transparent 60%);
}
.cd-hero__grid{
  display:grid; gap:28px;
  grid-template-columns: 1.1fr .9fr;
  align-items:center;
}
@media (max-width: 900px){
  .cd-hero__grid{grid-template-columns:1fr}
}

.cd-h1{font-size:56px;line-height:1.02;margin:0;color:var(--orange);text-shadow: 4px 4px 0 var(--brown)}
.cd-sub{margin:10px 0 14px;font-size:18px;color:var(--brown);font-weight:800}
.cd-lead{margin:0 0 14px;color:#333;font-size:16px;max-width:58ch}

/* flavour switch */
.cd-flavor-switch{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.cd-switch{
  display:inline-flex;align-items:center;justify-content:center;
  padding:9px 12px;border-radius:999px;
  border:1.5px solid rgba(31,95,191,.25);
  color:#1f5fbf;text-decoration:none;font-weight:800;
  background:rgba(255,255,255,.75);
}
.cd-switch:hover{border-color:rgba(31,95,191,.45)}
.cd-switch.is-active{
  background:rgba(255,122,0,.12);
  border-color:rgba(255,122,0,.65);
  color:#b25000;
}

.cd-cta{display:flex;gap:12px;flex-wrap:wrap}
.cd-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 16px;border-radius:999px;
  background:var(--cd-accent);color:#fff;text-decoration:none;
  font-weight:900;border:2px solid var(--cd-accent);
}
.cd-btn:hover{filter:brightness(.95)}
.cd-btn--ghost{background:transparent;color:var(--cd-accent)}

.cd-hero__visual{
  position:relative;
  border-radius:var(--radius);
  padding:18px 18px 48px;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  overflow:hidden;
  background: #fff;
}
.cd-hero__barwrap{position:relative}
.cd-hero__bar{
  width:100%;
  height:auto;
  display:block;
  border-radius:14px;
}

/* Delft-style corners (like the wrapper) */
.cd-corners{
  position:absolute; inset:10px;
  pointer-events:none;
  background:
    radial-gradient(circle at 0 0, rgba(31,95,191,.0) 0 30px, transparent 31px),
    radial-gradient(circle at 100% 0, rgba(31,95,191,.0) 0 30px, transparent 31px),
    radial-gradient(circle at 0 100%, rgba(31,95,191,.0) 0 30px, transparent 31px),
    radial-gradient(circle at 100% 100%, rgba(31,95,191,.0) 0 30px, transparent 31px);
}
.cd-corners::before, .cd-corners::after{
  content:"";
  position:absolute; width:72px; height:72px; opacity:.85;
  background: radial-gradient(circle at 30% 30%, rgba(31,95,191,.22), rgba(31,95,191,.0) 65%);
}
.cd-corners::before{left:-10px; top:-10px; transform: rotate(15deg);}
.cd-corners::after{right:-10px; top:-10px; transform: rotate(-15deg);}

/* Wrapper-like flavour pill overlay */
.cd-flavor-pill{
  position:absolute;
  left:50%; transform:translateX(-50%);
  bottom:14px;
  padding:10px 18px;
  border-radius:999px;
  background:var(--orange);
  color:#fff;
  font-weight:950;
  letter-spacing:.7px;
  text-transform:uppercase;
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
  border:2px solid rgba(255,255,255,.55);
}

.cd-hero__note{
  position:absolute;
  left:18px; right:18px; bottom:10px;
  margin:0;
  text-align:center;
  font-size:12px;
  color:rgba(0,0,0,.55);
}

/* Watercolor skyline */
.cd-skyline{
  position:absolute;
  left:0; right:0; bottom:-22px;
  height:180px;
  pointer-events:none;
}
.cd-skyline__svg{
  position:absolute;
  left:0; right:0; bottom:0;
  width:100%; height:100%;
}

/* Windmills */
.cd-windmill{
  position:absolute;
  width:118px;height:118px;
  bottom:26px;
  opacity:.92;
}
.cd-windmill--left{left:22px}
.cd-windmill--right{right:22px; transform: scale(.92)}
.cd-delft{fill:var(--delft)}
.cd-blades{transform-origin:0 0}
.cd-windmill .cd-blades{animation: cd-spin 2.2s linear infinite;}
.cd-windmill.is-paused .cd-blades{animation-play-state:paused}
@keyframes cd-spin{from{transform: rotate(0deg)} to{transform: rotate(360deg)}}

/* Sections */
.cd-section{padding:56px 0}
.cd-section--alt{background:var(--muted)}
.cd-h2{font-size:28px;margin:0 0 10px}
.cd-text{margin:0;max-width:74ch;color:#333;line-height:1.6}

.cd-cards{display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-top:18px}
@media (max-width: 760px){.cd-cards{grid-template-columns:1fr}}
.cd-card{
  background:#fff;
  border-radius:var(--radius);
  padding:18px;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
  border:1px solid #eee;
}
.cd-card__img{
  width:100%;
  height:auto;
  display:block;
  border-radius:14px;
  margin:0 0 12px;
}
.cd-card__actions{margin:14px 0 0}
.cd-pill{
  display:inline-block;
  background:var(--orange);
  color:#fff;
  padding:10px 18px;
  border-radius:999px;
  font-weight:950;
  letter-spacing:.7px;
  box-shadow: 0 8px 18px rgba(0,0,0,.10);
  border:2px solid rgba(255,255,255,.55);
}
.cd-card__text{margin:12px 0 0;color:#333;line-height:1.55}

/* Wholesale bullets */
.cd-bullets{
  display:grid;
  gap:14px;
  grid-template-columns:repeat(3, 1fr);
  margin:16px 0 18px;
}
@media (max-width: 900px){.cd-bullets{grid-template-columns:1fr}}
.cd-bullet{
  background:#fff;
  border-radius:var(--radius);
  padding:16px;
  border:1px solid #eee;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
}
.cd-bullet strong{display:block;color:var(--brown);font-size:14px;margin-bottom:6px}
.cd-bullet span{display:block;color:#333;line-height:1.5}

/* Forms */
.cd-form{margin-top:14px;display:grid;gap:10px;max-width:700px}
.cd-form__row{display:grid;gap:10px;grid-template-columns:1fr 1fr}
@media (max-width: 640px){.cd-form__row{grid-template-columns:1fr}}
.cd-input{
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid #ddd;
  font-size:14px;
}
.cd-form__note{margin:6px 0 0;color:#666;font-size:12px}

/* Footer */
.cd-footer{padding:28px 0;border-top:1px solid #eee}
.cd-footer__inner{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.cd-footer__small{color:#666}


/* Logo image */
.cd-logo{
  height: 240px;
  width: auto;
  display:block;
}
@media (max-width: 900px){
  .cd-logo{height: 160px;}
}
@media (max-width: 520px){
  .cd-logo{height: 110px;}
}
}


/* Full-width Delft bands (top & bottom) */
.cd-band{
  width:100%;
  background:#fff;
  position:relative;
  overflow:hidden;
  pointer-events:none;
}
.cd-band__inner{
  position:relative;
  height:110px;
}
.cd-band .cd-skyline__svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.cd-band--top{
  margin-top:-1px;
  border-bottom:1px solid rgba(31,95,191,.10);
}
.cd-band--bottom{
  margin-bottom:-1px;
  border-top:1px solid rgba(31,95,191,.10);
}

/* Position windmills inside bands */
.cd-windmill--band{
  bottom:10px;
  opacity:.65;
  width:92px;
  height:92px;
}
.cd-windmill--band-left{left:28px}
.cd-windmill--band-right{right:28px}


/* Skyline strip background (from wrapper crop) */



.cd-band--top::before{left:12px;}
.cd-band--top::after{right:12px; transform: scaleX(-1);}


/* Bands */
\.cd-band__inner{
  height: 230px; position:relative; overflow:hidden;}





.cd-band{background: linear-gradient(180deg, rgba(31,95,191,.10), rgba(31,95,191,0) 70%);}


/* Bands: full-width skyline (show buildings, no crop) */
.cd-band__inner{
  height: 230px;
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(31,95,191,.10), rgba(31,95,191,0) 70%);
}
.cd-band__img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;          /* important: no cropping */
  object-position: center bottom;
  opacity: .95;
}
@media (max-width: 520px){
  .cd-band__inner{
  height: 230px; }
}

/* Language switcher */
.cd-lang{
  margin-top: 10px;
  font-size: 14px;
  opacity: .9;
}
.cd-lang__link{
  color: #1f5fbf;
  text-decoration: none;
  font-weight: 600;
}
.cd-lang__link.is-active{
  color: #ff7a00;
}
.cd-lang__sep{ margin: 0 6px; color: rgba(0,0,0,.35);}

/* WPForms / contact hint */
.cd-form-hint{
  margin-top: 10px;
  font-size: 13px;
  opacity: .75;
}
/* Make WPForms match the theme */
.wpforms-container .wpforms-field input,
.wpforms-container .wpforms-field textarea{
  border-radius: 14px !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  padding: 14px 16px !important;
  font-size: 16px !important;
  box-shadow: none !important;
}
.wpforms-container .wpforms-submit{
  border-radius: 999px !important;
  padding: 14px 22px !important;
  font-weight: 800 !important;
}

.cd-sublead{
  margin: 10px 0 0;
  font-size: 16px;
  opacity: .85;
}
.cd-muted{
  display:inline-block;
  margin-top: 10px;
  opacity: .85;
}
