body.coast-ride-body .site,body.coast-ride-body .site-content,body.coast-ride-body #primary{width:100%;max-width:none;margin:0;padding:0}
body.coast-ride-body .site-content{display:block}
body.coast-ride-body .inside-article{padding:0;background:#fff}
body.coast-ride-body .entry-content{margin:0}
body.coast-ride-body .entry-header{display:none}
body.coast-ride-body .site-footer .gb-element-7beebbd0{background-image:var(--inline-bg-image),linear-gradient(to bottom,#eefafc 0,#eefafc 7vw,#152a59 7vw,#152a59 100%)!important}
.coast-ride-page{--ride-navy:#152a59;--ride-blue:#004280;--ride-teal:#00b2cd;--ride-pale:#eefafc;font:400 16px/1.55 Arial,sans-serif;color:#333;background:#fff}
.coast-ride-page *{box-sizing:border-box;letter-spacing:0}
.coast-ride-page .wp-block-group__inner-container{display:contents!important}
.coast-ride-page>*, .coast-ride-page>.wp-block-group__inner-container>*{margin-block:0!important}
.coast-ride-page :is(h1,h2,h3,p,figure){margin-top:0}
.coast-ride-page h2{color:var(--ride-blue);font-size:30px;line-height:1.25;font-weight:700;margin-bottom:24px}
.coast-ride-page h3{color:var(--ride-navy);font-size:22px;line-height:1.3;font-weight:700;margin-bottom:12px}
.coast-ride-page a{color:#006b7d;text-underline-offset:3px}
.coast-ride-page a:not(.wp-block-button__link):not(.cride-stores a):is(:hover,:focus-visible){color:#01a8c1}
.coast-ride-page a:focus-visible,.coast-ride-page summary:focus-visible{outline:3px solid #00778c;outline-offset:4px}
.coast-ride-page .cride-container{width:calc(100% - 64px);max-width:1240px;margin-inline:auto}
.coast-ride-page .cride-hero{min-height:480px!important;padding:36px max(32px,calc((100vw - 1240px)/2));align-items:center}
.coast-ride-page .cride-hero img{object-position:center 44%}
.coast-ride-page .cride-hero .wp-block-cover__inner-container{width:100%}
.coast-ride-page .cride-hero h1{display:inline-block;max-width:500px;margin:0;padding:22px 30px;border-radius:8px;background:rgb(235 235 235 / 65%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:52px;line-height:1.1;font-weight:800;text-align:center;text-shadow:0 2px 4px #333}
.coast-ride-page .cride-intro{padding-block:64px 34px}
.coast-ride-page .cride-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.coast-ride-page .cride-intro figure{margin:0}
.coast-ride-page .cride-intro img{display:block;width:100%;height:340px;object-fit:cover;border-radius:7px}
.coast-ride-page .cride-intro-copy p{font-size:18px;margin-bottom:24px}
.coast-ride-page .wp-block-button__link{background:var(--ride-blue)!important;color:#fff!important;border:0;border-radius:7px;min-height:44px;padding:12px 22px;text-decoration:none;font-size:15px;font-weight:700}
.coast-ride-page .wp-block-button__link:is(:hover,:focus-visible){background:#01a8c1!important;color:#fff!important}
.coast-ride-page .cride-planner{padding-bottom:64px;max-width:900px}
.coast-ride-page .cride-planner .coast-schedules-planner-card{max-width:780px;margin-inline:auto}
.coast-ride-page .cride-planner .coast-trip-planner{margin:0}
.coast-ride-page .cride-transit{background:#152a59 url('../routes/transit-bg.png') center/100% 100% no-repeat;color:#fff;text-align:center;padding:36px 0}
.coast-ride-page .cride-transit-inner{display:flex;flex-direction:column;align-items:center}
.coast-ride-page .cride-transit-inner figure{display:none!important}
.coast-ride-page .cride-transit-inner>.wp-block-group{width:100%}
.coast-ride-page .cride-transit h2{display:flex;align-items:center;justify-content:center;gap:14px;color:#fff;font-size:34px;margin:0}
.coast-ride-page .cride-transit h2::before{content:'';flex:0 0 56px;width:56px;height:56px;background:url('../routes/transit-logo.png') center/contain no-repeat}
.coast-ride-page .cride-transit p{max-width:840px;margin:14px auto 20px;font-size:19px;font-weight:500}
.coast-ride-page .cride-stores{position:relative;width:min(100%,395px);margin:auto}
.coast-ride-page .cride-stores img{display:block;width:100%;height:auto;max-height:90px;object-fit:contain}
.coast-ride-page .cride-stores a{position:absolute;top:0;bottom:0;width:49%;min-height:44px}
.coast-ride-page .cride-stores a:first-of-type{left:0}
.coast-ride-page .cride-stores a:last-of-type{right:0}
.coast-ride-page .cride-stores a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.coast-ride-page .cride-guide{width:calc(100% - 120px);max-width:1380px;padding-block:72px 82px}
.coast-ride-page .cride-guide h2{text-align:center;margin-bottom:140px}
.coast-ride-page .cride-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:112px clamp(55px,8vw,126px);align-items:stretch}
.coast-ride-page .cride-step{position:relative;display:flex;flex-direction:column;min-width:0;border-radius:20px;background:#f7f7f8;box-shadow:0 3px 5px rgb(0 0 0 / 32%)}
.coast-ride-page .cride-step figure{margin:0}
.coast-ride-page .cride-step img{display:block;width:100%;height:auto;aspect-ratio:1.88;object-fit:cover;border-radius:20px 20px 0 0}
.coast-ride-page .cride-step-copy{flex:1;padding:34px 42px 46px}
.coast-ride-page .cride-step h3{font-size:26px;margin-bottom:10px}
.coast-ride-page .cride-number{position:absolute;z-index:1;top:-36px;left:-42px;display:flex;align-items:center;justify-content:center;width:115px;height:115px;border-radius:10px;background:var(--ride-teal);color:#fff!important;font-weight:800;font-size:64px;line-height:1}
.coast-ride-page .cride-step p:not(.cride-number){margin:0;font-size:20px;line-height:1.45}
.coast-ride-page .cride-videos{background:var(--ride-navy);color:#fff;padding-block:62px 72px}
.coast-ride-page .cride-videos h2{color:#fff;text-align:center;margin-bottom:32px}
.coast-ride-page .cride-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.coast-ride-page .cride-video{width:100%;min-width:0}
.coast-ride-page .cride-video .wp-block-button__link{display:flex;flex-direction:column;gap:12px;width:100%;min-height:0;padding:0;background:transparent!important;color:#fff!important;text-align:left;text-decoration:none;font-weight:700;line-height:1.35}
.coast-ride-page .cride-video .wp-block-button__link::before{content:'▶';display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;width:100%;background:#f7f7f8;color:var(--ride-blue);font-size:40px;border-radius:3px}
.coast-ride-page .cride-video .wp-block-button__link:is(:hover,:focus-visible)::before{background:#eefafc;color:#01a8c1}
.coast-ride-page .cride-video .wp-block-button__link:hover{text-decoration:underline}
.coast-ride-page .cride-training{padding-block:70px}
.coast-ride-page .cride-training-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:56px;align-items:center}
.coast-ride-page .cride-training figure{margin:0}
.coast-ride-page .cride-training img{display:block;width:100%;height:400px;object-fit:cover;border-radius:7px}
.coast-ride-page .cride-training p{margin-bottom:16px}
.coast-ride-page .cride-faq{background:var(--ride-pale);padding-block:64px 78px}
.coast-ride-page .cride-faq .cride-container{max-width:850px}
.coast-ride-page .cride-faq h2{text-align:center;margin-bottom:30px}
.coast-ride-page .cride-faq details{border-bottom:1px solid #bad0d4;padding:0;background:transparent}
.coast-ride-page .cride-faq summary{position:relative;list-style:none;padding:18px 42px 18px 0;color:var(--ride-navy);font-weight:700;cursor:pointer}
.coast-ride-page .cride-faq summary::-webkit-details-marker{display:none}
.coast-ride-page .cride-faq summary::after{content:'+';position:absolute;right:8px;top:13px;color:#00a5bc;font-size:28px;line-height:1}
.coast-ride-page .cride-faq details[open] summary::after{content:'−'}
.coast-ride-page .cride-faq details p{padding:0 42px 18px 0;margin:0}
@media(max-width:900px){.coast-ride-page .cride-intro-grid,.coast-ride-page .cride-training-inner{gap:32px}.coast-ride-page .cride-steps{gap:88px 36px}.coast-ride-page .cride-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.coast-ride-page .cride-container{width:calc(100% - 40px)}.coast-ride-page .cride-hero{min-height:370px!important;padding:25px 20px;align-items:flex-end}.coast-ride-page .cride-hero h1{font-size:35px;max-width:340px;padding:18px 20px}.coast-ride-page .cride-intro{padding-block:38px 18px}.coast-ride-page .cride-intro-grid,.coast-ride-page .cride-training-inner,.coast-ride-page .cride-steps{grid-template-columns:1fr}.coast-ride-page .cride-intro img{height:240px}.coast-ride-page .cride-intro-copy p{font-size:16px}.coast-ride-page .cride-planner{padding-bottom:42px}.coast-ride-page .cride-transit{padding-block:30px;background-size:auto 100%}.coast-ride-page .cride-transit h2{font-size:22px;text-align:left}.coast-ride-page .cride-transit h2::before{flex-basis:44px;width:44px;height:44px}.coast-ride-page .cride-transit p{font-size:16px}.coast-ride-page .cride-guide,.coast-ride-page .cride-training,.coast-ride-page .cride-faq{padding-block:46px}.coast-ride-page .cride-guide h2,.coast-ride-page .cride-faq h2{font-size:26px}.coast-ride-page .cride-step img{height:240px}.coast-ride-page .cride-video-grid{gap:20px 14px}.coast-ride-page .cride-videos{padding-block:46px 56px}.coast-ride-page .cride-training img{height:260px}}
@media(max-width:900px){.coast-ride-page .cride-guide{width:calc(100% - 110px)}.coast-ride-page .cride-guide h2{margin-bottom:105px}.coast-ride-page .cride-step-copy{padding:28px 28px 34px}.coast-ride-page .cride-step p:not(.cride-number){font-size:18px}.coast-ride-page .cride-number{top:-28px;left:-34px;width:92px;height:92px;font-size:52px}}
@media(max-width:640px){.coast-ride-page .cride-guide{width:calc(100% - 80px)}.coast-ride-page .cride-guide h2{margin-bottom:76px}.coast-ride-page .cride-steps{gap:88px}.coast-ride-page .cride-step img{height:auto;aspect-ratio:1.6}.coast-ride-page .cride-step-copy{padding:24px 24px 30px}.coast-ride-page .cride-step h3{font-size:22px}.coast-ride-page .cride-step p:not(.cride-number){font-size:16px}.coast-ride-page .cride-number{top:-24px;left:-26px;width:76px;height:76px;font-size:44px}}

/* Same-page video viewer; page copy and layout are native editable blocks. */
.coast-video-gallery .coast-video-card { isolation:isolate; }
.coast-video-card__play { position:absolute; left:50%; top:0; width:64px; height:64px; margin-top:calc((100% * 322 / 519 - 64px) / 2); transform:translateX(-50%); display:grid; place-items:center; border-radius:50%; background:rgba(0,57,103,.9); box-shadow:0 2px 12px #0003; pointer-events:none; }
.coast-video-card__play::after { content:""; display:block; width:22px; height:26px; background:white; clip-path:polygon(0 0,100% 50%,0 100%); margin-left:5px; }
.coast-video-gallery a:hover h3 { text-decoration:underline; text-underline-offset:4px; }
html.coast-video-dialog-open { overflow:hidden; }
dialog.coast-video-dialog { box-sizing:border-box; width:min(1000px,calc(100vw - 48px)); max-width:none; max-height:calc(100dvh - 32px); padding:48px 16px 16px; margin:auto; border:0; background:transparent; color:#fff; overflow:auto; }
dialog.coast-video-dialog::backdrop { background:rgba(21,42,89,.94); }
.coast-video-dialog__panel { position:relative; }
.coast-video-dialog #coast-video-dialog-title { margin:0 48px 18px; color:#fff; text-align:center; font:700 clamp(20px,2.4vw,28px)/1.35 Arial,sans-serif; }
.coast-video-dialog .coast-video-dialog__close { position:absolute; top:-42px; right:0; width:44px; height:44px; display:grid; place-items:center; padding:0; border:2px solid #fff; border-radius:50%; color:#fff; background:transparent; font:32px/1 Arial,sans-serif; cursor:pointer; }
.coast-video-dialog__screen { width:100%; aspect-ratio:16/9; border-radius:16px; overflow:hidden; background:#fff; }
.coast-video-dialog__screen iframe, .coast-video-dialog__screen img { display:block; width:100%; height:100%; margin:0; border:0; object-fit:contain; }
.coast-video-dialog__controls { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-top:18px; }
.coast-video-dialog__controls button { max-width:48%; min-height:44px; padding:8px 0; border:0; border-radius:0; background:transparent; color:#fff; text-align:left; font:600 16px/1.5 Arial,sans-serif; cursor:pointer; }
.coast-video-dialog__controls button:last-child { text-align:right; }
.coast-video-dialog button:hover { color:#65e0ef; background:transparent; text-decoration:underline; text-underline-offset:4px; }
.coast-video-dialog button:focus-visible { outline:3px solid #fff; outline-offset:5px; }
@media (max-width:600px) {
  dialog.coast-video-dialog { width:calc(100vw - 24px); padding:50px 8px 16px; }
  .coast-video-dialog #coast-video-dialog-title { margin:0 0 16px; }
  .coast-video-dialog__screen { border-radius:10px; }
  .coast-video-dialog__controls { gap:16px; }
  .coast-video-dialog__controls button { font-size:14px; }
}
