@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#101412;--text:#f4f4ed;--muted:#a8b0aa;--accent:#e2ffcc}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}body>header{height:100px;padding:0 3.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff22;gap:24px}.brand{font-size:15px;letter-spacing:.1em}.brand span{display:block;font-size:11px;letter-spacing:0;color:var(--muted);margin-top:8px}nav{display:flex;gap:8px}nav a{font-size:12px;border:1px solid #ffffff30;border-radius:40px;padding:12px 18px}nav a.active{background:var(--text);color:#101412}.preview,.eyebrow{font-size:10px;letter-spacing:.16em}.preview{color:var(--muted)}button{border:1px solid #ffffff50;background:transparent;border-radius:40px;padding:12px 20px;transition:background .2s}button:hover{background:#ffffff16}#cinema{height:calc(100svh - 100px);min-height:660px;position:relative;overflow:hidden}.scene-image,.shade{position:absolute;inset:0}.scene-image{background-size:cover;background-position:center 42%;transition:opacity .22s,transform 1s;transform:scale(1.025)}.shade{background:linear-gradient(90deg,#000b,transparent 85%),linear-gradient(0deg,#000c,transparent 65%)}.scene-top{position:absolute;top:35px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.2em}.scene-copy{position:absolute;left:8%;bottom:175px;width:62%;max-width:800px}.scene-copy .eyebrow{margin-bottom:25px}.scene-copy h1{font-size:clamp(64px,7.5vw,120px);line-height:.95;letter-spacing:-.065em;font-weight:500;margin:0 0 26px;max-width:760px;text-wrap:balance}.scene-copy>p:not(.eyebrow){font-size:16px;line-height:1.65;max-width:430px;color:#e4e5de}.scene-actions{display:flex;gap:12px;margin-top:28px}.scene-actions button{font-size:12px}.scene-actions button:first-child{background:#f4f4ed;color:#101412;border-color:#f4f4ed}.scene-aside{position:absolute;right:4%;bottom:195px;width:150px}.vertical{writing-mode:vertical-rl;font-size:9px;letter-spacing:.25em;position:absolute;right:0;bottom:180px}.scene-aside p{font-size:12px;line-height:1.7;border-top:1px solid #ffffff66;padding-top:15px}.scene-footer{position:absolute;bottom:32px;left:4%;right:4%;display:flex;align-items:center;gap:24px}#chapters{display:flex;flex:1;gap:18px}#chapters button{border:0;border-top:1px solid #ffffff55;border-radius:0;text-align:left;flex:1;padding:17px 0;color:#ccc;font-size:11px}#chapters button.current{border-top:3px solid white;color:white}#chapters small{display:block;font-size:9px;margin-bottom:8px;color:#ddd}.atlas-heading{padding:38px 4% 26px;display:flex;justify-content:space-between;align-items:end}.atlas-heading .eyebrow{color:var(--accent)}.atlas-heading h1{font-size:clamp(34px,4.2vw,64px);font-weight:500;letter-spacing:-.055em;margin:12px 0 0}.atlas-heading>p{color:var(--muted);font-size:13px;line-height:1.7}.atlas-tools{padding:0 4% 25px;display:flex;justify-content:space-between;gap:14px}#filters{display:flex;gap:8px;flex-wrap:wrap}#filters button{font-size:11px;padding:10px 16px}#filters .active{background:var(--accent);color:#142014;border-color:var(--accent)}#walk-toggle{font-size:11px}#saved-count{margin-left:12px;color:var(--accent)}.atlas-body{margin:0 4% 35px;display:grid;grid-template-columns:minmax(0,1fr) 350px;border:1px solid #ffffff20;min-height:580px}.map{position:relative;overflow:hidden;min-height:580px;background:#1b221f}.map svg{position:absolute;width:100%;height:100%;inset:0;opacity:.7}.district{position:absolute;font-size:10px;color:#8f9c90;letter-spacing:.22em;pointer-events:none}.north{top:10%;left:45%}.west{top:57%;left:8%}.east{top:35%;left:75%}.south{top:87%;left:45%}.river{position:absolute;top:62%;left:62%;font-style:italic;color:#a6c1c4;font-size:13px;transform:rotate(-24deg)}.pin{position:absolute;padding:0;border:0;border-radius:0;background:transparent;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;z-index:2}.pin:hover{background:transparent;z-index:3}.pin img{width:58px;height:67px;object-fit:cover;border:3px solid #e7e9df;box-shadow:0 5px 18px #0009;transition:transform .2s}.pin:hover img,.pin.selected img{transform:translateY(-5px) scale(1.1);border-color:var(--accent)}.pin span{background:#101412e8;margin-top:7px;padding:5px 8px;font-size:10px;white-space:nowrap}.pin.selected span{color:var(--accent)}.map-caption{position:absolute;bottom:20px;left:22px;font-size:9px;letter-spacing:.14em}.map-caption span{display:block;color:var(--muted);font-size:9px;letter-spacing:0;margin-top:7px}.place-panel{border-left:1px solid #ffffff20;background:#151b17}.place-panel>img{width:100%;height:225px;object-fit:cover}.place-content{padding:24px}.place-content .eyebrow{color:var(--accent);font-size:9px}.place-content h2{font-size:30px;font-weight:500;letter-spacing:-.04em;margin:12px 0}.place-content>p{font-size:13px;color:#b9c0ba;line-height:1.7}.field-note{border-top:1px solid #ffffff25;margin-top:22px;padding-top:18px}.field-note span{font-size:9px;letter-spacing:.15em;color:#a7b9a9}.field-note p{font-size:12px;line-height:1.7;margin-bottom:22px}.place-content button{background:var(--accent);border-color:var(--accent);color:#162014;font-size:12px;width:100%}.place-content>a{display:block;font-size:10px;text-align:center;margin-top:18px;color:var(--muted)}#walk{position:fixed;right:0;top:0;bottom:0;background:#19221b;z-index:10;width:400px;max-width:100%;padding:28px;box-shadow:-20px 0 100px #0009;overflow:auto}.walk-head{display:flex;justify-content:space-between;align-items:center}.walk-head h2{font-weight:500;font-size:28px}.walk-head button{padding:6px 13px;font-size:24px}#walk>p{color:var(--muted);font-size:13px;line-height:1.7}.walk-item{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid #ffffff25}.walk-item img{width:55px;height:65px;object-fit:cover}.walk-item span{flex:1;font-size:13px}.walk-item button{padding:5px 10px}.enquire{display:block;padding:15px;background:var(--accent);color:#152015;text-align:center;border-radius:40px;margin-top:28px;font-size:13px}#walk>small{display:block;color:var(--muted);font-size:10px;margin-top:18px}@media(max-width:800px){body>header{height:auto;min-height:115px;flex-wrap:wrap;padding:20px 5%;gap:18px}.preview{display:none}nav{width:100%}nav a{font-size:10px;flex:1;text-align:center;padding:10px}#cinema{height:calc(100svh - 128px);min-height:690px}.scene-copy{left:7%;bottom:200px;width:86%}.scene-copy h1{font-size:64px;max-width:500px}.scene-copy>p:not(.eyebrow){font-size:14px;max-width:330px}.scene-aside{display:none}.scene-actions{gap:8px}.scene-actions button{font-size:10px;padding:12px}.scene-footer{gap:12px;bottom:22px}.scene-footer>button{padding:10px}#chapters{gap:10px}#chapters button{font-size:9px;line-height:1.5}.scene-top{font-size:8px}.atlas-heading{padding:28px 5% 20px}.atlas-heading>p{display:none}.atlas-heading h1{font-size:39px}.atlas-tools{padding:0 5% 20px;align-items:start}#filters{gap:6px}#filters button{font-size:10px;padding:8px 11px}#walk-toggle{white-space:nowrap;padding:9px 12px}.atlas-body{margin:0 5% 25px;grid-template-columns:1fr}.map{min-height:420px}.pin img{width:40px;height:48px}.pin span{font-size:8px}.district{font-size:7px}.place-panel{border-left:0;border-top:1px solid #ffffff20}.place-panel>img{height:260px}.map-caption{font-size:7px;left:12px;bottom:12px}.map-caption span{font-size:8px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}.scene-image{transform:none}}
/* Supplied film images: keep poster artwork intact and offer alternate frames. */
.photo-gallery{display:flex;gap:10px;margin-top:20px}.photo-gallery button{border:1px solid #ffffff55;padding:3px;border-radius:3px;background:#101412}.photo-gallery button.active{border-color:var(--accent)}.photo-gallery img{display:block;width:74px;height:48px;object-fit:cover}#place-gallery{padding:0 24px;margin-top:14px}.place-panel>img.poster{object-fit:contain;background:#080a09;height:300px}.poster-scene .scene-image{background-size:auto 90%;background-repeat:no-repeat;background-position:87% center;background-color:#080a09}.poster-scene .shade{background:linear-gradient(90deg,#080a09 12%,#080a09dc 40%,transparent 75%),linear-gradient(0deg,#000b,transparent 45%)}.poster-scene .scene-copy{width:53%}.poster-scene .scene-aside{display:none}#chapters{min-width:0}#chapters button{min-width:0}.scene-copy{bottom:175px}#scene-gallery{margin-top:18px}
@media(max-width:800px){#chapters{overflow-x:auto;scrollbar-width:thin}#chapters button{flex:0 0 100px}.scene-footer{left:5%;right:5%}.scene-copy{bottom:160px}.poster-scene .scene-image{background-size:auto 58%;background-position:center 0}.poster-scene .shade{background:linear-gradient(0deg,#080a09 20%,#080a09eb 43%,#080a0966 80%,transparent)}.poster-scene .scene-copy{width:86%;bottom:155px}.poster-scene .scene-copy h1{font-size:54px}.scene-copy h1{font-size:56px}.scene-copy .eyebrow{font-size:9px}.photo-gallery img{width:64px;height:40px}.scene-top{z-index:1}.preview{display:block;font-size:10px}.map .pin img{width:36px;height:43px}.pin span{max-width:95px;white-space:normal;text-align:center}}
/* Location-led copy and uncropped contact-sheet compositions. */
.scene-copy h1{font-size:clamp(48px,6vw,92px)}.scene-aside{display:none}.scene-copy>p:not(.eyebrow){max-width:470px}.poster-scene .scene-image{transform:none;transition:none}.poster-scene .scene-copy{width:45%}.poster-scene .scene-copy h1{font-size:clamp(46px,5vw,78px)}#scene-collage{position:absolute;right:4%;top:9%;bottom:150px;width:48%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:18px;z-index:1;pointer-events:none}#scene-collage figure{margin:0;padding:9px;background:#e5e5dc;box-shadow:0 12px 50px #0008;transform:rotate(-4deg)}#scene-collage figure:nth-child(2){transform:rotate(5deg);margin-top:90px}#scene-collage img{display:block;width:100%;max-height:430px;object-fit:contain;background:#111}.collage-scene .scene-image{background-image:none!important;background-color:#111815;transform:none}.collage-scene .shade{background:radial-gradient(ellipse at 80% 40%,#3b494333,transparent 70%)}.collage-scene .scene-copy{width:42%;left:5%;bottom:210px;z-index:2}.collage-scene .scene-copy h1{font-size:clamp(42px,5vw,76px)}.scene-top,.scene-footer{z-index:3}.place-panel>img.poster{height:360px}.field-note p{color:#c0c8bf}#filters{gap:6px}
@media(max-width:800px){.collage-scene{min-height:940px!important}.collage-scene #scene-collage{top:65px;left:8%;right:8%;width:84%;height:245px;bottom:auto;gap:14px}.collage-scene #scene-collage figure:nth-child(2){margin-top:45px}#scene-collage img{max-height:220px}.collage-scene .scene-copy{top:365px;bottom:auto;left:7%;width:86%}.collage-scene .scene-copy h1{font-size:46px}.scene-copy>p:not(.eyebrow){font-size:13px;line-height:1.65}.poster-scene{min-height:1000px!important}.poster-scene .scene-image{background-size:auto 400px;background-position:center 55px}.poster-scene .shade{background:linear-gradient(0deg,#080a09 30%,#080a09e0 48%,transparent 72%)}.poster-scene .scene-copy{top:490px;bottom:auto;width:86%}.poster-scene .scene-copy h1{font-size:46px}.poster-scene .scene-copy .eyebrow{margin-bottom:18px}.place-panel>img.poster{height:390px}}
/* Chapter-specific art direction. */
#cinema .scene-aside{display:block;right:18px;top:80px;bottom:auto;width:12px;z-index:4;pointer-events:none}#cinema .scene-aside .vertical{position:static;display:block;writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em}#scene-note{display:none}#cinema[data-location="champs"] #scene-collage{width:55%;right:3%;gap:24px}#cinema[data-location="champs"] #scene-collage figure{padding:0;background:transparent;box-shadow:none}#cinema[data-location="champs"] #scene-collage img{max-height:520px}#cinema[data-location="champs"] .scene-copy{width:36%;left:4%}#cinema[data-location="champs"] .scene-copy h1{font-size:clamp(42px,4.6vw,70px)}#cinema[data-location="birhakeim"] .scene-image{background-size:auto 94%;background-position:86% center;transform:none;animation:none}#canal-person{position:absolute;right:0;top:0;width:48%;height:100%;object-fit:cover;object-position:20% center}#cinema[data-location="canal"] .scene-image{background-size:cover;background-position:center;transform:none}#cinema[data-location="canal"] .shade{background:linear-gradient(90deg,#05080bc9 0%,#05080b85 37%,transparent 70%),linear-gradient(0deg,#000b,transparent 55%);z-index:1}#cinema[data-location="canal"] .scene-copy{z-index:2;width:50%;left:6%}#cinema[data-location="canal"] .scene-copy h1{font-size:clamp(50px,6vw,90px)}.landmark{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:center;color:#d2c9a3;pointer-events:none;transform:translate(-50%,-50%)}.map .landmark svg{position:static;width:34px;height:42px;opacity:.9;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.landmark span{font-size:9px;white-space:nowrap;margin-top:4px;letter-spacing:.03em}.eiffel{left:25%;top:53%}.sacre{left:59%;top:12%}.notre{left:66%;top:77%}
@media(max-width:800px){#cinema .scene-aside{right:8px;top:75px}#cinema .scene-aside .vertical{font-size:7px}#cinema[data-location="champs"] #scene-collage{left:5%;right:5%;width:90%;gap:15px}#cinema[data-location="champs"] .scene-copy{left:7%;width:86%}#cinema[data-location="champs"] #scene-collage img{max-height:250px}#cinema[data-location="champs"] .scene-copy h1{font-size:46px}#cinema[data-location="birhakeim"] .scene-image{background-size:auto 400px;background-position:center 55px}#cinema[data-location="canal"]{min-height:900px}#canal-person{width:52%;height:100%;object-position:22% center}#cinema[data-location="canal"] .scene-copy{width:86%;left:7%;bottom:175px}#cinema[data-location="canal"] .shade{background:linear-gradient(0deg,#05080bf0 5%,#05080bdd 40%,#05080b40 80%,transparent);z-index:1}#cinema[data-location="canal"] .scene-copy h1{font-size:52px}.map .landmark svg{width:25px;height:31px}.landmark span{font-size:7px}.sacre{left:62%;top:11%}.notre{left:72%;top:83%}}

.landmark{color:#fff}#plan-walk{width:100%;border:0}
.plp-assistant{color-scheme:light}.plp-assistant input,.plp-assistant select,.plp-assistant textarea{color:#111417}

body>header .brand span,body>header .preview{font-size:13px}.scene-copy>p:not(.eyebrow),.place-content>p{text-align:justify;hyphens:auto}
#plan-walk:hover,#plan-walk:focus-visible{background:#c9f6ac;color:#152015}#plan-walk:active{background:#b8e69a;color:#152015}
