/* Camino vivo: one visual system for the entire WordPress theme.
   Original CSS implementation; references and design prompts in docs/redesign-visual.md. */
.mv-visual{--mv-blue:#0868df;--mv-navy:#062b66;--mv-yellow:#ffc400;--mv-paper:#f4f8ff;--mv-muted:#496282;--shell:min(1320px,calc(100% - 80px));--section:100px;background:var(--mv-paper)}
.mv-visual h1,.mv-visual h2,.mv-visual h3{font-weight:700;letter-spacing:-.035em;text-wrap:balance}
.mv-visual h1{font-size:clamp(52px,6.1vw,88px);line-height:1.02}
.mv-visual h2{font-size:clamp(34px,4vw,58px);line-height:1.06}
.mv-visual h3{line-height:1.16}
.mv-visual p{max-width:58ch;line-height:1.6}
.mv-visual .kicker,.mv-visual .print-eyebrow{font-size:11px;letter-spacing:.1em}
.mv-visual .button,.mv-visual .home-action{min-height:56px;padding:16px 24px;border:0;border-radius:16px;box-shadow:0 6px 0 #dfab00,0 14px 28px #062b6614;font-size:15px;transition:transform .25s,box-shadow .25s,background .25s}
.mv-visual .button:hover,.mv-visual .home-action:hover{transform:translateY(-3px);box-shadow:0 8px 0 #dfab00,0 20px 30px #062b6620}
.mv-visual .button:active,.mv-visual .home-action:active{transform:translateY(3px);box-shadow:0 2px 0 #dfab00}
.mv-visual .button--dark,.mv-visual .home-action--dark{box-shadow:0 6px 0 #031a40,0 14px 28px #062b6620}
.mv-visual .site-header{background:#f4f8fff2;backdrop-filter:blur(16px);border-bottom:1px solid #062b660d;color:var(--mv-navy)}
.mv-visual .site-header.is-scrolled{box-shadow:0 8px 30px #062b6610}
.mv-visual .site-nav__list{gap:24px}.mv-visual .site-nav__list .button{min-height:42px;border-radius:12px;font-size:12px}
.mv-visual .brand span::after{display:none}.mv-visual .breadcrumbs{font-size:12px!important}
.mv-visual .print-hero,.mv-visual .stages-hero,.mv-visual .cf-hero,.mv-visual .how-hero{padding:132px 0 80px;background:radial-gradient(ellipse at 85% 45%,#dcecff 0,transparent 55%),var(--mv-paper);border:0}
.mv-visual .print-hero__grid,.mv-visual .stages-hero__grid,.mv-visual .cf-hero__grid,.mv-visual .how-hero__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:5%;align-items:center}
.mv-visual .print-hero h1,.mv-visual .stages-hero h1,.mv-visual .cf-hero h1,.mv-visual .how-hero h1{font-size:clamp(52px,6.1vw,88px);line-height:1.02;margin:18px 0 26px}
.mv-visual .print-hero__lead,.mv-visual .stages-hero__lead,.mv-visual .cf-hero__lead{font-size:19px;max-width:35ch}
.mv-visual .print-hero__foot{display:none}.mv-visual .print-small{font-size:13px;margin-top:24px}
.mv-visual .print-hero h1 em:after{height:9px;bottom:3px;border-radius:8px}
.journey-scene{isolation:isolate;position:relative;min-height:520px;border-radius:42px;background:linear-gradient(150deg,#d9eaff,#8bbdf7);box-shadow:0 28px 70px #0868df22,inset 0 2px 0 #fff9;perspective:1000px;transform:rotate(2deg)}
.journey-scene__art{position:absolute;inset:auto -5% 48px auto;width:115%;max-width:none;height:430px;object-fit:contain;object-position:right bottom;transform:rotateY(var(--tilt-x,0deg)) rotateX(var(--tilt-y,0deg));transition:transform .3s ease-out;filter:drop-shadow(0 20px 15px #062b6620)}
.journey-scene__orbit{position:absolute;inset:40px;border:1px dashed #0868df66;border-radius:50%;transform:rotate(-25deg)}
.journey-scene__sun{position:absolute;right:45px;top:26px;font-size:100px;color:var(--mv-yellow);line-height:1}
.journey-ticket{position:absolute;z-index:2;border-radius:18px;background:#fff;box-shadow:0 14px 34px #062b6620;padding:17px 56px 17px 22px;transform:rotate(-2deg)}
.journey-ticket span,.journey-ticket strong{display:block}.journey-ticket span{font-size:11px;color:var(--mv-muted)}.journey-ticket strong{font:700 24px var(--display);letter-spacing:-.04em}.journey-ticket i{position:absolute;right:20px;top:26px;font-style:normal;color:var(--mv-blue);font-size:25px}
.journey-ticket--start{left:-24px;top:32px}.journey-ticket--end{right:-16px;bottom:92px}
.journey-scene__caption{position:absolute;bottom:0;left:0;right:0;padding:20px 26px;background:#ffffffcc;border-radius:0 0 42px 42px;font-size:12px;display:flex;gap:14px;align-items:center;justify-content:space-between;backdrop-filter:blur(8px)}
.journey-scene__caption b{font-size:14px;white-space:nowrap}
.mv-visual .print-service-strip{border:0;background:var(--mv-navy);color:#fff}.mv-visual .print-service-strip .shell{padding-block:25px;font-size:15px}.mv-visual .print-service-strip b{color:var(--mv-yellow);font-size:23px;margin-left:6px}
.mv-visual .print-process{padding-block:90px}.mv-visual .print-section-head{max-width:none}
.mv-visual .print-steps{gap:22px;margin-top:40px}.mv-visual .print-steps li{position:relative;background:white;padding:28px;border:0;border-radius:26px;box-shadow:0 16px 45px #062b6608;overflow:hidden}
.mv-visual .print-steps li>span{position:absolute;right:22px;top:20px;font-size:22px;color:#8aa6c9}.mv-visual .print-steps img{height:180px;width:100%;object-fit:contain;transition:transform .4s}.mv-visual .print-steps li:hover img{transform:translateY(-8px) rotate(-4deg)}.mv-visual .print-steps h3{font-size:28px}.mv-visual .print-steps p{font-size:16px}
.mv-visual .home-planner,.mv-visual .route-calculator{background:var(--mv-navy);color:white;border:0;padding:80px 0;position:relative}
.mv-visual .home-planner h2,.mv-visual .home-planner p,.mv-visual .route-calculator h2,.mv-visual .route-calculator p,.mv-visual .route-calculator li{color:white}.mv-visual .home-planner h2 em,.mv-visual .route-calculator .kicker{color:var(--mv-yellow)}
.mv-visual .home-planner__track span{color:white}.mv-visual .home-planner__track i{background:#ffffff55}
.mv-visual .home-planner__form,.mv-visual .route-calculator__form{position:relative;border:0;border-radius:28px;background:white;padding:34px;box-shadow:12px 16px 0 #ffffff13,0 24px 60px #00153555;color:var(--mv-navy)}
.mv-visual .route-calculator__result{border-radius:16px;background:#eaf3ff;padding:20px}.mv-visual .route-calculator__result strong{font-size:clamp(32px,3.3vw,48px)}
.mv-visual .route-calculator .mv-calculator-art{display:none}.mv-visual .route-calculator__grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:8%}
.mv-visual input:not([type=checkbox]),.mv-visual select,.mv-visual textarea{background:#f4f8ff;border:1px solid #ccdcef;border-radius:12px;min-height:52px;font-size:16px}.mv-visual input:not([type=checkbox]),.mv-visual select{height:52px}.mv-visual label{font-size:14px}
.mv-visual .print-proof{padding-block:90px}.mv-visual .print-proof figure{padding:0;border:0;border-radius:30px;transform:rotate(-3deg);box-shadow:0 22px 45px #062b661a;overflow:hidden}.mv-visual .print-proof figure img{height:510px}.mv-visual .print-proof figcaption{padding:18px 22px}.mv-visual .print-questions>div{padding-block:20px}.mv-visual .print-questions dt{font-size:20px}
.mv-visual .print-end,.mv-visual .final-cta{background:var(--mv-yellow);padding:80px 0;border:0;border-radius:38px 38px 0 0}.mv-visual .print-end h2{font-size:clamp(46px,6vw,84px)}.mv-visual .print-end .button{box-shadow:0 6px 0 #031a40,0 15px 25px #062b6620}.mv-visual .final-cta h2{color:var(--mv-navy)}
.mv-visual .site-footer{padding-top:64px;background:var(--mv-navy)}.mv-visual .site-footer h2{font-size:18px;font-weight:700}.mv-visual .site-footer__grid a{font-size:15px}.mv-visual .site-footer__grid>div{gap:13px}.mv-visual .whatsapp-float{border:0;border-radius:18px;box-shadow:0 8px 30px #062b6630}
/* Route cards: big distances first, optional details second. */
.mv-visual .stages-index,.mv-visual .cf-index{top:var(--header);background:#f4f8fff2;backdrop-filter:blur(12px);border-color:#d9e5f5}.mv-visual .stages-index .shell,.mv-visual .cf-index .shell{gap:5px;padding-block:8px}.mv-visual .stages-index a,.mv-visual .cf-index a{border-radius:12px;font-size:12px;padding:12px 15px}
.mv-visual .stages-detail{padding:85px 0;background:var(--mv-paper)}.mv-visual .stage-guides{display:grid;grid-template-columns:1fr 1fr;gap:24px}.mv-visual .stage-guides:before{display:none}
.mv-visual .stage-guide{position:relative;display:block;padding:30px;background:white;border:1px solid #dce7f4;border-radius:28px;box-shadow:0 10px 35px #062b6607;overflow:hidden;margin:0;scroll-margin-top:160px}
.mv-visual .stage-guide:before{display:none}.mv-visual .stage-guide__number{display:flex;align-items:center;gap:10px;margin-bottom:34px;padding:0}.mv-visual .stage-guide__number span{font-size:12px}.mv-visual .stage-guide__number strong{font-size:20px}.mv-visual .stage-guide__main{padding:0;position:relative}.mv-visual .stage-guide__main h3{font-size:32px;max-width:15ch;margin-bottom:18px}.mv-visual .stage-guide__main h3 span{color:var(--mv-blue)}
.mv-visual .stage-guide__via{font-size:12px;max-width:80%;margin-bottom:12px}.mv-visual .stage-guide__intro{display:none}.mv-visual .stage-guide dl{display:flex;align-items:end;gap:30px;flex-wrap:wrap;border:0;margin:26px 0;padding:0}.mv-visual .stage-guide dl>div{padding:0;border:0}.mv-visual .stage-guide dt{font-size:11px}.mv-visual .stage-guide dd{font-size:17px}.mv-visual .stage-guide dl>div:first-child dd{font:700 clamp(40px,4vw,60px)/1.15 var(--display);letter-spacing:-.055em;color:var(--mv-blue)}
.mv-visual .stage-guide__practical{padding:0;border:0}.mv-visual .stage-guide__actions{display:flex;gap:18px;align-items:center;padding-top:16px;flex-wrap:wrap}.mv-visual .stage-guide__actions a:last-child{padding:12px 16px;border-radius:12px;background:var(--mv-yellow);font-weight:700}.mv-visual .stage-guide__actions a:first-child{font-size:12px}
.stage-route-art{position:absolute;right:20px;top:15px;width:115px;height:115px;object-fit:contain;opacity:.9;transform:rotate(8deg)}
.mv-visual .stage-guide:nth-child(3n+2){background:#e8f2ff}.mv-visual .stage-guide:nth-child(3n){background:#fff7d8}
.mv-visual .service-options{padding-block:70px}.mv-visual .service-options__grid{gap:20px}.mv-visual .service-options article{background:#eaf3ff;border:0;border-radius:22px;padding:26px}.mv-visual .service-options article>span{display:none}.mv-visual .service-options article h3{font-size:26px}
.mv-visual .mv-plan-grid{gap:24px}.mv-visual .mv-plan-grid article{position:relative;border:0;border-radius:28px;padding:30px;background:#fff;box-shadow:0 15px 40px #062b660a}.mv-visual .mv-plan-grid h3{font-size:32px}.plan-number{font:700 86px/1 var(--display);color:var(--mv-blue);display:inline-block;margin-right:12px;vertical-align:middle}.mv-visual .mv-route-bars__track{height:8px;border-radius:5px;overflow:hidden}.mv-visual .mv-route-bars__track i{border-radius:5px}.mv-visual .mv-route-bars li{margin-bottom:15px}.mv-visual .mv-plan-grid details>summary{cursor:pointer;font-weight:700;padding:14px 0;color:var(--mv-blue)}
/* Guide: browsable chapters instead of long blocks. */
.mv-visual .cf-hero__photo,.mv-visual .how-hero__photo{height:500px;padding:0;border:0;border-radius:32px;overflow:hidden;box-shadow:0 25px 60px #062b6626;transform:rotate(3deg)}.mv-visual .cf-hero__photo img,.mv-visual .how-hero__photo img{height:100%;max-height:none;width:100%;object-fit:cover}.mv-visual .how-hero__photo figcaption{position:absolute;bottom:20px;left:20px;right:20px;padding:15px 20px;background:#ffffffec;border-radius:14px;font-size:12px}.mv-visual .cf-hero .mv-advice__small{font-size:11px;max-width:45ch;margin-top:28px}
.trip-planning{padding:80px 0}.trip-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;margin-top:35px}.trip-card{grid-column:span 2;padding:28px;border-radius:28px;background:white;box-shadow:0 12px 32px #062b6608;scroll-margin-top:155px}.trip-card:nth-child(1),.trip-card:nth-child(2){grid-column:span 3}.trip-card:nth-child(2){background:#deedff}.trip-card:nth-child(3){background:#fff3c1}.trip-card>img{height:150px;width:100%;object-fit:contain;margin-bottom:20px}.trip-card h3{font-size:30px;margin-bottom:12px}.trip-card>p{font-size:16px;max-width:34ch}.trip-card details{border-top:1px solid #062b661a;margin-top:22px}.trip-card summary{display:flex;justify-content:space-between;align-items:center;min-height:52px;cursor:pointer;font-size:14px;font-weight:700;list-style:none}.trip-card summary::after{content:'+';font-size:24px}.trip-card details[open]>summary::after{content:'−'}.trip-card details p,.trip-card details li{font-size:14px;line-height:1.65}.trip-card details a{color:var(--mv-blue);text-decoration:underline;text-underline-offset:3px}.trip-card details h3{font-size:20px;margin-top:24px}.trip-card details ul,.trip-card details ol{padding-left:20px}.trip-card .mv-advice__note{padding:0;border:0}
.mv-visual .cf-intro{padding:65px 0}.mv-visual .cf-places{padding:75px 0}.mv-visual .cf-place-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border:0}.mv-visual .cf-place-list article,.mv-visual .cf-place-list article:nth-child(even){padding:24px;border:0;background:white;border-radius:22px}.mv-visual .cf-place-list h3{font-size:24px}.mv-visual .cf-place-list p{font-size:14px}.mv-visual .cf-place-list summary{font-size:13px;cursor:pointer;color:var(--mv-blue);padding-block:10px}
.mv-visual .cf-gallery{gap:20px}.mv-visual .cf-gallery figure{height:350px;border-radius:24px;overflow:hidden;position:relative}.mv-visual .cf-gallery__wide{height:340px!important}.mv-visual .cf-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:30px 20px 18px;background:linear-gradient(transparent,#062b66d9);color:white;margin:0}
.mv-visual .cf-food,.mv-visual .cf-recommendations{padding:65px 0}.mv-visual .cf-food__list{border:0;display:grid;gap:14px}.mv-visual .cf-food__list article{background:#fff;padding:24px;border:0;border-radius:18px}.mv-visual .cf-food__list strong{font:700 26px var(--display)}
.mv-visual .mv-advice{padding:70px 0}.mv-visual .mv-advice h2{font-size:clamp(34px,4vw,56px)}.mv-visual .mv-advice__note{border:0;border-radius:20px;background:#e1edff;padding:24px}.mv-visual .mv-advice__compact{max-width:1320px}.mv-visual .advice-brand-mark{float:right;width:200px;height:200px;margin:0 0 25px 40px}.mv-visual .mv-advice__compact .mv-checklist{clear:both;gap:12px 22px}.mv-visual .mv-checklist label{background:white;border:1px solid #dce7f4;border-radius:14px;padding:16px;min-height:72px;font-size:15px}.mv-visual .mv-checklist input{height:24px;width:24px;min-width:24px}.mv-visual .mv-checklist label:has(input:checked){background:#e2edff;border-color:var(--mv-blue)}.mv-visual .mv-reset{border-radius:12px}
.mv-visual .cf-credential{background:#dcecff;padding:75px 0}.mv-visual .cf-credential__grid{max-width:1320px;grid-template-columns:1fr 1fr;gap:60px}.mv-visual .cf-credential__grid>div{max-width:none}.mv-visual .cf-credential h3{font-size:30px}.mv-visual .cf-credential p{font-size:16px}.mv-visual .cf-credential .text-link--light{color:var(--mv-blue)}
.mv-visual .cf-faq,.mv-visual .cf-sources,.mv-visual .stages-sources{padding:70px 0}.mv-visual .cf-sources h2,.mv-visual .stages-sources h2{font-size:34px}.mv-visual .mv-help-grid{gap:22px}.mv-visual .mv-help-grid>a{position:relative;background:white;border:0;border-radius:26px;padding:26px;box-shadow:0 12px 30px #062b6608}.mv-visual .mv-help-grid h3{font-size:28px}.mv-visual .mv-help-grid p{font-size:15px}.help-art{width:140px;height:140px;object-fit:contain;margin:0 auto 20px}
/* Process and help, with larger visual anchors. */
.mv-visual .how-process{padding:80px 0}.mv-visual .how-process__intro{max-width:900px}.mv-visual .process-timeline{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:35px}.mv-visual .process-step,.mv-visual .process-step--reverse{display:flex!important;flex-direction:column;gap:20px!important;padding:30px!important;border:0;border-radius:28px;background:white;box-shadow:0 12px 35px #062b660a}.mv-visual .process-step:nth-child(2),.mv-visual .process-step:nth-child(3){background:#deedff}.mv-visual .process-step__marker{width:100%;height:190px;display:block;position:relative}.mv-visual .process-step__marker img{width:100%;height:190px;object-fit:contain}.mv-visual .process-step__marker b{display:block;position:absolute;left:0;top:0;color:var(--mv-blue);font:700 20px var(--display)}.mv-visual .process-step h3{font-size:30px}.mv-visual .process-step p{max-width:42ch;font-size:16px}.mv-visual .how-process__cta{border:0;border-radius:26px;margin-top:30px}.mv-visual .how-process__cta h2{font-size:32px}.mv-visual .how-envelope{padding:80px 0}.mv-visual .how-envelope__visual{border-radius:28px;overflow:hidden;transform:rotate(-2deg)}.mv-visual .how-envelope__fields{gap:10px}.mv-visual .how-envelope__fields span{border:0;border-radius:12px;padding:18px;font-weight:700}.mv-visual .note-panel{padding:55px 0}
.mv-visual .faq-hero{border:0;position:relative;overflow:hidden}.mv-visual .faq-hero .shell{position:relative;padding-right:30%}.faq-hero-art{position:absolute;right:2%;top:0;width:28%;height:100%;object-fit:contain}.mv-visual .faq-hero h1{font-size:clamp(52px,6vw,88px)}.mv-visual .faq-hero>div>p:last-child{max-width:45ch}.mv-visual .faq-service{background:var(--mv-paper);padding:40px 0 85px}.mv-visual .faq-service__grid{gap:60px;grid-template-columns:.7fr 1.3fr}.mv-visual .faq-service aside{position:sticky;top:110px;align-self:start}.mv-visual .faq-service aside h2{font-size:38px}.mv-visual .faq-topics a{padding:16px 20px;border:0;border-radius:14px;background:#e1edff;margin-bottom:10px;font-size:15px}.mv-visual .faq-group h2{font-size:30px;margin-bottom:18px}.mv-visual .faq-list{border:0;display:grid;gap:12px}.mv-visual .faq-list details{background:white;border:1px solid #dce7f4;border-radius:18px;overflow:hidden}.mv-visual .faq-list summary{padding:22px;font-size:17px}.mv-visual .faq-list details p{padding:0 22px 24px;font-size:15px}.mv-visual .faq-list details[open]{box-shadow:0 12px 28px #062b6608;border-color:#8ebbf0}
/* Form pages: one large illustration and one clear form. */
.mv-visual .simple-contact,.mv-visual .booking-page{padding:125px 0 85px;background:radial-gradient(ellipse at 0 45%,#dcecff,transparent 60%),var(--mv-paper)}.mv-visual .simple-contact__grid,.mv-visual .booking-grid{gap:7%;grid-template-columns:1fr 1fr}.mv-visual .simple-contact h1,.mv-visual .booking-copy h1{font-size:clamp(50px,5.5vw,78px);font-weight:700}.mv-visual .booking-copy{position:static}.form-illustration{width:100%;height:230px;object-fit:contain;margin:22px 0}.mv-visual .simple-contact__sheet,.mv-visual .booking-form-wrap{border:0;border-radius:28px;background:white;box-shadow:0 25px 65px #062b661a;padding:34px}.mv-visual .simple-contact__sheet h2,.mv-visual .booking-form-heading h2{font-size:32px}.mv-visual .booking-form fieldset{border:0;padding:0;margin:0 0 26px}.mv-visual .booking-form legend{font-size:16px;font-weight:700;color:var(--mv-blue);border-bottom:1px solid #dce7f4;width:100%;padding-bottom:12px;margin-bottom:18px}.mv-visual .booking-copy ul{display:flex;gap:10px;flex-wrap:wrap;padding:0}.mv-visual .booking-copy li{list-style:none;background:#fff;border-radius:10px;font-size:12px;padding:10px;border:0}.mv-visual .booking-copy li:before{display:none}.mv-visual .booking-copy__note{border:0;border-radius:16px;font-size:14px}.mv-visual .simple-contact__note{border:0;margin-top:20px;padding:20px;background:white;border-radius:18px}.mv-visual .simple-contact__phone{font-size:16px}.mv-visual .form-route-note{border-radius:14px}.mv-visual .booking-form-heading p{font-size:13px}.mv-visual .check{font-size:12px}
.mv-visual .document-layout{gap:40px;align-items:start}.mv-visual .document-aside{border:0;background:#dcecff;border-radius:22px;padding:28px}.mv-visual .prose--page{background:white;border-radius:24px;padding:35px}.mv-visual .error-page{min-height:80dvh;background:var(--mv-paper) url('../images/icono-ruta-grande.png') no-repeat 95% 55%/35%}.mv-visual .error-page h1{max-width:15ch}.mv-visual .error-page p{max-width:40ch}
@media(min-width:901px) and (max-width:1150px){.mv-visual .site-nav__list{gap:12px}.mv-visual .brand span{font-size:16px}.journey-scene{min-height:460px}.journey-scene__art{height:360px}.mv-visual .stage-guide dl{gap:18px}.mv-visual .stage-guide dd{font-size:14px}}
@media(max-width:900px){.mv-visual{--shell:calc(100% - 44px);--section:70px}.mv-visual .print-hero__grid,.mv-visual .stages-hero__grid,.mv-visual .cf-hero__grid,.mv-visual .how-hero__grid{grid-template-columns:1fr;gap:45px}.mv-visual .print-hero h1,.mv-visual .stages-hero h1,.mv-visual .cf-hero h1,.mv-visual .how-hero h1{font-size:clamp(52px,8vw,78px)}.journey-scene{width:90%;margin:auto;min-height:500px}.mv-visual .print-hero__lead,.mv-visual .stages-hero__lead,.mv-visual .cf-hero__lead{max-width:40ch}.mv-visual .home-planner__grid,.mv-visual .route-calculator__grid,.mv-visual .cf-credential__grid,.mv-visual .simple-contact__grid,.mv-visual .booking-grid,.mv-visual .faq-service__grid{grid-template-columns:1fr;gap:38px}.mv-visual .booking-copy{position:static}.mv-visual .faq-service aside{position:static}.mv-visual .site-nav{background:var(--mv-paper)}.mv-visual .site-nav__list{gap:8px}.mv-visual .header-booking-mobile{border-radius:10px;padding:11px 14px}.mv-visual .cf-place-list{grid-template-columns:1fr 1fr}.trip-card{grid-column:span 3}.trip-card:last-child{grid-column:span 6}.mv-visual .cf-hero__photo,.mv-visual .how-hero__photo{height:380px;max-width:650px;width:95%;margin:auto}.mv-visual .form-illustration{height:180px}.mv-visual .print-steps{gap:15px}.mv-visual .print-steps li{padding:20px}.mv-visual .print-steps h3{font-size:23px}.mv-visual .print-steps img{height:140px}}
@media(max-width:600px){.mv-visual{--shell:calc(100% - 36px);--section:58px}.mv-visual .print-hero,.mv-visual .stages-hero,.mv-visual .cf-hero,.mv-visual .how-hero{padding:108px 0 48px}.mv-visual h1,.mv-visual .print-hero h1,.mv-visual .stages-hero h1,.mv-visual .cf-hero h1,.mv-visual .how-hero h1,.mv-visual .faq-hero h1,.mv-visual .booking-copy h1,.mv-visual .simple-contact h1{font-size:48px;line-height:1.04}.mv-visual .print-hero__lead,.mv-visual .stages-hero__lead,.mv-visual .cf-hero__lead{font-size:17px}.mv-visual h2,.mv-visual .mv-advice h2{font-size:36px}.mv-visual .button-row{gap:22px}.journey-scene{width:96%;min-height:330px;border-radius:28px;margin-top:8px}.journey-scene__art{height:290px;bottom:35px;width:118%}.journey-scene__sun{font-size:70px;right:20px;top:15px}.journey-scene__orbit{inset:25px}.journey-ticket{padding:12px 36px 12px 15px;border-radius:14px}.journey-ticket span{font-size:10px}.journey-ticket strong{font-size:20px}.journey-ticket i{font-size:20px;right:12px;top:21px}.journey-ticket--start{left:-8px;top:12px}.journey-ticket--end{right:-8px;bottom:82px}.journey-scene__caption{border-radius:0 0 28px 28px;padding:15px;flex-direction:column;gap:3px;align-items:start;font-size:10px}.journey-scene__caption b{font-size:12px}.mv-visual .print-service-strip .shell{flex-direction:column;gap:8px;padding-block:20px;font-size:13px}.mv-visual .print-service-strip b{font-size:19px}.mv-visual .print-steps,.mv-visual .stage-guides,.mv-visual .process-timeline,.mv-visual .cf-place-list,.mv-visual .mv-plan-grid,.mv-visual .mv-help-grid{grid-template-columns:1fr}.mv-visual .print-steps{gap:18px}.mv-visual .print-steps li{padding:24px}.mv-visual .print-steps img{height:175px}.mv-visual .print-steps h3{font-size:28px}.mv-visual .print-section-head{grid-template-columns:1fr;gap:22px}.mv-visual .print-process,.mv-visual .print-proof,.mv-visual .stages-detail,.mv-visual .how-process,.trip-planning{padding:55px 0}.mv-visual .home-planner,.mv-visual .route-calculator{padding:55px 0}.mv-visual .home-planner__form,.mv-visual .route-calculator__form,.mv-visual .booking-form-wrap,.mv-visual .simple-contact__sheet{padding:25px 20px;border-radius:22px}.mv-visual .print-proof__grid{grid-template-columns:1fr;gap:40px}.mv-visual .print-proof figure img{height:340px}.mv-visual .print-end,.mv-visual .final-cta{padding:60px 0;border-radius:26px 26px 0 0}.mv-visual .print-end h2{font-size:48px}.mv-visual .stage-guide{padding:24px}.mv-visual .stage-guide__main h3{font-size:29px}.mv-visual .stage-guide dl{display:flex;gap:20px}.mv-visual .stage-guide dl>div:first-child{flex-basis:100%}.mv-visual .stage-guide dl>div:first-child dd{font-size:52px}.stage-route-art{width:95px;height:95px}.mv-visual .stage-guide__via{max-width:100%}.mv-visual .stage-guide__actions{gap:14px}.mv-visual .mv-plan-grid article{padding:25px}.plan-number{font-size:70px}.mv-visual .cf-hero__photo,.mv-visual .how-hero__photo{height:310px;border-radius:24px}.trip-grid{display:block;margin-top:25px}.trip-card{margin-bottom:18px;padding:24px}.trip-card>img{height:150px}.mv-visual .advice-brand-mark{width:115px;height:115px;margin:0 0 20px 12px}.mv-visual .mv-advice,.mv-visual .cf-food,.mv-visual .cf-recommendations,.mv-visual .cf-credential,.mv-visual .cf-faq,.mv-visual .cf-sources,.mv-visual .stages-sources{padding:55px 0}.mv-visual .cf-gallery{grid-template-columns:1fr}.mv-visual .cf-gallery figure{height:300px!important;display:block}.mv-visual .cf-gallery img{height:100%}.mv-visual .process-step,.mv-visual .process-step--reverse{padding:25px!important}.mv-visual .process-step__marker,.mv-visual .process-step__marker img{height:180px}.mv-visual .how-envelope{padding:55px 0}.mv-visual .faq-hero .shell{padding-right:0}.faq-hero-art{position:static;width:180px;height:150px;margin:15px auto 0}.mv-visual .faq-service{padding-top:15px}.mv-visual .faq-topics{gap:10px}.mv-visual .faq-topics a{font-size:12px;padding:14px;margin:0}.mv-visual .faq-list summary{font-size:16px;padding:20px}.mv-visual .simple-contact,.mv-visual .booking-page{padding:105px 0 55px}.mv-visual .form-illustration{height:160px}.mv-visual .field-grid{grid-template-columns:1fr;gap:0}.mv-visual .document-layout{grid-template-columns:1fr}.mv-visual .document-aside,.mv-visual .prose--page{padding:24px}.mv-visual .error-page{background-position:center bottom;background-size:220px;padding-bottom:230px}.mv-visual .site-footer__grid{gap:32px}.mv-visual .site-footer__grid a{min-height:30px}.mv-visual .whatsapp-float{border-radius:15px}.mv-visual .cf-index .shell,.mv-visual .stages-index .shell{width:max-content;min-width:100%;padding-inline:18px}.mv-visual .cf-index a,.mv-visual .stages-index a{min-height:44px}.mv-visual .brand span{font-size:16px}}
@media(prefers-reduced-motion:reduce){.mv-visual *, .mv-visual *::before,.mv-visual *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.journey-scene__art{transform:none!important}}
.visual-summary{font-size:20px;font-weight:700;cursor:pointer;min-height:48px;padding:12px 0;color:var(--mv-blue)}
@media(min-width:601px){.mv-visual .stage-guide__main h3{min-height:2.32em}.mv-visual .stage-guide__actions a:last-child{color:var(--mv-navy)}}

/* Photographic chapters. Stable containing blocks survive Motion cleanup. */
.mv-visual figure { position: relative; min-width: 0; }
.mv-visual main, .mv-visual section, .mv-visual .shell > * { min-width: 0; }
.mv-visual img { max-width: 100%; }
.mv-visual .how-hero__photo, .mv-visual .cf-hero__photo { position: relative; isolation: isolate; }
.mv-visual .how-hero__photo figcaption { z-index: 1; margin: 0; max-width: calc(100% - 40px); }
.mv-visual .print-hero__grid { grid-template-columns: 1.08fr 1fr; gap: 8%; }
.mv-visual .print-hero h1 { font-size: clamp(48px,5.4vw,78px); }
.mv-visual .print-hero__foot { display: flex; }
.mv-visual .print-poster { width: 100%; max-width: 475px; justify-self: end; }
.mv-visual .print-poster img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; aspect-ratio: 1122 / 1402; }
.mv-visual .print-poster figcaption { position: static; margin: 0; line-height: 1.5; }
.mv-visual .print-steps li { display: block; }
.mv-visual .print-steps img { display: block; width: 200px; max-width: 100%; height: 190px; margin: 0 auto 24px; object-fit: contain; }
.mv-visual .process-step__marker img { width: 220px; max-width: 100%; height: 190px; margin: auto; object-fit: contain; }
.mv-visual .process-step__marker { flex: 0 0 auto; }
.mv-visual .process-step__marker b { display: block; }
.mv-visual .advice-brand-mark, .mv-visual .faq-hero-art { object-fit: contain; }
/* Licensed photographs remain ordinary, crawlable img elements. */
.camino-photo { position: relative; margin: 0; border-radius: 26px; overflow: hidden; background: #062b66; }
.camino-photo > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.camino-photo figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: 60px 24px 22px; color: white; background: linear-gradient(transparent, #021936ee); }
.camino-photo figcaption > span { display: block; font-size: 17px; line-height: 1.4; font-weight: 600; }
.camino-photo figcaption small { display: block; font-size: 10px; line-height: 1.5; margin-top: 10px; color: #fff; }
.camino-photo figcaption a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.route-portrait { position: relative; padding: 0 0 26px 24px; }
.route-portrait .camino-photo { height: 530px; border-radius: 45% 45% 22px 22px; box-shadow: 16px 18px 0 #c8dffc; }
.route-portrait__label { position: absolute; top: 40px; left: 0; padding: 17px 24px; background: var(--mv-yellow); transform: rotate(-5deg); border-radius: 12px; font: 600 19px var(--display); box-shadow: 0 10px 25px #062b6620; }
.route-portrait__label b { margin-inline: 12px; }
.pace-planner { padding: 100px 0; background: #fff; scroll-margin-top: 150px; }
.pace-planner__grid { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 9%; }
.pace-planner__visual { position: relative; }
.pace-planner__visual .camino-photo { height: 590px; border-radius: 24px 100px 24px 24px; }
.pace-planner__seal { position: absolute; top: 30px; right: -30px; background: var(--mv-yellow); width: 126px; height: 126px; border-radius: 50%; display: flex; flex-direction: column; justify-content: center; text-align: center; font: 500 23px/1.2 var(--display); transform: rotate(10deg); border: 6px solid #fff; }
.pace-planner h2 { margin-bottom: 24px; }
.pace-decisions { margin: 30px 0; }
.pace-decisions details { border-top: 1px solid #c5d5ea; padding: 6px 0; }
.pace-decisions details:last-child { border-bottom: 1px solid #c5d5ea; }
.pace-decisions summary { display: flex; gap: 15px; align-items: center; cursor: pointer; list-style: none; min-height: 64px; font-weight: 700; }
.pace-decisions summary > span { color: var(--mv-blue); font-size: 12px; }
.pace-decisions summary b { margin-left: auto; font-size: 24px; font-weight: 400; }
.pace-decisions details[open] summary b { transform: rotate(45deg); }
.pace-decisions p { font-size: 15px; padding-left: 30px; }
.mv-visual .pace-planner__note { font-size: 12px; margin: 22px 0 0; color: var(--mv-muted); }
.mv-visual .help-journey { background: #e6f0ff; }
.mv-visual .mv-help-grid > a { padding: 0; overflow: hidden; border-radius: 24px; box-shadow: 0 16px 30px #062b660d; transition: box-shadow .3s; }
.help-photo { height: 280px; overflow: hidden; }
.help-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.mv-help-grid a:hover .help-photo img { transform: scale(1.045); }
.help-copy { padding: 26px 28px 32px; position: relative; }
.mv-visual .help-copy > span { color: var(--mv-blue); font-size: 11px; margin: 0 0 15px; text-transform: uppercase; letter-spacing: .06em; }
.mv-visual .help-copy h3 { font-size: 30px; margin: 0 0 12px; max-width: 12ch; }
.mv-visual .help-copy p { margin: 0; max-width: 24ch; padding-right: 25px; }
.help-copy b { position: absolute; bottom: 26px; right: 25px; width: 37px; height: 37px; border-radius: 50%; background: var(--mv-yellow); text-align: center; line-height: 37px; }
/* Vary chapter rhythm: tall photographs, oversized facts, and useful disclosures. */
.mv-visual .cf-place-list { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.mv-visual .cf-place-list article, .mv-visual .cf-place-list article:nth-child(even) { padding: 0; overflow: hidden; }
.cf-place-list .camino-photo, .cf-place-list .place-photo { height: 285px; border-radius: 0; margin: 0; }
.cf-place-list .place-photo img { width: 100%; height: 100%; object-fit: cover; }
.cf-place-list .camino-photo figcaption { padding: 40px 15px 12px; }
.cf-place-list .camino-photo figcaption small { font-size: 9px; }
.cf-place-list .place-copy { padding: 25px; }
.mv-visual .cf-place-list .place-copy > span { color: var(--mv-blue); font-size: 12px; }
.mv-visual .cf-place-list h3 { margin: 15px 0; font-size: 27px; }
.mv-visual .cf-food { background: var(--mv-navy); color: white; }
.mv-visual .cf-food .kicker { color: var(--mv-yellow); }
.mv-visual .cf-food h2, .mv-visual .cf-food p { color: white; }
.mv-visual .cf-food__list article { position: relative; background: #ffffff0c; border: 1px solid #ffffff25; padding: 28px 30px 28px 85px; }
.mv-visual .cf-food__list { counter-reset: food; }
.cf-food__list article::before { counter-increment: food; content: '0' counter(food); position: absolute; left: 24px; top: 25px; font: 600 30px var(--display); color: var(--mv-yellow); }
.mv-visual .cf-food__list strong { color: var(--mv-yellow); }
.mv-visual .cf-food__list p { margin: 10px 0 0; }
.mv-visual .cf-recommendations { background: #fff; }
.mv-visual .recommendation-list { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; border: 0; }
.mv-visual .recommendation-list article { padding: 26px; background: #f0f6ff; border: 0; border-radius: 22px; gap: 22px; }
.mv-visual .recommendation-list article > b { color: var(--mv-blue); font: 600 44px/1 var(--display); }
.mv-visual .recommendation-list h3 { font-size: 25px; }
.mv-visual .recommendation-list p { font-size: 15px; }
.mv-visual .cf-credential { background: #fff; padding: 90px 0; }
.credential-story { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; align-items: center; }
.credential-story__photo { margin: 0; height: 670px; border-radius: 160px 160px 24px 24px; overflow: hidden; background: var(--mv-navy); }
.credential-story__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.credential-story__photo figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: 100px 35px 35px; font: 700 clamp(32px,3.5vw,50px)/1.1 var(--display); color: #fff; background: linear-gradient(transparent,#062b66ec); }
.credential-story__photo em { font-style: normal; color: var(--mv-yellow); }
.credential-story__copy h2 { margin-bottom: 25px; }
.credential-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin: 35px 0; }
.credential-facts strong { display: block; font: 600 clamp(26px,3vw,42px)/1.1 var(--display); color: var(--mv-blue); letter-spacing: -.055em; }
.credential-facts strong small { font-size: 22px; }
.credential-facts span { display: block; margin-top: 12px; font-size: 13px; line-height: 1.5; }
.credential-story details { border-top: 1px solid var(--mv-border); }
.credential-story summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; cursor: pointer; font-size: 15px; font-weight: 700; list-style: none; }
.credential-story summary span { font-size: 24px; }
.credential-story details[open] summary span { transform: rotate(45deg); }
.mv-visual .credential-story details p { font-size: 14px; }
.credential-story .text-link { margin-top: 20px; display: inline-block; }
.daypack-story__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 7%; align-items: start; }
.mv-visual .daypack-story figure { position: sticky; top: 120px; border-radius: 24px; overflow: hidden; }
.mv-visual .daypack-story figure img { aspect-ratio: 3 / 4; width: 100%; height: auto; object-fit: cover; border-radius: 0; }
.mv-visual .daypack-story figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 80px 30px 30px; font-size: 28px; line-height: 1.2; margin: 0; background: linear-gradient(transparent,#062b66ed); color: white; }
.daypack-story .mv-checklist { display: grid; grid-template-columns: 1fr; gap: 10px; }
.daypack-story .mv-checklist legend { margin-bottom: 18px; font-size: 13px; }
.mv-visual .daypack-story .mv-checklist label { min-height: 56px; padding: 13px 16px; }
.mv-visual .luggage-story { background: var(--mv-navy); color: white; }
.mv-visual .luggage-story .kicker, .mv-visual .luggage-story em, .mv-visual .luggage-story a { color: var(--mv-yellow); }
.mv-visual .luggage-story .mv-advice__steps { counter-reset: luggage; list-style: none; gap: 20px; padding: 0; margin: 40px 0 30px; }
.mv-visual .luggage-story li { padding: 28px; border: 1px solid #ffffff30; border-radius: 24px; background: #ffffff0a; }
.luggage-story li::before { counter-increment: luggage; content: '0' counter(luggage); display: block; font: 500 50px var(--display); color: var(--mv-yellow); margin-bottom: 25px; }
.mv-visual .luggage-story h3 { font-size: 25px; }.mv-visual .luggage-story li p { font-size: 15px; }
.mv-visual .service-options__grid article { position: relative; padding: 30px 32px 30px 95px; background: white; box-shadow: 0 12px 30px #062b660a; }
.mv-visual .service-options article > span { display: block; position: absolute; top: 30px; left: 25px; color: var(--mv-blue); font: 600 34px var(--display); }
.mv-visual .service-options article:nth-child(2), .mv-visual .service-options article:nth-child(3) { background: #dcecff; }
.mv-visual .service-options article a { font-weight: 700; font-size: 14px; }
.service-portrait { height: 310px; margin: 30px 0; overflow: hidden; border-radius: 24px; }
.service-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.service-portrait figcaption { position: absolute; left: 0; bottom: 0; right: 0; padding: 60px 22px 22px; color: white; background: linear-gradient(transparent,#062b66e8); font-size: 14px; }
.mv-visual .faq-hero { background: #deedff; }
.mv-visual .faq-hero-art { width: 31%; right: 0; filter: drop-shadow(0 18px 14px #062b6620); }
.mv-visual .cf-sources ul { display: grid; gap: 12px; list-style: none; padding: 0; }
.mv-visual .cf-sources li a { display: block; padding: 20px 24px; background: #fff; border-radius: 16px; }
@media (max-width: 1000px) {
 .pace-planner__grid, .credential-story { gap: 6%; }
 .credential-story__photo { height: 610px; }
 .mv-visual .cf-place-list { grid-template-columns: 1fr 1fr; }
 .mv-visual .help-copy { padding: 22px; }.mv-visual .help-copy h3 { font-size: 26px; }
 .help-photo { height: 230px; }
}
@media (max-width: 900px) {
 .mv-visual .print-hero__grid, .pace-planner__grid, .credential-story, .daypack-story__grid { grid-template-columns: 1fr; gap: 40px; }
 .mv-visual .print-poster { justify-self: center; max-width: 440px; }
 .mv-visual .print-hero__foot { display: none; }
 .route-portrait { width: 95%; max-width: 650px; margin: auto; }.route-portrait .camino-photo { height: 430px; }
 .pace-planner__visual { max-width: 650px; width: 95%; }.pace-planner__visual .camino-photo { height: 440px; }
 .credential-story__photo { height: 500px; max-width: 600px; width: 100%; margin: auto; border-radius: 100px 100px 24px 24px; }
 .mv-visual .daypack-story figure { position: relative; top: auto; height: 350px; }
 .mv-visual .daypack-story figure img { height: 100%; aspect-ratio: auto; }
 .daypack-story .mv-checklist { grid-template-columns: 1fr 1fr; }
 .daypack-story .mv-checklist legend, .daypack-story .mv-checklist__status { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
 .mv-visual .print-hero h1 { font-size: 48px; }
 .mv-visual .print-poster { width: calc(100% - 12px); }
 .mv-visual .print-poster img { max-height: none; }
 .mv-visual .print-stamp { width: 75px; height: 75px; left: -12px; }
 .mv-visual .print-steps img { height: 180px; width: 190px; margin: 0 auto 20px; }
 .mv-visual .process-step__marker img { width: 200px; height: 180px; }
 .route-portrait { width: 100%; padding: 0 10px 20px 10px; }.route-portrait .camino-photo { height: 370px; box-shadow: 8px 12px 0 #c8dffc; }
 .route-portrait__label { font-size: 15px; left: 0; top: 30px; padding: 14px 18px; }
 .pace-planner { padding: 55px 0; }.pace-planner__grid { gap: 38px; }.pace-planner__visual { width: calc(100% - 12px); }.pace-planner__visual .camino-photo { height: 380px; border-radius: 22px 70px 22px 22px; }.pace-planner__seal { width: 98px; height: 98px; right: -15px; top: 20px; font-size: 20px; border-width: 4px; }
 .camino-photo figcaption { padding: 50px 18px 18px; }.camino-photo figcaption > span { font-size: 15px; }
 .mv-visual .cf-place-list, .mv-visual .recommendation-list, .daypack-story .mv-checklist { grid-template-columns: 1fr; }
 .help-photo { height: 270px; }.mv-visual .help-copy h3 { font-size: 30px; max-width: none; }.mv-visual .help-copy { padding: 25px; }.mv-visual .help-copy p { max-width: 26ch; }
 .mv-visual .cf-place-list h3 { font-size: 27px; }.cf-place-list .camino-photo, .cf-place-list .place-photo { height: 285px; }
 .mv-visual .cf-credential { padding: 55px 0; }.credential-story__photo { height: 470px; border-radius: 110px 110px 24px 24px; }.credential-story__photo figcaption { font-size: 38px; padding: 90px 25px 25px; }.credential-facts strong { font-size: 30px; }
 .mv-visual .cf-food__list article { padding: 25px 22px 25px 75px; }.cf-food__list article::before { left: 20px; font-size: 28px; }
 .mv-visual .recommendation-list article { padding: 24px; }.mv-visual .recommendation-list article > b { font-size: 35px; }
 .mv-visual .daypack-story figure { height: 350px; }.mv-visual .daypack-story figcaption { font-size: 30px; }
 .mv-visual .luggage-story .advice-brand-mark { float: none; width: 150px; height: 150px; margin: 0 0 18px; }
 .mv-visual .luggage-story .mv-advice__steps { gap: 14px; }.mv-visual .luggage-story li { padding: 24px; }.luggage-story li::before { font-size: 38px; margin-bottom: 18px; }
 .mv-visual .service-options__grid article { padding: 28px 24px 28px 80px; }.mv-visual .service-options article > span { left: 22px; font-size: 28px; }
 .service-portrait { height: 260px; }.mv-visual .faq-hero-art { width: 210px; height: 180px; }
}
/* Explicit image geometry overrides legacy element selectors. */
.mv-visual .credential-story__photo { height: 670px; }
.mv-visual .credential-story__photo img { object-position: center top; }
.mv-visual .daypack-story figure { background: #f4f8ff; }
.mv-visual .daypack-story figure img { aspect-ratio: 1; height: auto; object-fit: contain; }
.mv-visual .daypack-story figcaption { position: static; padding: 24px; color: var(--mv-navy); background: var(--mv-yellow); font-size: 24px; }
.mv-visual .mv-help-grid > a { display: flex; flex-direction: column; }
.help-photo { flex-shrink: 0; }.help-copy { flex: 1; }
.help-photo:has(img[src*="mochila-dia-grabado"]) { background: #f4f8ff; }
.help-photo img[src*="mochila-dia-grabado"] { object-fit: contain; }
.mv-visual .trip-card:has(.camino-photo) { padding: 0; overflow: hidden; }
.trip-card .camino-photo { height: 260px; border-radius: 0; }
.trip-card:has(.camino-photo) .trip-copy { padding: 28px; }
.trip-card > img { width: 180px; height: 180px; margin: 0 auto 16px; display: block; }
.camino-photo figcaption small, .cf-place-list .camino-photo figcaption small { font-size: 11px; }
.cf-place-list .camino-photo:has(img[src*="portomarin-san"]) img { object-position: center 35%; }
@media (max-width: 900px) { .mv-visual .credential-story__photo { height: 590px; max-width: 500px; }.mv-visual .daypack-story figure { height: auto; max-width: 500px; width: 100%; margin: auto; } }
@media (max-width: 600px) { .mv-visual .credential-story__photo { height: 470px; }.trip-card:has(.camino-photo) .trip-copy { padding: 24px; }.trip-card .camino-photo { height: 260px; }.mv-visual .trip-card > img { width: 180px; height: 180px; }.help-copy { min-height: 190px; } }

/* Keep anchor destinations and sticky artwork clear of both navigation bars. */
.mv-visual section[id], .mv-visual article[id] { scroll-margin-top: calc(var(--header) + 80px); }
.mv-visual .daypack-story figure { top: calc(var(--header) + 76px); }
@media(max-width:900px) { .mv-visual .daypack-story figure { top: auto; } }

/* Contextual imagery: complete illustrations, real transport and route photos. */
.mv-visual .trip-card { padding: 0; overflow: hidden; }
.mv-visual .trip-card .trip-copy { padding: 26px 28px; }
.mv-visual .trip-card .camino-photo { height: auto; aspect-ratio: 1.85; }
.mv-visual .trip-card .camino-photo img { height: 100%; object-fit: cover; }
.mv-visual .trip-card#como-llegar .camino-photo img { object-fit: contain; }
.mv-visual .trip-illustration { margin: 0; height: auto; background: #f4f8ff; }
.mv-visual .trip-illustration img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
.mv-visual .trip-illustration figcaption { position: static; padding: 8px 18px; margin: 0; font-size: 10px; color: var(--mv-muted); background: #f4f8ff; }
/* A scroll-snap gallery: no autoplay, all photographs present in the HTML. */
.mv-visual .places-carousel { overflow: hidden; background: #e4efff; }
.mv-visual .places-carousel .section-heading { max-width: 830px; margin-bottom: 30px; }
.carousel-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.carousel-toolbar > p { margin: 0; font-size: 14px; color: var(--mv-muted); }
.carousel-controls { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.carousel-controls[hidden] { display: none; }
.carousel-count { font-size: 12px; margin-right: 16px; min-width: 90px; }
.carousel-controls button { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid #062b6626; border-radius: 50%; color: var(--mv-navy); background: white; font: 400 26px var(--body); cursor: pointer; transition: background .2s, transform .2s; }
.carousel-controls button:hover { background: var(--mv-yellow); transform: translateY(-2px); }
.carousel-controls button[aria-disabled="true"] { opacity: .35; cursor: default; transform: none; }
.mv-visual .places-carousel .cf-place-list { display: flex; gap: 26px; margin: 0; padding: 4px 2px 22px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #0868df #c9ddf8; scroll-padding: 2px; overscroll-behavior-x: contain; align-items: stretch; }
.mv-visual .places-carousel .cf-place-list > article { flex: 0 0 calc((100% - 52px) / 2.65); min-width: 0; scroll-snap-align: start; background: white; border-radius: 24px; box-shadow: 0 10px 20px #062b6609; }
.mv-visual .places-carousel .camino-photo, .mv-visual .places-carousel .place-photo { height: 350px; border-radius: 0; }
.mv-visual .places-carousel .camino-photo img, .mv-visual .places-carousel .place-photo img { width: 100%; height: 100%; object-fit: cover; }
.mv-visual .places-carousel .camino-photo:has(img[src*="portomarin-san"]) { height: 350px; }
.mv-visual .places-carousel .camino-photo:has(img[src*="portomarin-san"]) img { object-fit: contain; background: #e7eef5; }
.mv-visual .places-carousel .camino-photo figcaption { position: static; padding: 12px 18px; background: white; color: var(--mv-muted); }
.mv-visual .places-carousel .camino-photo { height: auto; overflow: hidden; }
.mv-visual .places-carousel .camino-photo > img { display: block; height: 320px; }
.mv-visual .places-carousel .camino-photo:has(img[src*="portomarin-san"]) { height: auto; }
.mv-visual .places-carousel .camino-photo figcaption small { margin: 0; font-size: 10px; color: inherit; line-height: 1.7; }
.mv-visual .places-carousel .place-photo { height: 349px; }
.mv-visual .places-carousel .place-photo img { object-position: center 35%; }
.mv-visual .places-carousel .place-copy { padding: 22px 25px 26px; }
.mv-visual .places-carousel .place-copy h3 { font-size: 28px; }
.mv-visual .places-carousel summary { min-height: 44px; }
.mv-visual .places-carousel :focus-visible { outline: 3px solid var(--mv-blue); outline-offset: 3px; }
@media(max-width:900px) {
 .mv-visual .places-carousel .cf-place-list > article { flex-basis: 62%; }
 .carousel-toolbar { align-items: flex-start; }
}
@media(max-width:600px) {
 .mv-visual .trip-card .trip-copy { padding: 24px; }
 .mv-visual .trip-card .camino-photo { aspect-ratio: auto; }
 .mv-visual .trip-card .camino-photo img { height: auto; aspect-ratio: auto; }
 .mv-visual .trip-card .camino-photo figcaption { position: static; background: white; padding: 14px 18px; color: var(--mv-navy); }
 .mv-visual .trip-card .camino-photo figcaption small { color: var(--mv-muted); font-size: 10px; }
 .carousel-toolbar { flex-direction: column; gap: 16px; }
 .carousel-controls { width: 100%; }.carousel-count { margin-right: auto; }
 .carousel-controls button { width: 48px; height: 48px; }
 .mv-visual .places-carousel .cf-place-list { gap: 16px; }
 .mv-visual .places-carousel .cf-place-list > article { flex-basis: 88%; }
 .mv-visual .places-carousel .camino-photo > img { height: 270px; }
 .mv-visual .places-carousel .place-photo { height: 318px; }
 .mv-visual .places-carousel .place-copy { padding: 20px; }
 .mv-visual .places-carousel .place-copy h3 { font-size: 26px; }
}
@media(prefers-reduced-motion:reduce) { .carousel-controls button { transition: none; } }
@media print { .carousel-controls { display: none; }.mv-visual .places-carousel .cf-place-list { display: grid; grid-template-columns: 1fr 1fr; overflow: visible; } }

/* Clean artwork surfaces; source credits live together in the footer. */
.mv-visual .route-print { margin: 0; padding: 12px; border: 1px solid var(--mv-navy); background: var(--mv-paper); box-shadow: 10px 12px 0 #dceaff; transform: rotate(1.5deg); }
.mv-visual .route-print img { display: block; width: 100%; height: auto; object-fit: contain; aspect-ratio: 3 / 2; }
.mv-visual .print-poster { padding-bottom: 10px; }
.mv-visual .places-carousel .camino-photo, .mv-visual .places-carousel .place-photo, .mv-visual .places-carousel .camino-photo:has(img[src*="portomarin-san"]) { height: 350px; }
.mv-visual .places-carousel .camino-photo > img { height: 100%; }
.mv-visual .photo-credits { border-top: 1px solid #ffffff26; padding-top: 20px; margin-top: 35px; }
.photo-credits summary { cursor: pointer; width: fit-content; min-height: 44px; color: #d3e2f5; font-size: 12px; }
.photo-credits p, .photo-credits li { color: #d3e2f5; font-size: 12px; line-height: 1.7; }
.photo-credits a { color: white; text-decoration: underline; text-underline-offset: 3px; }
.photo-credits ul { padding-left: 18px; max-width: 90ch; }.photo-credits li { margin-block: 10px; }
@media(max-width:600px) { .mv-visual .route-print { padding: 7px; box-shadow: 6px 7px 0 #dceaff; }.mv-visual .places-carousel .camino-photo, .mv-visual .places-carousel .place-photo, .mv-visual .places-carousel .camino-photo:has(img[src*="portomarin-san"]) { height: 310px; } }

/* September refinement: distinct photographic openings and quieter practical content. */
.route-opening { padding: calc(var(--header) + 45px) 0 0; }
.route-opening .breadcrumbs { margin-bottom: 30px; }
.route-opening__heading { display: grid; grid-template-columns: 1.15fr 1fr; align-items: end; gap: 8%; padding-bottom: 42px; }
.mv-visual .route-opening h1 { font-size: clamp(58px, 7vw, 98px); line-height: .98; margin: 12px 0 0; }
.route-opening__intro { padding-bottom: 5px; }
.route-opening__intro > p { font-size: 18px; max-width: 40ch; margin: 0 0 25px; }
.route-opening__landscape { position: relative; }
.route-opening__landscape .camino-photo { height: clamp(300px, 31vw, 440px); border-radius: 0; }
.route-opening__landscape .camino-photo img { height: 100%; width: 100%; object-fit: cover; object-position: center 57%; }
.mv-visual .photo-location { position: absolute; bottom: 20px; left: 24px; margin: 0; padding: 12px 18px; background: #fff; color: var(--mv-navy); font-size: 13px; font-weight: 700; }
.photo-location span { display: block; font-size: 12px; font-weight: 400; }
.guide-cover { position: relative; isolation: isolate; margin-top: var(--header); color: white; background: #243d2b; }
.guide-cover .guide-cover__image { position: absolute; inset: 0; height: 100%; margin: 0; border-radius: 0; z-index: 0; }
.guide-cover__image img { width: 100%; height: 100%; object-fit: cover; object-position: center 57%; }
.guide-cover::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #101d18b8 0%, #101d1830 80%), linear-gradient(0deg, #101d1880, transparent 80%); }
.guide-cover__content { position: relative; z-index: 2; min-height: 640px; min-height: clamp(590px, 76svh, 820px); display: flex; flex-direction: column; padding-block: 28px; }
.mv-visual .guide-cover .breadcrumbs, .mv-visual .guide-cover .breadcrumbs a, .mv-visual .guide-cover .kicker { color: #fff; }
.mv-visual .guide-cover .breadcrumbs { color: #fff !important; }
.guide-cover__copy { margin-block: auto; padding-block: 45px; }
.mv-visual .guide-cover h1 { max-width: 14ch; font-size: clamp(56px, 6.7vw, 96px); margin: 18px 0 26px; }
.guide-cover__copy > p:not(.kicker) { color: #fff; font-size: 19px; margin-bottom: 30px; }
.mv-visual .guide-cover__location { align-self: flex-end; font-size: 12px; color: #fff; margin: 0; }
/* Each stage is one readable itinerary row, with details available on demand. */
.stage-list { border-top: 1px solid #b8cce5; }
.stage-row { display: grid; grid-template-columns: 46px minmax(0, 1fr) 360px; column-gap: 26px; row-gap: 16px; padding: 32px 0; border-bottom: 1px solid #cddbeb; }
.stage-row__number { font-size: 18px; font-variant-numeric: tabular-nums; color: var(--mv-blue); padding-top: 4px; }
.mv-visual .stage-row h3 { font-size: clamp(25px, 2.5vw, 34px); margin: 0 0 8px; }
.stage-row h3 span { color: var(--mv-blue); }
.stage-row__route > p { font-size: 12px; color: var(--mv-muted); margin: 0; text-transform: none; }
.stage-row__facts { display: grid; grid-template-columns: 1.1fr 1fr .8fr; gap: 18px; margin: 0; align-items: start; }
.stage-row__facts dt { font-size: 11px; color: var(--mv-muted); margin-bottom: 4px; }
.stage-row__facts dd { margin: 0; font-size: 15px; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.stage-row__facts > div:first-child dd { color: var(--mv-blue); font: 700 29px/1.15 var(--display); letter-spacing: -.045em; }
.stage-row__facts small { font-size: 17px; }
.stage-row__notes { grid-column: 2 / -1; grid-row: 2; }
.stage-row__notes summary { display: flex; width: fit-content; align-items: center; gap: 18px; min-height: 44px; cursor: pointer; list-style: none; font-size: 13px; font-weight: 600; }
.stage-row__notes summary span { font-size: 22px; font-weight: 400; }
.stage-row__notes[open] summary span { transform: rotate(45deg); }
.stage-row__expanded { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; padding: 24px 0 8px; }
.stage-row__expanded h4 { margin: 0; font-size: 14px; }
.stage-row__expanded p { margin: 0 0 18px; font-size: 14px; }
.stage-row__expanded .text-link { font-size: 13px; }
.stage-row__request { grid-column: 3; grid-row: 2; justify-self: end; align-self: start; display: inline-flex; gap: 18px; align-items: center; min-height: 44px; color: var(--mv-blue); font-size: 13px; font-weight: 600; position: relative; }
.stage-row__request:hover { text-decoration: underline; text-underline-offset: 5px; }
/* Five decisions, no decorative cards or duplicated headings. */
.planning-simple { background: #fff; }
.planning-simple__layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 10%; align-items: start; }
.planning-simple header > p:not(.kicker) { color: var(--mv-muted); max-width: 30ch; margin-block: 24px; }
.mv-visual .planning-simple h2 { font-size: clamp(34px, 3.5vw, 50px); margin-bottom: 0; }
.planning-simple header .text-link { font-size: 14px; }
.planning-list { border-top: 1px solid #cbd9e7; }
.planning-item { border-bottom: 1px solid #cbd9e7; scroll-margin-top: calc(var(--header) + 85px); }
.planning-item summary { display: grid; grid-template-columns: 26px 1fr 24px; align-items: center; gap: 20px; padding: 24px 0; list-style: none; cursor: pointer; }
.planning-item summary::-webkit-details-marker, .stage-row__notes summary::-webkit-details-marker { display: none; }
.planning-item__number { align-self: start; padding-top: 5px; color: var(--mv-blue); font-size: 12px; font-variant-numeric: tabular-nums; }
.planning-item__title { display: block; font: 600 25px/1.2 var(--display); letter-spacing: -.035em; }
.planning-item__description { display: block; font-size: 14px; color: var(--mv-muted); margin-top: 8px; }
.planning-item__toggle { font-size: 25px; text-align: center; font-weight: 400; }
.planning-item[open] .planning-item__toggle { transform: rotate(45deg); }
.planning-item__body { padding: 0 44px 26px 46px; }
.planning-item__body p { font-size: 15px; margin: 0 0 18px; }
.planning-item__body a { color: var(--mv-blue); text-decoration: underline; text-underline-offset: 4px; font-size: 14px; }
.planning-item summary:hover .planning-item__title { color: var(--mv-blue); }
/* One connected service journey. Text never depends on animation. */
.service-journey { position: relative; margin-top: 42px; padding: 30px 32px 0; background: #fff; border-radius: 24px; }
.service-journey__track { position: absolute; left: 16.666%; width: 66.666%; top: 50px; height: 3px; background: #e5edf7; }
.service-journey__progress { position: absolute; inset: 0; background: var(--mv-yellow); transform-origin: top left; }
.service-journey__arrow { position: absolute; left: -17px; top: -17px; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: var(--mv-yellow); color: var(--mv-navy); font-size: 24px; opacity: 0; z-index: 2; }
.service-journey__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 45px; padding: 0; margin: 0; list-style: none; }
.service-journey__steps li { position: relative; min-width: 0; text-align: center; }
.service-journey__stop { position: relative; z-index: 1; display: grid; place-items: center; margin: 0 auto 15px; width: 42px; height: 42px; border-radius: 50%; background: var(--mv-paper); box-shadow: 0 0 0 9px #fff; color: var(--mv-blue); font-size: 12px; font-weight: 700; }
.service-journey__steps img { width: 190px; height: 175px; object-fit: contain; margin: 0 auto 18px; }
.mv-visual .service-journey__steps h3 { font-size: 27px; margin: 0 0 12px; }
.service-journey__steps p { color: var(--mv-muted); font-size: 15px; margin: 0 auto; max-width: 29ch; }
.service-journey__footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid #e3ebf4; margin-top: 30px; padding: 16px 0; }
.service-journey__footer p { font-size: 12px; color: var(--mv-muted); margin: 0; }
.service-journey__replay { border: 0; background: transparent; color: var(--mv-blue); font: 600 12px var(--body); cursor: pointer; min-height: 44px; padding: 8px 0 8px 12px; }
.service-journey__replay span { font-size: 20px; vertical-align: -2px; margin-right: 6px; }
.service-journey__replay:hover { color: var(--mv-navy); }
.service-journey__replay[hidden] { display: none; }
.planning-item summary:focus-visible, .stage-row a:focus-visible, .stage-row summary:focus-visible, .service-journey__replay:focus-visible { outline: 3px solid var(--mv-blue); outline-offset: 5px; border-radius: 3px; }
@media (max-width: 1000px) {
 .route-opening__heading { gap: 5%; }
 .route-opening__intro > p { font-size: 16px; }
 .stage-row { grid-template-columns: 30px minmax(0, 1fr) 305px; column-gap: 18px; }
 .stage-row__facts { gap: 12px; }
 .mv-visual .stage-row h3 { font-size: 26px; }
 .service-journey__steps { gap: 24px; }
 .mv-visual .service-journey__steps h3 { font-size: 23px; }
 .planning-simple__layout { gap: 6%; }
}
@media (max-width: 760px) {
 .route-opening { padding-top: calc(var(--header) + 28px); }
 .route-opening__heading { grid-template-columns: 1fr; gap: 24px; padding-bottom: 30px; }
 .mv-visual .route-opening h1 { font-size: clamp(52px, 11vw, 78px); }
 .route-opening__intro > p { max-width: 46ch; }
 .route-opening__landscape .camino-photo { height: 300px; }
 .mv-visual .photo-location { bottom: 15px; left: 15px; padding: 10px 14px; font-size: 12px; }
 .photo-location span { font-size: 11px; }
 .guide-cover__content { min-height: 620px; min-height: min(720px, 85svh); padding-block: 22px; }
 .mv-visual .guide-cover h1 { font-size: clamp(48px, 10vw, 72px); }
 .guide-cover__copy { padding-block: 36px; }
 .guide-cover__copy > p:not(.kicker) { font-size: 16px; }
 .mv-visual .guide-cover__location { align-self: flex-start; font-size: 11px; }
 .planning-simple__layout { grid-template-columns: 1fr; gap: 35px; }
 .planning-simple header > p:not(.kicker) { max-width: 38ch; }
 .stage-row { grid-template-columns: 28px minmax(0, 1fr); column-gap: 14px; row-gap: 18px; padding: 26px 0; }
 .stage-row__facts { grid-column: 2; grid-template-columns: 1.1fr 1fr .85fr; gap: 12px; }
 .stage-row__facts dd { font-size: 13px; }
 .stage-row__facts > div:first-child dd { font-size: 28px; }
 .stage-row__notes { grid-column: 2; grid-row: 3; }
 .stage-row__expanded { grid-template-columns: 1fr; gap: 4px; padding-top: 18px; }
 .stage-row__request { grid-column: 2; grid-row: 4; justify-self: start; margin-top: -12px; }
 .service-journey { padding: 24px 22px 0; }
 .service-journey__steps { grid-template-columns: 1fr; gap: 24px; }
 .service-journey__steps li { display: grid; grid-template-columns: 32px minmax(0, 1fr) 76px; column-gap: 14px; text-align: left; padding-bottom: 20px; }
 .service-journey__stop { grid-column: 1; grid-row: 1 / 3; width: 32px; height: 32px; margin: 0; box-shadow: 0 0 0 7px #fff; }
 .service-journey__steps img { grid-column: 3; grid-row: 1 / 3; width: 76px; height: 100px; margin: -12px 0 0; align-self: start; }
 .mv-visual .service-journey__steps h3 { grid-column: 2; font-size: 23px; padding-top: 3px; }
 .service-journey__steps p { grid-column: 2; font-size: 14px; margin: 0; max-width: 30ch; }
 .service-journey__track { left: 38px; top: 40px; width: 3px; height: calc(100% - 230px); }
 .service-journey__footer { margin-top: 0; }
 .service-journey__footer p { max-width: 18ch; }
 .service-journey__replay { max-width: 150px; text-align: right; }
}
@media (max-width: 420px) {
 .service-journey { padding-inline: 18px; }
 .service-journey__steps li { grid-template-columns: 28px minmax(0, 1fr) 58px; column-gap: 12px; }
 .service-journey__steps img { width: 58px; height: 84px; }
 .mv-visual .service-journey__steps h3 { font-size: 21px; }
 .planning-item summary { gap: 12px; grid-template-columns: 23px 1fr 22px; }
 .planning-item__title { font-size: 23px; }
 .planning-item__description { font-size: 13px; }
 .planning-item__body { padding-left: 35px; padding-right: 8px; }
}
@media (prefers-reduced-motion: reduce) {
 .service-journey__replay { display: none; }
}

/* One type family; hierarchy comes from scale, spacing and weight. */
.mv-visual .guide-cover h1 { font-family: var(--body); font-weight: 400; font-size: clamp(54px, 6.5vw, 92px); line-height: 1.03; letter-spacing: -.045em; max-width: 16ch; }
.mv-visual .guide-cover h1 em { font-family: inherit; font-style: normal; font-weight: 500; color: white; }
.mv-visual .guide-cover__copy { max-width: 820px; }
.mv-visual .planning-simple h2 { font: 400 clamp(36px, 4vw, 54px)/1.1 var(--body); letter-spacing: -.035em; }
.planning-item__title { font-family: var(--body); font-weight: 500; font-size: 24px; letter-spacing: -.015em; }
.planning-item__description { line-height: 1.55; }
.planning-simple header > p:not(.kicker) { max-width: 29ch; }
.mv-visual .route-opening h1 { font: 400 clamp(48px, 6.8vw, 92px)/1.1 var(--body); letter-spacing: -.045em; margin: 12px 0 25px; }
.route-opening h1 > span[aria-hidden] { font-size: .7em; color: var(--mv-blue); margin-inline: .1em; }
.route-opening__heading { display: block; padding-bottom: 32px; }
.route-opening__intro { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.route-opening__intro > p { margin: 0; max-width: 58ch; font-size: 16px; }
.route-opening__intro .button-row { margin: 0; flex-shrink: 0; gap: 26px; }
.route-opening__landscape .camino-photo { height: clamp(300px, 30vw, 420px); }
.mv-visual .stage-row h3 { font-family: var(--body); font-weight: 600; letter-spacing: -.025em; }
.service-opening { padding: calc(var(--header) + 42px) 0 75px; background: #fff; }
.service-opening__heading { position: relative; padding: 15px 0 26px; }
.mv-visual .service-opening h1 { font: 500 clamp(42px, 5.4vw, 76px)/1.1 var(--body); letter-spacing: -.04em; margin: 14px 0 0; }
.service-opening__heading > span { position: absolute; right: 0; bottom: 37px; font-size: 13px; }
.service-opening__story { position: relative; padding-right: 20%; padding-bottom: 40px; }
.service-opening__story > figure { height: 500px; overflow: hidden; border-radius: 4px; }
.service-opening__story > figure img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 56%; }
.service-opening__story figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: 55px 24px 20px; background: linear-gradient(transparent, #0d1e24bf); color: white; font-size: 12px; }
.service-opening__note { position: absolute; right: 0; bottom: 0; width: 36%; padding: 32px; background: var(--mv-paper); border-left: 4px solid var(--mv-yellow); }
.service-opening__arrow { display: block; font-size: 38px; color: var(--mv-blue); margin-bottom: 20px; }
.mv-visual .service-opening__note h2 { font: 500 clamp(28px, 3vw, 40px)/1.1 var(--body); letter-spacing: -.025em; margin-bottom: 20px; }
.service-opening__note p { font-size: 15px; margin-bottom: 25px; }
.service-opening__note .button { font-size: 13px; }
.service-opening__note .text-link { display: block; width: fit-content; font-size: 12px; margin-top: 23px; }
.mv-visual .recommendation-list article { grid-template-columns: minmax(52px, max-content) minmax(0, 1fr); gap: 24px; }
.mv-visual .recommendation-list article > b { font-size: 38px; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.mv-visual .recommendation-list h3 { font-family: var(--body); font-size: 23px; font-weight: 600; letter-spacing: -.025em; }
.service-day { background: var(--mv-navy); color: white; padding: 40px 0; }
.service-day__inner { display: grid; grid-template-columns: .85fr 1.6fr; gap: 8%; align-items: center; }
.service-day__intro { border-left: 3px solid var(--mv-yellow); padding-left: 25px; }
.service-day__intro > span { font-size: 12px; color: #c5d8f3; }
.service-day__intro p { font: 400 30px/1.15 var(--body); margin: 12px 0; }
.service-day__intro a { font-size: 12px; color: var(--mv-yellow); text-decoration: underline; text-underline-offset: 5px; }
.service-day__timeline { display: grid; grid-template-columns: 1fr 65px 1fr; align-items: center; gap: 25px; }
.service-day__timeline > div { position: relative; padding-top: 20px; border-top: 1px solid #6986b0; }
.service-day__dot { position: absolute; width: 9px; height: 9px; border-radius: 50%; top: -5px; left: 0; background: var(--mv-yellow); box-shadow: 0 0 0 5px #ffc40020; }
.service-day__timeline small { display: block; font-size: 12px; color: #d4e3f7; }
.service-day__timeline strong { display: block; font: 500 clamp(38px, 4.5vw, 60px)/1.2 var(--body); letter-spacing: -.045em; color: var(--mv-yellow); font-variant-numeric: tabular-nums; margin: 6px 0; }
.service-day__timeline p { font-size: 14px; margin: 0; color: #fff; }
.service-day__route { color: var(--mv-yellow); font-size: 36px; text-align: center; border-bottom: 1px dashed #ffc40070; padding-bottom: 12px; }
.mv-visual .print-process[data-journey-scroll] { position: relative; padding-block: 40px; overflow: visible; }
.is-scroll-linked > .journey-pin, .is-scroll-linked > .places-sticky { position: sticky; }
.service-journey__scroll-hint { font-size: 12px; color: var(--mv-blue); white-space: nowrap; }
.service-journey__scroll-hint span { margin-left: 10px; }
.mv-visual .places-carousel { overflow: visible; padding-block: 32px; }
.mv-visual .places-carousel .section-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 0 60px; align-items: end; max-width: none; margin-bottom: 18px; }
.places-carousel .section-heading > .kicker { grid-column: 1 / -1; margin-bottom: 12px; }
.mv-visual .places-carousel .section-heading h2 { font: 400 clamp(34px, 3.5vw, 48px)/1.1 var(--body); letter-spacing: -.03em; margin: 0; }
.places-carousel .section-heading > p:last-child { font-size: 13px; margin: 0; max-width: 52ch; }
.places-carousel .carousel-toolbar { margin-bottom: 16px; min-height: 44px; }
.places-carousel .carousel-toolbar > p { font-size: 12px; }
.places-carousel .carousel-controls button { width: 42px; height: 42px; }
.mv-visual .places-carousel .cf-place-list > article { border-radius: 6px; box-shadow: none; flex-basis: calc((100% - 44px) / 2.65); }
.mv-visual .places-carousel .cf-place-list { gap: 22px; padding-bottom: 14px; }
.mv-visual .places-carousel.is-scroll-linked .cf-place-list { scroll-snap-type: none; scroll-behavior: auto; }
.places-carousel, [data-journey-scroll] { overflow-anchor: none; }
.mv-visual .places-carousel .camino-photo > img { height: 100%; }
.place-dialog { width: min(540px, calc(100% - 40px)); max-height: 80svh; padding: 32px; border: 0; border-radius: 12px; color: var(--mv-navy); background: white; }
.place-dialog::backdrop { background: #062b6680; }
.place-dialog__close { display: block; margin: 0 0 28px auto; padding: 10px; border: 0; background: var(--mv-paper); color: var(--mv-navy); }
.mv-visual .place-dialog h2 { font-size: 30px; line-height: 1.15; letter-spacing: -.03em; }
.place-dialog a { text-decoration: underline; text-underline-offset: 4px; }

.mv-visual .places-carousel .camino-photo, .mv-visual .places-carousel .place-photo, .mv-visual .places-carousel .camino-photo:has(img[src*="portomarin-san"]) { height: clamp(180px, 30svh, 300px); }
.mv-visual .places-carousel .place-copy { padding: 18px 22px; }
.mv-visual .places-carousel .place-copy h3 { font-family: var(--body); font-size: 25px; font-weight: 500; letter-spacing: -.025em; margin: 10px 0 8px; }
.gallery-scroll-hint[hidden], .gallery-touch-hint[hidden], .service-journey__scroll-hint[hidden] { display: none; }
.mv-visual .simple-contact .service-portrait { height: 340px; border-radius: 6px; }
.simple-contact .service-portrait img { object-position: center 58%; }
@media (max-width: 1000px) {
 .route-opening__intro { align-items: flex-start; gap: 25px; }
 .route-opening__intro .button-row { flex-direction: column; gap: 18px; align-items: flex-start; }
 .service-opening__note { width: 43%; padding: 26px; }
 .service-day__inner { gap: 6%; grid-template-columns: .8fr 1.4fr; }
 .service-day__timeline { gap: 16px; grid-template-columns: 1fr 35px 1fr; }
 .mv-visual .places-carousel .cf-place-list > article { flex-basis: 55%; }
}
@media (max-width: 760px) {
 .mv-visual .guide-cover h1 { font-size: clamp(48px, 11.5vw, 72px); line-height: 1.04; }
 .mv-visual .planning-simple h2 { font-size: 38px; }
 .mv-visual .route-opening h1 { font-size: clamp(42px, 8.5vw, 62px); max-width: none; }
 .route-opening__intro { display: block; }
 .route-opening__intro > p { margin-bottom: 25px; }
 .route-opening__intro .button-row { flex-direction: row; align-items: center; gap: 23px; }
 .service-opening { padding: calc(var(--header) + 28px) 0 48px; }
 .service-opening__heading > span { position: static; display: block; margin-top: 20px; }
 .service-opening__story { padding: 0; }
 .service-opening__story > figure { height: 340px; }
 .service-opening__note { position: relative; width: calc(100% - 20px); margin: -24px 0 0 20px; padding: 28px; }
 .service-opening__arrow { display: none; }
 .service-opening__story figcaption { top: 0; bottom: auto; background: linear-gradient(#0d1e24b0, transparent); padding: 18px 20px 45px; }
 .mv-visual .service-opening__note h2 { font-size: 30px; }
 .mv-visual .recommendation-list article { grid-template-columns: 45px minmax(0, 1fr); gap: 20px; }
 .mv-visual .recommendation-list article > b { font-size: 34px; }
 .service-day__inner { grid-template-columns: 1fr; gap: 32px; }
 .service-day__intro p br { display: none; }
 .service-day__intro p { font-size: 27px; }
 .service-day__timeline { grid-template-columns: 1fr 25px 1fr; gap: 14px; }
 .service-day__timeline small { font-size: 11px; min-height: 34px; }
 .service-day__timeline strong { font-size: 43px; }
 .service-day__timeline p { font-size: 13px; }
 .service-day__route { font-size: 24px; padding: 0; border: 0; }
 .mv-visual .places-carousel .section-heading { display: block; margin-bottom: 15px; }
 .mv-visual .places-carousel .section-heading h2 { font-size: 33px; }
 .places-carousel .section-heading > p:last-child { display: none; }
 .places-carousel .carousel-toolbar { flex-direction: row; align-items: center; gap: 10px; }
 .places-carousel .carousel-toolbar > p { max-width: 22ch; font-size: 11px; }
 .places-carousel .carousel-controls { width: auto; gap: 7px; }
 .places-carousel .carousel-count { display: none; }
 .places-carousel .carousel-controls button { width: 44px; height: 44px; }
 .mv-visual .places-carousel .cf-place-list > article { flex-basis: 86%; }
 .mv-visual .places-carousel .cf-place-list { gap: 16px; }
 .mv-visual .places-carousel .place-copy h3 { font-size: 24px; }
 .mv-visual .places-carousel .camino-photo, .mv-visual .places-carousel .place-photo, .mv-visual .places-carousel .camino-photo:has(img[src*="portomarin-san"]) { height: clamp(170px, 26svh, 250px); }
}
@media print {
 .is-scroll-linked { height: auto !important; }
 .is-scroll-linked > .journey-pin, .is-scroll-linked > .places-sticky { position: static; }
}

@media (min-width: 601px) and (max-height: 800px) {
 .mv-visual .places-carousel .section-heading > p:last-child { display: none; }
 .mv-visual .places-carousel .section-heading { display: block; }
 .mv-visual .places-carousel .section-heading h2 { font-size: 34px; }
 .mv-visual .places-carousel .camino-photo, .mv-visual .places-carousel .place-photo, .mv-visual .places-carousel .camino-photo:has(img[src*="portomarin-san"]) { height: clamp(130px, 24svh, 190px); }
}

/* Photographic opening: Camino atmosphere with a direct booking action. */
/* Illustrated travel poster: the original brand artwork, with readable booking copy. */
.mv-visual .print-hero--journal { padding: 124px 0 0; background: #f4f8ff; color: var(--mv-navy); }
.mv-visual .print-hero--journal .print-hero__grid { max-width: 1240px; grid-template-columns: 1.12fr 1fr; gap: 34px 7%; align-items: center; }
.print-hero--journal .print-hero__copy { padding: 12px 0; }
.mv-visual .print-hero--journal .print-eyebrow { margin: 0 0 27px; font-size: 10px; letter-spacing: .12em; color: var(--mv-blue); }
.mv-visual .print-hero--journal .print-hero__title { margin: 0 0 25px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(48px, 5.5vw, 79px); line-height: 1.04; font-weight: 400; letter-spacing: -.055em; text-wrap: initial; }
.mv-visual .print-hero--journal h1 em { display: inline; font-family: inherit; font-style: italic; font-weight: 400; color: var(--mv-blue); }
.print-hero--journal h1 em::after { content: none; }
.mv-visual .print-hero--journal .print-hero__lead { max-width: 39ch; margin: 0; font-size: 18px; line-height: 1.65; color: var(--mv-muted); }
.print-hero--journal .print-hero__booking { max-width: 390px; margin: 27px 0 19px; padding-top: 20px; border-top: 1px solid #bdcee3; }
.print-hero--journal .print-hero__offer { display: flex; align-items: center; gap: 25px; margin-bottom: 21px; }
.mv-visual .print-hero--journal .print-hero__price { margin: 0; flex-shrink: 0; line-height: 1; }
.print-hero--journal .print-hero__price > span { display: block; margin-bottom: 6px; color: var(--mv-muted); font-size: 11px; }
.print-hero--journal .print-hero__price > strong { display: block; font-size: 46px; font-weight: 600; line-height: 1; letter-spacing: -.05em; }
.mv-visual .print-hero--journal .print-hero__terms { margin: 12px 0 0; padding-left: 25px; border-left: 1px solid #bdcee3; font-size: 13px; line-height: 1.6; }
.print-hero--journal .print-hero__terms strong, .print-hero--journal .print-hero__terms span { display: block; }
.print-hero--journal .print-hero__terms span { color: var(--mv-muted); font-size: 11px; }
.mv-visual .print-hero--journal .print-hero__cta { display: flex; width: 100%; min-height: 56px; padding: 16px 22px; justify-content: space-between; gap: 20px; border: 1px solid var(--mv-navy); border-radius: 3px; background: var(--mv-yellow); color: var(--mv-navy); font-size: 15px; font-weight: 700; box-shadow: 3px 3px 0 var(--mv-navy); transition: transform .2s, box-shadow .2s; }
.print-hero__cta svg { flex-shrink: 0; width: 21px; height: 21px; }
.mv-visual .print-hero--journal .print-small { margin: 12px 0 0; font-size: 11px; text-align: center; color: var(--mv-muted); }
.print-hero--journal .print-link { font-size: 13px; }
.print-hero--journal .print-link > span { margin-left: 15px; }
.hero-print { margin: 0; padding: 13px 13px 0; background: #f4f8ff; border: 1px solid #829abb; box-shadow: 9px 9px 0 #e2eaf5; transform: rotate(1.5deg); }
.hero-print__heading { display: flex; justify-content: space-between; gap: 12px; padding: 2px 3px 13px; font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; }
.hero-print > img { display: block; width: 100%; height: auto; max-height: 480px; object-fit: contain; }
.hero-print figcaption { position: static; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 17px 4px; font-size: 12px; color: var(--mv-navy); background: none; }
.hero-print figcaption span span { margin-inline: 9px; }
.hero-print figcaption em { font: italic 22px Georgia, serif; }
.hero-route { grid-column: 1 / -1; display: flex; align-items: center; gap: 40px; margin-top: 17px; padding: 27px 0; border-top: 1px solid #bdcee3; }
.hero-route__label { flex-shrink: 0; font: italic 21px Georgia, serif; }
.hero-route ol { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex: 1; padding: 0; margin: 0; list-style: none; }
.hero-route li { display: flex; align-items: center; gap: 9px; font-size: 11px; white-space: nowrap; }
.hero-route li::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--mv-blue); }
.hero-route li:last-child::before { background: var(--mv-yellow); box-shadow: 0 0 0 1px #967600; }
.mv-visual.home .print-section-head h2, .mv-visual.home .print-proof h2, .mv-visual.home .print-end h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.045em; }
.mv-visual.home .print-section-head h2 em, .mv-visual.home .print-proof h2 em, .mv-visual.home .print-end h2 em { font-family: inherit; font-style: italic; font-weight: 400; }
@media (hover: hover) {
 .mv-visual .print-hero--journal .print-hero__cta:hover { transform: translate(-1px, -2px); box-shadow: 4px 5px 0 var(--mv-navy); }
}
.mv-visual .print-hero--journal .print-hero__cta:active { transform: translate(2px, 2px); box-shadow: none; }
.print-hero--journal a:focus-visible { outline: 3px solid var(--mv-blue); outline-offset: 5px; }
@media (max-width: 1000px) {
 .mv-visual .print-hero--journal .print-hero__grid { gap: 30px 5%; }
 .mv-visual .print-hero--journal .print-hero__title { font-size: 58px; }
 .hero-route { gap: 20px; flex-direction: column; align-items: stretch; }
 .hero-route__label { display: none; }
 .hero-route ol { gap: 10px; }
 .hero-print figcaption em { font-size: 19px; }
}
@media (max-width: 760px) {
 .mv-visual .print-hero--journal { padding: 105px 0 0; }
 .mv-visual .print-hero--journal .print-hero__grid { grid-template-columns: 1fr; gap: 32px; }
 .print-hero--journal .print-hero__copy { padding: 0; }
 .mv-visual .print-hero--journal .print-eyebrow { font-size: 9px; margin-bottom: 22px; letter-spacing: .08em; }
 .mv-visual .print-hero--journal .print-hero__title { font-size: clamp(44px, 9vw, 65px); margin-bottom: 22px; }
 .mv-visual .print-hero--journal .print-hero__lead { font-size: 16px; max-width: 40ch; }
 .print-hero--journal .print-hero__booking { margin-top: 23px; max-width: 440px; }
 .hero-print { width: calc(100% - 12px); max-width: 440px; justify-self: center; padding: 10px 10px 0; }
 .hero-print > img { max-height: none; }
 .hero-print__heading { font-size: 8px; }
 .hero-route { margin-top: 0; padding-block: 23px; }
 .hero-route li:not(:first-child):not(:last-child) { display: none; }
 .hero-route ol { position: relative; }
 .hero-route ol::before { content: ''; height: 1px; background: #bdcee3; position: absolute; top: 50%; left: 65px; right: 85px; }
}
@media (prefers-reduced-motion: reduce) {
 .mv-visual .print-hero--journal .print-hero__cta { transition: none; }
 .mv-visual .print-hero--journal .print-hero__cta:hover, .mv-visual .print-hero--journal .print-hero__cta:active { transform: none; }
}

/* Keep the full booking action readable in the mobile header. */
@media (max-width: 900px) {
 .mv-visual .site-header__inner { gap: 14px; }
 .mv-visual .header-booking-mobile { white-space: nowrap; min-height: 44px; align-items: center; justify-content: center; padding: 10px 12px; font-size: 11px; border-radius: 7px; }
 .mv-visual .nav-toggle { flex-shrink: 0; width: 36px; }
}
@media (max-width: 420px) {
 .mv-visual .site-header__inner { gap: 10px; }
 .mv-visual .brand { gap: 5px; }
 .mv-visual .brand span { font-size: 12px; }
 .mv-visual .brand img { width: 30px; height: 34px; }
 .mv-visual .header-booking-mobile { font-size: 10px; padding-inline: 9px; }
 .mv-visual .nav-toggle { width: 30px; padding-inline: 3px; }
}
@media (max-width: 350px) {
 .mv-visual .brand span { max-width: 63px; line-height: 1.15; }
}

/* Travel notebook: readable pages, real photographs and practical route notes. */
.travel-notebook { padding: 76px 0; background: #fff; scroll-margin-top: 140px; }
.travel-notebook > .shell { max-width: 1240px; }
.notebook-heading { max-width: 720px; }
.mv-visual .notebook-heading h2 { margin: 12px 0 20px; font-size: clamp(38px, 4.4vw, 62px); font-weight: 600; }
.notebook-heading > p:last-child { color: var(--mv-muted); font-size: 17px; }
.notebook-index { display: flex; flex-wrap: wrap; gap: 8px 23px; margin: 30px 0 40px; padding-block: 17px; border-block: 1px solid #dbe4ed; }
.notebook-index a { display: flex; gap: 8px; align-items: center; min-height: 36px; font-size: 13px; font-weight: 600; }
.notebook-index span { font-size: 10px; color: var(--mv-blue); }
.notebook-index a:hover { text-decoration: underline; text-underline-offset: 5px; }
.notebook-pages { display: grid; grid-template-columns: 1fr 1fr; gap: 48px 34px; }
.notebook-page { min-width: 0; scroll-margin-top: 160px; border-bottom: 1px solid #dbe4ed; padding-bottom: 28px; }
.notebook-page:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1.05fr 1fr; gap: 42px; align-items: center; padding-bottom: 40px; }
.notebook-image { position: relative; }
.notebook-image figure { margin: 0; }
.notebook-image img { width: 100%; height: 320px; object-fit: cover; border-radius: 3px; }
.notebook-page:first-child .notebook-image img { height: 430px; object-position: center 45%; }
.notebook-number { position: absolute; bottom: 0; left: 0; display: grid; place-items: center; width: 58px; height: 58px; background: var(--mv-yellow); color: var(--mv-navy); font-size: 23px; font-weight: 600; }
.notebook-copy { padding-top: 22px; }
.notebook-page:first-child .notebook-copy { padding: 0; }
.mv-visual .notebook-location { display: flex; flex-wrap: wrap; gap: 9px 18px; align-items: center; margin: 0 0 12px; color: var(--mv-blue); font-size: 13px; font-weight: 700; }
.notebook-location span { font-size: 11px; font-weight: 500; color: var(--mv-muted); padding-left: 13px; border-left: 1px solid #bdcddd; }
.mv-visual .notebook-copy h3 { margin: 0 0 15px; font-size: clamp(27px, 2.7vw, 36px); font-weight: 600; line-height: 1.12; text-wrap: pretty; }
.notebook-copy > p:not(.notebook-location) { color: var(--mv-muted); font-size: 15px; line-height: 1.7; }
.notebook-note { margin: 23px 0 20px; padding: 17px 20px; background: #f3f7fc; border-left: 3px solid var(--mv-yellow); }
.notebook-note strong { font-size: 12px; font-weight: 700; }
.mv-visual .notebook-note p { margin: 7px 0 0; font-size: 13px; line-height: 1.65; color: var(--mv-muted); }
.notebook-map { display: inline-block; padding-block: 10px; font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
.notebook-map > span[aria-hidden] { margin-left: 14px; }
.notebook-footer { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-top: 44px; padding: 28px; background: #edf4fc; }
.mv-visual .notebook-footer h3 { font-size: 25px; margin: 0 0 10px; }
.notebook-footer p { margin: 0; font-size: 14px; color: var(--mv-muted); }
.notebook-footer .button { flex-shrink: 0; border-radius: 7px; box-shadow: none; }
.mv-visual .notebook-sources { max-width: none; margin: 24px 0 0; font-size: 12px; color: var(--mv-muted); }
.notebook-sources a { text-decoration: underline; }
.travel-notebook a:focus-visible { outline: 3px solid var(--mv-blue); outline-offset: 4px; }
@media (max-width: 760px) {
 .travel-notebook { padding: 48px 0; }
 .notebook-pages { grid-template-columns: 1fr; gap: 32px; }
 .notebook-page:first-child { display: block; padding-bottom: 28px; }
 .notebook-page:first-child .notebook-copy { padding-top: 22px; }
 .notebook-image img, .notebook-page:first-child .notebook-image img { height: 290px; }
 .notebook-index { gap: 5px 19px; margin-bottom: 28px; }
 .notebook-footer { display: block; padding: 23px; }
 .notebook-footer .button { margin-top: 20px; width: 100%; }
 .notebook-copy > p:not(.notebook-location) { font-size: 15px; }
}
.travel-notebook .notebook-image figure { height: auto; max-height: none; width: 100%; padding: 0; border: 0; border-radius: 3px; box-shadow: none; transform: none; overflow: hidden; }
.travel-notebook .notebook-image img { display: block; }

/* Editorial continuity: route links, the people behind the service, practical reading. */
.home .hero-route ol { align-items: stretch; gap: 8px; }
.home .hero-route li { position: relative; gap: 0; }
.home .hero-route li::before { position: absolute; left: 0; top: calc(50% - 2px); pointer-events: none; }
.home .hero-route a { display: flex; align-items: center; min-height: 44px; padding: 10px 4px 10px 14px; font-size: 12px; text-underline-offset: 5px; transition: color .2s; }
.home .hero-route a:hover { color: var(--mv-blue); text-decoration: underline; }
.home .hero-route a:focus-visible { outline: 2px solid var(--mv-blue); outline-offset: 3px; }
.mv-visual .hero-contact-alternative { margin: 12px 0 0; font-size: 12px; text-align: center; color: var(--mv-muted); }
.hero-contact-alternative a { color: var(--mv-navy); text-decoration: underline; text-underline-offset: 3px; }
.mv-visual.home .service-day { background: #e6effb; color: var(--mv-navy); padding-block: 34px; border-block: 1px solid #c5d5ea; }
.home .service-day__intro > span, .home .service-day__timeline small { color: var(--mv-muted); }
.home .service-day__intro p { font-family: Georgia, 'Times New Roman', serif; font-size: 29px; letter-spacing: -.035em; }
.home .service-day__intro a, .home .service-day__timeline p { color: var(--mv-navy); }
.home .service-day__timeline strong { color: var(--mv-blue); font-size: clamp(36px, 4vw, 52px); }
.home .service-day__route { color: var(--mv-blue); border-color: #a4bbd8; }
.home .service-day__timeline > div { border-color: #b0c4df; }
.mv-visual.home .print-process { background: var(--mv-paper); padding-block: 76px; }
.home .service-journey { border-radius: 3px; border: 1px solid #c5d5ea; background: #fff; box-shadow: 6px 6px 0 #e6effb; }
.mv-visual.home .print-proof { padding-block: 80px; background: #fff; border-block: 1px solid #d6e1ef; }
.mv-visual.home .print-proof__grid { grid-template-columns: .9fr 1fr; gap: 9%; align-items: center; }
.mv-visual.home .print-proof .home-service-photo { position: relative; margin: 0; padding: 12px; border: 1px solid #b3c5db; border-radius: 2px; background: var(--mv-paper); box-shadow: 7px 7px 0 #e6effb; transform: rotate(-1deg); }
.mv-visual.home .print-proof .home-service-photo img { width: 100%; height: auto; max-height: 610px; object-fit: cover; border-radius: 0; }
.home .home-service-photo figcaption { position: static; background: transparent; color: var(--mv-muted); padding: 15px 4px 3px; font-size: 12px; }
.mv-visual.home .home-service-copy h2 { margin-top: 0; margin-bottom: 24px; font-size: clamp(38px, 4.3vw, 60px); }
.home .home-service-copy > p:not(.print-eyebrow):not(.home-service-caption) { font-size: 16px; color: var(--mv-muted); max-width: 47ch; }
.home-service-phone { display: inline-flex; align-items: center; gap: 24px; min-height: 44px; font-size: clamp(22px, 2.5vw, 31px); font-weight: 500; letter-spacing: -.04em; margin-top: 8px; }
.home-service-phone span { font-size: 21px; color: var(--mv-blue); }
.mv-visual .home-service-caption { margin: 2px 0 25px; font-size: 13px; color: var(--mv-muted); }
.home-service-caption a { color: var(--mv-navy); text-decoration: underline; text-underline-offset: 4px; }
.home .print-questions { margin-block: 25px; }
.home .print-questions > div { padding-block: 15px; border-color: #d6e1ef; }
.home .print-questions dt { font-size: 15px; font-weight: 600; }
.home .print-questions dd { margin-top: 6px; font-size: 14px; }
.mv-visual.home .help-journey { padding-block: 80px; background: var(--mv-paper); }
.mv-visual.home .help-journey h2 { font: 400 clamp(38px, 4.3vw, 60px)/1.08 Georgia, 'Times New Roman', serif; letter-spacing: -.045em; }
.mv-visual.home .help-journey h2 em { font-family: inherit; font-style: italic; font-weight: 400; }
.mv-visual.home .mv-help-grid { grid-template-columns: 1.2fr 1fr 1fr; gap: 28px; margin-top: 38px; align-items: start; }
.mv-visual.home .mv-help-grid > a { border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; transform: none; }
.home .help-photo { height: 265px; border-radius: 2px; }
.home .mv-help-grid > a:first-child .help-photo { height: 345px; }
.home .mv-help-grid > a:last-child { margin-top: 45px; }
.mv-visual.home .help-copy { padding: 20px 0 25px; border-bottom: 1px solid #b8cbe1; min-height: 0; }
.mv-visual.home .help-copy h3 { font-size: 25px; max-width: none; font-weight: 500; }
.home .help-copy b { right: 0; bottom: 23px; border-radius: 0; background: none; font-size: 25px; }
.mv-visual.home .help-copy p { font-size: 14px; padding-right: 35px; }
.mv-visual.home .print-end { background: #e6effb; border-radius: 0; padding: 65px 0 70px; border-top: 1px solid #c5d5ea; }
.mv-visual.home .print-end h2 { font-size: clamp(44px, 5vw, 70px); color: var(--mv-navy); }
.mv-visual.home .print-end h2 em { color: var(--mv-blue); }
.mv-visual.home .print-end p { color: var(--mv-muted); margin-inline: auto; max-width: 46ch; }
.mv-visual.home .print-end .button { border: 1px solid var(--mv-navy); border-radius: 3px; box-shadow: 3px 3px 0 var(--mv-navy); }
.home a:focus-visible { outline: 3px solid var(--mv-blue); outline-offset: 4px; }
.stage-price-note { padding: 20px 24px; background: #e6effb; border-left: 3px solid var(--mv-yellow); margin: 24px 0 15px; }
.mv-visual .stage-price-note { max-width: none; font-size: 14px; }
.stage-price-note strong { display: block; margin-bottom: 5px; }
.stage-price-note a { display: inline-block; padding-block: 8px; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1000px) {
 .home .hero-route a { font-size: 11px; }
 .mv-visual.home .print-proof__grid { gap: 6%; }
 .mv-visual.home .mv-help-grid { gap: 20px; }
 .home .help-photo { height: 225px; }
 .home .mv-help-grid > a:first-child .help-photo { height: 285px; }
}
@media (max-width: 760px) {
 .home .hero-route__label { display: block; font-size: 20px; }
 .home .hero-route ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 14px; }
 .home .hero-route ol::before { content: none; }
 .home .hero-route li:not(:first-child):not(:last-child) { display: flex; }
 .home .hero-route li { border-bottom: 1px solid #d6e1ef; }
 .home .hero-route a { width: 100%; font-size: 13px; padding-block: 12px; }
 .mv-visual.home .print-proof__grid { grid-template-columns: 1fr; gap: 36px; }
 .home .home-service-copy { grid-row: 1; }
 .mv-visual.home .print-proof .home-service-photo { max-width: 480px; width: calc(100% - 12px); justify-self: center; }
 .mv-visual.home .print-proof .home-service-photo img { max-height: none; }
 .mv-visual.home .print-process, .mv-visual.home .print-proof, .mv-visual.home .help-journey { padding-block: 50px; }
 .mv-visual.home .mv-help-grid { grid-template-columns: 1fr; gap: 32px; }
 .home .mv-help-grid > a:last-child { margin-top: 0; }
 .home .help-photo, .home .mv-help-grid > a:first-child .help-photo { height: 285px; }
 .mv-visual.home .help-copy { padding-top: 18px; }
 .home .hero-contact-alternative { font-size: 11px; }
 .home .service-journey__footer { align-items: start; }
 .home .service-journey__footer p { max-width: 30ch; }
 .mv-visual.home .print-end { padding-block: 48px 55px; }
}
@media (prefers-reduced-motion: reduce) {
 .home .hero-route a { transition: none; }
 .home .mv-help-grid a:hover .help-photo img { transform: none; }
}

/* Real Camino photographs supplied by the founders; retouched variants, October 2026. */
.mv-visual .print-hero--landscape { position: relative; isolation: isolate; overflow: hidden; padding: 145px 0 55px; background: #16364c; color: #fff; border-bottom: 4px solid var(--mv-yellow); }
.hero-real-photo { position: absolute; inset: 0; z-index: -2; }
.hero-real-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 62%; }
.print-hero--landscape::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #061d35eb 0%, #061d35c9 27%, #061d3573 47%, #061d350d 73%), linear-gradient(0deg, #061d353b, transparent 45%); }
.mv-visual .print-hero--landscape .print-hero__grid { grid-template-columns: 1.1fr 1fr; align-items: end; gap: 40px; min-height: 515px; }
.mv-visual .print-hero--landscape .print-hero__copy { max-width: 580px; padding: 0; }
.mv-visual .print-hero--landscape .print-eyebrow { display: flex; align-items: center; gap: 12px; color: #fff; font-size: 11px; line-height: 1.5; letter-spacing: .08em; margin-bottom: 25px; }
.print-hero--landscape .print-eyebrow::before { content: ''; width: 26px; height: 3px; background: var(--mv-yellow); flex-shrink: 0; }
.mv-visual .print-hero--landscape .print-hero__title { font-family: var(--body); color: #fff; font-weight: 600; font-size: clamp(48px, 4.9vw, 70px); line-height: 1.06; letter-spacing: -.05em; }
.mv-visual .print-hero--landscape h1 em { font-family: inherit; font-style: normal; color: var(--mv-yellow); font-weight: inherit; }
.mv-visual .print-hero--landscape .print-hero__lead { color: #f0f5fc; font-size: 17px; max-width: 43ch; }
.print-hero--landscape .print-hero__booking { border-color: #ffffff60; margin-top: 25px; }
.print-hero--landscape .print-hero__price > span, .print-hero--landscape .print-hero__terms span { color: #edf3fa; }
.print-hero--landscape .print-hero__price > strong { color: var(--mv-yellow); }
.mv-visual .print-hero--landscape .print-hero__terms { border-color: #ffffff60; color: #fff; }
.mv-visual .print-hero--landscape .print-hero__cta { border-color: var(--mv-yellow); border-radius: 5px; box-shadow: 0 3px 0 #b38b00; }
.mv-visual .print-hero--landscape .print-hero__cta:hover { box-shadow: 0 4px 0 #b38b00; }
.mv-visual .print-hero--landscape .print-small, .mv-visual .print-hero--landscape .hero-contact-alternative { color: #edf3fa; }
.print-hero--landscape .hero-contact-alternative a, .print-hero--landscape .print-link { color: #fff; border-color: #ffffff80; }
.print-hero--landscape a:focus-visible { outline-color: var(--mv-yellow); }
.hero-luggage-tag { justify-self: end; display: flex; align-items: center; gap: 16px; padding: 21px 25px; background: #062b66; border-top: 3px solid var(--mv-yellow); color: #fff; box-shadow: 0 8px 30px #061d3530; }
.hero-luggage-tag > img { width: 45px; height: 52px; object-fit: contain; }
.hero-luggage-tag div > span { display: block; margin-bottom: 6px; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: #e1ecff; }
.hero-luggage-tag strong { display: flex; align-items: center; gap: 15px; font-size: 18px; font-weight: 500; }
.hero-luggage-tag strong span { color: var(--mv-yellow); }
.mv-visual .hero-luggage-tag p { margin: 7px 0 0; font-size: 11px; color: #e1ecff; }
.hero-stops { background: var(--mv-paper); }
.home .hero-stops .hero-route { margin-top: 0; border-top: 0; padding-block: 16px; }
@media (min-width: 1800px) { .hero-real-photo img { object-position: center 66%; } }
@media (max-width: 1000px) {
 .mv-visual .print-hero--landscape .print-hero__grid { grid-template-columns: 1.2fr .8fr; gap: 20px; }
 .hero-luggage-tag { padding: 17px; gap: 10px; }
 .hero-luggage-tag > img { display: none; }
 .hero-luggage-tag strong { font-size: 16px; gap: 10px; }
}
@media (max-width: 760px) {
 .mv-visual .print-hero--landscape { padding: 108px 0 30px; }
 .mv-visual .print-hero--landscape .print-hero__grid { grid-template-columns: 1fr; min-height: 0; gap: 42px; }
 .hero-real-photo img { object-position: center 55%; }
 .print-hero--landscape::before { background: linear-gradient(90deg, #061d35b8, #061d358c), linear-gradient(0deg, #061d3526, transparent 45%); }
 .mv-visual .print-hero--landscape .print-eyebrow { font-size: 9px; letter-spacing: .04em; gap: 8px; margin-bottom: 22px; }
 .print-hero--landscape .print-eyebrow::before { width: 18px; }
 .mv-visual .print-hero--landscape .print-hero__title { font-size: clamp(40px, 10.5vw, 64px); }
 .mv-visual .print-hero--landscape .print-hero__lead { font-size: 16px; }
 .hero-luggage-tag { justify-self: end; padding: 16px 19px; background: #062b66ed; }
 .hero-luggage-tag > img { display: block; width: 35px; height: 43px; }
 .home .hero-stops .hero-route { padding-block: 24px; }
}

/* Final home rhythm: an open landscape, a compact service, then people and planning. */
.mv-visual.home .print-hero--landscape { padding-top: 132px; padding-bottom: 45px; }
.mv-visual.home .print-hero--landscape .print-hero__title { font-size: clamp(44px, 4.5vw, 64px); line-height: 1.06; text-wrap: balance; }
.mv-visual.home .print-hero--landscape .print-hero__grid { grid-template-columns: 1.22fr 1fr; }
.mv-visual.home .print-hero--landscape .print-hero__copy { max-width: 640px; }
.mv-visual.home .service-day { background: var(--mv-navy); color: #fff; border: 0; padding-block: 32px; }
.home .service-day__intro > span, .home .service-day__timeline small { color: #d4e3f7; }
.home .service-day__intro a, .home .service-day__timeline strong, .home .service-day__route { color: var(--mv-yellow); }
.home .service-day__timeline p { color: #fff; }
.home .service-day__timeline > div { border-color: #6986b0; }
.home .service-day__route { border-color: #ffc40070; }
.mv-visual.home .print-process { padding-block: 64px; }
.home .service-journey { margin-top: 30px; }
.mv-visual.home .service-journey__steps h3 { font-size: 24px; font-weight: 600; }
.home .service-journey__steps img { height: 155px; }
.mv-visual.home .print-proof { padding-block: 72px; }
.mv-visual.home .print-proof .home-service-photo img { height: 490px; object-position: center 55%; }
.home .home-service-copy { max-width: 520px; }
.home #home-contact-title, .home #home-answers-title { scroll-margin-top: 115px; }
.home-answers { background: #fff; border-top: 1px solid #d6e1ef; padding: 65px 0 72px; }
.home-answers__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 10%; }
.mv-visual .home-answers h2 { font: 400 clamp(36px, 4vw, 54px)/1.08 Georgia, serif; letter-spacing: -.045em; margin: 0; }
.mv-visual .home-answers h2 em { font: italic 400 1em Georgia, serif; color: var(--mv-blue); }
.home-answers .print-questions { margin: 0 0 23px; }
.home-answers .print-questions > div:first-child { padding-top: 0; }
.home-answers .print-questions dd { max-width: 53ch; line-height: 1.65; }
.home .home-end-contact { display: inline-block; margin-top: 12px; font-size: 13px; color: var(--mv-navy); }
@media (max-width: 1000px) and (min-width: 761px) {
 .mv-visual.home .print-hero--landscape .print-hero__title { font-size: 48px; }
 .mv-visual.home .print-hero--landscape .print-hero__grid { grid-template-columns: 1.5fr 1fr; }
}
@media (max-width: 760px) {
 .mv-visual.home .print-hero--landscape { padding: 99px 0 26px; }
 .mv-visual.home .print-hero--landscape .print-hero__grid { grid-template-columns: 1fr; gap: 24px; }
 .mv-visual.home .print-hero--landscape .print-hero__title { font-size: clamp(36px, 9.5vw, 52px); line-height: 1.08; text-wrap: pretty; }
 .mv-visual.home .print-hero--landscape .print-hero__lead { font-size: 15px; }
 .home .hero-luggage-tag { padding: 12px 16px; }
 .home .hero-luggage-tag div > span { font-size: 9px; }
 .home .hero-luggage-tag p { display: none; }
 .mv-visual.home .print-process, .mv-visual.home .print-proof, .mv-visual.home .help-journey { padding-block: 46px; }
 .home .service-journey__steps img { height: 84px; }
 .mv-visual.home .service-journey__steps h3 { font-size: 21px; }
 .home .service-journey__footer { display: block; }
 .home .service-journey__footer p { max-width: none; }
 .mv-visual.home .print-proof .home-service-photo img { height: auto; max-height: 430px; }
 .home-answers { padding-block: 44px 48px; }
 .home-answers__grid { grid-template-columns: 1fr; gap: 30px; }
 .mv-visual.home .mv-help-grid { gap: 0; }
 .mv-visual.home .mv-help-grid > a { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 20px; padding-block: 22px; border-bottom: 1px solid #b8cbe1; }
 .home .help-photo, .home .mv-help-grid > a:first-child .help-photo { height: 135px; }
 .mv-visual.home .help-copy { padding: 0 0 20px; border: 0; }
 .mv-visual.home .help-copy h3 { font-size: 22px; margin-block: 8px; }
 .mv-visual.home .help-copy > span { font-size: 10px; }
 .mv-visual.home .help-copy p { padding: 0; font-size: 13px; }
 .home .help-copy b { bottom: -5px; right: 0; width: 24px; height: 24px; line-height: 24px; font-size: 20px; }
 .home .help-journey > .shell > .text-link { display: inline-block; margin-top: 22px; }
}
