@charset "UTF-8";
:root{--ink:#173d32;--deep:#102e26;--yellow:#f5cc4b;--paper:#fff;--soft:#f3f5f1;--muted:#5e6e64;--line:#dce3dd;--radius:16px;--max:1240px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:106px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ba8400;outline-offset:5px}button{color:inherit}p{line-height:1.7;margin:0 0 1.3rem}h1,h2,h3{margin:0;letter-spacing:-.045em;line-height:1.07}h2{font-size:clamp(2.3rem,4.6vw,4rem);font-weight:700}h3{font-size:1.55rem}a{text-underline-offset:4px}.wrap{width:min(var(--max),calc(100% - 96px));margin:auto}.section{padding:100px 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700;display:block;margin-bottom:20px}.muted{color:var(--muted)}.skip{position:fixed;left:20px;top:-80px;background:var(--yellow);padding:15px;z-index:99}.skip:focus{top:10px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:15px;min-height:52px;padding:15px 25px;border-radius:7px;border:1px solid transparent;background:var(--yellow);color:var(--deep);text-decoration:none;font-size:.93rem;font-weight:700;line-height:1.25;transition:background .18s,transform .18s}.btn:hover{background:#ffdc63;transform:translateY(-2px)}.btn.dark{background:var(--ink);color:white}.btn.dark:hover{background:#28604d}.btn.outline{background:transparent;border-color:var(--line)}.btn.outline:hover{background:var(--soft)}.btn.glass{background:rgba(255,255,255,.06);border-color:#ffffff7a;color:#fff}.btn.glass:hover{background:#ffffff20}.text-link{font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid currentColor}.actions{display:flex;flex-wrap:wrap;gap:12px}.arrow{font-size:1.35em;line-height:1}.topline{background:var(--deep);color:#fff;text-align:center;font-size:.75rem;letter-spacing:.055em;padding:9px 15px}.topline span{color:var(--yellow)}.header{background:white;position:sticky;top:0;z-index:20;border-bottom:1px solid #e9eee8}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;height:86px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none}.brand img{width:58px;height:58px;object-fit:contain}.wordmark{font-weight:800;font-size:1.4rem;letter-spacing:-.055em}.brand small{display:block;font-size:.61rem;letter-spacing:.14em;text-transform:uppercase;font-weight:400;margin-top:4px}.nav{display:flex;gap:29px;align-items:center}.nav a{text-decoration:none;font-size:.875rem;font-weight:600;white-space:nowrap}.nav a:hover{color:#8b6500}.nav .nav-cta{padding:13px 19px;background:var(--ink);color:#fff;border-radius:6px}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:5px;padding:11px;font-size:.875rem}.hero{position:relative;isolation:isolate;min-height:650px;height:calc(100svh - 150px);max-height:900px;background:#24443b;overflow:hidden;color:white}.hero-media,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-media{object-position:center 48%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(7,26,21,.72),rgba(7,26,21,.35) 57%,rgba(7,26,21,.06)),linear-gradient(0deg,rgba(7,26,21,.45),transparent 55%)}.hero-inner{height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:25px;padding-bottom:100px}.hero .eyebrow{font-size:.76rem;letter-spacing:.2em;color:#f9df82}.hero h1{font-size:clamp(3.3rem,6.6vw,6.4rem);max-width:950px;line-height:1.01;letter-spacing:-.06em;font-weight:750}.hero h1 em{font-style:normal;color:var(--yellow)}.hero .lead{font-size:1.14rem;line-height:1.6;max-width:540px;margin:25px 0 29px;color:#f0f3ef}.hero-bottom{position:absolute;bottom:30px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.83rem}.hero-bottom a{color:white;text-decoration:none;display:flex;gap:12px;align-items:center}.hero-bottom .location{display:block;font-weight:700;margin-bottom:5px}.hero-bottom .location-note{opacity:.76;font-size:.73rem}.video-toggle{background:#102e2655;border:1px solid #ffffff65;color:#fff;border-radius:50%;height:43px;width:43px;font-size:17px}.hero-bottom-right{display:flex;align-items:center;gap:25px}.benefits{border-bottom:1px solid var(--line);background:var(--soft)}.benefits .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:25px 0}.benefits p{margin:0;font-size:.87rem;font-weight:600;display:flex;align-items:center;gap:11px}.tick{font-size:18px;color:#69874e}.intro{text-align:center;max-width:850px;margin:auto}.intro .intro-logo{width:85px;height:85px;object-fit:contain;margin:0 auto 23px}.intro h2{font-size:clamp(2rem,4vw,3.1rem);max-width:790px}.intro p{max-width:715px;margin:22px auto 0;color:var(--muted)}.section-title{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px}.section-title p{max-width:365px;margin:0;color:var(--muted);font-size:.96rem}.catalog{background:var(--soft)}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:32px 0 25px}.filter{border:1px solid #ced7cc;border-radius:100px;background:transparent;padding:11px 18px;font-size:.85rem;min-height:43px}.filter[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.filter:hover{border-color:var(--ink)}.catalog-meta{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--muted);margin-bottom:19px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product-card{background:white;border:1px solid #e2e7df;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:box-shadow .2s,transform .2s}.product-card:hover{box-shadow:0 10px 30px #102e2610;transform:translateY(-3px)}.product-visual{height:237px;position:relative;padding:34px 25px 15px;background:#fff;display:flex;justify-content:center;align-items:center}.product-visual img{width:100%;height:100%;object-fit:contain}.product-badge{position:absolute;left:20px;top:16px;padding:6px 9px;background:var(--soft);border-radius:4px;text-transform:uppercase;font-size:.65rem;letter-spacing:.09em;line-height:1.2}.product-card[data-category=ebikes] .product-badge{background:#f5cc4b38}.product-body{padding:20px 24px 25px;display:flex;flex-direction:column;flex:1}.product-body h3{font-size:1.4rem;margin-bottom:11px;letter-spacing:-.03em}.product-description{font-size:.875rem;color:var(--muted);line-height:1.6;margin-bottom:22px;flex:1}.product-bottom{border-top:1px solid #e8ece5;padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:8px}.price{font-size:1.5rem;font-weight:700;letter-spacing:-.04em;white-space:nowrap}.price small{font-size:.74rem;font-weight:400;letter-spacing:0}.price-note{display:block;font-size:.7rem;margin-top:3px;color:var(--muted)}.details-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:white;font-size:1.4rem;flex-shrink:0}.details-btn:hover{background:var(--yellow);border-color:var(--yellow)}.no-photo{background:var(--soft);color:var(--ink);height:180px;width:100%;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;letter-spacing:-.05em}.catalog-foot{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:28px}.catalog-foot p{margin:0;font-size:.85rem;color:var(--muted);max-width:660px}.tour-section{background:var(--ink);color:white}.tour-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:75px;align-items:center}.tour-photo{position:relative}.tour-photo>img{width:100%;height:570px;object-fit:cover;border-radius:10px}.tour-photo .photo-note{position:absolute;bottom:22px;left:22px;right:22px;background:#102e26d9;padding:17px 20px;border-radius:6px;font-size:.81rem;display:flex;justify-content:space-between;align-items:center}.tour-copy .eyebrow{color:var(--yellow)}.tour-copy h2{font-size:clamp(2.7rem,4.6vw,4.1rem);margin-bottom:28px}.tour-copy p{color:#d7e1d8;font-size:.95rem}.tour-tags{display:flex;flex-wrap:wrap;gap:8px;margin:27px 0}.tour-tags span{padding:8px 12px;border:1px solid #ffffff40;border-radius:4px;font-size:.75rem}.tour-price{border-top:1px solid #ffffff30;padding-top:25px;margin:24px 0;display:flex;align-items:center;gap:24px}.tour-price strong{font-size:2.7rem;white-space:nowrap;letter-spacing:-.06em}.tour-price strong small{font-size:1rem;letter-spacing:0;font-weight:400}.tour-price p{font-size:.8rem;margin:0;line-height:1.5}.tour-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:65px}.gallery-button{padding:0;border:0;background:transparent;border-radius:7px;overflow:hidden;position:relative}.gallery-button img{height:200px;width:100%;object-fit:cover;transition:transform .3s}.gallery-button:hover img{transform:scale(1.03)}.gallery-button span{position:absolute;bottom:12px;left:15px;color:white;font-size:.76rem;text-shadow:0 1px 6px black}.service-strip{padding:65px 0;background:#f7d65b}.service-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:60px;align-items:start}.service-grid h2{font-size:2.4rem}.service-grid h3{font-size:1.2rem;margin-bottom:15px}.service-grid p{font-size:.89rem;line-height:1.6;margin:0}.service-grid .eyebrow{margin-bottom:14px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-copy h2{margin-bottom:28px}.about-copy blockquote{margin:28px 0 0;padding-top:25px;border-top:1px solid var(--line);font-size:1.15rem;line-height:1.6}.about-copy cite{display:block;font-size:.78rem;font-style:normal;color:var(--muted);margin-top:13px}.portraits{display:grid;grid-template-columns:1fr 1fr;gap:20px}.portrait:nth-child(2){margin-top:55px}.portrait img{height:300px;width:100%;object-fit:cover;border-radius:8px}.portrait:first-child img{object-position:50% 30%}.portrait h3{font-size:1.1rem;letter-spacing:-.02em;margin:15px 0 5px}.portrait p{font-size:.77rem;color:var(--muted);line-height:1.5}.quote-band{border-block:1px solid var(--line);text-align:center;padding:44px 0}.quote-band blockquote{font-size:clamp(1.2rem,2vw,1.7rem);max-width:800px;line-height:1.5;margin:0 auto 13px;letter-spacing:-.02em}.quote-band cite{font-size:.75rem;font-style:normal;color:var(--muted)}.faq-grid{display:grid;grid-template-columns:.85fr 1.25fr;gap:85px;align-items:start}.faq-intro p{margin-top:23px;color:var(--muted)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:23px 32px 23px 0;font-size:.97rem;font-weight:600;line-height:1.5;position:relative;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;top:22px;font-size:1.3rem;font-weight:400}details[open] summary:after{content:'−'}details p{font-size:.91rem;color:var(--muted);padding-right:20px}.faq-links{display:flex;gap:23px;flex-wrap:wrap;margin-top:25px;font-size:.85rem}.contact{background:var(--soft)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact h2{margin-bottom:24px}.contact p{color:var(--muted)}.contact-info{margin:28px 0;display:grid;gap:13px}.contact-info a{text-decoration:none;font-size:1.2rem}.hours{background:white;border:1px solid var(--line);border-radius:10px;padding:36px}.hours h3{margin-bottom:25px;font-size:1.55rem}.hours dl{margin:0}.hours dl div{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:.93rem;line-height:1.8}.hours dt{font-weight:700}.hours dd{margin:0;text-align:right}.hours .sunday{color:var(--ink);font-size:.85rem;margin:19px 0 27px}.address{padding-top:23px}.address strong{display:block;font-size:1.07rem;line-height:1.5}.address p{font-size:.86rem;margin-top:7px}.map-link{display:block;position:relative;margin-top:32px;border-radius:8px;overflow:hidden;height:190px}.map-link img{width:100%;height:100%;object-fit:cover;filter:brightness(.65)}.map-link span{position:absolute;bottom:25px;left:25px;right:25px;color:white;display:flex;justify-content:space-between;font-size:1.2rem;font-weight:600}.footer{background:var(--deep);color:white;padding:55px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:start;margin-bottom:40px}.footer .brand small{color:#c7d4c9}.footer-links{display:flex;gap:25px;flex-wrap:wrap;font-size:.82rem}.footer-links a{text-decoration:none}.footer-bottom{border-top:1px solid #ffffff25;padding-top:23px;display:flex;justify-content:space-between;gap:20px;font-size:.72rem;color:#c7d4c9}.mobile-contact{display:none}.dialog{border:none;padding:0;border-radius:14px;max-width:min(760px,calc(100% - 32px));width:760px;max-height:90svh;color:var(--ink)}.dialog::backdrop{background:#071e19aa;backdrop-filter:blur(4px)}.dialog-inner{padding:38px}.dialog-close{position:absolute;right:15px;top:15px;background:white;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;font-size:1.4rem;z-index:2}.dialog-image{width:100%;height:240px;object-fit:contain;margin-bottom:20px}.dialog h2{font-size:2.2rem;margin-bottom:15px}.dialog p{color:var(--muted);font-size:.95rem}.rates{width:100%;border-collapse:collapse;margin:25px 0;text-align:center;font-size:.9rem}.rates caption{text-align:left;font-size:.8rem;color:var(--muted);margin-bottom:12px}.rates th{background:var(--soft);padding:13px 6px;font-size:.8rem}.rates td{border-bottom:1px solid var(--line);padding:15px 6px;font-weight:700;font-size:1.15rem}.rates small{display:block;font-size:.7rem;font-weight:400}.request-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.request-form label{font-size:.82rem;font-weight:600}.request-form input,.request-form select{width:100%;border:1px solid #b8c7ba;border-radius:5px;padding:12px;margin-top:8px;min-height:46px;background:white;color:var(--ink)}.request-form .full{grid-column:1/-1}.form-help{font-size:.78rem!important;margin:20px 0 0!important}.request-form .actions{grid-column:1/-1}.notice{padding:14px;background:var(--soft);font-size:.85rem!important;border-left:3px solid var(--yellow)}.lightbox{background:var(--deep);max-width:min(1000px,calc(100% - 30px));width:1000px}.lightbox img{max-height:82svh;width:100%;object-fit:contain}.lightbox video{width:100%;max-height:82svh;display:block}.legal-header{padding:75px 0 45px;background:var(--soft)}.legal-header h1{font-size:clamp(2.5rem,5vw,4.5rem)}.legal-header .eyebrow a{text-decoration:none}.legal-body{max-width:850px;padding:60px 0 90px}.legal-body h2{font-size:1.8rem;margin:36px 0 20px;letter-spacing:-.025em}.legal-body h3{font-size:1.2rem;margin:25px 0 12px;letter-spacing:-.01em}.legal-body p,.legal-body li{font-size:1rem;line-height:1.8;color:#42574b}.legal-body li{margin:10px 0}.legal-body .source{font-size:.8rem;color:var(--muted)}[hidden]{display:none!important}
@media(min-width:1600px){.hero-inner{padding-bottom:70px}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.nav{gap:18px}.nav-wrap{gap:20px}.brand img{width:48px;height:48px}.wordmark{font-size:1.25rem}.nav a{font-size:.8rem}.hero{min-height:590px}.hero h1{font-size:5rem}.tour-grid,.about-grid,.contact-grid{gap:45px}.tour-photo>img{height:540px}.service-grid{gap:35px}.faq-grid{gap:45px}.product-visual{height:210px}.product-body{padding:18px}.price{font-size:1.35rem}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.topline{font-size:.65rem}.nav-wrap{height:74px}.menu-toggle{display:block}.nav{position:absolute;top:74px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:white;padding:20px;gap:0;box-shadow:0 12px 20px #0001}.nav.open{display:flex}.nav a{font-size:1rem;padding:15px}.nav .nav-cta{margin-top:10px}.hero{height:680px;min-height:0;max-height:calc(100svh - 106px)}.hero-inner{padding:30px 0 95px}.hero h1{font-size:clamp(3.2rem,9vw,5rem)}.hero .lead{font-size:1rem;max-width:450px}.hero .eyebrow{font-size:.65rem;letter-spacing:.15em}.hero-bottom{bottom:22px}.hero-bottom-right>a{display:none}.hero-shade{background:linear-gradient(90deg,#071a15b8,#071a154d),linear-gradient(0deg,#071a1566,transparent)}.benefits .wrap{grid-template-columns:1fr 1fr;padding:20px 0;gap:17px}.benefits p{font-size:.75rem}.section{padding:70px 0}.section-title{display:block}.section-title p{margin-top:20px;max-width:100%}.product-grid{grid-template-columns:repeat(2,1fr)}.product-visual{height:215px}.product-body h3{font-size:1.2rem}.product-description{font-size:.84rem}.catalog-foot{flex-direction:column;align-items:start}.tour-grid,.about-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.tour-photo>img{height:470px}.tour-copy{order:-1}.tour-gallery{margin-top:25px;gap:10px}.gallery-button img{height:150px}.service-grid{grid-template-columns:1fr 1fr;gap:30px}.service-grid>div:first-child{grid-column:1/-1}.portraits{max-width:550px}.portrait img{height:330px}.footer-top{flex-direction:column}.footer-bottom{flex-wrap:wrap}.hours{padding:28px}.contact-grid{gap:35px}.faq-grid{gap:20px}.intro .intro-logo{width:70px;height:70px}}
@media(max-width:480px){.hero{min-height:605px;max-height:none;height:calc(100svh - 104px)}.hero h1{font-size:3.5rem}.hero .lead{max-width:310px;margin:22px 0 25px;font-size:.95rem}.hero .actions{max-width:325px;gap:10px}.hero .btn{padding:14px 17px;min-height:49px;font-size:.85rem}.hero-inner{padding-bottom:102px}.hero .eyebrow{max-width:260px;line-height:1.7;margin-bottom:15px}.hero-bottom .location-note{font-size:.66rem}.hero-bottom .location{font-size:.77rem}.hero-bottom-right{gap:0}.hero-media{object-position:60% center}.wordmark{font-size:1.3rem}.benefits p{font-size:.73rem;gap:8px}.product-grid{grid-template-columns:1fr;gap:18px}.product-visual{height:245px;padding:35px 28px 10px}.product-body{padding:22px}.product-body h3{font-size:1.5rem}.product-description{font-size:.91rem}.filters{gap:7px;margin-top:26px}.filter{font-size:.78rem;padding:9px 13px}.catalog-meta{font-size:.72rem;gap:10px;align-items:start}.section{padding:60px 0}.tour-photo>img{height:400px}.tour-copy h2{font-size:2.9rem}.tour-price strong{font-size:2.5rem}.tour-gallery{grid-template-columns:1fr 1fr}.tour-gallery .gallery-button:last-child{grid-column:1/-1}.tour-gallery .gallery-button:last-child img{height:160px}.gallery-button img{height:130px}.service-grid{grid-template-columns:1fr}.service-grid>div:first-child{grid-column:auto}.service-strip{padding:45px 0}.portrait img{height:235px}.portrait h3{font-size:1rem}.portrait p{font-size:.75rem}.portraits{gap:13px}.hours{padding:23px}.hours dl div{font-size:.85rem}.contact-info a{font-size:1.08rem}.footer{padding-bottom:100px}.footer-links{gap:18px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:18;background:white;box-shadow:0 -3px 20px #102e2615;display:flex;padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px}.mobile-contact a{flex:1;padding:12px 10px;min-height:44px;font-size:.83rem}.dialog-inner{padding:40px 23px 25px}.dialog h2{font-size:1.9rem}.dialog-image{height:190px}.request-form{grid-template-columns:1fr}.request-form .full{grid-column:auto}.rates th{font-size:.7rem}.rates td{font-size:1rem}.request-form .actions .btn{width:100%}.legal-body{padding-top:35px}.quote-band{padding:35px 0}.intro h2{font-size:2.1rem}}
.hero h1{word-spacing:.07em}.dialog-close{position:sticky;display:block;top:15px;margin:15px 15px -53px auto}.dialog-inner{padding-top:55px}
@media(max-width:480px){.hero{height:calc(100svh - 170px);min-height:610px}.hero h1{font-size:clamp(2.6rem,11.5vw,3rem)}.hero .lead{font-size:.92rem}.hero .actions{max-width:none}.hero-inner{padding-bottom:85px}.hero-bottom{bottom:24px}.hero-bottom .location-note{max-width:230px}.hero .eyebrow{margin-top:0}.dialog-inner{padding-top:57px}}
.home .header .brand img{width:82px;height:82px}.home .header .wordmark{font-size:2rem}.home .header .brand small{font-size:.68rem}.home .nav-wrap{height:106px}.home .intro .intro-logo{width:120px;height:120px}
@media(max-width:1100px){.home .header .brand img{width:72px;height:72px}.home .header .wordmark{font-size:1.8rem}}
@media(max-width:960px){.home .nav-wrap{height:90px}.home .menu-toggle{display:block}.home .nav{position:absolute;top:90px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:white;padding:20px;gap:0;box-shadow:0 12px 20px #0001}.home .nav.open{display:flex}.home .nav a{font-size:1rem;padding:15px}.home .nav .nav-cta{margin-top:10px}}
@media(max-width:480px){.home .header .brand img{width:64px;height:64px}.home .header .wordmark{font-size:1.65rem}.home .header .brand{gap:9px}.home .header .brand small{font-size:.55rem}.home .nav-wrap{gap:10px}.home .intro .intro-logo{width:105px;height:105px}.home .hero{height:calc(100svh - 186px)}}
@media(max-width:360px){.home .header .brand img{width:52px;height:52px}.home .header .wordmark{font-size:1.4rem}.home .header .brand small{font-size:.49rem}.home .menu-toggle{padding:9px;font-size:.8rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.product-card:hover,.btn:hover{transform:none}}

/* Benefits: two balanced lists framing an original island photograph. */
.benefits-editorial{padding:55px 0;background:#356b50;color:#fff}
.benefits .benefits-layout{display:grid;grid-template-columns:.9fr 1.5fr 1.1fr;gap:32px;align-items:center;padding:0}
.benefits-highlights,.benefits-messages{display:grid;grid-template-columns:1fr;gap:0;min-width:0}
.benefits-editorial p{margin:0;padding:18px 0;display:flex;align-items:flex-start;gap:12px;font-size:.93rem;line-height:1.65;font-weight:600;border-bottom:1px solid #ffffff30}
.benefits-editorial p:first-child{padding-top:0}.benefits-editorial p:last-child{padding-bottom:0;border-bottom:0}
.benefits-editorial .tick{flex:0 0 24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff20;color:#fff;font-size:16px;margin-top:1px}
.benefits-photo{margin:0;overflow:hidden;border-radius:12px;box-shadow:0 12px 26px #173d3210}
.benefits-photo img{width:100%;height:365px;object-fit:cover;object-position:47% center}
@media(max-width:1100px){.benefits .benefits-layout{gap:22px;grid-template-columns:1fr 1.3fr 1.1fr}.benefits-editorial p{font-size:.875rem}.benefits-photo img{height:350px}}
@media(max-width:960px){.benefits .benefits-layout{grid-template-columns:1fr;gap:28px}.benefits-highlights,.benefits-messages{grid-template-columns:1fr 1fr;gap:20px 32px}.benefits-editorial p{padding:0;border:0;font-size:.95rem}.benefits-photo img{height:auto;max-height:390px;object-fit:cover}.benefits-editorial{padding:35px 0}}
@media(max-width:480px){.benefits-highlights,.benefits-messages{grid-template-columns:1fr;gap:18px}.benefits .benefits-layout{gap:26px}.benefits-editorial p{font-size:.9rem;gap:11px}.benefits-photo img{height:245px;object-position:47% center}.benefits-editorial{padding:30px 0}}
/* Rotating hero button text; fixed dimensions prevent layout shifts. */
.button-text-slider{display:grid;overflow:hidden;text-align:center}
.button-text-slider>span{grid-area:1/1;white-space:nowrap;opacity:0;animation:button-text-slide 12s infinite}
.button-text-slider>span:nth-child(2){animation-delay:4s}
.button-text-slider>span:nth-child(3){animation-delay:8s}
.text-slider-btn:hover .button-text-slider>span,.text-slider-btn:focus-visible .button-text-slider>span{animation-play-state:paused}
@keyframes button-text-slide{0%,27%{opacity:1;transform:translateY(0)}32%,100%{opacity:0;transform:translateY(-110%)}}
@media(prefers-reduced-motion:reduce){.button-text-slider>span{animation:none;opacity:0}.button-text-slider>span:first-child{opacity:1}}
@media(max-width:380px){.text-slider-btn{padding-left:15px;padding-right:15px;font-size:.82rem}}
/* Original logo centered between the benefit lists. */
.benefits-logo{margin:0;display:flex;align-items:center;justify-content:center;padding:20px}
.benefits-logo img{display:block;width:100%;max-width:200px;height:auto;object-fit:contain}
@media(max-width:960px){.benefits-logo{padding:8px}.benefits-logo img{max-width:180px}}
@media(max-width:480px){.benefits-logo img{max-width:160px}}
/* Slightly smaller homepage headline on desktop and mobile. */
.home .hero h1{font-size:clamp(2.45rem,4.9vw,4.75rem)}
@media(max-width:1100px){.home .hero h1{font-size:3.75rem}}
@media(max-width:800px){.home .hero h1{font-size:clamp(2.4rem,6.7vw,3.75rem)}}
@media(max-width:480px){.home .hero h1{font-size:clamp(1.95rem,8.6vw,2.25rem)}}
/* Larger, easier-to-read navigation links. */
.header .nav a{font-size:1.3rem}
@media(min-width:961px) and (max-width:1100px){.header .nav{gap:14px}.header .nav a{font-size:1.125rem}}
@media(min-width:801px) and (max-width:960px){.header .nav a{font-size:1rem}.home .header .nav a{font-size:1.3rem}}

@media(min-width:1101px){.header .nav{gap:24px}}
/* More readable announcement bar. */
.topline{font-size:1rem;padding:11px 15px;line-height:1.5}
@media(max-width:800px){.topline{font-size:.85rem}}
@media(max-width:480px){.topline{font-size:.8rem;padding:9px 15px}}
.topline,.topline span{color:#fff}

#vorteile{scroll-margin-top:110px}

/* Continuous benefit ticker with a seamless duplicate track. */
.benefits-marquee{padding:28px 0 35px;overflow:hidden}
.benefits-marquee .benefits-logo{padding:0;margin:0 auto 24px}
.benefits-marquee .benefits-logo img{width:90px;max-width:90px}
.benefits-marquee-window{overflow:hidden;width:100%}
.benefits-marquee-track{display:flex;width:max-content;animation:benefits-run 90s linear infinite}
.benefits-marquee-group{display:flex;align-items:center;gap:55px;padding-right:55px;flex-shrink:0}
.benefits-marquee .benefits-marquee-group p{white-space:nowrap;flex-shrink:0;border:0;padding:0;margin:0;gap:13px;font-size:1.15rem;line-height:1.5}
.benefits-marquee .tick{margin:0;background:#ffffff20;color:#fff}
.benefits-marquee-window:hover .benefits-marquee-track,.benefits-marquee-window:focus .benefits-marquee-track{animation-play-state:paused}
@keyframes benefits-run{to{transform:translateX(-50%)}}
@media(max-width:700px){.benefits-marquee{padding:22px 0 28px}.benefits-marquee .benefits-logo img{width:75px}.benefits-marquee .benefits-marquee-group p{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.benefits-marquee-track{width:100%;animation:none}.benefits-marquee-group{width:100%;flex-direction:column;align-items:flex-start;gap:18px;padding:0 24px}.benefits-marquee .benefits-marquee-group p{white-space:normal}.benefits-marquee-group[aria-hidden="true"]{display:none}}
/* Larger introduction logo and island headline. */
.home .intro .intro-logo{width:190px;height:190px}
.home .intro .eyebrow{font-size:clamp(1.15rem,2.1vw,1.65rem);letter-spacing:.12em;line-height:1.4;margin-bottom:24px}
@media(max-width:480px){.home .intro .intro-logo{width:150px;height:150px}}
/* Stronger circular outline around the introduction logo. */
.home .intro .intro-logo{border:4px solid #587744;border-radius:50%}
/* Smaller green introduction heading. */
.home .intro h2{font-size:clamp(1.7rem,3.1vw,2.4rem);color:#356b50}
/* Larger introductory body copy. */
.home .intro p{font-size:1.35rem;line-height:1.8}
@media(max-width:480px){.home .intro p{font-size:1.2rem}}

.home .intro-section{background:#f5e6bf}


.home .intro p{color:#214d3b}


.home #fahrvergnuegen .eyebrow{font-size:1.05rem;line-height:1.5}

.home #fahrvergnuegen h2{font-size:clamp(1.6rem,3vw,2.6rem)}
/* Category filters match the green benefit ticker. */
.home #fahrvergnuegen .filter{background:var(--yellow);color:var(--deep);border-color:var(--yellow)}
.home #fahrvergnuegen .filter:hover{background:#ffdc63;border-color:#694c0d}
.home #fahrvergnuegen .filter[aria-pressed="true"]{background:var(--yellow);color:var(--deep);border-color:var(--deep);box-shadow:none;font-weight:700}
/* Yellow location button with larger, readable address. */
.home .hero-bottom>a{background:var(--yellow);color:var(--deep);padding:14px 20px;border-radius:7px;line-height:1.4;max-width:calc(100% - 60px)}
.home .hero-bottom>a:hover{background:#ffdc63}
.home .hero-bottom .location{font-size:1rem;margin-bottom:3px}
.home .hero-bottom .location-note{font-size:.875rem;opacity:1}
@media(max-width:480px){.home .hero-bottom>a{padding:12px;gap:8px}.home .hero-bottom .location{font-size:.9rem}.home .hero-bottom .location-note{font-size:.78rem}.home .hero-inner{padding-bottom:125px}.home .hero{min-height:650px}}
/* Compact green location button. */
.home .hero-bottom>a{background:#356b50;color:#fff}
.home .hero-bottom>a:hover{background:#28563f}
.home .hero-bottom .location{font-size:.9rem}
.home .hero-bottom .location-note{font-size:.8rem}
@media(max-width:480px){.home .hero-bottom .location{font-size:.82rem}.home .hero-bottom .location-note{font-size:.72rem}}
/* Match the email link to the green location button. */
.home .hero-bottom-right>a{background:#24658a;color:#fff;font-size:.9rem;line-height:1.4;padding:14px 20px;border-radius:7px}
.home .hero-bottom-right>a:hover{background:#194c6a}
/* Green WhatsApp call to action in the hero. */


/* Keep the contact options together under the hero introduction. */


@media(max-width:480px){.home .hero .actions{flex-direction:column;align-items:stretch;max-width:290px}.home .hero{min-height:720px}}
/* Shared action colors on every page, including dialogs and the mobile bar. */
:root{--action-whatsapp:#25d366;--action-whatsapp-hover:#20bd5a;--action-email:#24658a;--action-email-hover:#194c6a;--action-green:#356b50}
.btn:is([href^="https://wa.me/"],[value="whatsapp"]){background:var(--action-whatsapp);border-color:var(--action-whatsapp);color:var(--deep)}
.btn:is([href^="https://wa.me/"],[value="whatsapp"]):hover{background:var(--action-whatsapp-hover);border-color:var(--action-whatsapp-hover);color:var(--deep)}
.btn:is([href^="mailto:"],[value="email"]){background:var(--action-email);border-color:var(--action-email);color:#fff}
.btn:is([href^="mailto:"],[value="email"]):hover{background:var(--action-email-hover);border-color:var(--action-email-hover);color:#fff}
.btn.outline{background:var(--yellow);color:var(--deep);border-color:var(--yellow)}
.btn.outline:hover{background:#ffdc63;border-color:#ffdc63}
.header .nav .nav-cta{background:var(--yellow);color:var(--deep);border-radius:7px}
.header .nav .nav-cta:hover{background:#ffdc63;color:var(--deep)}
/* Yellow tour request button. */
#touren .btn.tour-request{background:var(--yellow);border-color:var(--yellow);color:var(--deep)}
#touren .btn.tour-request:hover{background:#ffdc63;border-color:#ffdc63;color:var(--deep)}
/* Alternating label inside the Google Maps button. */
.location-slider{display:grid;overflow:hidden;font-size:.9rem;font-weight:600;line-height:1.5;text-align:center}
.location-slider>span{grid-area:1/1;white-space:nowrap;opacity:0;animation:location-label 8s linear infinite}
.location-slider>span:nth-child(2){animation-delay:4s}
@keyframes location-label{0%,43%{opacity:1;transform:translateY(0)}49%,100%{opacity:0;transform:translateY(-110%)}}
.hero-bottom>a:hover .location-slider>span,.hero-bottom>a:focus-visible .location-slider>span{animation-play-state:paused}
@media(max-width:480px){.location-slider{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){.location-slider>span{animation:none;opacity:0}.location-slider>span:first-child{opacity:1}}
/* Center the Maps button below the large introduction logo. */
.intro-location{display:flex;justify-content:center;margin:0 0 28px}
.intro-location .location-button{background:#356b50;border-color:#356b50;color:#fff;padding:13px 20px}
.intro-location .location-button:hover{background:#28563f;border-color:#28563f}
.intro-location .location-button:hover .location-slider>span,.intro-location .location-button:focus-visible .location-slider>span{animation-play-state:paused}
.home .hero-bottom{justify-content:flex-end}
/* Automatic text slider for the bicycle selection link. */
.header .nav .nav-mobility{display:flex;justify-content:center;align-items:center;padding:13px 17px;background:var(--yellow);color:var(--deep);border-radius:7px;font-size:1.05rem}
.header .nav .nav-mobility:hover{background:#ffdc63;color:var(--deep)}
.nav-mobility-slider{display:grid;overflow:hidden;text-align:center;line-height:1.5}
.nav-mobility-slider>span{grid-area:1/1;white-space:nowrap;animation:mobility-label 8s infinite;opacity:0}
.nav-mobility-slider>span:nth-child(2){animation-delay:-4s}
@keyframes mobility-label{0%,42%{opacity:1;transform:translateY(0)}49%,50%{opacity:0;transform:translateY(-110%)}51%,93%{opacity:0;transform:translateY(110%)}100%{opacity:1;transform:translateY(0)}}
.nav-mobility:hover .nav-mobility-slider>span,.nav-mobility:focus-visible .nav-mobility-slider>span{animation-play-state:paused}
@media(min-width:801px) and (max-width:1100px){.header .menu-toggle{display:block}.header .nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:white;padding:20px;gap:0;box-shadow:0 12px 20px #0001}.header .nav.open{display:flex}.header .nav a{padding:15px}.header .nav .nav-cta{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.nav-mobility-slider>span{animation:none;opacity:0}.nav-mobility-slider>span:first-child{opacity:1}}/* Stronger outlines and a deeper gold rental request in the navigation. */
.header .nav .nav-mobility{border:2px solid var(--deep);padding:11px 15px}
.header .nav .nav-cta{background:var(--yellow);color:var(--deep);border:2px solid #886414;padding:11px 17px;font-weight:600;box-shadow:0 3px 0 #886414}
.header .nav .nav-cta:hover{background:#ffdc63;color:var(--deep)}
/* Fine yellow frame around the homepage video. */
.home .hero{border:4px solid var(--yellow);box-shadow:0 7px 0 rgba(245,204,75,.35),0 15px 18px -8px rgba(245,204,75,.5);z-index:1}
/* Consistent text size across all five navigation links. */
.header .nav a,.home .header .nav a,.header .nav .nav-mobility,.header .nav .nav-cta{font-size:1.125rem}
/* Yellow outline for the location button. */
.intro-location .location-button{border:3px solid var(--yellow);box-shadow:0 5px 0 rgba(245,204,75,.35),0 12px 14px -5px rgba(173,127,21,.4)}
.intro-location .location-button:hover{border-color:var(--yellow)}
/* Flowing script lettering for the island introduction. */
.home .intro .eyebrow{font-family:'Segoe Script','URW Chancery L',cursive;font-weight:600;font-style:normal;text-transform:none;letter-spacing:0;font-size:clamp(1.9rem,4vw,3.25rem);line-height:1.5}/* Give the script headline more space between the location and intro text. */
.home .intro-location{margin-bottom:48px}
.home .intro .eyebrow{margin-bottom:44px}
@media(max-width:480px){.home .intro-location{margin-bottom:38px}.home .intro .eyebrow{margin-bottom:36px}}/* Align the introduction logo and location button on one centered row. */
.home .intro-brand-row{display:flex;align-items:center;justify-content:center;gap:42px;margin-bottom:48px}
.home .intro .intro-brand-row .intro-logo{margin:0;flex-shrink:0}
.home .intro-brand-row .intro-location{margin:0;min-width:0}
@media(max-width:480px){.home .intro-brand-row{gap:16px;margin-bottom:38px}.home .intro .intro-brand-row .intro-logo{width:105px;height:105px}.intro-brand-row .location-button{padding:12px 10px;gap:7px}.intro-brand-row .location-slider{font-size:.78rem}.intro-brand-row .location-slider>span{white-space:normal}}/* More breathing room within the island-feeling headline. */
.home .intro h2{letter-spacing:.01em;word-spacing:.12em;line-height:1.3;margin-inline:auto}
/* Black introduction copy, grouped into three readable paragraphs. */
.home .intro p{color:#000;font-weight:600}
.home .intro p+p{margin-top:18px}

/* Stronger gray background behind the bicycle selection. */
.home #fahrvergnuegen{background:linear-gradient(to bottom,#f5e6bf 0,#e3e7e2 160px)}
/* Continuous background transitions between the site's main content sections. */
.home #vorteile{background:linear-gradient(to bottom,#f5cc4b 0,#356b50 28px);padding-top:48px;border-bottom:0}
.home .intro-section{background:linear-gradient(to bottom,#356b50 0,#f5e6bf 120px);padding-top:160px}
.home #touren{background:linear-gradient(to bottom,#e3e7e2 0,#356b50 120px);padding-top:180px}
.home .service-strip{background:linear-gradient(to bottom,#356b50 0,#f7d65b 120px);padding-top:170px}
.home #ueber-uns{background:linear-gradient(to bottom,#f7d65b 0,#fff 120px);padding-top:170px}
.home .quote-band{border-block:0}
.home #kontakt{background:linear-gradient(to bottom,#fff 0,#f5e6bf 120px);padding-top:160px}
.footer{background:linear-gradient(to bottom,#fff 0,#356b50 120px);padding-top:160px}
.home .footer{background:linear-gradient(to bottom,#f5e6bf 0,#356b50 120px)}
.legal-header{background:linear-gradient(to bottom,#fff 0,#f3f5f1 55px,#f3f5f1 calc(100% - 55px),#fff 100%)}
@media(max-width:800px){.home .intro-section,.home #touren,.home .service-strip,.home #ueber-uns,.home #kontakt{padding-top:145px}.footer{padding-top:145px}}/* Harmonize the catalog heading with the island script heading. */
.home #fahrvergnuegen h2{font-family:'Segoe Script','URW Chancery L',cursive;font-weight:600;letter-spacing:0;line-height:1.4}
/* Larger category buttons with comfortable spacing. */
.home #fahrvergnuegen .filters{gap:20px 24px}
.home #fahrvergnuegen .filter{font-size:1rem;padding:13px 21px;min-height:50px;border-radius:7px;border:2px solid #886414}
/* Align the catalog introduction with the final category button. */
.home #fahrvergnuegen .section-title>p{font-size:1.1rem;line-height:1.6;text-align:right;color:#173d32;font-weight:400}
@media(min-width:1101px){.home #fahrvergnuegen .filters{justify-content:space-between;column-gap:18px}}
@media(max-width:800px){.home #fahrvergnuegen .section-title>p{font-size:1rem;text-align:left}}
/* Subtle yellow outline for the bicycle category badge. */
.product-card[data-category=bikes] .product-badge{border:2px solid #e5bb3566;background:#fff;box-shadow:0 0 5px 1px #e5bb3538,inset 0 0 5px #e5bb3529}
/* Soft edges throughout the site; keyboard focus remains clearly visible. */
.btn,.filter,.nav-mobility,.nav-cta,.menu-toggle{box-shadow:0 2px 7px #102e2618}
.header .nav .nav-mobility,.header .nav .nav-cta,.home #fahrvergnuegen .filter{border-color:#88641466;box-shadow:0 0 6px #88641425,inset 0 0 4px #fff3}
.header .nav .nav-mobility:hover,.header .nav .nav-cta:hover,.home #fahrvergnuegen .filter:hover{border-color:#88641499}
.home #fahrvergnuegen .filter[aria-pressed="true"]{border-color:#173d3299;box-shadow:0 0 5px #173d3230;font-weight:700}
.intro-location .location-button,.intro-location .location-button:hover{border-color:#f5cc4b99;box-shadow:0 0 8px #f5cc4b60,0 6px 12px #ad7f1533,inset 0 0 5px #f5cc4b25}
.product-badge{border:1px solid #e5bb3566;box-shadow:0 0 5px #e5bb3533,inset 0 0 4px #e5bb3522}
.product-card,.hours,.dialog,.rates th,.notice{border-color:#173d3214;box-shadow:0 3px 14px #102e2610}
.product-card:hover{box-shadow:0 7px 22px #102e261c}
.home .intro .intro-logo{border-color:#58774480;box-shadow:0 0 9px #58774435}
.home .hero{border-color:#f5cc4bb3;box-shadow:0 0 10px #f5cc4b70,0 10px 20px -5px #f5cc4b60}
.tour-photo>img,.portrait img,.gallery-button,.map-link{box-shadow:0 2px 12px #102e2620}
.header{border-bottom-color:#173d3210;box-shadow:0 3px 9px #102e260b}
.product-bottom,details,.hours dl div,.about-copy blockquote,.rates td{border-color:#173d3214}
.footer-bottom,.tour-price{border-color:#ffffff1a}
.tour-tags span,.btn.glass,.video-toggle{border-color:#ffffff40}
.request-form input,.request-form select,.details-btn,.dialog-close{border-color:#173d3233;box-shadow:0 0 5px #102e260d}
/* Soft yellow outline around the large white product cards. */
.home .product-card{border:2px solid #e5bb3573;box-shadow:0 0 8px #e5bb3529,0 3px 14px #102e2610}
.home .product-card:hover{border-color:#e5bb35a6;box-shadow:0 0 10px #e5bb3540,0 7px 22px #102e261c}

/* Emphasize the product description in rental detail dialogs. */
#product-dialog-content>h2+p{color:#18251e;font-weight:600}

/* Green introductory labels in product detail dialogs. */
#product-dialog-content>.eyebrow{width:fit-content;max-width:100%;margin:0 auto 36px;padding:8px 18px;border:1px solid #ddb229;border-radius:7px;background:#fae6a0;box-shadow:0 0 8px #e5bb3550;text-align:center;color:#356b50;font-family:'Segoe Script','URW Chancery L',cursive;font-size:clamp(1.4rem,2.6vw,1.75rem);font-weight:600;text-transform:none;letter-spacing:0;line-height:1.5}
/* Progressively stronger yellows for the four rental durations. */
#product-dialog:is([data-category="ebikes"],[data-product="17"],[data-product="18"]) .rates th{color:var(--deep);box-shadow:none}
#product-dialog:is([data-category="ebikes"],[data-product="17"],[data-product="18"]) .rates th:nth-child(1){background:#fff7d9}
#product-dialog:is([data-category="ebikes"],[data-product="17"],[data-product="18"]) .rates th:nth-child(2){background:#fbe8a5}
#product-dialog:is([data-category="ebikes"],[data-product="17"],[data-product="18"]) .rates th:nth-child(3){background:#f8d875}
#product-dialog:is([data-category="ebikes"],[data-product="17"],[data-product="18"]) .rates th:nth-child(4){background:#f5cc4b}/* Green duration progression for classic bicycles. */
#product-dialog[data-category="bikes"] .rates th{color:var(--deep);box-shadow:none}
#product-dialog[data-category="bikes"] .rates th:nth-child(1){background:#e7f0e9}
#product-dialog[data-category="bikes"] .rates th:nth-child(2){background:#c3ddcb}
#product-dialog[data-category="bikes"] .rates th:nth-child(3){background:#91bba0}
#product-dialog[data-category="bikes"] .rates th:nth-child(4){background:#356b50;color:#fff}/* Blue duration progression for electric mobility. */
#product-dialog:is([data-category="mobility"],[data-category="extras"]) .rates th{color:#163b50;box-shadow:none}
#product-dialog:is([data-category="mobility"],[data-category="extras"]) .rates th:nth-child(1){background:#e8f2f8}
#product-dialog:is([data-category="mobility"],[data-category="extras"]) .rates th:nth-child(2){background:#c3dfef}
#product-dialog:is([data-category="mobility"],[data-category="extras"]) .rates th:nth-child(3){background:#8bbbd5}
#product-dialog:is([data-category="mobility"],[data-category="extras"]) .rates th:nth-child(4){background:#24658a;color:#fff}/* Turquoise duration progression for electric fun. */
#product-dialog[data-category="fun"] .rates th{color:#154c49;box-shadow:none}
#product-dialog[data-category="fun"] .rates th:nth-child(1){background:#e4f5f2}
#product-dialog[data-category="fun"] .rates th:nth-child(2){background:#b6e3dc}
#product-dialog[data-category="fun"] .rates th:nth-child(3){background:#7ac8bd}
#product-dialog[data-category="fun"] .rates th:nth-child(4){background:#287f79;color:#fff}/* Red rental-duration progression for the bicycle trailer. */
#product-dialog[data-product="15"] .rates th{color:#642b2b;box-shadow:none}
#product-dialog[data-product="15"] .rates th:nth-child(1){background:#fbe9e7}
#product-dialog[data-product="15"] .rates th:nth-child(2){background:#f2c1bb}
#product-dialog[data-product="15"] .rates th:nth-child(3){background:#e9958b}
#product-dialog[data-product="15"] .rates th:nth-child(4){background:#b9433d;color:#fff}/* WhatsApp-green rental-duration progression for the child seat. */
#product-dialog[data-product="16"] .rates th{color:var(--deep);box-shadow:none}
#product-dialog[data-product="16"] .rates th:nth-child(1){background:#e5f9ec}
#product-dialog[data-product="16"] .rates th:nth-child(2){background:#b5efc9}
#product-dialog[data-product="16"] .rates th:nth-child(3){background:#73e79b}
#product-dialog[data-product="16"] .rates th:nth-child(4){background:#25d366}
/* Larger link to the complete price overview. */
.home .catalog-foot>.text-link{font-size:1.15rem;line-height:1.5}
/* Color-coded frames on the complete price overview. */
.price-category,.price-offer{--price-border:#e5bb35;--price-glow:#e5bb3526}
:is(.price-category,.price-offer)[data-category="bikes"],:is(.price-category,.price-offer)[data-category="mobility"],.price-offer[data-category="extras"]{--price-border:#4385ad;--price-glow:#4385ad26}
:is(.price-category,.price-offer)[data-category="fun"]{--price-border:#399d92;--price-glow:#399d9226}
.price-offer#produkt-15{--price-border:#c65b53;--price-glow:#c65b5326}
.price-offer#produkt-16{--price-border:#25d366;--price-glow:#25d36626}
.legal-body .price-category{width:fit-content;max-width:100%;border:2px solid var(--price-border);border-radius:8px;padding:12px 22px;margin:45px 0 25px;box-shadow:0 0 8px var(--price-glow)}
.legal-body .price-offer{border:2px solid var(--price-border);border-radius:12px;padding:24px;margin:0 0 26px;box-shadow:0 0 9px var(--price-glow);scroll-margin-top:125px}
.legal-body .price-offer>h3{margin-top:0}
.legal-body .price-offer>p:last-child{margin-bottom:0}
@media(max-width:480px){.legal-body .price-offer{padding:16px}.legal-body .price-category{padding:10px 18px}}/* A continuous light-to-strong progression matching each offer frame. */
.price-offer .rates thead{background:linear-gradient(90deg,color-mix(in srgb,var(--price-border) 12%,white),color-mix(in srgb,var(--price-border) 35%,white) 35%,color-mix(in srgb,var(--price-border) 55%,white) 65%,color-mix(in srgb,var(--price-border) 75%,white))}
.price-offer .rates th{background:transparent;color:#102e26;box-shadow:none}
/* Consistent contact buttons on every price offer. */
.price-offer-actions{margin-top:20px;align-items:stretch}
.price-offer-actions .btn{max-width:100%;justify-content:center;text-align:center;text-decoration:none}
@media(max-width:600px){.price-offer-actions .btn{width:100%;white-space:normal}}

/* Filled category headings matching the price overview palette. */
.legal-body .price-category{background:var(--price-border);color:#102e26}
.legal-body .price-category:is([data-category="bikes"],[data-category="mobility"]){color:#fff}

/* Centered, more compact price overview title on desktop and mobile. */
.price-overview-header{text-align:center}
.price-overview-header h1{font-size:clamp(2rem,3.9vw,3.1rem);line-height:1.15;text-wrap:balance;margin-inline:auto}
@media(max-width:480px){.price-overview-header{padding:45px 0 35px}.price-overview-header h1{font-size:clamp(1.8rem,7.5vw,2.1rem)}}

/* Readable introduction with separate duration and availability information. */
.legal-body .price-intro{margin-bottom:36px}
.legal-body .price-intro p{font-size:1.18rem;line-height:1.65;margin-bottom:16px}
.legal-body .price-intro p:last-child{margin-bottom:0}
@media(max-width:600px){.legal-body .price-intro p{font-size:1.1rem;line-height:1.65}.price-intro-break{display:none}}

/* Match the benefit strip green while preserving readable tour copy. */
.home #touren .tour-copy p{color:#fff}

/* More prominent tour section introduction. */
.tour-copy .eyebrow{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.4;letter-spacing:.12em}

/* Balanced tour headline below the enlarged section introduction. */
.tour-copy h2{font-size:clamp(2.2rem,3.6vw,3.2rem);line-height:1.12}
@media(max-width:600px){.tour-copy h2{font-size:2.1rem}}

/* Picture page and shared navigation entry. */
.header .nav .nav-pictures{background:var(--action-email);color:#fff;border:1px solid var(--action-email);padding:13px 18px;font-weight:600}
.header .nav .nav-pictures:hover{background:var(--action-email-hover);border-color:var(--action-email-hover);color:#fff}
.pictures-header{text-align:center}
.pictures-header h1{font-size:clamp(2rem,4vw,3.2rem)}
.pictures-header p{margin:24px auto 0;max-width:650px}
.pictures-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;padding-top:35px;padding-bottom:80px}
.pictures-grid .picture-card{width:100%;padding:0;background:#356b50;border:1px solid #e5bb35;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #173d3218}
.pictures-grid .picture-card img{width:100%;height:300px;object-fit:cover}
.pictures-grid .picture-card span{position:static;display:block;padding:18px;color:#fff;background:#356b50;text-align:left}
@media(min-width:1251px) and (max-width:1450px){.header .nav{gap:14px}.header .nav-wrap{gap:18px}}
@media(min-width:801px) and (max-width:1250px){.header .menu-toggle{display:block}.header .nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:white;padding:20px;gap:8px;box-shadow:0 12px 20px #0001}.header .nav.open{display:flex}.header .nav a{padding:15px}}
@media(max-width:900px){.pictures-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:600px){.pictures-grid{grid-template-columns:1fr}.pictures-grid .picture-card img{height:270px}.pictures-header{padding:45px 0 30px}.pictures-header p{font-size:1rem}}

/* Balanced service heading sizes across desktop and mobile. */
.service-grid .eyebrow{font-size:clamp(.9rem,1.25vw,1rem);line-height:1.4;letter-spacing:.12em}
.service-grid h2{font-size:clamp(1.75rem,2.5vw,2rem);line-height:1.15}

.service-equipment-title{text-align:center;transform:translateX(-18px)}

.service-fresh-air{display:block;text-align:center}

.service-energy-title{width:fit-content;max-width:100%}

/* Warm yellow quote banner with gentle transitions into the page. */
.home .quote-band{background:linear-gradient(to bottom,#fff 0,#fffdf5 5%,#fdf0b9 15%,#f9df7a 25%,#f7d65b 35%,#f7d65b 65%,#f9df7a 75%,#fdf0b9 85%,#fffdf5 95%,#fff 100%);color:var(--deep);padding:105px 0}
.home .quote-band cite{color:var(--deep)}
@media(max-width:600px){.home .quote-band{padding:85px 0}}

/* Balanced introduction to the team. */
.about-copy>.eyebrow{font-size:clamp(1rem,1.6vw,1.25rem);font-weight:800;-webkit-text-stroke:.2px currentColor;color:#356b50;line-height:1.5;letter-spacing:.1em}
.about-copy h2{font-size:clamp(1.65rem,2.9vw,2.4rem);line-height:1.12}

/* Portraits frame the introduction: Nadja, text, Rupert. */
#ueber-uns .about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr);gap:38px;align-items:center}
#ueber-uns .portrait{margin-top:0;min-width:0}
#ueber-uns .portrait img{height:auto;aspect-ratio:3/4;object-fit:cover}
#ueber-uns .portrait-nadja img{object-position:center}
#ueber-uns .portrait-rupert img{object-position:50% 30%}
@media(max-width:800px){#ueber-uns .about-grid{grid-template-columns:1fr;gap:32px}#ueber-uns .portrait{width:100%;max-width:330px;margin-inline:auto}#ueber-uns .portrait img{aspect-ratio:1/1}#ueber-uns .about-copy{width:100%}}

/* Smaller team portraits with a soft green frame. */
#ueber-uns .portrait{width:100%;max-width:220px;justify-self:center}
#ueber-uns .portrait img{border:3px solid #356b50;box-shadow:0 2px 12px #356b5026}
@media(max-width:800px){#ueber-uns .portrait{max-width:240px}}

/* More compact FAQ heading. */
.faq-intro h3{font-size:clamp(1.6rem,2.7vw,2.25rem);line-height:1.18}

.faq-intro .safety-link{background:#356b50;border-color:#356b50;color:#fff}
.faq-intro .safety-link:hover{background:#28543e;border-color:#28543e;color:#fff}

.faq-section-title{color:#356b50;text-align:left;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.4;margin:0 0 36px;letter-spacing:.16em}

.faq-intro>p{font-weight:600;color:#173d32}

.faq-intro h3{margin-bottom:28px}

.legal-header .safety-page-title{font-size:clamp(2rem,3.8vw,3rem);line-height:1.15}

.legal-body .safety-intro{font-weight:700;color:#173d32;font-size:1.1rem;line-height:1.7}

.safety-page-header{text-align:center}

/* Clearly visible help and emergency contact information. */
.legal-body .roadside-help{margin-top:40px;padding:28px;background:#ad302e;border:2px solid #942624;border-radius:12px;box-shadow:0 3px 14px #ad302e26}
.legal-body .roadside-help h2{margin:0 0 20px;color:#fff}
.legal-body .roadside-help p{font-size:1.12rem;font-weight:600;color:#fff;line-height:1.7}
.legal-body .roadside-help p:last-child{margin-bottom:0}
.roadside-help a{font-weight:800;font-size:1.25em;white-space:nowrap}
@media(max-width:480px){.legal-body .roadside-help{padding:20px}.legal-body .roadside-help p{font-size:1rem}}

/* Safety page title matching the red help panel. */
.legal-header .safety-page-title{display:table;max-width:100%;margin-inline:auto;padding:18px 30px;background:#ad302e;color:#fff;border:2px solid #942624;border-radius:12px;box-shadow:0 3px 14px #ad302e26}
@media(max-width:480px){.legal-header .safety-page-title{padding:15px 22px}}

/* Center and separate personal assistance from the emergency number. */
.legal-body .roadside-help{text-align:center;padding:34px 28px;color:#fff}
.legal-body .roadside-help>p{margin-bottom:14px}
.help-phone-numbers{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 22px;margin-bottom:26px}
.help-phone-numbers a{font-size:1.3rem}
.help-phone-numbers span{font-size:.95rem}
.legal-body .roadside-help .help-emergency{border-top:1px solid #ffffff55;padding-top:24px;margin-bottom:0}
.help-emergency a{display:inline-block;font-size:2rem;margin-top:8px}
@media(max-width:600px){.legal-body .roadside-help{padding:26px 18px}.help-phone-numbers{flex-direction:column;gap:8px}}

/* Balanced contact section headings. */
#kontakt .contact-grid>div:first-child>.eyebrow{font-family:'Segoe Script','URW Chancery L',cursive;font-size:clamp(1.45rem,2.4vw,1.85rem);font-weight:600;text-transform:none;line-height:1.5;letter-spacing:0;color:var(--action-email)}
#kontakt h2{font-size:clamp(1.6rem,2.7vw,2.25rem);line-height:1.16}

.btn.agb-download{background:#ad302e;border-color:#942624;color:#fff}
.btn.agb-download:hover{background:#942624;border-color:#7f211f;color:#fff}

/* Consistent handwritten section headings. */
.tour-copy .eyebrow,.service-grid .eyebrow,.about-copy h2,.faq-section-title{font-family:'Segoe Script','URW Chancery L',cursive;font-weight:600;text-transform:none;letter-spacing:0;line-height:1.5}
.tour-copy .eyebrow,.service-grid .eyebrow,.faq-section-title{font-size:clamp(1.15rem,1.9vw,1.45rem)}

/* Handwritten island magic in the hero. */
.hero h1 .hero-script{font-family:'Segoe Script','URW Chancery L',cursive;font-weight:600;letter-spacing:-.025em;word-spacing:0;line-height:1.5;font-size:.9em}

.price-overview-header h1{font-family:'Segoe Script','URW Chancery L',cursive;font-weight:600;letter-spacing:-.025em;line-height:1.4}

/* Larger handwritten tour heading. */
.tour-copy .eyebrow,.service-grid .eyebrow,.faq-section-title{font-size:clamp(1.5rem,2.6vw,2rem)}

/* Emphasize the rental request guidance. */
#kontakt .contact-grid>div:first-child>p{font-weight:600;color:var(--deep)}

.hero h1 em{font-family:'Segoe Script','URW Chancery L',cursive;font-weight:600;letter-spacing:-.025em;line-height:1.4}

.home .hero h1{font-family:'Segoe Script','URW Chancery L',cursive;font-weight:600;letter-spacing:-.025em;line-height:1.4}

/* Clearly separated opening-hour rows. */
#oeffnungszeiten dl div{background:#edf4eb;border:1px solid #356b5026;border-radius:9px;padding:13px 14px;margin-bottom:9px;gap:12px}
#oeffnungszeiten dl div:nth-child(even){background:#f5f8f1}
#oeffnungszeiten dt{color:#28543e;font-weight:750}
#oeffnungszeiten dd{color:#173d32;font-weight:600;white-space:nowrap}
@media(max-width:480px){#oeffnungszeiten dl div{padding:12px 10px;font-size:.8rem;gap:8px}}

#oeffnungszeiten>h3{font-size:clamp(1.8rem,2.5vw,2rem);line-height:1.2}

/* Larger location photo with a readable address overlay. */
#kontakt .map-link{height:370px}
#kontakt .map-link img{filter:none}
#kontakt .map-link::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 15%,#071e1966 45%,#071e19eb 100%)}
#kontakt .map-link .map-caption{z-index:1;display:block;left:25px;right:25px;bottom:24px}
.map-caption strong{display:block;font-size:clamp(1.5rem,2.3vw,1.85rem);line-height:1.2;margin-bottom:12px}
.map-caption small{display:block;font-size:.95rem;line-height:1.55;font-weight:500}
@media(max-width:480px){#kontakt .map-link{height:350px}#kontakt .map-link .map-caption{left:20px;right:20px;bottom:20px}.map-caption small{font-size:.85rem}}

#oeffnungszeiten .address{margin-top:24px;padding:20px;background:#eaf2f7;border:1px solid #80abc5;border-radius:10px;box-shadow:0 2px 10px #24658a0d}
@media(max-width:480px){#oeffnungszeiten .address{padding:16px}}

/* Center the location title above the address. */
#kontakt .map-link .map-caption{inset:0}
#kontakt .map-caption strong{position:absolute;top:30px;left:20px;right:20px;text-align:center;margin:0;text-shadow:0 2px 6px #071e19aa}
#kontakt .map-caption small{position:absolute;bottom:24px;left:25px;right:25px}
#kontakt .map-link::after{background:linear-gradient(#071e1966 0,transparent 35%,#071e1980 55%,#071e19eb 100%)}
@media(max-width:480px){#kontakt .map-caption strong{top:26px}#kontakt .map-caption small{bottom:20px;left:20px;right:20px}}

/* More prominent footer branding. */
.footer .brand{gap:16px}
.footer .brand img{width:78px;height:78px}
.footer .wordmark{font-size:1.7rem;letter-spacing:.035em}
@media(max-width:480px){.footer .brand{gap:12px}.footer .brand img{width:68px;height:68px}.footer .wordmark{font-size:1.5rem;letter-spacing:.02em}}

/* Align the footer name with the logo center. */
.footer .brand{align-items:center}
.footer .wordmark{position:relative;font-size:1.95rem;line-height:1.1}
.footer .brand small{position:absolute;top:100%;left:0;width:max-content;margin-top:7px}
@media(max-width:480px){.footer .wordmark{font-size:1.65rem}}

/* Stronger, readable address on the pale blue card. */
#oeffnungszeiten .address strong{font-size:1.18rem;font-weight:750;line-height:1.55;color:#194c6a}
#oeffnungszeiten .address p{font-size:1rem;font-weight:600;line-height:1.65;color:#173d32;margin-top:12px}
@media(max-width:480px){#oeffnungszeiten .address strong{font-size:1.08rem}#oeffnungszeiten .address p{font-size:.95rem}}

/* Larger text throughout the continuous benefits slider. */
.benefits-marquee .benefits-marquee-group p{font-size:clamp(1.15rem,1.8vw,1.4rem)}

/* Larger tour gallery previews. */
.tour-gallery .gallery-button img{height:280px}
@media(max-width:800px){.tour-gallery .gallery-button img{height:230px}}
@media(max-width:480px){.tour-gallery{grid-template-columns:1fr;gap:18px}.tour-gallery .gallery-button img,.tour-gallery .gallery-button:last-child img{height:250px}}

/* Soft blue framing for the island gallery title. */
.pictures-header h1{width:fit-content;max-width:100%;margin-inline:auto;padding:24px 34px;border:1px solid #e5bb35;border-radius:18px;background:radial-gradient(ellipse at center,#b3d4eb 0%,#c6deef 65%,#e2eef6 100%);box-shadow:0 0 24px 6px #aacbdd25;color:#194c6a;line-height:1.2}
@media(max-width:600px){.pictures-header h1{padding:20px 18px;border-radius:14px}}

.pictures-header p{font-size:clamp(1.1rem,1.7vw,1.3rem);font-weight:600;line-height:1.75;color:#194c6a}

.gallery-videos{padding-bottom:70px}.gallery-videos>h2{text-align:center;font-size:clamp(1.8rem,3vw,2.6rem);color:var(--action-email)}.gallery-videos>p{text-align:center;margin:18px auto 32px}.gallery-video-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.gallery-video-grid article{min-width:0}.gallery-video-grid h3{font-size:1.2rem;margin-bottom:16px;color:#194c6a}.gallery-video-grid video{display:block;width:100%;height:360px;object-fit:contain;background:#102e26;border:1px solid #80abc5;border-radius:12px}@media(max-width:700px){.gallery-video-grid{grid-template-columns:1fr}.gallery-video-grid video{height:300px}}

/* Softer green gallery captions and photo transitions. */
.pictures-grid .picture-card{background:#48765e;box-shadow:0 3px 16px #173d3212}
.pictures-grid .picture-card span{position:relative;inset:auto;background:linear-gradient(135deg,#527f67,#356b50);line-height:1.5;text-shadow:none}
.pictures-grid .picture-card span::before{content:'';position:absolute;left:0;right:0;top:-22px;height:22px;background:linear-gradient(to bottom,transparent,#527f6780);pointer-events:none}

.gallery-videos>h2{font-family:'Segoe Script','URW Chancery L',cursive;font-weight:600;letter-spacing:0;line-height:1.4}

.pictures-header h1{font-family:'Segoe Script','URW Chancery L',cursive;font-weight:600;letter-spacing:0;line-height:1.4}

.pictures-header h1{font-size:clamp(1.7rem,3.2vw,2.6rem)}

/* Address and tap-to-call numbers on every page. */
.footer-contact{display:flex;justify-content:space-between;gap:32px;margin:0 0 32px;font-size:.95rem;line-height:1.8;color:#fff}.footer-contact address{font-style:normal}.footer-contact address span{color:#e0ebe3}.footer-phones{display:flex;flex-direction:column;align-items:flex-start}.footer-phones a{padding:4px 0;text-decoration:none}.footer-phones a:hover{text-decoration:underline}@media(max-width:600px){.footer-contact{flex-direction:column;gap:22px}.footer-phones a{min-height:44px;display:flex;align-items:center}}

/* Slightly more compact handwritten hero title. */
.home .hero h1{font-size:clamp(2.1rem,4.1vw,4rem)}
@media(max-width:1100px){.home .hero h1{font-size:3.2rem}}
@media(max-width:800px){.home .hero h1{font-size:clamp(2rem,5.8vw,3.2rem)}}
@media(max-width:480px){.home .hero h1{font-size:clamp(1.7rem,7.4vw,1.95rem)}}

/* Centered black contact details above the location image. */
#kontakt .contact-info{text-align:center;justify-items:center}
#kontakt .contact-info a{color:#000;font-size:clamp(1rem,1.4vw,1.1rem);font-weight:600;line-height:1.5}

/* Repeat the complete benefits ticker before the footer. */
.home .footer-benefits{background:linear-gradient(to bottom,#f5e6bf 0,#356b50 80px);padding:105px 0 32px}
.home .footer{background:#356b50;padding-top:55px}

/* Contact details flanked by email and WhatsApp actions. */
.contact-direct{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin:28px 0}
#kontakt .contact-direct .contact-info{margin:0;gap:10px}
.contact-direct>.btn{padding:13px 10px;gap:5px;font-size:.84rem;text-align:center}
@media(min-width:801px) and (max-width:1100px),(max-width:520px){.contact-direct{grid-template-columns:1fr 1fr;gap:18px 12px}.contact-direct .contact-info{grid-column:1/-1;grid-row:1}.contact-direct>.contact-email{grid-column:1;grid-row:2}.contact-direct>.contact-whatsapp{grid-column:2;grid-row:2}}

/* Contact details below the two request buttons. */
#kontakt .contact-direct{grid-template-columns:1fr 1fr;gap:24px 16px}
#kontakt .contact-direct>.contact-email{grid-column:1;grid-row:1}
#kontakt .contact-direct>.contact-whatsapp{grid-column:2;grid-row:1}
#kontakt .contact-direct>.contact-info{grid-column:1/-1;grid-row:2;margin:6px 0 0}

/* Bottom ticker across the informational pages, except safety. */
.footer-benefits{background:linear-gradient(to bottom,#fff 0,#356b50 80px);padding:105px 0 32px}
.footer-benefits+.footer{background:#356b50;padding-top:55px}

/* Seamless transition from the bottom ticker into the footer. */
.footer-benefits{border-bottom:0}

/* Align the location photo bottom with the opening-hours card. */
@media(min-width:801px){#kontakt .contact-grid{align-items:stretch}#kontakt .contact-grid>div:first-child{display:flex;flex-direction:column;min-width:0}#kontakt .map-link{flex:1;min-height:370px;height:auto}#kontakt .map-link img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}}

/* Gentle, muted transition from the video into the upper ticker. */
.home #vorteile{background:linear-gradient(to bottom,#9ba77c 0,#718d69 22px,#4b785a 48px,#356b50 78px);padding-top:88px}
.home .hero{box-shadow:0 0 8px #f5cc4b25,0 6px 14px -6px #f5cc4b20}

.imprint-header h1{font-size:clamp(2rem,3.5vw,3rem);line-height:1.2}

.imprint-owner{display:block;margin:12px 0 22px;font-size:1.25rem;font-weight:700;color:#173d32;line-height:1.5}

.legal-body .imprint-address,.legal-body .imprint-tax-id{color:#000}

.imprint-contact{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 14px;font-size:1rem;line-height:1.8;color:#42574b;margin-bottom:1.3rem}

.contact-point{max-width:640px;padding:24px 26px;background:#edf4f8;border:1px solid #adc9da80;border-radius:12px}.contact-point>p:first-child{margin-bottom:18px}.contact-point .contact-languages{margin:22px 0 0}.contact-point .imprint-contact{margin:0}@media(max-width:480px){.contact-point{padding:20px 16px}}

/* Align all imprint content with the page heading. */
.imprint-header+.legal-body{max-width:var(--max);text-align:left}

/* Tourhinweise als umrandete Aufzaehlung */
.tour-tags{display:grid;gap:10px;max-width:390px;margin:27px 0;padding:0;list-style:none}.tour-tags li{display:flex;align-items:center;gap:12px;padding:11px 16px;border:1px solid #ffffff70;border-radius:8px;background:#ffffff06;font-size:.9rem;line-height:1.5;color:#fff}.tour-tags li::before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#f5cc4b}

.tour-tags li{border:0;border-radius:0;background:transparent;padding:5px 0}

/* Gemeinsame Anfrage fuer mehrere Fahrradtypen */
.request-form .rental-period-note{margin:0;font-size:.85rem;color:#42574b}
#additional-bikes:empty{display:none}.additional-bike{min-width:0;margin:0 0 18px;padding:18px;border:1px solid #adc4b5;border-radius:10px;background:#f3f7f1;display:grid;grid-template-columns:1fr 1fr;gap:16px}.additional-bike:last-child{margin-bottom:0}.additional-bike legend{padding:0 8px;font-weight:700;color:#28543e}.remove-bike{grid-column:1/-1;justify-self:start;background:none;border:0;text-decoration:underline;padding:8px 0;min-height:44px;color:#42574b;font-size:.85rem}.request-form .add-bike{justify-self:start}.additional-bike label{min-width:0}
@media(max-width:480px){.additional-bike{grid-template-columns:1fr;padding:14px}.request-form .add-bike{width:100%}}

/* Harmonischer Feinschliff: kompakte Uebergaenge und ruhige Formen. */
:root{--section-fade:48px;--shape-radius:10px;--gentle-shadow:0 2px 8px #173d3210}
.home #vorteile{background:linear-gradient(to bottom,#718d69 0,#356b50 var(--section-fade));padding-top:58px}
.home .intro-section{background:linear-gradient(to bottom,#356b50 0,#f5e6bf var(--section-fade));padding-top:105px}
.home #fahrvergnuegen{background:linear-gradient(to bottom,#f5e6bf 0,#e3e7e2 var(--section-fade))}
.home #touren{background:linear-gradient(to bottom,#e3e7e2 0,#356b50 var(--section-fade));padding-top:108px}
.home .service-strip{background:linear-gradient(to bottom,#356b50 0,#f5e6bf var(--section-fade));padding-top:105px}
.home #ueber-uns{background:linear-gradient(to bottom,#f5e6bf 0,#fff var(--section-fade));padding-top:105px}
.home #kontakt{background:linear-gradient(to bottom,#fff 0,#f5e6bf var(--section-fade));padding-top:105px}
.home .quote-band{background:linear-gradient(to bottom,#fff 0,#f5e6bf 40px,#f5e6bf calc(100% - 40px),#fff 100%);padding:75px 0}
.footer{background:linear-gradient(to bottom,#fff 0,#356b50 var(--section-fade));padding-top:100px}
.footer-benefits{background:linear-gradient(to bottom,#fff 0,#356b50 var(--section-fade));padding:72px 0 32px}
.home .footer-benefits{background:linear-gradient(to bottom,#f5e6bf 0,#356b50 var(--section-fade));padding:72px 0 32px}
.home .footer,.footer-benefits+.footer{background:#356b50;padding-top:55px}
.btn,.filter,.menu-toggle,.header .nav .nav-mobility,.header .nav .nav-cta,.intro-location .location-button{border-radius:var(--shape-radius);box-shadow:var(--gentle-shadow)}
.header .nav .nav-mobility,.header .nav .nav-cta,.home #fahrvergnuegen .filter,.home #fahrvergnuegen .filter[aria-pressed="true"],.intro-location .location-button,.intro-location .location-button:hover{box-shadow:var(--gentle-shadow)}
.home .product-card,.product-card,.tour-photo,.tour-photo>img,.gallery-button,.map-link,#ueber-uns .portrait img,.hours,.pictures-grid .picture-card,.gallery-video-grid video,.legal-body .price-offer,.legal-body .price-category,.pictures-header h1,#product-dialog-content>.eyebrow{border-radius:var(--shape-radius);box-shadow:var(--gentle-shadow)}
.home .product-card:hover,.product-card:hover{box-shadow:0 5px 14px #173d3218}
.home .hero{box-shadow:none}
@media(max-width:600px){:root{--section-fade:32px}.home .intro-section,.home #touren,.home .service-strip,.home #ueber-uns,.home #kontakt{padding-top:78px}.home #vorteile{padding-top:44px}.footer-benefits,.home .footer-benefits{padding-top:58px}.home .quote-band{padding:60px 0;background:linear-gradient(to bottom,#fff 0,#f5e6bf 28px,#f5e6bf calc(100% - 28px),#fff 100%)}}

/* Ruhiger Kontaktbereich mit einheitlichem Abstandsraster. */
#kontakt .contact-grid{column-gap:64px;row-gap:40px}
#kontakt .contact-grid>div:first-child>.eyebrow{margin-bottom:24px}
#kontakt .contact-grid>div:first-child>h2{margin-bottom:24px}
#kontakt .contact-grid>div:first-child>p{margin:0}
#kontakt .contact-direct{margin:32px 0 0;gap:24px 16px;align-items:stretch}
#kontakt .contact-direct>.btn{width:100%;min-height:54px;padding:14px 16px;font-size:.9rem;line-height:1.4;gap:8px}
#kontakt .contact-direct>.contact-info{margin:0;gap:12px;padding:0}
#kontakt .map-link{margin-top:32px}
#oeffnungszeiten{padding:32px}
#oeffnungszeiten>h3{margin-bottom:24px}
#oeffnungszeiten dl{display:grid;gap:8px}
#oeffnungszeiten dl div{margin:0}
#oeffnungszeiten .address{margin-top:24px}
@media(max-width:800px){#kontakt .contact-grid{gap:40px}#kontakt .contact-direct{margin-top:24px}#kontakt .map-link{margin-top:24px}}
@media(max-width:480px){#kontakt .contact-direct{column-gap:12px;row-gap:24px}#kontakt .contact-direct>.btn{padding:12px 8px;font-size:.84rem;gap:5px}#oeffnungszeiten{padding:24px}}

/* Nadjas persoenliche Vorstellung unter ihrem Portrait. */
#ueber-uns .about-grid{align-items:start}
#ueber-uns .portrait-nadja{max-width:none}
#ueber-uns .portrait-nadja>img{max-width:220px;margin-inline:auto}
#ueber-uns .portrait-nadja>h3,#ueber-uns .portrait-nadja>p{max-width:220px;margin-inline:auto}
#ueber-uns .nadja-quote{margin:24px 0 0;padding-top:24px;border-top:1px solid #173d3220;font-size:1rem;line-height:1.7;color:#173d32}
#ueber-uns .nadja-quote p{font-size:inherit;color:inherit;line-height:inherit;margin:0 0 16px}
#ueber-uns .nadja-quote strong{font-weight:600}
#ueber-uns .nadja-quote cite{display:block;font-size:.78rem;font-style:normal;color:var(--muted);line-height:1.6}
@media(max-width:800px){#ueber-uns .portrait-nadja{max-width:550px}#ueber-uns .portrait-nadja>img,#ueber-uns .portrait-nadja>h3,#ueber-uns .portrait-nadja>p{max-width:240px}}

.home .quote-band blockquote{font-family:"Segoe Script","URW Chancery L",cursive;font-weight:600;letter-spacing:0;line-height:1.65;font-size:clamp(1.2rem,2vw,1.7rem)}

.about-copy .arrival-heading{display:grid;gap:8px;width:100%}.arrival-heading span:first-child{text-align:left}.arrival-heading span:nth-child(2){text-align:center}.arrival-heading span:last-child{text-align:right}

.about-copy .arrival-heading{color:#356b50}

/* Beide Teamstimmen gleichwertig direkt unter dem jeweiligen Portrait. */
#ueber-uns .portrait{max-width:none}
#ueber-uns .portrait>img{max-width:220px;margin-inline:auto}
#ueber-uns .portrait>h3,#ueber-uns .portrait>p{max-width:220px;margin-inline:auto}
#ueber-uns .team-quote{margin:24px 0 0;padding:20px 0 0;border-top:1px solid #173d3220;font-size:1rem;font-weight:400;line-height:1.7;color:#173d32;text-align:left}
#ueber-uns .team-quote p{margin:0;font-size:inherit;line-height:inherit;color:inherit}
#ueber-uns .team-quote cite{display:block;margin-top:16px;font-size:.78rem;font-style:normal;line-height:1.6;color:var(--muted)}
@media(max-width:800px){#ueber-uns .about-copy{grid-row:1}#ueber-uns .portrait{max-width:550px}#ueber-uns .portrait>img,#ueber-uns .portrait>h3,#ueber-uns .portrait>p{max-width:240px}}

.about-copy>.eyebrow{font-weight:500;-webkit-text-stroke:0}

/* Teamzitate beginnen trotz unterschiedlicher Rollenbeschriftung auf gleicher Hoehe. */
@media(min-width:801px){
#ueber-uns .portrait{display:grid;grid-template-rows:auto 36px 30px auto;align-content:start}
#ueber-uns .portrait>img{grid-row:1;width:100%}
#ueber-uns .portrait>h3{grid-row:2;width:100%;align-self:start}
#ueber-uns .portrait>p{grid-row:3;width:100%;margin-top:0;margin-bottom:0}
#ueber-uns .portrait>.team-quote{grid-row:4}
}

#ueber-uns .about-copy>p.muted{font-size:clamp(1.08rem,1.55vw,1.2rem);font-weight:600;line-height:1.75;color:#173d32}

#ueber-uns .about-copy>p.muted{font-size:clamp(1rem,1.35vw,1.08rem);font-weight:600;line-height:1.75;padding:20px 22px;border:1px solid #356b5040;border-radius:10px;background:#edf4eb;color:#173d32}
@media(max-width:480px){#ueber-uns .about-copy>p.muted{padding:18px}}

#ueber-uns .about-copy>p.muted{border-color:transparent;background:radial-gradient(ellipse at center,#edf4eb 35%,#f3f7f0 72%,#fff 100%);box-shadow:0 0 16px 6px #edf4eb70;border-radius:18px}

#ueber-uns .about-copy>p.muted{background:radial-gradient(ellipse at center,#d8e8d3 35%,#e6efe1 72%,#fff 100%);box-shadow:0 0 16px 6px #deead780}

.about-copy>.eyebrow{letter-spacing:.16em}

.about-copy>.eyebrow{font-weight:600}

/* Ein handgezeichnetes Herz verbindet die drei Inselmomente. */
.about-copy .arrival-heading{position:relative;isolation:isolate;padding:30px 0 34px;gap:12px}
.arrival-heading .arrival-heart{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible;pointer-events:none}
.arrival-heart path{fill:none;stroke:#6b9478;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.arrival-heading>span{width:fit-content;max-width:100%;background:#fff;box-shadow:0 0 7px 5px #fff;padding:0 5px}
.arrival-heading>span:nth-child(1){justify-self:start;text-align:left}
.arrival-heading>span:nth-child(2){justify-self:center;text-align:center}
.arrival-heading>span:nth-child(3){justify-self:end;text-align:right}
@media(max-width:480px){.about-copy .arrival-heading{padding:26px 0 30px;gap:14px}.arrival-heart path{stroke-width:1.7}}

#ueber-uns .about-island-line{display:block;text-align:center}

#kontakt .contact-grid>div:first-child>.contact-invitation{font-size:clamp(1.65rem,2.8vw,2.1rem);line-height:1.5;margin-bottom:28px}.contact-invitation>span{display:block}.contact-invitation>span+span{margin-top:6px}

#kontakt .contact-grid>div:first-child>.contact-invitation{text-align:center;line-height:1.4}.contact-invitation>span+span{margin-top:2px}

#kontakt .contact-heading{font-size:clamp(1.05rem,2.15vw,1.65rem);line-height:1.35;letter-spacing:-.025em}
@media(max-width:480px){#kontakt .contact-heading{font-size:clamp(.95rem,4.5vw,1.2rem)}}

#kontakt .contact-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}#kontakt .contact-heading>span:last-child{text-align:right}

.footer-credit{display:block;margin-top:8px;font-size:.78rem;line-height:1.6;color:inherit}

#kontakt .contact-heading{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:center;font-size:clamp(1rem,1.65vw,1.3rem);line-height:1.5;text-align:center}#kontakt .contact-heading>span:last-child{text-align:center}
@media(max-width:480px){#kontakt .contact-heading{grid-template-columns:1fr;gap:6px;font-size:1.1rem}}

#kontakt .contact-heading{display:block;text-align:center;font-weight:500;font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.5;letter-spacing:0;text-wrap:balance}

.topline.opening-slider{padding:0;letter-spacing:.025em}
.opening-slider-link{display:flex;align-items:center;justify-content:center;min-height:46px;padding:9px 20px;text-decoration:none;font-size:.9rem;line-height:1.55;font-weight:500}
.topline .opening-slide{color:#fff}
.opening-slider-link:hover{background:#ffffff09}
.opening-slider-link:focus-visible{outline:2px solid #f5cc4b;outline-offset:-4px}
@media(max-width:600px){.opening-slider-link{min-height:66px;padding:9px 18px;font-size:.8rem}.opening-slide{max-width:340px;text-wrap:balance}}

.topline.opening-slider{background:#356b50;color:#fff}

.topline.opening-slider{position:relative;padding-bottom:14px;background:#356b50}.topline.opening-slider::after{content:"";position:absolute;left:0;right:0;bottom:0;height:14px;background:linear-gradient(to bottom,#356b50,#fff);pointer-events:none}

/* Center the inquiry label in the expanded navigation. */
.header .nav.open .nav-cta{text-align:center}

/* Clear information typography; expressive headings keep their handwriting. */
.price-overview-header h1,.faq-section-title{font-family:Arial,Helvetica,sans-serif;font-weight:600;letter-spacing:0}
.motion-toggle{display:block;margin:18px auto 0;padding:10px 18px;min-height:44px;border:1px solid #ffffff80;border-radius:10px;background:#173d32;color:#fff;font:600 .9rem/1.4 Arial,Helvetica,sans-serif;cursor:pointer}
.motion-toggle:focus-visible{outline:3px solid #f5cc4b;outline-offset:3px}
.motion-paused .benefits-marquee-track,.motion-paused .nav-mobility-slider>span,.motion-paused .location-slider>span{animation-play-state:paused}
.mobile-contact[hidden]{display:none}
@media(max-width:800px){
 .nav-mobility-slider>span,.location-slider>span{animation:none;opacity:0;transform:none}
 .nav-mobility-slider>span:first-child,.location-slider>span:first-child{opacity:1}
 .benefits-marquee .benefits-marquee-group p{font-size:1.1rem}
 .video-toggle{min-width:44px;min-height:44px}
}
@media(prefers-reduced-motion:reduce){.motion-toggle{display:none}}

/* Keep today's hours visible above the sticky navigation. */
:root{--opening-height:60px;--sticky-header-height:106px}
.topline.opening-slider{position:sticky;top:0;z-index:21}
.header{top:var(--opening-height)}
html{scroll-padding-top:calc(var(--opening-height) + var(--sticky-header-height) + 12px)}
@media(max-width:600px){:root{--opening-height:80px;--sticky-header-height:88px}}
@media(max-width:1100px){.header .nav.open{max-height:calc(100dvh - var(--opening-height) - var(--sticky-header-height));overflow-y:auto;overscroll-behavior:contain}}

.island-music{padding:16px 24px;background:#f5e6bf;display:flex;align-items:center;justify-content:center;gap:12px 20px;flex-wrap:wrap;color:#173d32}
.island-music small{flex-basis:100%;text-align:center;font-size:.75rem;line-height:1.5}
.island-music audio{max-width:100%;height:44px}
.island-music audio[hidden]{display:none}
.island-music #music-status:empty{display:none}
@media(max-width:600px){.island-music{padding:16px 20px}.island-music .btn{font-size:.9rem}.island-music audio{width:100%}}

/* Discreet pause control, with a touch-friendly hit area. */
.benefits-marquee{position:relative}
.benefits-marquee .motion-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);margin:0;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #ffffff70;border-radius:50%;background:#28563f;color:#fff;font:600 18px/1 Arial,Helvetica,sans-serif;z-index:2}
.benefits-marquee-window{width:calc(100% - 64px);padding-right:0}


/* Subtle right offset for the team introduction. */
#ueber-uns .about-copy>.eyebrow{margin-left:12px}
@media(max-width:800px){#ueber-uns .about-copy>.eyebrow{margin-left:8px}}

/* Language links remain compact and accessible across all pages. */
.language-switch{display:flex;justify-content:flex-end;gap:6px;padding:0 max(20px,calc((100% - 1280px)/2)) 8px;background:inherit}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:36px;padding:3px 10px;border-radius:12px;color:#234b39;font:600 14px/1.2 Arial,sans-serif;text-decoration:none;border:1px solid #719c7b;background:#fff}
.language-switch a[aria-current]{background:#f5cc4b;border-color:#b9942c;color:#173427}
.language-switch a:focus-visible{outline:2px solid #205b98;outline-offset:2px}
@media(max-width:800px){.language-switch{justify-content:center;padding:0 12px 6px}.language-switch a{min-height:32px}}
@media(max-width:800px){.header .nav-wrap{gap:10px}.header .brand{flex-shrink:1;min-width:0}.header .brand>span{min-width:0}.header .brand small{white-space:normal;max-width:200px;font-size:.55rem;line-height:1.4}.header .brand img,.header .menu-toggle{flex-shrink:0}.header .menu-toggle{white-space:nowrap}}
@media(min-width:1251px) and (max-width:1450px){html:not([lang="de"]) .header .menu-toggle{display:block}html:not([lang="de"]) .header .nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:white;padding:20px;gap:8px;max-height:calc(100dvh - var(--opening-height,60px) - var(--sticky-header-height,150px));overflow-y:auto;box-shadow:0 8px 18px #0001}html:not([lang="de"]) .header .nav.open{display:flex}html:not([lang="de"]) .header .nav a{padding:15px}}
@media(max-width:480px){.rates{table-layout:fixed;width:100%}.rates th,.rates td{white-space:normal;overflow-wrap:anywhere;padding-left:6px;padding-right:6px}.footer .brand small{width:100%;white-space:normal;line-height:1.45}.footer .brand{margin-bottom:24px}}
@media(max-width:480px){.rates td{font-size:.85rem;padding-left:3px;padding-right:3px;overflow-wrap:normal}.rates th{font-size:.75rem;padding-left:3px;padding-right:3px}}@media(max-width:360px){.rates td{font-size:.72rem}.rates th{font-size:.68rem}}
@media(max-width:480px){.legal-body h2,.legal-body h3{hyphens:auto;overflow-wrap:anywhere}}
/* Keep the primary action readable without gaps between animated labels. */.hero .button-text-slider>span{animation:none;display:none;opacity:1;transform:none}.hero .button-text-slider>span:first-child{display:block}

/* Native language names with a clear current-language state. */
.language-switch{gap:8px;flex-wrap:wrap}
.language-switch a{min-height:40px;padding:8px 15px;background:#edf4ef;border-color:#b5cebd;white-space:nowrap}
.language-switch a:hover{background:#deeadf}
.language-switch a[aria-current]{background:#f5cc4b;border-color:#99781d;box-shadow:inset 0 0 0 1px #99781d;font-weight:700}
@media(max-width:800px){.language-switch a{min-height:40px;padding:8px 12px}.language-switch{gap:7px}}

.language-switch a{gap:7px}.language-flag{display:block;width:25px;height:15px;flex-shrink:0;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px #17342722}
@media(max-width:380px){.language-switch{gap:5px;padding-left:8px;padding-right:8px}.language-switch a{padding:8px;font-size:13px;gap:5px}.language-flag{width:22px;height:14px}}
@media(max-width:480px){.language-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:0 10px 8px}.language-switch a{min-width:0;padding:8px 4px;font-size:12px;gap:4px}.language-flag{width:20px;height:12px}}

/* Opening hours and language choice share the green utility bar. */
.topline.opening-slider{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px max(20px,calc((100% - 1280px)/2)) 18px}
.topline .opening-slider-link{justify-content:flex-start;padding:4px 0;min-height:40px;text-align:left}
.topline .language-switch{display:flex;flex-wrap:nowrap;padding:0;gap:8px;background:transparent;flex-shrink:0}
.topline .language-switch a{letter-spacing:normal}
.topline .language-switch a span{color:inherit}
@media(max-width:800px){.topline.opening-slider{flex-direction:column;gap:5px;padding:6px 12px 18px}.topline .opening-slider-link{min-height:30px;padding:0;justify-content:center;text-align:center;font-size:.8rem}.topline .language-switch{justify-content:center}.topline .opening-slide{max-width:100%}}
@media(max-width:480px){.topline .language-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,340px);gap:5px}}
