*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f5f7fa;color:#172235;line-height:1.65}a{color:inherit}.hero{min-height:720px;padding:0 7%;color:#fff;background:radial-gradient(circle at 82% 28%,#18558d 0,#0b3769 28%,#061b38 70%)}nav{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff2b}.brand img{display:block;width:min(470px,42vw);max-height:86px;object-fit:contain;background:#fff;border-radius:8px;padding:5px}.links{display:flex;gap:25px}.links a{text-decoration:none;color:#e7f0fa}.hero-content{max-width:930px;padding:85px 0 105px}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:800;color:#2166a4}.hero .eyebrow{color:#a9cdf5}.hero h1{font-size:clamp(4.8rem,10vw,8rem);line-height:.88;letter-spacing:.08em;margin:20px 0}.claim{font-size:clamp(1.3rem,3vw,2rem);margin:0 0 25px;font-weight:700}.blue{color:#61a5df}.green{color:#83bd3b}.orange{color:#ff9915}.flow{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:25px 0;font-weight:700}.flow span{padding:9px 14px;border:1px solid #ffffff42;border-radius:6px;background:#ffffff0d}.flow b{color:#8fc2f5}.intro{font-size:1.13rem;max-width:780px;color:#dbe7f4}.button{display:inline-block;margin-top:20px;padding:13px 23px;background:white;color:#0b3769;border-radius:6px;text-decoration:none;font-weight:700}.section{max-width:1200px;margin:auto;padding:90px 30px}.section h2{font-size:clamp(2rem,4.3vw,3.4rem);line-height:1.1;margin:10px 0 25px}.concept{text-align:center}.lead{max-width:850px;margin:0 auto 50px;font-size:1.12rem}.steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:18px}.steps article{background:#fff;padding:34px 25px;border:1px solid #e1e7ee;border-radius:16px;min-height:400px;box-shadow:0 10px 35px #1835530b}.letter{width:64px;height:64px;border-radius:50%;color:white;display:grid;place-items:center;margin:auto;font-size:2rem;font-weight:800}.clarify .letter{background:#1466a5}.team .letter{background:#6ca326}.development .letter{background:#f28a00}.english{font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;margin:16px 0 0}.clarify .english{color:#1466a5}.team .english{color:#639622}.development .english{color:#df7d00}.steps h3{font-size:1.55rem;margin:4px}.steps strong{font-size:.93rem}.arrow{font-size:2rem;color:#72808d}.ctd-message{margin-top:70px;background:white;border-radius:18px;border:1px solid #e1e7ee;padding:35px;display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center;text-align:left}.ctd-message img{width:100%;border-radius:8px}.topics{border-top:1px solid #dce3ea}.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:40px}.card{grid-column:span 2;background:#fff;padding:30px;border-radius:15px;border:1px solid #e1e7ee;box-shadow:0 8px 28px #1835530b}.card:nth-child(4),.card:nth-child(5){grid-column:span 3}.icon{font-size:2rem}.card h3{font-size:1.4rem;margin:12px 0 4px}.feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}.placeholder{height:370px;border-radius:18px;background:linear-gradient(145deg,#d8e5f2,#9fbcd8);display:grid;place-items:center;text-align:center;padding:20px;color:#315a80;font-weight:700}.catphoto{background:linear-gradient(145deg,#eee9e1,#cdbfae);color:#675846}.reverse{border-top:1px solid #dce3ea}footer{text-align:center;background:#061a35;color:#dce8f7;padding:50px 20px}.footer-logo{width:min(520px,85vw);background:white;padding:7px;border-radius:8px}footer p{margin:8px 0}.legal{margin-top:25px;font-size:.85rem;color:#aebfd2}@media(max-width:900px){.links{display:none}.brand img{width:min(520px,80vw)}nav{justify-content:center}.steps,.grid,.feature,.ctd-message{display:block}.steps article,.card,.feature>div{margin-bottom:20px}.arrow{transform:rotate(90deg);margin:5px}.ctd-message img{margin-bottom:25px}.section{padding:65px 22px}}
.motorhome-stage{
  min-height:390px;border-radius:18px;overflow:hidden;position:relative;
  display:flex;align-items:center;justify-content:center;padding:30px;
  background:linear-gradient(155deg,#dceaf6,#a9c8df 55%,#e8dfc8);
  box-shadow:0 12px 35px #18355318;
}
.motorhome-stage:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:28%;
  background:linear-gradient(#8cab7300,#81976d80);
}
.motorhome-stage img{
  width:100%;max-height:330px;object-fit:contain;position:relative;z-index:2;
  filter:drop-shadow(0 18px 14px #26394a38);
}
.motorhome-stage span{
  position:absolute;left:20px;bottom:16px;z-index:3;background:#ffffffdd;
  color:#174b78;padding:7px 12px;border-radius:6px;font-weight:700;font-size:.85rem;
}
.charly-photo{margin:0;position:relative;border-radius:18px;overflow:hidden;
  box-shadow:0 12px 35px #18355318;background:#ddd}
.charly-photo img{width:100%;height:480px;display:block;object-fit:cover;object-position:center 38%}
.charly-photo figcaption{position:absolute;left:18px;bottom:16px;background:#ffffffdf;
  padding:7px 15px;border-radius:6px;font-weight:800;color:#594c3f}
@media(max-width:900px){
  .motorhome-stage{min-height:300px}
  .charly-photo img{height:420px}
}

.subpage-header{padding:0 7%;background:#061b38;color:#fff}
.subpage-header nav{height:112px}
.legal-page{max-width:900px}
.legal-page h1{font-size:clamp(2.8rem,6vw,4.5rem);line-height:1;margin:12px 0 45px}
.legal-page h2{font-size:1.35rem;margin:35px 0 8px}
.legal-page a{color:#155f9e}
.legal-highlight{margin:30px 0;padding:22px 25px;border-left:5px solid #6ca326;background:#fff;border-radius:8px;box-shadow:0 6px 20px #1835530b}
.backlink{margin-top:50px;font-weight:700}
footer a{color:#dce8f7}

.travel-hero{max-width:1200px;margin:auto;padding:75px 30px 30px;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}
.travel-hero h1{font-size:clamp(3.5rem,7vw,6rem);line-height:.95;margin:12px 0 25px}
.travel-hero-text p:last-child{font-size:1.1rem;max-width:650px}
.travel-motorhome{min-height:330px;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,#dceaf6,#a9c8df 58%,#e9e0c9);border-radius:20px;padding:25px}
.travel-motorhome img{width:100%;max-height:290px;object-fit:contain;filter:drop-shadow(0 15px 12px #26394a38)}
.travel-list{padding-top:50px}
.travel-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}
.travel-year{background:#fff;border:1px solid #e1e7ee;border-radius:15px;padding:25px;box-shadow:0 8px 28px #1835530b}
.travel-year .year{font-size:2rem;font-weight:800;color:#155f9e;border-bottom:3px solid #7aad35;padding-bottom:8px;margin-bottom:12px}
.travel-year ul{margin:0;padding-left:20px}.travel-year li{margin:5px 0}
.travel-note{margin-top:35px;background:#fff;padding:22px;border-radius:10px;border-left:5px solid #ef8a00}
.travel-button{background:#0b3769;color:white;margin-top:15px}
@media(max-width:900px){.travel-hero,.travel-timeline{display:block}.travel-motorhome,.travel-year{margin-top:20px}}

.thw-intro{max-width:1050px}
.thw-intro>h1{font-size:clamp(3rem,7vw,5.5rem);line-height:.98;margin:12px 0 25px}
.thw-lead{font-size:1.2rem;max-width:850px;margin-bottom:50px}
.thw-role{display:grid;grid-template-columns:220px 1fr;gap:45px;align-items:center;background:#fff;border:1px solid #e1e7ee;border-radius:18px;padding:40px;box-shadow:0 10px 35px #1835530b}
.thw-role-mark{height:150px;border-radius:12px;background:#0755a0;color:white;display:grid;place-items:center;font-size:3rem;font-weight:900;letter-spacing:.08em}
.thw-role h2{font-size:clamp(1.8rem,4vw,2.7rem);margin:5px 0 15px}
.thw-ctd{border-top:1px solid #dce3ea;text-align:center}
.thw-disclaimer{background:#fff;border-left:5px solid #0755a0;border-radius:10px;padding:25px 30px;box-shadow:0 8px 28px #1835530b}
.thw-disclaimer h2{font-size:1.5rem;margin:0 0 8px}
.card-link{display:inline-block;margin-top:10px;color:#155f9e;font-weight:700;text-decoration:none}
@media(max-width:800px){.thw-role{display:block;padding:25px}.thw-role-mark{height:100px;margin-bottom:25px}}

.charly-hero{max-width:1200px;margin:auto;padding:70px 30px;display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center}
.charly-hero-image{border-radius:22px;overflow:hidden;box-shadow:0 14px 38px #18355322;background:#ddd}
.charly-hero-image img{display:block;width:100%;height:470px;object-fit:cover}
.charly-hero h1{font-size:clamp(4rem,9vw,7rem);line-height:.9;margin:12px 0 20px}
.charly-subtitle{font-size:1.35rem;font-weight:700;color:#675846}
.charly-about{border-top:1px solid #dce3ea}
.charly-feature{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}
.charly-feature img{width:100%;height:500px;object-fit:cover;border-radius:18px;box-shadow:0 12px 35px #18355318}
.charly-feature p{font-size:1.08rem}
.charly-gallery-section{background:#eef2f5;max-width:none}
.charly-gallery-section>p,.charly-gallery-section>h2,.charly-gallery{max-width:1140px;margin-left:auto;margin-right:auto}
.charly-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.charly-gallery figure{margin:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px #18355310}
.charly-gallery img{width:100%;height:370px;display:block;object-fit:cover}
.charly-gallery .wide img{height:440px}
.charly-gallery figcaption{padding:13px 17px;font-weight:700;color:#52606d}
.charly-fun{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:center}
.charly-fun img{width:100%;border-radius:16px;box-shadow:0 10px 32px #18355318}
@media(max-width:800px){
  .charly-hero,.charly-feature,.charly-gallery,.charly-fun{display:block}
  .charly-hero-image,.charly-feature img,.charly-gallery figure,.charly-fun img{margin-bottom:22px}
  .charly-hero-image img{height:400px}
  .charly-gallery img,.charly-gallery .wide img{height:auto}
}

.travel-featured{grid-row:span 2}
.travel-cover-link{display:block;margin:-25px -25px 20px;overflow:hidden;border-radius:15px 15px 0 0;background:#eee}
.travel-cover-link img{display:block;width:100%;height:310px;object-fit:cover;object-position:top}
.travel-year a{text-decoration:none}
.travel-year small{color:#6a7784}
.trip-hero{max-width:1200px;margin:auto;padding:70px 30px;display:grid;grid-template-columns:1fr .72fr;gap:60px;align-items:center}
.trip-hero h1{font-size:clamp(3rem,6.5vw,5.5rem);line-height:.98;margin:12px 0 15px}
.trip-date{font-size:1.25rem;font-weight:800;color:#155f9e}
.trip-cover{display:block;background:#fff;padding:10px;border-radius:16px;box-shadow:0 14px 40px #18355320}
.trip-cover img{display:block;width:100%;max-height:700px;object-fit:contain}
.trip-content{border-top:1px solid #dce3ea}
.trip-content>p{max-width:850px}
.trip-countries{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:40px 0}
.trip-countries article{background:#fff;padding:25px;border-radius:14px;border:1px solid #e1e7ee}
.trip-countries strong,.trip-countries span{display:block}
.trip-countries strong{font-size:1.2rem;margin-bottom:8px}
.trip-coming{margin-top:45px;padding:30px;background:#fff;border-left:5px solid #ef8a00;border-radius:10px}
.trip-coming h2{font-size:1.6rem;margin:0 0 8px}
@media(max-width:800px){.trip-hero,.trip-countries{display:block}.trip-cover,.trip-countries article{margin-top:20px}}

.contact-page{max-width:900px}.contact-page h1,.contact-result h1{font-size:clamp(3rem,7vw,5rem);line-height:1;margin:12px 0 20px}
.contact-lead{font-size:1.12rem;max-width:760px;margin-bottom:35px}
.contact-form{background:#fff;border:1px solid #e1e7ee;border-radius:18px;padding:35px;box-shadow:0 10px 35px #1835530b}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-form label{display:block;font-weight:700;margin-bottom:20px}.contact-form label span{font-weight:400;color:#75808a;font-size:.85rem}
.contact-form input,.contact-form textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #bfcbd6;border-radius:7px;font:inherit;background:#fbfcfd}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #2a72ad;outline-offset:1px}
.privacy-note{font-size:.9rem;color:#596774}.privacy-note a{color:#155f9e}
.contact-submit{border:0;border-radius:7px;padding:14px 24px;background:#0b3769;color:#fff;font-weight:800;font-size:1rem;cursor:pointer}
.contact-submit:hover{background:#155f9e}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-result{max-width:800px}
@media(max-width:700px){.form-row{display:block}.contact-form{padding:23px}}

/* Personal contact page */
.contact-hero{max-width:1200px;margin:auto;padding:70px 30px 45px;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
.contact-personal h1{font-size:clamp(4rem,8vw,7rem);line-height:.9;margin:12px 0 25px}
.contact-intro{font-size:1.22rem;max-width:680px;color:#405064}
.contact-signature{margin-top:30px;padding-left:18px;border-left:4px solid #6ca326}
.contact-signature strong,.contact-signature span{display:block}.contact-signature strong{font-size:1.15rem}.contact-signature span{color:#687685}
.contact-photo{margin:0;position:relative;border-radius:22px;overflow:hidden;box-shadow:0 16px 42px #18355325;background:#ddd}
.contact-photo img{display:block;width:100%;height:480px;object-fit:cover;object-position:center 35%}
.contact-photo figcaption{position:absolute;left:18px;bottom:16px;background:#ffffffdf;padding:7px 14px;border-radius:6px;font-weight:800}
.contact-area{max-width:1200px;border-top:1px solid #dce3ea;display:grid;grid-template-columns:.72fr 1.28fr;gap:55px;align-items:start}
.contact-side{padding-top:15px}.contact-logo{width:100%;max-width:390px;background:#fff;border-radius:10px;padding:7px;margin-bottom:25px}
.contact-side h2{font-size:2rem;margin:0 0 12px}.contact-side p{color:#526171}
.contact-mail{margin:28px 0;padding:18px 20px;background:#fff;border-radius:10px;border-left:5px solid #1466a5}
.contact-mail span,.contact-mail a{display:block}.contact-mail span{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#6d7984}
.contact-mail a{font-weight:800;color:#155f9e;text-decoration:none;word-break:break-word}
.contact-flow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-weight:800;font-size:.9rem}.contact-flow .c{color:#1466a5}.contact-flow .t{color:#639622}.contact-flow .d{color:#df7d00}
.contact-area .contact-form{margin:0}.contact-form h2{font-size:2rem;margin:0 0 3px}.form-intro{margin:0 0 25px;color:#71808d;font-size:.9rem}
@media(max-width:850px){.contact-hero,.contact-area{display:block}.contact-photo{margin-top:35px}.contact-photo img{height:430px}.contact-side{margin-bottom:35px}}

.thw-role-logo{display:flex;align-items:center;justify-content:center;padding:5px}
.thw-role-logo img{display:block;width:100%;max-width:220px;height:auto;object-fit:contain}
@media(max-width:800px){.thw-role-logo img{max-width:190px;margin:0 auto 25px}}

.thw-official-link{margin-top:24px}
.thw-official-link a{display:inline-block;padding:12px 18px;background:#0755a0;color:#fff;text-decoration:none;border-radius:7px;font-weight:800}
.thw-official-link a:hover{background:#0b3769}

.highland-card-logo{height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;padding:8px;background:#211d1e;border-radius:10px}
.highland-card-logo img{display:block;max-width:100%;max-height:105px;width:auto;height:auto;object-fit:contain}

/* Rundes C-T-D-Logo rechts neben dem Startseiten-Titel */
.hero-content-with-round-logo{
  max-width:1200px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,390px);
  gap:55px;
  align-items:center;
}
.hero-copy{min-width:0}
.hero-round-logo{display:flex;align-items:center;justify-content:center}
.hero-round-logo img{
  display:block;
  width:100%;
  max-width:380px;
  height:auto;
  object-fit:contain;
}
@media(max-width:900px){
  .hero-content-with-round-logo{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:35px;
  }
  .hero-round-logo{width:100%}
  .hero-round-logo img{max-width:300px;margin:0 auto}
}

/* Neues freigestelltes C-T-D Querlogo im Header */
header .brand{
  display:flex;
  align-items:center;
}
header .brand img{
  width:auto;
  height:auto;
  max-width:300px;
  max-height:82px;
  object-fit:contain;
  background:transparent;
}
@media(max-width:700px){
  header .brand img{
    max-width:220px;
    max-height:68px;
  }
}
