/* Dr Stretcher · restrained finishing touches, 22 October 2026.
   Keep original art, copy and section order unchanged. */

/* Registered protection has not been claimed: use the trademark symbol ™, not ®. */
.brand-mark, .footer-mark {position:relative;display:block;flex:0 1 auto;line-height:0;isolation:isolate;}
.brand-mark {width:clamp(235px,29vw,430px);max-width:64vw;}
.footer-mark {width:clamp(180px,17vw,275px);max-width:66%;}
.brand-mark .wordmark-image, .footer-mark .footer-wordmark-image {
  display:block;width:100%;height:auto;max-width:100%;object-fit:contain;
}
.brand-mark .trademark, .footer-mark .trademark {
  position:absolute;top:3%;right:-1%;font:600 11px/1 Georgia,'Times New Roman',serif;
  color:currentColor;letter-spacing:0;z-index:1;
}
.footer-mark .trademark {color:#fff;top:-1%;font-size:9px;right:-2%;}
.brandline, .footer-brandline {overflow:visible;}

/* Gentle improvements to breathing room, without changing structure. */
.content .movement-story {margin-block:30px 32px;}
.content .whatsapp {margin-block:28px 32px;}
.content .team {padding-block:18px 37px;}
.content .prepare {padding-block:26px 35px;}
.content .faq-bikes {margin-block:20px 38px;}
.content .coverage-editorial {padding-top:37px;}
.content .section-heading {margin-bottom:25px;}
.footer-inner {column-gap:8px;}
.footer-bottom {row-gap:14px;}
.footer-business {letter-spacing:.025em;line-height:1.55;}

/* Interactions that feel understated rather than animated. */
a, button, summary { -webkit-tap-highlight-color:transparent; }
.button, .footer-book, .member, .faq-items summary, .footer-bottom a, .career-more {
  transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease;
}
:where(.button,.footer-book,.mobile-booking-link,.career-more,.footer-bottom a,summary,a):focus-visible {
  outline:3px solid #bc9f69;outline-offset:4px;
}
@media (hover:hover) and (pointer:fine){
 .button.button-primary:hover {background:#006b4c;transform:translateY(-2px);box-shadow:0 6px 17px #003b2b29;}
 .footer-book:hover {background:#ffffff1c;transform:translateY(-2px);box-shadow:0 5px 15px #001f162e;}
 .member:hover {transform:translateY(-3px);box-shadow:0 10px 25px #3e2c161c;}
 .faq-items summary:hover {color:#006046;}
 .footer-bottom a:hover {color:#fff;text-decoration:underline;text-underline-offset:4px;}
}
.faq-items details[open] summary {color:#00543f;}
html {scroll-behavior:smooth;}
[id] {scroll-margin-top:30px;}

/* Mobile-only CTA; ordinary booking links remain available on all screens. */
.mobile-booking-bar {display:none;}
@media (max-width:900px){
 .brand-mark {width:clamp(185px,29vw,310px);}
 .footer-mark {width:clamp(178px,28vw,230px);max-width:72%;}
}
@media (max-width:700px){
 .brand-mark {width:min(61vw,295px);max-width:none;}
 .footer-mark {width:min(59vw,265px);max-width:none;}
 .brand-mark .trademark {font-size:8px;right:-1%;top:1%;}
 .footer-mark .trademark {font-size:8px;right:-1%;top:-1%;}
 .content .movement-story {margin-block:19px 23px;}
 .content .whatsapp {margin-block:17px 23px;}
 .content .team {padding-block:11px 27px;}
 .content .prepare {padding-block:21px 28px;}
 .content .faq-bikes {margin-block:16px 29px;}
 .content .coverage-editorial {padding-top:28px;}
 .content .section-heading {margin-bottom:17px;}
 .homepage-booking {padding-bottom:calc(82px + env(safe-area-inset-bottom,0px));}
 .mobile-booking-bar {
   position:fixed;inset:auto 0 0;display:flex;align-items:center;justify-content:center;
   padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));
   background:rgba(253,248,241,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
   border-top:1px solid #e0d6ca;box-shadow:0 -5px 20px #1d2d2020;z-index:100;
   opacity:1;visibility:visible;transform:translateY(0);
   transition:opacity .22s ease,transform .22s ease,visibility .22s ease;
 }
 .mobile-booking-bar.is-hidden {opacity:0;visibility:hidden;transform:translateY(100%);pointer-events:none;}
 .mobile-booking-link {
   width:100%;max-width:520px;display:flex;justify-content:center;align-items:center;gap:12px;
   background:#00543d;color:#fff;text-decoration:none;border-radius:100px;
   min-height:53px;padding:12px 19px;box-shadow:0 4px 13px #002e2226;
   font:800 12px/1.1 'DM Sans',Arial,sans-serif;letter-spacing:.09em;
 }
 .mobile-booking-link svg {width:21px;height:21px;flex-shrink:0;}
 .mobile-booking-arrow {font-size:20px;font-weight:400;margin-left:2px;line-height:1;}
}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto;}
 .button,.footer-book,.member,.faq-items summary,.mobile-booking-bar {transition:none!important;}
 .button:hover,.footer-book:hover,.member:hover {transform:none!important;}
}
@media print {.mobile-booking-bar{display:none!important}.homepage-booking{padding-bottom:0!important}}


/* Finishing touch: compact, content-sized "What to Wear & What to Expect" cards.
   Retains three equal-height editorial cards with no unnecessary vertical blank space. */
.content .prepare-grid {
  grid-template-rows: auto;
  align-items: stretch;
  height: auto;
  min-height: 0;
}
.content .prepare-grid .prepare-card {
  height: auto;
  min-height: 0;
  padding: 23px 25px 25px;
}
@media (max-width: 700px) {
  .content .prepare-grid .prepare-card {
    padding: 21px 21px 23px;
  }
}


/* Slim signature masthead – 22 October 2026.
   Header only: approximately 34% shorter on desktop and 25% shorter on mobile.
   Original logo SVG, neighbouring Since/1997, TM mark, and all other sections stay intact. */
.masthead {
  padding: 12px 18px 14px;
}
.brand-mark {
  width: clamp(205px,24vw,350px);
  max-width: 60vw;
}
@media (max-width: 900px) {
  .masthead { padding: 12px 14px 14px; }
  .brand-mark { width:clamp(195px,25vw,285px);max-width:61vw; }
}
@media (max-width: 700px) {
  .masthead { padding:11px 8px 12px; }
  .brand-mark { width:min(55vw,250px);max-width:none; }
}
@media (max-width: 370px) {
  .masthead { padding:10px 6px 11px; }
  .brand-mark { width:54vw; }
}
