/* Replaces the source template's fixed-height editorial cards. */
.hero{position:relative}
#hero-trail{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.intro-replay{position:absolute;right:max(30px,calc((100vw - var(--max))/2));bottom:15px;color:inherit;z-index:4;font-size:12px}
.hero-video-toggle{bottom:78px}
.collage-playground{min-width:0;position:relative}
.collage-toolbar{display:flex;gap:25px;justify-content:flex-end;margin-bottom:25px}
.collage-toolbar button{font-size:11px}
.collage-board{isolation:isolate}
.collage-photo{transform:translate(var(--user-x,0px),var(--user-y,0px)) translateY(var(--drift-y,0px)) rotate(calc(var(--tilt) + var(--drift-turn,0deg))) scale(var(--user-scale,1));touch-action:pan-y}
.collage-board[data-dragging=on] .collage-photo{cursor:grab;touch-action:none}
.collage-photo img{user-select:none;-webkit-user-drag:none}
.photo-zoom-controls{position:absolute;top:8px;right:8px;display:flex;gap:3px;opacity:0;transition:opacity .2s;z-index:5}
.collage-photo:hover .photo-zoom-controls,.collage-photo:focus-within .photo-zoom-controls{opacity:1}
.photo-zoom-controls button{width:36px;height:40px;background:var(--paper);color:var(--ink);box-shadow:0 2px 5px #0002}
.story-title{font-size:36px;margin:22px 0}
.story-paragraph{font-size:20px;line-height:1.65;max-width:680px;margin:20px 0}
.story-question{font-size:21px;font-style:italic;margin-block:30px}
.story-image{margin-top:30px;aspect-ratio:16/10;overflow:hidden;border:8px solid var(--paper)}
.story-image img{height:100%}
.optional-image{max-width:540px;aspect-ratio:16/9;margin-bottom:28px}
.optional-image img{height:100%;object-fit:cover}
.route-place{margin-bottom:14px;line-height:1.5;letter-spacing:.04em}
.about-editorial{display:grid;grid-template-columns:1fr 3fr;gap:60px;border-top:1px solid var(--line);padding-block:55px}
.about-editorial h2{font-size:42px;margin-bottom:24px}
.about-editorial p{max-width:680px;font-size:19px;line-height:1.7}
.team-section{padding-block:60px;border-block:1px solid var(--line);margin-bottom:50px}
.team-section>h2{font-size:42px}
.team-section article{max-width:680px;margin-top:35px}
.team-section article h3{font-size:30px}
.media-overview{margin:70px 0}
.media-overview h2{font-size:35px}
.release{display:block;margin:30px 0 0;padding:38px;max-height:none;overflow:visible}
.release>h2{font-size:clamp(32px,4vw,50px);max-width:1000px;margin:23px 0}
.release-subtitle{font-size:22px;max-width:850px;line-height:1.5}
.release-lead{font-size:19px;line-height:1.7;max-width:680px;margin-top:30px}
.release-full{margin-top:35px;max-height:none;overflow:visible}
.release-full p{font-size:18px;line-height:1.75;margin-bottom:26px}
.release-full h3{font-size:26px}
.fact-sheet{border-collapse:collapse;width:100%;font-size:17px;line-height:1.6}
.fact-sheet th,.fact-sheet td{border-top:1px solid var(--line);padding:20px 18px;vertical-align:top;text-align:left}
.fact-sheet th{width:27%;font-weight:500;color:var(--wine)}
.fact-sheet tr:last-child>*{border-bottom:1px solid var(--line)}
.media-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 25px;margin-top:36px}
.media-photo-grid figure{margin:0;min-width:0}
.media-photo-open{display:block;width:100%;position:relative;padding:8px;background:var(--paper);box-shadow:0 8px 22px #33382d16}
.media-photo-open picture{aspect-ratio:4/3;overflow:hidden}
.media-photo-open img{height:100%;object-fit:contain}
.media-photo-open>span{position:absolute;right:12px;bottom:10px;background:var(--paper);padding:4px 8px}
.media-photo-grid figcaption p{font-size:15px;line-height:1.5;margin:18px 0 10px}
.media-photo-grid figcaption small{display:block;line-height:1.6;font-size:12px}
.photo-lightbox{position:fixed;inset:0;width:100vw;height:100svh;max-width:none;max-height:none;border:0;margin:0;background:#141a14f5;color:#faf8ef;padding:60px 35px 25px;overflow:auto}
.photo-lightbox::backdrop{background:#141a14e8}
.photo-lightbox figure{margin:0;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.photo-lightbox img{width:auto;height:auto;max-width:100%;max-height:calc(100svh - 150px);object-fit:contain}
.photo-lightbox figcaption{font-size:14px;max-width:1000px;text-align:center;margin-top:18px}
.lightbox-close{position:fixed;right:24px;top:12px;width:48px;height:48px;color:inherit;background:transparent;font-size:38px;z-index:2}
@media(max-width:760px){
 .intro-replay{right:22px;bottom:13px;font-size:10px}
 .hero-scroll{font-size:9px;max-width:130px}
 .collage-toolbar{justify-content:space-between;gap:10px;margin-bottom:25px}
 .photo-zoom-controls{opacity:1;top:5px;right:5px}
 .photo-zoom-controls button{width:38px;height:44px;font-size:15px}
 .story-title{font-size:31px}
 .story-paragraph,.story-question{font-size:18px}
 .about-editorial{grid-template-columns:1fr;gap:20px;padding-block:36px}
 .about-editorial h2,.team-section>h2{font-size:34px}
 .about-editorial p{font-size:17px}
 .release{padding:24px 20px}
 .release-subtitle{font-size:19px}
 .release-lead,.release-full p{font-size:17px}
 .fact-sheet{font-size:15px}
 .fact-sheet th,.fact-sheet td{padding:17px 10px;overflow-wrap:anywhere}
 .fact-sheet th{width:32%}
 .media-photo-grid{grid-template-columns:1fr;gap:35px}
 .photo-lightbox{padding-inline:16px}
}
@media(prefers-reduced-motion:reduce){#hero-trail{display:none}.photo-zoom-controls{transition:none}}

.text-stop{display:block;border-block:1px solid var(--line);padding-block:45px}.text-stop .route-copy{max-width:760px}.text-stop .route-copy p{max-width:680px}

.photo-zoom-controls{pointer-events:none}.collage-photo:hover .photo-zoom-controls,.collage-photo:focus-within .photo-zoom-controls{pointer-events:auto}

.film-media{max-height:none}.film-grid .film:not(.wide){max-width:440px;width:100%}

/* Simple photography on Home: no stacked prints or drag controls. */
.home-photo-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}
.home-photo-copy h2{font-size:clamp(44px,5vw,72px);line-height:1.04;margin:24px 0 28px}
.home-photo-copy p{max-width:440px;font-size:18px;line-height:1.65}
.home-feature-photo{margin:0;aspect-ratio:4/3;overflow:hidden}
.home-feature-photo img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:760px){.home-photo-story{grid-template-columns:1fr;gap:28px}.home-photo-copy h2{font-size:46px}.home-feature-photo{aspect-ratio:4/3}}

/* About: invitation, participation and a personal record. */
.invitation-about h2{font-size:clamp(34px,3.6vw,52px);line-height:1.12;margin:0 0 28px}
.invitation-about p{font-size:18px;line-height:1.75;margin:0 0 22px}
.about-introduction{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:start;padding-bottom:90px}
.about-intro-copy{min-width:0}.about-intro-copy h1{font-size:clamp(48px,5.4vw,78px);line-height:1.03;letter-spacing:-.045em;margin:24px 0 38px;max-width:710px}
.about-intro-copy p{max-width:680px}.about-photo-stack{display:flex;flex-direction:column;align-items:flex-start;padding-top:70px;min-width:0}
.about-place-photo{margin:0;width:88%;padding:7px;background:var(--paper);box-shadow:0 8px 22px #33382d17;position:relative}
.about-place-photo picture{display:block;aspect-ratio:16/10;overflow:hidden}.about-place-photo img{height:100%;width:100%;object-fit:cover}
.about-place-photo figcaption{font-size:11px;line-height:1.5;padding:10px 5px 3px;letter-spacing:.03em}
.about-place-photo.photo-1{transform:rotate(-2deg)}.about-place-photo.photo-2{align-self:flex-end;width:77%;margin-top:18px;transform:rotate(2deg)}.about-place-photo.photo-3{width:87%;margin-top:18px;transform:rotate(-1deg)}
.about-invitation{display:grid;grid-template-columns:.65fr 1.35fr;gap:85px;padding:72px 0;border-block:1px solid var(--line);align-items:center}
.about-reading{max-width:680px;min-width:0}.about-letter-note{padding:35px 25px;border:1px solid var(--line);background:var(--paper);transform:rotate(-3deg);box-shadow:0 10px 25px #33382d10;position:relative}
.about-letter-note:before{content:'';position:absolute;inset:9px;border:1px solid var(--line);pointer-events:none}.about-letter-note>span{display:block;font-size:65px;text-align:right;color:var(--wine);margin-bottom:35px}.about-letter-note p{font-size:17px;position:relative;margin:0}
.about-participation{padding:85px 0}.about-four-steps{list-style:none;margin:38px 0 32px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 65px}
.about-four-steps li{border-top:1px solid var(--line);padding-top:25px;min-width:0}.about-step-number{display:block;color:var(--wine);font-size:18px;margin-bottom:24px}.about-four-steps h3{font-size:27px;line-height:1.2;max-width:430px;margin:0 0 18px}.about-four-steps p{margin:0;max-width:520px}
.about-participation-note{max-width:850px;color:var(--wine);padding-top:20px;border-top:1px solid var(--line)}
.about-colour-story{padding:65px clamp(24px,4vw,60px);background:color-mix(in srgb,var(--mist) 38%,var(--cream));margin-bottom:80px}.about-colour-story.with-example{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}
.about-palette-example{margin:0;min-width:0}.about-palette-example>span{display:block;margin-bottom:22px}.about-palette-example button{display:block;width:100%;padding:0;position:relative;background:transparent}.about-palette-example button img{display:block;width:100%;height:auto;object-fit:contain}.about-palette-example button>span{position:absolute;right:12px;bottom:12px;background:var(--cream);padding:9px;font-size:22px}.about-palette-example figcaption{margin-top:20px}.about-palette-example figcaption p{font-size:14px;line-height:1.65}
.about-project{padding:0 0 70px}.about-final-invitation{border-top:1px solid var(--line);padding:65px 0 15px}.about-final-invitation h2{max-width:760px}.about-final-invitation .button{min-height:48px}
@media(max-width:1000px){.about-introduction{gap:35px;grid-template-columns:1.1fr .9fr}.about-intro-copy h1{font-size:56px}.about-invitation{gap:45px}.about-colour-story.with-example{gap:30px}}
@media(max-width:760px){.about-introduction{grid-template-columns:1fr;gap:30px;padding-bottom:55px}.about-intro-copy h1{font-size:48px;margin-bottom:28px}.invitation-about p{font-size:17px;line-height:1.75}.about-photo-stack{padding-top:0;gap:22px}.about-place-photo,.about-place-photo.photo-2,.about-place-photo.photo-3{width:100%;margin:0;transform:none;align-self:stretch}.about-place-photo picture{aspect-ratio:16/9}.about-place-photo figcaption{font-size:12px}.about-invitation{grid-template-columns:1fr;padding:48px 0;gap:38px}.about-letter-note{max-width:320px;margin:0 10px}.about-letter-note>span{margin-bottom:12px;font-size:45px}.about-four-steps{grid-template-columns:1fr;gap:30px}.about-participation{padding:55px 0}.about-four-steps h3{font-size:26px}.about-step-number{margin-bottom:16px}.about-colour-story,.about-colour-story.with-example{display:block;padding:35px 22px;margin-bottom:50px}.about-palette-example{margin-top:40px}.about-project{padding-bottom:35px}.about-final-invitation{padding-top:45px}.invitation-about h2{font-size:34px}}

/* Shared guide and media styles retained after removing Portfolio. */

.trail-mechanism{max-width:850px;border-left:2px solid var(--wine);padding-left:26px;margin:35px 0 60px}.trail-mechanism h2{font-size:30px;margin:0 0 16px}.trail-mechanism p{font-size:18px;line-height:1.7}.guide-planning{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.guide-planning h3{font-size:26px;margin-bottom:22px}.guide-planning dt{font-size:13px;color:var(--wine);font-weight:bold;margin-top:20px}.guide-planning dd{margin:8px 0 20px;font-size:16px;line-height:1.65}.guide-planning .text-link{display:block;margin:20px 0}.guide-planning small{font-size:12px;line-height:1.6;display:block}.release-status{font-size:11px;letter-spacing:.08em;color:var(--wine);margin:20px 0}.film-role{font-size:13px;color:var(--wine);line-height:1.6}

.explore-field-sheet{display:flex;gap:40px;align-items:center;justify-content:space-between;margin-top:60px;padding:32px;background:var(--mist)}.explore-field-sheet>div{max-width:650px}.explore-field-sheet h2{font-size:30px;margin:0 0 16px}.explore-field-sheet p{font-size:17px;line-height:1.7;margin:0}.explore-field-sheet>a{max-width:270px;flex-shrink:0}@media(max-width:760px){.explore-field-sheet{flex-direction:column;align-items:flex-start;gap:24px;padding:24px}.guide-planning dd{font-size:15px}}

/* Media source ratios remain intact; native controls stay within the player. */
.film-media video{display:block;object-fit:contain;background:#242424}
.film-duration{font-size:14px;color:var(--wine)}
.film-pending{padding:24px;text-align:center;line-height:1.5}
.video-load-error{position:absolute;inset:0;margin:0;padding:30px;background:var(--cream);color:var(--ink);z-index:2}
.video-load-error[hidden]{display:none}
.media-photo-open>span{font-size:13px!important;padding:10px!important}
.target-media h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin:24px 0 10px;color:var(--wine)}
.explore-page>.carousel-heading{justify-content:flex-end;margin-bottom:24px}
.guide-context .guide-planning{border-top:0;margin-top:16px;padding-top:0}

/* Size the main film from its intrinsic picture, excluding the paper frame. */
.film-media.natural-video{aspect-ratio:auto}
.film-media.natural-video>video{width:100%;height:auto;object-fit:contain;background:transparent}

/* Timetable examples and a schematic sequence, independent of exact geography. */
.journey-example{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:28px}.guide-planning .journey-example h3{font-size:24px;line-height:1.2;margin:0 0 22px}.journey-example .journey-total{font-size:26px;font-weight:600;line-height:1.2;margin:16px 0}.journey-diagram{list-style:none;padding:0;margin:26px 0 14px}.journey-diagram li{position:relative;padding:0 0 24px 27px;margin-left:7px;border-left:2px solid var(--wine);font-size:15px;line-height:1.5}.journey-diagram li:last-child{border-color:transparent;padding-bottom:0}.journey-diagram li:before{content:'';position:absolute;left:-7px;top:3px;width:12px;height:12px;border:2px solid var(--wine);border-radius:50%;background:var(--cream)}.journey-diagram .journey-walk{border-left-style:dashed}.journey-diagram span{display:block;margin-top:5px}.journey-caption{font-size:13px!important;line-height:1.6}.credits-links{padding-left:20px}.credits-links li{margin-bottom:18px}.credits-links a{overflow-wrap:anywhere}.reading-page .reading h2{font-size:26px;line-height:1.25;margin:32px 0 18px}.reading-page .reading section:first-child h2{margin-top:0}.colour-invite>p{max-width:650px;line-height:1.7;margin-bottom:28px}
