/* Art-direction finish: editorial rhythm, itinerary rules and paper details.
   No global density, palette or photographic crop changes. */
:root{--rule:1px solid var(--line)}
.business-brief-example{border-block:var(--rule)}
.brief-example-heading{display:grid;grid-template-columns:.6fr 1.4fr;gap:14px 5%;align-items:start;margin-bottom:30px}
.brief-example-heading h2{font-size:clamp(30px,3.8vw,48px);max-width:22ch}
.brief-example-heading>.brief-example-note{grid-column:2}
.brief-example-paper{display:grid;grid-template-columns:1fr 1.3fr;border:var(--rule);background:#fcfaf3}
.brief-request{padding:34px;background:var(--ink);color:var(--paper)}
.brief-request .eyebrow{color:inherit;opacity:.8}
.brief-request blockquote{margin:24px 0 0;font:25px/1.5 Georgia,serif}
.brief-response{padding:34px}
.brief-response h3{font-size:24px;margin:0 0 20px}
.brief-response ol{list-style:none;padding:0;margin:0}
.brief-response li{display:flex;gap:18px;padding:16px 0;border-top:var(--rule)}
.brief-response li>span{font-size:11px;color:var(--clay);padding-top:3px}
.brief-response h4{font:500 14px/1.5 DM,Arial,sans-serif;margin:0 0 5px}
.brief-response li p,.business-profile p{font-size:13px;line-height:1.75}
.brief-approval{font-size:13px;padding-block:18px;border-top:var(--rule)}
.brief-example-note{font-size:10px;line-height:1.6;opacity:.8}
.business-profile{margin-top:28px;border-block:var(--rule);grid-column:1/-1}
.business-profile summary{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:60px;cursor:pointer;list-style:none}
.business-profile summary::-webkit-details-marker{display:none}
.business-profile summary>span:last-child{color:var(--clay);font-size:24px}
.business-profile[open] summary>span:last-child{transform:rotate(45deg)}
.business-profile>div{padding:8px 0 24px;max-width:850px}
.business-profile h3{font-size:28px;margin-bottom:20px}
.business-profile ul{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;list-style:none;padding:0;margin:0 0 20px}
.business-profile li{font-size:13px;border-inline-start:2px solid var(--clay);padding-inline-start:12px}
.business-profile .line-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px}
@media(max-width:700px){.brief-example-heading,.brief-example-paper{grid-template-columns:1fr}.brief-example-heading>.brief-example-note{grid-column:auto}.brief-request,.brief-response{padding:24px}.brief-request blockquote{font-size:22px}.business-profile ul{grid-template-columns:1fr}}
.business-page .header>a.business-brand{display:inline-flex;align-items:center;gap:14px;width:auto;flex-shrink:0;direction:ltr}
.business-page .business-brand img{display:block;width:145px;height:auto}
.business-brand-label{font:400 12px/1 DM,Arial,sans-serif;letter-spacing:.08em;color:var(--ink);border-inline-start:1px solid var(--line);padding-inline-start:14px}
@media(max-width:700px){.business-page .business-brand img{width:112px}.business-page .header>a.business-brand{gap:9px}.business-brand-label{font-size:10px;letter-spacing:.04em;padding-inline-start:9px}}
.journey-preview{border-block:var(--rule);display:grid;grid-template-columns:1fr 1.2fr;gap:6%;align-items:start;padding-block:42px}
.journey-preview h2{font-size:clamp(28px,3vw,42px);max-width:18ch;margin-top:14px}
.journey-preview summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;border-bottom:var(--rule);cursor:pointer;list-style:none}
.journey-preview summary::-webkit-details-marker{display:none}
.journey-preview summary>span{color:var(--clay);font-size:24px}
.journey-preview details[open] summary>span{transform:rotate(45deg)}
.journey-sample{padding:26px;background:#fcfaf3;border:var(--rule);border-top:0}
.journey-sample h3{font-size:28px;margin:12px 0 24px}
.journey-sample h4{font:500 14px/1.5 DM,Arial,sans-serif;margin:0 0 8px}
.journey-sample p{font-size:13px;line-height:1.75}
.journey-sample .sample-notice{font-size:10px;line-height:1.6;opacity:.8}
.sample-brief{padding-bottom:20px;border-bottom:var(--rule)}
.sample-route{list-style:none;padding:0;margin:24px 0;border-inline-start:1px solid var(--clay)}
.sample-route li{position:relative;padding:0 0 22px 22px;padding-inline:22px 0}
.sample-route li:last-child{padding-bottom:0}
.sample-route li::before{content:'';position:absolute;inset-inline-start:-4px;top:7px;width:7px;height:7px;background:var(--clay);border-radius:50%}
.sample-delivery{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-block:22px;border-top:var(--rule)}
.journey-sample .text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;border-bottom:1px solid}
@media(max-width:700px){.journey-preview{grid-template-columns:1fr;gap:22px;padding-block:30px}.journey-sample{padding:20px}.sample-delivery{grid-template-columns:1fr;gap:18px}}
/* Fixed windows, independent of source dimensions, captions and adjacent copy. */
.photo-window{display:block;position:relative;width:100%;overflow:hidden;aspect-ratio:3/2}
.service-connections .connections-stage{position:relative;top:auto;align-self:start}
.route-panels>.route-panel,.route-panels>.route-panel+.route-panel{border-top:0;animation:none}
.route-panel>figure{align-self:start;position:relative;aspect-ratio:auto}
.route-panel>figure .photo-window{aspect-ratio:1/1}
.route-panel>figure .photo-window img,.connection-photo .photo-window img{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:cover;transform:none}
.connection-photo figure[data-photo=flight] .photo-window img{object-position:50% 50%}
.connection-photo figure[data-photo=rail] .photo-window img{object-position:50% 50%}
.connection-photo figure[data-photo=transfer] .photo-window img{object-position:50% 48%}
.connection-photo figure[data-photo=drive] .photo-window img{object-position:50% 55%}
.connection-photo figure[data-photo=experience] .photo-window img{object-position:50% 45%}
.connection-photo figure[data-photo=family] .photo-window img{object-position:center top}
.connection-photo figure[data-photo=luggage] .photo-window img{object-position:50% 45%}
.route-panel>figure[data-photo=cruise] .photo-window img{object-position:50% 78%}
.connection-photo figcaption.connection-meta{box-sizing:border-box;min-height:44px}
.connection-photo figure{display:block;background:none}
.connection-photo figcaption.connection-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:0;min-height:44px;opacity:1;background:none}
.connection-meta .connection-photo-label{position:static;border:0;margin:0;padding:0;min-width:0;line-height:1.5}
.connection-meta>a{font-size:10px;line-height:1.5;white-space:nowrap;text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
.route-panel>figure figcaption.photo-credit-link{inset:auto 12px 12px auto;padding:4px 8px;background:#112d29d9;font-size:10px;line-height:1.5}
.photo-credit-link a{text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:24px}
/* Move the complete hero seal towards the outer edge on desktop only. */
@media(min-width:1001px){html:not([dir=rtl]) .departure-seal{right:45px}}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.header nav a{position:relative}
.header nav a::after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.header nav a:hover::after,.header nav a:focus-visible::after{transform:scaleX(1)}
.header .lang{min-width:38px;min-height:38px;display:grid;place-items:center}
.header-cta{display:inline-flex;align-items:center;min-height:42px}
.arrival-strip{position:relative}
.arrival-strip::before{content:'';position:absolute;left:0;bottom:-3px;width:5px;height:5px;border-radius:50%;background:var(--clay)}
.section-head .eyebrow,.people-heading .eyebrow{padding-top:7px}
.advantages article{padding-right:12px}
.advantages article>span{display:inline-flex;align-items:center;gap:10px}
.advantages article>span::after{content:'';width:30px;height:1px;background:var(--clay);opacity:.5}
.route-note .folio{letter-spacing:.07em}
.route-note aside{border-top-style:dashed}
.connection-item button{transition:color .2s ease}
.connection-item button:hover span{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.connection-item button[aria-pressed=true] small{opacity:1;color:var(--clay)}
.connection-photo figcaption{opacity:1;color:var(--ink)}
.life-map{box-shadow:8px 8px 0 #e6e1d4;transform:rotate(-1deg)}
body .life-track{grid-template-columns:1fr;gap:12px}
.life-track strong{font:15px/1.5 DM,Arial,sans-serif;letter-spacing:.01em}
.life-track p{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;font-size:25px}
.life-track p span,.life-track p em{display:inline}
.life-track p span::before,.life-track p em::before{content:'↗';font:12px DM,Arial,sans-serif;margin-right:12px;opacity:.55}
.people-stories article>p+p{margin-top:12px}
.people-stories .languages,.business-languages{display:inline-block;border-bottom:1px solid var(--line);padding-bottom:7px;line-height:1.8}
.people-stories .person-title{margin-bottom:18px}
.personal-note summary{min-height:44px;display:flex;align-items:center}
.service-columns{gap:22px}
.service-columns article,.service-columns article:first-child,.service-columns article:last-child{position:relative;padding:28px;border:var(--rule);background:#fcfaf3}
.service-columns article::before{content:'';position:absolute;top:-1px;left:28px;width:38px;border-top:3px solid var(--clay)}
.service-columns .service-index{font-size:15px;letter-spacing:.06em}
.service-columns .service-price{border-top-style:dashed}
.service-columns .text-link{min-height:40px;display:flex;align-items:center}
.service-columns article{display:flex;flex-direction:column;min-width:0}
.service-columns .text-link{margin-top:auto;align-self:flex-start}
/* Consistent interaction feedback without introducing another visual language. */
:where(a,button,summary,input,textarea,select):focus-visible{outline:2px solid var(--clay);outline-offset:5px}
main>section[id]{scroll-margin-top:24px}
.route-note,.people-stories,.pernoita-enquiry{min-width:0}
.people-stories article>p{max-width:65ch}
.site-footer .footer-bottom nav{row-gap:6px}
.service-columns h3{font-size:32px}
.marquis-receipt{position:relative}
.marquis-receipt::before{content:'';position:absolute;top:-1px;left:30px;width:42px;border-top:3px solid var(--clay)}
.marquis-totals dd{font-variant-numeric:lining-nums tabular-nums}
.pernoita-enquiry{position:relative;box-shadow:5px 5px 0 #193f3514}
.pernoita-enquiry::before{content:'';position:absolute;top:-1px;left:36px;width:38px;border-top:3px solid var(--ink)}
.pernoita-enquiry .enquiry-letterhead{letter-spacing:.035em}
.pernoita-enquiry .button{width:100%;justify-content:center;min-height:48px}
.pernoita-enquiry .button:disabled{opacity:.65;cursor:wait}
.pernoita-enquiry a{text-decoration:underline;text-underline-offset:3px}
.site-footer .footer-bottom nav a{display:inline-flex;align-items:center;min-height:36px}
.business-page .business-services{gap:34px}
.business-page .business-services article{position:relative;border-top:0;padding-top:22px}
.business-page .business-services article::before{content:'';position:absolute;left:0;right:0;top:0;border-top:var(--rule)}
.business-page .business-services article::after{content:'';position:absolute;left:0;top:-3px;width:7px;height:7px;background:var(--paper);border:1px solid var(--clay);border-radius:50%}
.business-page .assistant-section{position:relative;gap:6%;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
.business-page .assistant-section h2{font-size:clamp(32px,3.5vw,50px);line-height:1.15}
.business-page .assistant-section em{border-top:var(--rule);padding-top:18px}
.business-page .business-timeline{gap:0}
.business-page .business-timeline li{position:relative;padding-right:30px;border-top-style:solid}
.business-page .business-timeline li::after{content:'';position:absolute;left:0;top:-4px;width:7px;height:7px;background:var(--clay);border-radius:50%}
.business-page .business-timeline li:last-child{padding-right:0}
.business-page .business-people-grid article{padding-top:20px}
.business-page .business-credential{display:inline-block;font-size:12px;border-left:2px solid var(--clay);padding-left:12px}
.business-page .business-models{gap:32px}
.business-page .business-models article{padding:26px;border:var(--rule)}
.business-page .executive-grid article{position:relative}
.business-page .executive-grid article>span{font-variant-numeric:tabular-nums;letter-spacing:.07em}
.business-page .executive-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;min-height:36px}
.business-page .executive-faq summary::after{content:'+';font-size:22px;color:var(--clay);flex-shrink:0}
.business-page .executive-faq details[open] summary::after{content:'−'}
.business-page .executive-faq details>p{margin-top:14px}
@media(max-width:900px){.service-columns{gap:12px}.service-columns article,.service-columns article:first-child,.service-columns article:last-child{padding:24px 20px}}
@media(max-width:800px){.business-page .assistant-section{grid-template-columns:1fr;gap:20px}.business-page .business-timeline{gap:26px}.business-page .business-timeline li{padding-right:0}.business-page .executive-faq summary{min-height:44px}}
@media(max-width:700px){.service-columns{gap:18px}.service-columns article,.service-columns article:first-child,.service-columns article:last-child{padding:26px}.advantages article>span::after{display:none}.life-track p{font-size:24px}.pernoita-enquiry::before{left:22px}.header .lang{min-height:42px;min-width:42px}}
@media(prefers-reduced-motion:reduce){.header nav a::after,.connection-item button{transition:none}}
