@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;750&family=DM+Serif+Display:ital@0;1&family=Caveat:wght@500;600&display=swap');
:root{--paper:#f6f0e5;--cream:#fffaf0;--ink:#233e39;--muted:#68776d;--coral:#c95438;--line:#2f493624;--green:#dbe0cc;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--hand:'Caveat',cursive;--shadow:0 12px 35px #34362213}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--coral);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h2{font:clamp(42px,5.4vw,78px)/1.04 var(--serif);letter-spacing:-.04em;white-space:pre-line}h3{font:36px/1.1 var(--serif);letter-spacing:-.025em}em{font-weight:400}section{position:relative}.section-pad{padding:110px max(6vw,24px)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.handwritten{font:36px/1.08 var(--hand);transform:rotate(-5deg);white-space:pre-line}.coral{color:var(--coral)}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--cream);padding:12px}.skip:focus{top:10px}.topbar{position:absolute;z-index:6;top:24px;left:36px;right:28px;display:flex;justify-content:space-between;align-items:center}.wordmark{font:700 30px/1 var(--serif);letter-spacing:-1.4px}.wordmark span{color:var(--coral);display:inline-block;font-size:34px;vertical-align:middle;margin-left:5px;animation:slow-spin 45s linear infinite}.topbar .wordmark{color:white;text-shadow:0 2px 15px #203a4744}.topbar .wordmark span{color:#ffe6b8}.top-actions{display:flex;gap:7px}.glass{background:#fff9e13d;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid #ffffff6b;box-shadow:0 3px 12px #17373515;border-radius:50px;padding:10px 16px;color:#183c40;font-weight:600;font-size:13px}.top-actions .glass{min-height:44px;background:#fff6dfbc}.dock{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:30;display:flex;gap:3px;align-items:center;background:#f7f2dbdf;padding:7px;border:1px solid #fffbd5;border-radius:60px;box-shadow:0 8px 32px #1b352c38;backdrop-filter:blur(20px);width:max-content}.dock a,.dock button{font-size:12px;font-weight:650;border-radius:40px;padding:12px 17px;white-space:nowrap;transition:background .2s,color .2s;line-height:22px}.dock a{color:#29413d}.dock a.active{background:#fffdf6;box-shadow:0 3px 8px #253d3212}.dock-face{background:var(--coral);border-radius:50%;display:inline-grid;place-items:center;color:#fff;font:18px var(--serif);width:25px;height:25px;margin:-3px 8px -3px -7px}.dock button{background:#233e39;color:#fff9ec}.hero{height:100svh;min-height:740px;max-height:1250px;overflow:hidden;background:#2089b5}.hero-scene{position:absolute;inset:0;overflow:hidden}.landscape{width:100%;height:100%;object-fit:cover;object-position:center 60%;transform:scale(var(--hero-scale,1.02));will-change:transform}.sky-glow{position:absolute;inset:0;background:linear-gradient(90deg,#12354c2a,transparent 60%),linear-gradient(180deg,#18394818,transparent 55%);transition:background 1s}.hero-copy{position:absolute;top:17%;left:5.5%;width:62%;max-width:860px;z-index:2;animation:arrive 1s both .15s}.paper-label{width:max-content;background:#fff4dc;color:#38473d;padding:7px 17px;font:17px var(--hand);letter-spacing:.05em;transform:rotate(-3deg);border-top:2px solid #c95438;box-shadow:1px 4px 5px #30403828}.hello{font-size:20px;color:#fffdf1;margin:26px 0 12px}.hero h1{font:clamp(46px,5.1vw,78px)/1.03 var(--serif);letter-spacing:-.045em;color:#fff9e9;text-shadow:0 2px 20px #1b4a5c20}.hero h1 em{color:#193e42;background:linear-gradient(transparent 27%,#f7dda8 27%,#f7dda8 90%,transparent 90%);padding:0 .05em}.hero-sub{color:#fff9ed;max-width:380px;margin-top:22px;line-height:1.5;font-size:16px;text-shadow:0 2px 6px #22444c99}.hero-start{display:inline-flex;gap:20px;align-items:center;margin-top:24px;background:#fff5dfdc}.little-plane{position:absolute;top:15%;left:49%;width:100px;z-index:2;filter:drop-shadow(0 4px 2px #0001);animation:fly 19s ease-in-out infinite;pointer-events:none}.cloud{position:absolute;width:280px;height:70px;background:#fff8e1;filter:blur(15px);opacity:.13;border-radius:50%;pointer-events:none}.cloud-one{top:17%;left:60%;animation:drift 40s ease-in-out infinite alternate}.cloud-two{top:51%;left:27%;width:140px;animation:drift 34s ease-in-out infinite alternate-reverse}.birds{position:absolute;top:25%;right:35%;font:42px Georgia;color:#1d414b;opacity:.55;animation:sway 8s ease-in-out infinite}.balloon{position:absolute;z-index:3;right:16%;top:5%;width:128px;background:none;animation:float 7s ease-in-out infinite}.balloon svg{width:100%;filter:drop-shadow(5px 10px 6px #17302d33)}.balloon .glass{position:absolute;white-space:nowrap;left:50%;transform:translateX(-50%);bottom:0;background:#fff5debd;font-size:12px}.balloon b{padding-left:8px}.place{position:absolute;z-index:3;display:flex;gap:8px;align-items:center;transition:transform .3s;background:#fdf1d9d9}.place:hover{transform:translateY(-6px)}.place i{height:10px;width:10px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px #c9543825;animation:pulse 2.8s infinite}.place small{font-size:10px;font-weight:400;padding:3px 8px;background:#24463c10;border-radius:20px}.place-bf{bottom:26%;left:7%}.place-ke{right:7%;top:53%}.place-fr{left:35%;bottom:21%}.hero-me{position:absolute;bottom:-60px;right:22%;width:200px;background:none;z-index:4;transition:transform .4s;transform:rotate(5deg)}.hero-me img{height:350px;object-fit:contain;filter:drop-shadow(2px 6px 5px #203b3430)}.hero-me .paper-label{position:absolute;top:50px;right:-50px;font-size:19px;transform:rotate(8deg)}.hero-me:hover{transform:rotate(0) translateY(-14px)}.scroll-note{position:absolute;bottom:110px;left:5.5%;font:20px var(--hand);color:#fffbe9;text-shadow:0 2px 5px #17342c88}.scroll-note span:last-child{display:inline-block;margin-left:15px;animation:bounce 2s infinite}.intro{background:var(--paper);padding-bottom:65px}.intro-text{max-width:1100px;font:clamp(32px,3.8vw,56px)/1.27 var(--sans);font-weight:500;letter-spacing:-.035em;margin-top:35px}.intro-text em{font-family:var(--serif);color:var(--coral);font-size:1.12em}.intro-bottom{margin-top:35px;display:flex;gap:80px;align-items:center}.intro-bottom p{max-width:570px;color:var(--muted);font-size:17px}.intro-bottom .handwritten{color:var(--coral);margin-left:auto;margin-right:45px}.stamp-row{display:flex;gap:35px;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:27px 0;margin-top:65px;font-size:11px;font-weight:600;letter-spacing:.15em;color:var(--muted)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:55px}.section-heading .eyebrow{margin-bottom:20px}.section-heading>p{max-width:290px;color:var(--muted);font-size:15px;padding-bottom:4px}.journey-section{background:#e7e9da}.journey-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:0;box-shadow:var(--shadow);border:1px solid #71836933;border-radius:8px;overflow:hidden}.atlas{position:relative;min-height:490px;background:#e9e5cb;overflow:hidden}.atlas-grid{position:absolute;inset:0;background-image:linear-gradient(#6e806810 1px,transparent 1px),linear-gradient(90deg,#6e806810 1px,transparent 1px);background-size:35px 35px}.atlas-title{position:absolute;top:24px;left:25px;font:10px var(--sans);letter-spacing:.2em}.route-map{position:absolute;inset:0;width:100%;height:100%}.route-shadow{fill:none;stroke:#fff9e7;stroke-width:10}.route-map #routeLine{fill:none;stroke:#c95438;stroke-width:2;stroke-dasharray:5 6}.map-stops{position:absolute;inset:0}.map-stops button{position:absolute;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:transparent}.map-stops button:hover,.map-stops button[aria-pressed=true]{box-shadow:0 0 0 4px #c9543833;background:#c9543822}.compass{position:absolute;top:35px;right:25px;text-align:center;line-height:1.4;font:12px Georgia}.map-caption{position:absolute;left:25px;bottom:15px;font:14px var(--hand);color:#596e59}.chapter-panel{background:var(--cream);padding:40px 35px;display:flex;flex-direction:column;justify-content:space-between;min-height:490px}.chapter-image{height:130px;margin:15px 0;object-fit:cover;width:100%;border:6px solid #fff;box-shadow:0 4px 10px #283c3212;transform:rotate(-2deg)}.chapter-panel h3{font-size:34px;margin:12px 0}.chapter-panel p{font-size:14px;color:var(--muted);line-height:1.65}.chapter-location{font-size:10px;letter-spacing:.15em;color:var(--coral);text-transform:uppercase}.chapter-controls{display:flex;align-items:center;justify-content:space-between;margin-top:25px;gap:20px}.chapter-controls button,.book-controls button{border:1px solid var(--line);border-radius:50%;width:42px;height:42px;background:transparent;font-size:20px}.chapter-controls span{font-size:11px;letter-spacing:.15em}.chapter-tabs{display:flex;gap:10px;margin-top:20px;justify-content:center;flex-wrap:wrap}.chapter-tabs button{background:transparent;border:1px solid #7b8c6e3b;border-radius:30px;padding:10px 20px;font-size:12px}.chapter-tabs button[aria-pressed=true]{background:var(--ink);color:var(--cream)}#mapPlane{transition:transform 1.2s cubic-bezier(.22,.68,.25,1)}.work-section{padding-bottom:90px}.suitcase{position:relative;max-width:960px;margin:90px auto 10px;padding-top:210px;isolation:isolate}.suitcase-handle{width:125px;height:50px;border:12px solid #825a3c;border-bottom:0;position:absolute;left:50%;top:15px;transform:translateX(-50%);border-radius:18px 18px 0 0}.file-fan{height:300px;position:absolute;bottom:50px;inset-inline:25px;display:flex;justify-content:center;align-items:flex-end;perspective:1200px}.project-file{position:absolute;width:32%;height:295px;background:#ebe1bd;border-radius:8px 8px 0 0;padding:24px 20px;text-align:left;border:1px solid #594c3138;box-shadow:-6px 0 14px #28362b1a;transform-origin:50% 100%;transform:translateX(calc(var(--i) * 118px)) rotate(calc(var(--i) * 9deg));transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .4s;z-index:calc(6 - var(--abs));overflow:hidden}.project-file:before{content:'';position:absolute;top:0;left:0;right:0;height:7px;background:var(--file-color)}.project-file:hover,.project-file:focus-visible{transform:translateX(calc(var(--i) * 118px)) translateY(-65px) rotate(calc(var(--i) * 2deg));z-index:10;box-shadow:0 0 40px #343e3026}.project-file .file-number{font:13px var(--sans);color:var(--coral)}.project-file h3{font-size:25px;margin:20px 0 6px}.project-file p{font-size:11px;line-height:1.5}.project-file img{width:100%;height:96px;object-fit:cover;margin-top:18px;border-radius:2px;opacity:.9}.case-front{position:relative;z-index:12;height:190px;background:linear-gradient(110deg,#ba7f51,#a26a43);border:4px solid #885a37;border-radius:12px 12px 24px 24px;box-shadow:0 18px 20px #513a3226;display:flex;align-items:center;justify-content:space-around;pointer-events:none;overflow:hidden}.case-front:before,.case-front:after{content:'';position:absolute;top:0;bottom:0;width:25px;background:#7a5034;box-shadow:inset 0 0 0 2px #c99a6d;left:13%}.case-front:after{left:auto;right:13%}.case-monogram{font:56px var(--serif);color:#e6be87;opacity:.8}.luggage-label{font-size:13px;line-height:1.4;letter-spacing:.16em;background:#efe5c2;color:#4c533e;padding:15px 25px;border:1px solid #756d4f;transform:rotate(-5deg)}.case-sticker{font:15px/1.2 var(--hand);background:#294d43;color:#fff1d5;border:3px solid #f3e6c4;border-radius:50%;width:110px;height:110px;display:grid;place-content:center;text-align:center;transform:rotate(13deg)}.work-index{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:45px}.work-index button{background:transparent;border-top:1px solid var(--line);padding:15px 0;text-align:left}.work-index button:hover{color:var(--coral)}.work-index .index-number{font-size:10px;color:var(--coral);display:block;margin-bottom:7px}.work-index strong{font-size:13px;font-weight:600;display:block}.work-index small{font-size:11px;color:var(--muted)}.powers-section{background:#e5e8d9}.power-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.power-compass{position:relative;width:400px;height:400px;margin:30px auto}.compass-ring{position:absolute;inset:30px;border:1px solid #5d756955;border-radius:50%;box-shadow:0 0 0 9px #f5f0de,0 0 0 10px #5d756944;background:repeating-conic-gradient(from 0deg,#5e76662a 0deg 1deg,transparent 1deg 10deg);mask:radial-gradient(transparent 66%,black 66%)}.power-compass:before{content:'';position:absolute;inset:70px;border:1px solid #607e6240;border-radius:50%}.power-compass:after{content:'';position:absolute;inset:110px;border:1px dashed #607e6240;border-radius:50%}.power-center{position:absolute;inset:170px;border-radius:50%;display:grid;place-items:center;background:#f9f2df;font:38px var(--serif);z-index:2}.north,.south{position:absolute;left:50%;transform:translateX(-50%);font:13px var(--serif);top:0}.south{top:auto;bottom:0}.compass-needle{position:absolute;inset:70px 185px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(var(--coral) 50%,#a6b5a4 50%);transition:transform 1s cubic-bezier(.3,.8,.2,1);z-index:1}.power-point{position:absolute;z-index:4;background:var(--cream);border:1px solid #64795a40;width:46px;height:46px;border-radius:50%;font-size:12px;box-shadow:0 3px 10px #223f3710;transition:background .3s,color .3s}.power-point span{position:absolute;width:150px;font:12px var(--sans);top:52px;left:50%;transform:translateX(-50%);white-space:nowrap}.power-point[aria-pressed=true]{background:var(--coral);color:#fff9ed}.power-point[aria-pressed=true] span{color:var(--coral)}.p0{left:177px;top:18px}.p1{right:18px;top:177px}.p2{left:177px;bottom:18px}.p2 span{top:auto;bottom:52px}.p3{left:18px;top:177px}.p3 span{top:52px}.power-detail .power-no{font:90px/1 var(--serif);color:#b3bca1}.power-detail h3{font-size:42px;margin:12px 0 25px}.power-detail p{color:var(--muted);max-width:420px}.power-tools{margin-top:25px;display:flex;flex-wrap:wrap;gap:8px}.power-tools span{font-size:11px;padding:6px 12px;border:1px solid #68815f40;border-radius:20px}.learning-section{background:var(--ink);color:var(--paper)}.learning-section .section-heading>p{color:#c3cbb7}.learning-tickets{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.boarding-ticket{background:#efe8d1;color:#294338;padding:30px 27px 0;border-radius:7px;position:relative;box-shadow:0 5px 20px #0001;transition:transform .4s;display:flex;flex-direction:column}.boarding-ticket:hover{transform:translateY(-8px) rotate(-1deg)}.ticket-tag{font-size:9px;letter-spacing:.15em;font-weight:600;color:#8b684e;display:block;margin-bottom:23px}.ticket-route{font:44px var(--serif);display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.ticket-route span{font:25px var(--sans);color:var(--coral)}.boarding-ticket h3{font-size:32px;margin-bottom:15px}.boarding-ticket>p{font-size:13px;margin-bottom:20px;line-height:1.6}.ticket-stub{margin:25px -27px 0;padding:25px 27px;border-top:1px dashed #7c866b77;position:relative;margin-top:auto;font-size:9px;letter-spacing:.12em;min-height:130px}.ticket-stub:before,.ticket-stub:after{content:'';width:18px;height:18px;position:absolute;border-radius:50%;background:var(--ink);top:-9px;left:-9px}.ticket-stub:after{left:auto;right:-9px}.ticket-stub b{display:block;font-size:12px;letter-spacing:0}.ticket-stub p{font-size:12px;letter-spacing:0;margin-top:6px}.barcode{display:block;background:repeating-linear-gradient(90deg,#384736 0 2px,transparent 2px 4px,#384736 4px 5px,transparent 5px 8px);height:28px;width:100px;margin-top:18px;opacity:.8}.language-list{margin:0 0 24px;padding:0;list-style:none}.language-list li{display:flex;justify-content:space-between;font-size:16px;padding:9px 0;border-bottom:1px solid #526b4520}.language-list li span{font-size:11px;align-self:center;color:#6c7763}.life-section{background:#f1e9da}.scrap-board{position:relative;min-height:850px;border:1px solid #c6bb9f66;background-color:#e9dfc7;background-image:radial-gradient(#99865c22 .8px,transparent .8px);background-size:5px 5px;box-shadow:inset 0 0 60px #b2a27722;border-radius:8px;margin-top:30px}.letter-envelope{position:absolute;left:6%;top:45px;width:30%;height:210px;background:linear-gradient(152deg,#fff7df 49%,#ded2b7 50%,#fff0d6 51%);box-shadow:2px 6px 14px #776c4d22;transform:rotate(-7deg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;transition:transform .4s;border:1px solid #bcb39a55}.letter-envelope:hover{transform:rotate(-2deg) translateY(-8px)}.letter-envelope>span{font-size:28px;color:var(--coral);margin-bottom:10px}.letter-envelope em{font:29px var(--hand)}.letter-envelope small{font-size:10px;margin-top:14px}.portrait-card{position:absolute;top:30px;left:43%;width:25%;margin:0;background:#fffaf0;padding:10px 10px 18px;box-shadow:2px 5px 15px #695e4e26;transform:rotate(7deg)}.portrait-card img{height:210px;width:100%;object-fit:cover;object-position:top}.portrait-card figcaption{font:20px var(--hand);text-align:center;padding-top:10px;line-height:1.1}.tape{position:absolute;width:90px;height:25px;background:#e3ca9680;top:-10px;left:50%;transform:translateX(-50%) rotate(-8deg)}.music-card{background:transparent;position:absolute;right:4%;top:70px;width:23%;transform:rotate(6deg);text-align:center}.vinyl{display:block;width:135px;height:135px;border-radius:50%;margin:auto auto 10px;background:repeating-radial-gradient(#27342e 0px,#27342e 1px,#35443c 2px,#27342e 3px);box-shadow:4px 6px 10px #353c3025;animation:slow-spin 20s linear infinite}.vinyl i{display:block;width:44px;height:44px;border-radius:50%;background:#c95438;position:relative;top:45px;left:45px;border:17px solid #c95438;outline:1px solid #eac092}.vinyl i:after{content:'';width:6px;height:6px;background:#e9e0cc;position:absolute;border-radius:50%;left:2px;top:2px}.music-card .handwritten{font-size:25px}.music-card small{display:block;font-size:10px}.hobby-collage{position:absolute;top:360px;left:6%;right:6%;display:grid;grid-template-columns:repeat(6,1fr);gap:15px}.hobby-polaroid{position:relative;margin:0;background:#fff9ec;padding:8px 8px 12px;box-shadow:2px 6px 12px #5b583425;transform:rotate(var(--tilt));transition:transform .3s;cursor:grab;touch-action:pan-y;user-select:none}.hobby-polaroid:hover{transform:rotate(0) translateY(-7px);z-index:4}.hobby-art{height:135px;background-image:url('assets/hobbies.webp');background-size:300% 200%;background-position:var(--pos)}.hobby-polaroid figcaption{font:20px var(--hand);text-align:center;margin-top:5px}.draggable{cursor:grab;user-select:none;touch-action:pan-y}.dragging{cursor:grabbing;z-index:10!important;transition:none!important}.personal-pass{position:absolute;left:12%;bottom:70px;width:42%;background:#f7f0d9;box-shadow:3px 7px 14px #584d3320;padding:23px 28px;transform:rotate(-5deg);border-right:2px dashed #ada88d}.personal-pass .ticket-tag{margin-bottom:12px}.personal-pass>div{font:35px var(--serif);letter-spacing:.04em}.personal-pass>div span{font-size:20px;color:var(--coral)}.personal-pass p{font-size:11px}.personal-pass .barcode{position:absolute;right:22px;bottom:25px;width:70px;height:22px}.board-note{position:absolute;bottom:100px;right:8%;color:var(--coral);font-size:33px}.journal-section{overflow:hidden}.destination-window{height:420px;border:14px solid #ebe0c7;border-radius:150px 150px 14px 14px;overflow:hidden;position:relative;box-shadow:var(--shadow);max-width:1050px;margin:auto}.window-landscape{position:absolute;inset:0;background:url('assets/valley-v2.webp') center 58%/cover;transition:transform 2s}.destination-window:hover .window-landscape{transform:scale(1.04)}.destination-window:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#172e37a6,transparent 90%);pointer-events:none}.destination-details{position:absolute;z-index:2;left:8%;top:26%;color:#fff9e9;max-width:450px}.destination-details h3{font-size:60px;margin:10px 0}.destination-details p{font-size:17px}.tiny-note{display:block;opacity:.7;font-size:10px;margin-top:18px;max-width:250px}.window-plane{position:absolute;right:12%;top:25%;font-size:70px;color:#fff2d9;transform:rotate(15deg);z-index:1;animation:float 6s ease-in-out infinite}.country-strip{margin:40px -6vw 0;overflow:hidden;padding:15px 0}.country-track{display:flex;width:max-content;gap:12px;animation:marquee 60s linear infinite}.country-strip:hover .country-track,.country-strip:focus-within .country-track{animation-play-state:paused}.country-track button{border-radius:25px;border:1px solid var(--line);padding:9px 20px;background:transparent;white-space:nowrap;font-size:13px}.country-track button[aria-pressed=true]{background:var(--ink);color:var(--cream)}.contact-section{background:#dfe4d2;text-align:center;overflow:hidden;padding-bottom:120px}.contact-section h2{font-size:clamp(65px,8.5vw,128px);margin:30px 0}.contact-section>p:not(.eyebrow){color:var(--muted);max-width:480px;margin:auto;font-size:17px}.contact-links{display:flex;align-items:center;justify-content:center;gap:15px;margin:32px 0 16px}.contact-links a,.contact-links button{background:transparent;border:1px solid #50674b40;border-radius:40px;padding:13px 24px;font-size:13px}.contact-links .contact-main{background:var(--ink);color:#fff9e9}.email-text{font-size:12px;color:var(--muted)}.contact-stamp{position:absolute;right:7%;top:27%;font-size:10px;letter-spacing:.13em;border:2px solid #bf5d3e66;border-radius:50%;width:130px;height:130px;display:grid;place-content:center;line-height:1;color:#bf5d3e99;transform:rotate(17deg)}.contact-stamp span{font-size:40px;line-height:.7}footer{padding:50px 6vw 125px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:25px}footer p{font-size:11px;color:var(--muted)}footer p:nth-of-type(2){text-align:right}footer small{grid-column:1/-1;font-size:10px;opacity:.5}.progress-line{height:3px;background:var(--coral);position:fixed;left:0;top:0;width:var(--progress,0%);z-index:40;pointer-events:none}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s,transform .9s}.reveal.in-view{opacity:1;transform:none}.animate-in{animation:arrive .5s both}dialog{background:var(--paper);color:var(--ink);padding:0;border:1px solid #fff6dd;border-radius:14px;width:min(1060px,calc(100vw - 40px));max-height:90svh;box-shadow:0 25px 100px #10251d55;overflow:auto}dialog::backdrop{background:#152f32a6;backdrop-filter:blur(8px)}dialog[open]{animation:modal-in .45s both}.modal-toolbar{display:flex;align-items:center;justify-content:space-between;padding:18px 25px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:3}.modal-toolbar button{font-size:26px;width:36px;height:36px;background:transparent;border:1px solid var(--line);border-radius:50%;line-height:1}#dialogContent{padding:45px}.modal-heading{font:clamp(36px,5vw,65px)/1.05 var(--serif);margin:15px 0 20px}.modal-lead{max-width:680px;font-size:19px;color:var(--muted)}.project-hero{height:260px;width:100%;object-fit:cover;margin:30px 0;border-radius:5px}.project-content{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px}.project-content h3{font:12px var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.14em;margin-bottom:17px}.project-content p,.project-content li{font-size:15px;color:var(--muted);margin-bottom:12px}.project-content ul{padding-left:18px;margin:0}.result-windows{display:flex;gap:15px;margin:25px 0}.result-window{border:1px solid var(--line);padding:25px 15px;text-align:center;border-radius:60px 60px 5px 5px;flex:1;background:#dedfc8}.result-window b{font:45px var(--serif);display:block}.result-window span{font-size:11px}.modal-link{display:inline-block;border-bottom:1px solid var(--coral);padding:6px 0;margin-top:20px;color:var(--coral)}.book-shell{background:#3d5143;padding:30px;border-radius:5px;perspective:1500px;margin-top:25px}.book-spread{display:grid;grid-template-columns:1fr 1fr;min-height:360px;position:relative;box-shadow:0 8px 25px #10251d55}.book-leaf{background:#fbf1d9;padding:35px 30px;color:#38493a;position:relative}.book-leaf:first-child{box-shadow:inset -15px 0 22px #504e3910;border-right:1px solid #978f7144}.book-leaf:last-child{box-shadow:inset 15px 0 22px #504e3910}.book-leaf p{font:19px/1.65 Georgia,serif}.book-leaf .handwritten{font:37px var(--hand);margin-bottom:20px}.book-leaf img{height:235px;object-fit:contain;width:100%}.book-page-no{position:absolute;bottom:12px;right:20px;font-size:10px;opacity:.5}.book-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:25px;font-size:12px}.turn-sheet{position:absolute;right:0;top:0;bottom:0;width:50%;z-index:5;background:#fbf1d9;transform-origin:left center;backface-visibility:hidden;animation:page-turn .7s ease-in-out forwards;pointer-events:none;box-shadow:0 2px 20px #302c2530}.resume-options{display:flex;gap:15px;margin-top:30px}.resume-options a{border:1px solid var(--line);padding:25px 35px;border-radius:5px;font-size:20px}.music-embed{width:100%;height:400px;border:none;border-radius:12px;margin-top:30px}.modal-footnote{font-size:12px;color:var(--muted);margin-top:25px}body.dark{--paper:#1d302c;--cream:#293d34;--ink:#f0e9d7;--muted:#b9c4af;--line:#e5e6c526;--green:#344638}.dark .hero-scene{filter:brightness(.65) saturate(.7);transition:filter 1s}.dark .journey-section,.dark .powers-section,.dark .life-section,.dark .contact-section{background:#243d34}.dark .chapter-location,.dark .power-detail .power-no{color:#d79370}.dark .chapter-panel{background:#293d34}.dark .atlas{filter:brightness(.85)}.dark .compass-needle{background:linear-gradient(#e29a74 50%,#6a806b 50%)}.dark .power-center{background:#344c3e}.dark .power-point{background:#344c3e}.dark .power-point[aria-pressed=true]{background:var(--coral)}.dark .result-window{background:#344638}.dark .project-file{color:#233e39}.dark .scrap-board{color:#233e39}.dark .contact-stamp{color:#e8a17a99;border-color:#e8a17a66}.dark .learning-section{background:#172b25}.dark .learning-section .ticket-stub:before,.dark .learning-section .ticket-stub:after{background:#172b25}.paused *, .paused *:before,.paused *:after{animation-play-state:paused!important}.paused .reveal{opacity:1;transform:none}.paused #mapPlane,.paused .landscape,.paused .compass-needle{transition:none!important;transform:none}.paused #mapPlane{transform:var(--plane-transform)!important}@keyframes float{0%,100%{translate:0 0;rotate:-2deg}50%{translate:0 -20px;rotate:2deg}}@keyframes fly{0%,100%{transform:translate(0,0) rotate(-3deg)}40%{transform:translate(100px,-30px) rotate(8deg)}70%{transform:translate(180px,8px) rotate(0)}}@keyframes slow-spin{to{rotate:360deg}}@keyframes drift{to{transform:translateX(160px)}}@keyframes sway{50%{transform:translate(25px,-12px)}}@keyframes pulse{50%{box-shadow:0 0 0 10px #c9543800}}@keyframes bounce{50%{translate:0 7px}}@keyframes arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes modal-in{from{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:none}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes page-turn{0%{transform:rotateY(0)}100%{transform:rotateY(-180deg)}}
@media(min-width:1600px){.hero-copy{left:8%}.section-pad{padding-inline:max(8vw,calc((100vw - 1400px)/2))}.hero-me{right:25%}}
@media(max-width:1050px){.hero h1{font-size:60px}.hero-copy{width:72%;top:17%}.hero-me{right:12%;width:160px}.hero-me img{height:290px}.balloon{right:12%;top:5%;width:95px}.hero-sub{max-width:300px}.place-fr{left:36%}.place-ke{right:4%;top:59%}.place small{display:none}.section-pad{padding:80px 5vw}.journey-layout{grid-template-columns:1.2fr 1fr}.chapter-panel{padding:30px 25px}.atlas{min-height:470px}.power-layout{gap:35px}.power-compass{scale:.9;margin-left:-20px}.hobby-collage{grid-template-columns:repeat(3,1fr);top:350px;gap:20px;left:8%;right:8%}.hobby-art{height:140px}.scrap-board{min-height:1100px}.personal-pass{bottom:55px;width:50%;left:6%}.board-note{bottom:90px;right:5%;font-size:29px}.portrait-card{left:39%;width:28%}.music-card{right:3%;width:24%}.learning-tickets{gap:12px}.boarding-ticket{padding-inline:20px}.ticket-stub{margin-inline:-20px;padding-inline:20px}.contact-stamp{right:3%;top:25%;scale:.8}.project-file{width:34%;transform:translateX(calc(var(--i) * 90px)) rotate(calc(var(--i) * 8deg))}.project-file:hover,.project-file:focus-visible{transform:translateX(calc(var(--i) * 90px)) translateY(-65px) rotate(calc(var(--i) * 2deg))}}
@media(max-width:700px){html{scroll-padding-top:18px}.section-pad{padding:65px 20px}.topbar{top:18px;left:20px;right:16px}.wordmark{font-size:26px}.top-actions{gap:5px}.top-actions .glass{padding:8px 12px;font-size:11px;min-height:40px}#theme span[data-en]{display:none}.dock{bottom:12px;padding:5px;gap:0;max-width:calc(100vw - 18px);width:max-content}.dock a,.dock button{padding:10px 11px;font-size:10px}.dock-face{display:none}.dock button{padding:10px 13px}.hero{height:100svh;min-height:760px;max-height:none}.landscape{object-position:59% center;transform:scale(1.05)}.hero-copy{left:22px;top:15%;width:calc(100% - 44px);max-width:500px}.paper-label{font-size:14px;padding:5px 12px}.hello{font-size:17px;margin:25px 0 12px}.hero h1{font-size:clamp(40px,9.4vw,61px);line-height:1.07;letter-spacing:-.04em;max-width:520px}.hero h1 em{box-decoration-break:clone;-webkit-box-decoration-break:clone}.hero-sub{font-size:14px;max-width:250px;margin-top:18px}.hero-start{font-size:11px;padding:9px 14px;margin-top:15px}.balloon{width:75px;top:49%;right:13%}.balloon .glass{font-size:9px;padding:6px 10px}.little-plane{width:65px;top:10%;left:50%;animation:float 8s infinite}.hero-me{width:120px;bottom:20px;right:9%}.hero-me img{height:225px}.hero-me .paper-label{font-size:14px;top:70px;right:55px;white-space:nowrap}.place-bf{bottom:25%;left:5%;font-size:11px;padding:8px 12px}.place-ke{top:auto;bottom:30%;right:4%;font-size:11px;padding:8px 12px}.place-fr{left:9%;bottom:15%;font-size:11px;padding:8px 12px}.scroll-note{left:23px;bottom:85px;font-size:16px}.intro-text{font-size:30px;line-height:1.32;margin-top:25px}.intro-bottom{gap:25px;align-items:flex-start;flex-direction:column;margin-top:25px}.intro-bottom p{font-size:15px}.intro-bottom .handwritten{margin-left:auto;margin-right:25px;font-size:30px}.stamp-row{gap:14px;flex-wrap:wrap;justify-content:flex-start;margin-top:35px;padding:20px 0;font-size:8px}.section-heading{display:block;margin-bottom:35px}.section-heading .eyebrow{font-size:9px;margin-bottom:18px}.section-heading>p{font-size:14px;max-width:320px;margin-top:22px}.section-heading h2{font-size:43px;line-height:1.08}.journey-layout{grid-template-columns:1fr;border-radius:5px}.atlas{min-height:300px}.atlas-title{font-size:8px;top:15px;left:15px}.compass{top:15px;right:15px;font-size:10px}.map-caption{font-size:11px;left:15px;bottom:8px}.route-map{width:100%;height:100%}.chapter-panel{padding:25px;min-height:360px}.chapter-panel h3{font-size:32px}.chapter-image{height:130px}.chapter-controls{margin-top:18px}.chapter-tabs{gap:7px;justify-content:flex-start}.chapter-tabs button{font-size:10px;padding:8px 12px}.suitcase{margin-top:60px;padding-top:0;max-width:100%}.suitcase-handle{display:none}.file-fan{position:relative;inset:auto;height:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}.project-file{position:relative;width:auto;height:215px;transform:none!important;border-radius:5px;padding:17px 14px;box-shadow:0 4px 8px #29352910}.project-file:hover{box-shadow:0 6px 15px #29352930}.project-file h3{font-size:22px;margin:13px 0 5px}.project-file p{font-size:10px}.project-file img{height:77px;margin-top:10px}.project-file:last-child{grid-column:1/-1;height:160px;display:grid;grid-template-columns:1fr 1fr;gap:5px 15px}.project-file:last-child img{grid-row:1/4;grid-column:2;height:120px;margin:0}.project-file:last-child h3{margin:3px 0}.case-front{height:100px;margin-top:10px;border-radius:7px 7px 18px 18px}.case-monogram{font-size:30px}.case-sticker{width:63px;height:63px;font-size:10px;border-width:2px}.luggage-label{font-size:8px;padding:10px 13px}.case-front:before,.case-front:after{width:15px;left:10%}.case-front:after{left:auto;right:10%}.work-index{display:none}.power-layout{grid-template-columns:1fr;gap:25px}.power-compass{width:310px;height:310px;margin:10px auto;scale:1}.compass-ring{inset:25px}.power-compass:before{inset:55px}.power-compass:after{inset:85px}.power-center{inset:132px;font-size:30px}.compass-needle{inset:55px 143px}.power-point{height:40px;width:40px;font-size:11px}.power-point span{font-size:10px;width:130px;top:44px}.p0{top:8px;left:135px}.p1{top:135px;right:8px}.p2{bottom:8px;left:135px}.p2 span{top:auto;bottom:44px}.p3{top:135px;left:8px}.p3 span{top:44px}.power-detail{padding:20px 5px}.power-detail .power-no{font-size:65px}.power-detail h3{font-size:35px}.power-detail p{font-size:15px}.learning-tickets{grid-template-columns:1fr;gap:25px}.boarding-ticket{padding:25px 27px 0}.ticket-stub{margin-inline:-27px;padding-inline:27px;min-height:110px;margin-top:18px}.learning-section .section-heading>p{font-size:14px}.scrap-board{min-height:1360px;margin-inline:-5px}.letter-envelope{left:5%;top:30px;width:52%;height:180px;transform:rotate(-5deg);padding:12px}.letter-envelope em{font-size:22px}.letter-envelope small{font-size:9px}.portrait-card{top:230px;left:9%;width:52%;transform:rotate(-7deg)}.portrait-card img{height:210px}.portrait-card figcaption{font-size:20px}.music-card{top:80px;right:2%;width:36%;transform:rotate(8deg)}.vinyl{width:95px;height:95px}.vinyl i{height:32px;width:32px;top:32px;left:32px;border-width:11px}.music-card .handwritten{font-size:22px}.music-card small{font-size:9px}.hobby-collage{top:575px;left:7%;right:7%;grid-template-columns:1fr 1fr;gap:20px 18px}.hobby-art{height:120px}.hobby-polaroid figcaption{font-size:20px}.personal-pass{left:7%;bottom:50px;width:85%;padding:20px}.personal-pass .ticket-tag{font-size:8px}.personal-pass>div{font-size:28px}.personal-pass .barcode{width:50px;right:15px;bottom:18px;height:20px}.board-note{bottom:auto;top:350px;right:5%;font-size:25px;writing-mode:vertical-rl;white-space:normal;max-height:180px;transform:rotate(6deg)}.destination-window{height:360px;border-width:9px;border-radius:100px 100px 10px 10px}.destination-details{left:9%;top:28%;max-width:80%}.destination-details h3{font-size:42px}.destination-details p{font-size:14px}.destination-details .eyebrow{font-size:8px}.window-plane{font-size:50px;right:8%;top:12%}.country-strip{margin-top:20px;margin-inline:-20px}.country-track{gap:8px;animation-duration:80s}.country-track button{font-size:11px;padding:9px 16px}.contact-section h2{font-size:64px;margin:25px 0}.contact-section>p:not(.eyebrow){font-size:15px;max-width:290px}.contact-links{gap:8px;flex-wrap:wrap}.contact-links a,.contact-links button{font-size:11px;padding:12px 17px}.contact-stamp{position:relative;right:auto;top:auto;margin:40px auto -15px;width:100px;height:100px;scale:1;font-size:8px}.contact-stamp span{font-size:30px}footer{padding:40px 20px 110px;grid-template-columns:1fr 1fr;gap:15px}footer .wordmark{font-size:25px}footer p{font-size:9px}footer p:nth-of-type(1){text-align:right}footer p:nth-of-type(2){text-align:left;grid-column:1/-1}footer small{font-size:8px}dialog{width:calc(100vw - 24px);max-height:91svh;border-radius:8px}.modal-toolbar{padding:13px 17px}.modal-toolbar .eyebrow{font-size:9px}#dialogContent{padding:24px}.modal-heading{font-size:39px}.modal-lead{font-size:16px}.project-hero{height:180px;margin:22px 0}.project-content{grid-template-columns:1fr;gap:25px}.project-content p,.project-content li{font-size:14px}.result-windows{gap:8px}.result-window{padding:23px 6px 15px;border-radius:40px 40px 4px 4px}.result-window b{font-size:34px}.result-window span{font-size:9px}.book-shell{padding:12px;margin-inline:-10px}.book-spread{display:block;min-height:420px}.book-leaf{min-height:420px;padding:28px 22px}.book-leaf:last-child{display:none}.book-leaf p{font-size:17px}.book-leaf img{height:270px}.turn-sheet{width:100%}.resume-options{flex-direction:column}.resume-options a{font-size:17px;padding:20px}.music-embed{height:352px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.landscape{transform:none}.country-track{flex-wrap:wrap;width:auto;padding:0 20px}.country-track button[data-copy]{display:none}}
@media(min-width:1051px) and (prefers-reduced-motion:no-preference){.journey-section{height:280svh;padding-top:0;padding-bottom:0}.journey-stage{position:sticky;top:0;min-height:100svh;padding:42px 0 30px;display:flex;flex-direction:column;justify-content:center}.journey-section .section-heading{margin-bottom:30px}.journey-section h2{font-size:clamp(42px,4.6vw,65px)}.journey-section .journey-layout{flex-shrink:0}.journey-section .atlas,.journey-section .chapter-panel{min-height:clamp(330px,47svh,480px)}.journey-section .chapter-panel{padding:25px 32px}.journey-section .chapter-image{height:clamp(85px,13svh,130px);margin:12px 0}.journey-section .chapter-controls{margin-top:15px}.journey-section .chapter-panel h3{font-size:30px;margin:10px 0}.journey-section .chapter-panel p{font-size:13px}.journey-section .chapter-tabs{margin-top:15px}.journey-section .modal-link{margin-top:10px;font-size:13px}}
@media(min-width:1051px) and (max-height:730px){.journey-stage{padding:25px 0}.journey-section .section-heading{margin-bottom:20px}.journey-section .section-heading .eyebrow{margin-bottom:10px}.journey-section h2{font-size:42px}.journey-section .chapter-image{display:none}.journey-section .atlas,.journey-section .chapter-panel{min-height:300px}.journey-section .chapter-panel p{font-size:14px}}
/* Light stationery palette, taken from the supplied visual references. */
:root{--paper:#FFF8EC;--cream:#FFF1D9;--ink:#13233A;--muted:#4B5D72;--coral:#FF6B4A;--line:#28212c1a;--green:#f5dce7;--shadow:0 12px 35px #3d304512}.intro,.work-section,.journal-section{background:var(--paper)}.intro-text{font-weight:550}.intro-text em{color:#E4402A}.journey-section{background:#faf2e7}.atlas{background:#f5edda}.atlas-grid{background-image:linear-gradient(#bca99812 1px,transparent 1px),linear-gradient(90deg,#bca99812 1px,transparent 1px)}.route-map>path:nth-of-type(1){stroke:#d6e4ee}.atlas-title,.compass,.map-caption{color:#796e71}.route-map g[fill="#29453e"]{fill:#38313b}.route-shadow{stroke:#FFF8EC}.route-map #routeLine{stroke:#FF6B4A}.route-map>g[fill="#c95438"]{fill:#FF6B4A}.route-map #mapPlane circle{fill:#fff8c9;stroke:#FF6B4A}.route-map #mapPlane text{fill:#E4402A}.chapter-location{color:#E4402A}.chapter-panel{background:#FFF8EC}.chapter-tabs button{border-color:#b9a9ac55}.chapter-tabs button[aria-pressed=true]{background:#13233A;color:#FFF8EC}.powers-section{background:#FFF1D9}.power-detail .power-no{color:#9FD3FF}.compass-ring{border-color:#aa849944;box-shadow:0 0 0 9px #fff8ee,0 0 0 10px #aa849933;background:repeating-conic-gradient(from 0deg,#a17c922b 0deg 1deg,transparent 1deg 10deg)}.power-compass:before,.power-compass:after{border-color:#b48b9d44}.compass-needle{background:linear-gradient(#ca8cac 50%,#d9cbe8 50%)}.power-center{background:#fff8ce}.power-point{background:#FFF8EC;border-color:#ac89983b}.power-point[aria-pressed=true]{background:#13233A;color:#FFF8EC}.power-point[aria-pressed=true] span{color:#E4402A}.power-tools span{border-color:#b99fa644}.learning-section{background:#FFF1D9;color:#13233A}.learning-section .section-heading>p{color:#4B5D72}.boarding-ticket{background:#fffdf8;color:#13233A;border:1px solid #38212d0b}.boarding-ticket:nth-child(2){background:#FFF1D9}.boarding-ticket:nth-child(3){background:#fff9d9}.ticket-stub{border-top-color:#9d8b8f66}.ticket-stub:before,.ticket-stub:after{background:#FFF1D9}.ticket-tag{color:#8f687b}.ticket-route span{color:#E4402A}.language-list li{border-color:#79616c1c}.language-list li span{color:#7d737b}.barcode{background:repeating-linear-gradient(90deg,#40353e 0 2px,transparent 2px 4px,#40353e 4px 5px,transparent 5px 8px)}.life-section{background:#FFF8EC}.scrap-board{background-color:#f8f1e3;background-image:radial-gradient(#b89ea218 .8px,transparent .8px);border-color:#dfd1c944;box-shadow:inset 0 0 60px #ddd0bc10}.letter-envelope{background:linear-gradient(152deg,#fffaf1 49%,#e7cfda 50%,#f8e2ed 51%);border-color:#d9c5cc55}.portrait-card,.hobby-polaroid{background:#fffdf8}.tape{background:#f2bed570}.personal-pass{background:#fffbd9;border-right-color:#cbbeb3}.board-note{color:#ac537d}.case-front{background:linear-gradient(115deg,#f4e9d2,#e9dabe);border-color:#d6c8ae;box-shadow:0 18px 25px #493c3618}.case-front:before,.case-front:after{background:#e6c3d0;box-shadow:inset 0 0 0 2px #f6e5ec}.case-monogram{color:#8d6a79}.suitcase-handle{border-color:#baa2ab}.luggage-label{background:#fffdf6;color:#3a3138;border-color:#c9b8b6}.case-sticker{background:#FFD23F;color:#13233A;border-color:#FFF8EC}.project-file{background:#fcf5e8;border-color:#b8a7a633;color:#13233A}.project-file:nth-child(2){background:#FFF1D9}.project-file:nth-child(3){background:#fff7d0}.project-file:nth-child(4){background:#eee7f5}.project-file:nth-child(5){background:#f8ede5}.project-file:before{background:#d3b3c2}.project-file .file-number{color:#E4402A}.project-file p{color:#776b73}.result-window{background:#FFF1D9;border-color:#d4b9c644}.result-window:nth-child(2){background:#fff8d5}.result-window:nth-child(3){background:#f5eedf}.contact-section{background:#FFF1D9}.contact-stamp{color:#FF6B4A99;border-color:#FF6B4A66}.contact-links .contact-main{background:#13233A;color:#FFF8EC}.contact-links a,.contact-links button{border-color:#a7919f55}.destination-window{border-color:#f0e3ce}.country-track button[aria-pressed=true]{background:#13233A;color:#FFF8EC}.book-shell{background:#13233A}.book-leaf{background:#fff9ed;color:#3e313a}.turn-sheet{background:#fff9ed}.vinyl{background:repeating-radial-gradient(#29232b 0px,#29232b 1px,#443b45 2px,#29232b 3px)}.vinyl i{background:#FFD23F;border-color:#FFD23F;outline-color:#fff4b8}.dock{background:#fffaf1e8;border-color:#fffef9;box-shadow:0 8px 32px #49374720}.dock a{color:#352d37}.dock a.active{background:#FFFDF7}.dock button{background:#13233A;color:#FFF8EC}.dock-face{background:#FF6B4A}.paper-label{background:#fffdf3;border-color:#FF6B4A;color:#443842}.glass{background:#fffdf0c7;border-color:#fffdf5a6;color:#332b37}.top-actions .glass{background:#fffaf2e0}.topbar .wordmark{color:#302b38;text-shadow:none}.topbar .wordmark span{color:#FF6B4A}.topbar{position:absolute;z-index:8}.hero{background:#e4ebee;max-height:none;overflow:clip}.hero-stage{position:relative;height:100svh;min-height:740px;overflow:hidden}.hero-scene{background:#dce9ef}.landscape{object-position:center 60%;transform-origin:64% 60%;transform:scale(var(--hero-scale,1.01))}.hero-foreground{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;transform-origin:64% 60%;transform:scale(var(--foreground-scale,1.01));mask-image:linear-gradient(transparent 63%,#000 83%);-webkit-mask-image:linear-gradient(transparent 63%,#000 83%);pointer-events:none;will-change:transform}.sky-glow{background:linear-gradient(90deg,#f5f1db14,transparent 55%)}.hero-copy{top:15%;left:5%;width:64%;max-width:800px;opacity:var(--hero-copy-opacity,1);translate:0 var(--hero-copy-y,0px);animation:none}.hero .hello{color:#3c4350;font-size:20px;text-shadow:none;margin:24px 0 12px}.hero h1{color:#282933;font:750 clamp(48px,5.1vw,80px)/.99 var(--sans);text-shadow:none;letter-spacing:-.06em}.hero h1 em{font:inherit;color:#282933;background:linear-gradient(transparent 35%,#FFD23F 35%,#FFD23F 94%,transparent 94%);padding-inline:.04em}.hero-sub{color:#3f4853;text-shadow:none;font-size:16px;max-width:330px}.hero-start{background:#fffdf2df;color:#39333e;border-color:#fffcf0}.hero-me{right:8%;bottom:-45px;width:180px;transform:rotate(4deg)}.hero-me img{height:345px}.hero-me .paper-label{right:100px;top:60px;white-space:nowrap}.balloon{width:205px;right:14%;top:-3%;transform-origin:50% 50%}.balloon svg{filter:drop-shadow(8px 14px 10px #27313622)}.balloon .glass{bottom:14px;background:#fffaf3cb;font-size:12px}.place{background:#fff9edc9;padding:10px 16px;transform:scale(var(--hero-place-scale,1));transform-origin:50% 50%;box-shadow:0 4px 16px #223c3022}.place i{background:#FF6B4A;box-shadow:0 0 0 5px #ecc3d833}.place small{background:#e9d9e04a}.place:after{content:'';width:2px;height:26px;background:#fff9ef;position:absolute;top:100%;left:50%;box-shadow:0 1px 3px #372c3422}.place:before{content:'';width:14px;height:14px;border-radius:50%;background:#FF6B4A;border:3px solid #fffdf1;position:absolute;top:calc(100% + 20px);left:calc(50% - 7px);box-shadow:0 0 0 5px #f4d6e65c}.place-bf{bottom:25%;left:12%}.place-ke{right:7%;top:47%}.place-fr{left:35%;bottom:39%}.scroll-note{color:#fffdf4;text-shadow:0 2px 5px #29333b99;bottom:110px;left:5%}.little-plane{width:110px;top:12%;left:45%}.birds{color:#4e5363;right:37%;top:26%}.cloud{opacity:.18}.hero-copy .paper-label{font-size:15px;letter-spacing:.06em;padding:6px 15px;transform:rotate(-2deg)}
@media(min-width:1051px) and (prefers-reduced-motion:no-preference){.hero{height:180svh;min-height:0}.hero-stage{position:sticky;top:0;height:100svh;min-height:640px}.hero-me{bottom:-40px}.hero .scroll-note{bottom:105px}}
@media(max-width:1050px) and (min-width:701px){.hero-stage{min-height:740px}.hero-copy{width:72%;top:17%}.hero h1{font-size:61px}.balloon{width:155px;right:9%;top:0}.place-ke{top:56%}.place-bf{left:6%;bottom:24%}.place-fr{left:36%;bottom:35%}.hero-me{right:7%;width:145px}.hero-me img{height:290px}}
@media(max-width:700px){.hero{height:100svh;min-height:800px;overflow:clip}.hero-stage{height:100svh;min-height:800px}.landscape,.hero-foreground{object-position:59% center;transform:scale(1.025)}.hero-copy{top:13%;left:22px;width:calc(100% - 44px);opacity:1;translate:none}.hero-copy .paper-label{font-size:13px;padding:5px 10px}.hero .hello{font-size:17px;margin-top:21px;margin-bottom:13px}.hero h1{font-size:clamp(40px,9.5vw,65px);line-height:1.02;letter-spacing:-.055em}.hero-sub{font-size:13px;max-width:250px;margin-top:18px}.hero-start{font-size:11px;margin-top:18px}.balloon{width:104px;right:12%;top:47%;z-index:3}.balloon .glass{font-size:9px;bottom:0;padding:5px 12px}.hero-me{width:115px;bottom:10px;right:5%}.hero-me img{height:225px}.hero-me .paper-label{right:65px;top:50px;font-size:14px}.place{padding:8px 11px;font-size:10px}.place-bf{left:6%;bottom:26%}.place-ke{right:4%;top:auto;bottom:35%}.place-fr{left:12%;bottom:15%}.place:after{height:18px}.place:before{top:calc(100% + 12px);width:12px;height:12px;left:calc(50% - 6px)}.little-plane{top:9%;left:53%;width:65px}.scroll-note{bottom:85px;left:22px;font-size:15px}.birds{display:none}.journey-section .section-heading h2{font-size:41px}.personal-pass{background:#fffbd9}.ticket-stub:before,.ticket-stub:after{background:#FFF1D9}}
@media(prefers-reduced-motion:reduce){.hero{height:100svh;min-height:800px}.hero-stage{min-height:800px}.hero-copy{opacity:1;translate:none}.hero-foreground{transform:none}}
body.dark{--paper:#27232b;--cream:#35303a;--ink:#fff8ef;--muted:#d1c3cc;--line:#f6dfed25;--coral:#edb6d4}.dark .intro,.dark .work-section,.dark .journal-section{background:#27232b}.dark .journey-section,.dark .powers-section,.dark .life-section,.dark .contact-section{background:#322a34}.dark .chapter-panel{background:#35303a}.dark .chapter-panel p{color:#d1c3cc}.dark .learning-section{background:#2a252e;color:#fff8ef}.dark .learning-section .section-heading>p{color:#d1c3cc}.dark .learning-section .ticket-stub:before,.dark .learning-section .ticket-stub:after{background:#2a252e}.dark .boarding-ticket{color:#13233A}.dark .power-detail .power-no{color:#a87e96}.dark .power-point{background:#55414f}.dark .power-center{background:#55414f}.dark .power-tools span{border-color:#d6aac333}.dark .result-window{color:#13233A}.dark .hero-copy .hello,.dark .hero-sub{color:#fff8ef}.dark .hero h1,.dark .hero h1 em{color:#fff8ef}.dark .hero h1 em{background:linear-gradient(transparent 35%,#945672 35%,#945672 94%,transparent 94%)}.dark .topbar .wordmark{color:#fff8ef}.dark .book-leaf{color:#3e313a}.dark .intro-text em{color:#ecb5d3}
.hero-scene picture{display:contents}.hero .place{transform:translate(-50%,calc(-100% - 27px)) scale(var(--hero-place-scale,1))}.hero .place:hover{transform:translate(-50%,calc(-100% - 33px)) scale(var(--hero-place-scale,1))}.hero-stage .hero-me{z-index:4}.paused .hero-copy{opacity:1;translate:none}.paused .hero-foreground{transform:none}
/* Reference palette: James Chugh's published CSS custom properties. */
:root{--paper:#FFF8EC;--cream:#FFF1D9;--ink:#13233A;--muted:#4B5D72;--coral:#FF6B4A;--line:rgba(19,35,58,.14);--sky:#2F7FD8;--sky-2:#9FD3FF;--sun:#FFD23F;--lilac:#B7A2FF;--card:#FFFDF7}.journey-section{background:#FFF1D9}.chapter-panel{background:#FFFDF7}.atlas{background:#f2ead5}.powers-section{background:#FFF8EC}.power-center{background:#FFD23F;color:#13233A}.power-point{background:#FFFDF7;color:#13233A;border-color:var(--line)}.power-point[aria-pressed=true]{background:#13233A;color:#FFF8EC}.power-point[aria-pressed=true] span{color:#13233A}.compass-needle{background:linear-gradient(#FF6B4A 50%,#9FD3FF 50%)}.compass-ring{border-color:var(--line);box-shadow:0 0 0 9px #FFF1D9,0 0 0 10px rgba(19,35,58,.14);background:repeating-conic-gradient(from 0deg,rgba(19,35,58,.18) 0deg 1deg,transparent 1deg 10deg)}.power-detail .power-no{color:#9FD3FF}.power-tools span{border-color:var(--line)}.learning-section{background:#FFF1D9;color:#13233A}.boarding-ticket,.boarding-ticket:nth-child(2),.boarding-ticket:nth-child(3){background:#FFFDF7;color:#13233A}.ticket-tag{color:#4B5D72}.life-section{background:#FFF8EC}.scrap-board{background-color:#FFF1D9;border-color:var(--line)}.letter-envelope{background:linear-gradient(152deg,#FFFDF7 49%,#f1dfb7 50%,#FFF1D9 51%)}.personal-pass{background:#FFFDF7}.board-note{color:#E4402A}.case-front{background:linear-gradient(115deg,#c99a69,#a87b4e);border-color:#977047}.case-front:before,.case-front:after{background:#805c3a;box-shadow:inset 0 0 0 2px #c7a27a}.case-monogram{color:#ffe4a6}.case-sticker{background:#FFD23F;color:#13233A;border-color:#FFFDF7}.project-file{color:#13233A}.project-file:nth-child(2){background:#FFF1D9}.project-file:nth-child(3){background:#fff0b6}.project-file:nth-child(4){background:#e7dfff}.project-file:nth-child(5){background:#dceeff}.project-file:before{background:var(--coral)}.project-file p{color:#4B5D72}.contact-section{background:#FFF1D9}.contact-links .contact-main{background:#13233A;color:#FFF8EC}.dock{background:#fff8ecdd;border-color:#fffdf7}.dock a{color:#13233A}.dock a.active{background:#FFFDF7}.dock-face{background:#FF6B4A}.dock button{background:#13233A;color:#FFF8EC}.hero h1,.hero h1 em{color:#13233A}.hero h1 em{background:linear-gradient(transparent 35%,#FFD23F 35%,#FFD23F 94%,transparent 94%)}.hero .hello,.hero-sub{color:#13233A}.paper-label{background:#FFF8EC;border-color:#FF6B4A;color:#13233A}.hero-me .paper-label{color:#13233A}.result-window{background:#FFF1D9}.result-window:nth-child(2){background:#fff0b6}.result-window:nth-child(3){background:#dceeff}.book-shell{background:#13233A}.book-leaf{color:#13233A}.place small{background:#13233a12}.place:before,.place i{background:#FF6B4A}.window-landscape{filter:saturate(1.06)}
.profile-section{position:relative;background:var(--paper);padding-top:78px;padding-bottom:80px}.profile-section:before{content:'';height:24px;position:absolute;left:0;right:0;top:-22px;background:var(--paper);clip-path:polygon(0 70%,2% 48%,4% 65%,6% 35%,8% 62%,10% 45%,12% 75%,15% 38%,18% 64%,20% 40%,23% 73%,26% 39%,29% 62%,32% 47%,35% 70%,38% 36%,41% 67%,44% 44%,47% 64%,50% 36%,53% 68%,56% 45%,59% 73%,62% 48%,65% 65%,68% 32%,71% 66%,74% 45%,77% 72%,80% 39%,83% 62%,86% 42%,89% 72%,92% 43%,95% 67%,98% 44%,100% 65%,100% 100%,0 100%)}.profile-sheet{max-width:1280px;margin:auto;background-image:radial-gradient(rgba(19,35,58,.11) .6px,transparent .7px);background-size:16px 16px;padding:24px 0 0;position:relative}.profile-caption{font-family:ui-monospace,'Courier New',monospace;font-size:10px;letter-spacing:.12em;padding-bottom:36px}.profile-grid{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(240px,1fr) minmax(320px,1.3fr);gap:30px;align-items:stretch}.profile-notes{display:flex;flex-direction:column;gap:25px;padding-top:8px}.profile-note{position:relative;background:#e8ddff;border:1px solid rgba(19,35,58,.13);padding:27px 22px;box-shadow:3px 5px 0 #13233a0a;transform:rotate(-1deg);min-height:230px}.profile-note h3{font:700 20px/1.2 Georgia,serif;letter-spacing:-.03em;color:#13233A}.profile-tape{position:absolute;top:-10px;width:64px;height:21px;left:40%;background:#f5df9a99;transform:rotate(-7deg)}.focus-note{background:#fff0b6;transform:rotate(.7deg)}.focus-note ul{list-style:none;padding:0;margin:20px 0}.focus-note li{padding:10px 0;font:12px/1.4 ui-monospace,'Courier New',monospace;border-bottom:1px solid rgba(19,35,58,.1);color:#13233A}.focus-note li:last-child{border:0}.focus-note p{font:11px/1.7 ui-monospace,'Courier New',monospace;color:#4B5D72}.profile-socials{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:24px;color:#13233A}.profile-socials a,.profile-blog{text-align:center}.profile-socials a>span,.profile-blog>span{display:grid;place-items:center;border:1px solid #13233a99;background:#FFFDF7;width:34px;height:34px;margin:0 auto 8px;font:700 21px Georgia,serif;box-shadow:2px 2px 0 #13233a12;transition:transform .25s}.profile-socials a:hover>span{transform:translateY(-4px) rotate(-4deg)}.profile-socials small{font:8px/1.3 ui-monospace,'Courier New',monospace;display:block;white-space:nowrap}.profile-blog>span{border-style:dashed;opacity:.65}.profile-blog i{font-size:7px;font-style:normal;opacity:.6}.profile-location{font:10px/1.6 ui-monospace,'Courier New',monospace;color:#13233A;margin-top:28px}.profile-location span{font-size:21px;color:#E4402A;vertical-align:middle;padding-right:5px}.profile-person{text-align:center;padding-top:12px;display:flex;flex-direction:column;align-items:center}.profile-hello{font:14px/1.5 ui-monospace,'Courier New',monospace}.profile-person h2{font:italic 44px/1 Georgia,serif;color:#13233A;margin:0 0 20px;letter-spacing:-.04em;white-space:normal}.profile-person h2 span{font-size:23px;display:inline-block;color:#FF6B4A;margin-left:5px;animation:slow-spin 45s linear infinite}.profile-portrait{background:none;display:block;padding:0;width:100%;max-width:290px;transition:transform .4s}.profile-portrait img{height:420px;width:100%;object-fit:contain;filter:drop-shadow(2px 6px 2px #13233a12)}.profile-portrait:hover{transform:rotate(-2deg) translateY(-5px)}.profile-footnote{font:8px/1.8 ui-monospace,'Courier New',monospace;color:var(--muted);margin-top:20px;max-width:250px}.profile-handnote{font:20px/1.3 var(--hand);color:#E4402A;display:block;margin-top:15px;transform:rotate(-4deg)}.profile-career{border:1px solid rgba(19,35,58,.18);background:#fffdf7ee;padding:32px 28px;box-shadow:4px 5px 0 #13233a06}.profile-career .eyebrow{font:9px/1.4 ui-monospace,'Courier New',monospace;letter-spacing:.16em;margin-bottom:22px}.profile-career h3{font:700 30px/1.1 Georgia,serif;margin-bottom:30px;color:var(--ink)}.profile-career h3 em{font:italic 28px/1.25 Georgia,serif;display:inline-block;color:#2F7FD8;margin-top:7px}.profile-career>p:not(.eyebrow),.profile-experience p{font:12px/1.9 ui-monospace,'Courier New',monospace;color:#13233A;margin-top:19px}.profile-experience{margin:5px 0 25px}.profile-experience p{margin-top:3px}.profile-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:28px}.profile-actions button{background:#13233A;color:#FFF8EC;border-radius:8px;padding:13px 19px;font-size:12px;font-weight:650}.profile-actions a{font-size:10px;color:#2F7FD8;text-decoration:underline;text-underline-offset:3px}.profile-bottom{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:45px;padding:23px 0 0;font:9px/1.4 ui-monospace,'Courier New',monospace;letter-spacing:.13em;color:var(--muted)}.profile-bottom>span:nth-child(2){font-size:25px;color:var(--coral);transform:rotate(-15deg)}
@media(max-width:1100px) and (min-width:701px){.profile-grid{grid-template-columns:minmax(170px,.75fr) minmax(200px,.9fr) minmax(270px,1.3fr);gap:18px}.profile-note{padding:25px 16px}.profile-note h3{font-size:18px}.profile-socials{gap:4px}.profile-socials a>span,.profile-blog>span{width:30px;height:30px}.profile-socials small{font-size:7px}.profile-career{padding:27px 21px}.profile-career h3{font-size:27px}.profile-career h3 em{font-size:25px}.profile-career>p:not(.eyebrow),.profile-experience p{font-size:11px}.profile-portrait img{height:390px}}
@media(max-width:850px) and (min-width:701px){.profile-grid{grid-template-columns:1fr 1.15fr}.profile-notes{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;margin-top:20px}.profile-person{grid-column:1}.profile-career{grid-column:2}.profile-note{min-height:200px}.profile-portrait img{height:380px}}
@media(max-width:700px){.profile-section{padding:55px 20px}.profile-caption{font-size:8px;line-height:1.7;padding-bottom:25px;max-width:250px}.profile-grid{display:flex;flex-direction:column;gap:30px}.profile-person{order:0;padding-top:0}.profile-notes{order:2;gap:24px;padding-top:0}.profile-career{order:1;padding:27px 24px}.profile-person h2{font-size:44px;margin-bottom:15px}.profile-portrait{max-width:235px}.profile-portrait img{height:345px}.profile-footnote{margin-top:12px;font-size:9px}.profile-handnote{margin-top:10px;font-size:20px}.profile-note{min-height:0;padding:25px}.profile-note h3{font-size:23px}.profile-socials{max-width:260px;gap:16px}.profile-socials a>span,.profile-blog>span{width:39px;height:39px}.profile-socials small{font-size:9px}.profile-blog i{font-size:8px}.profile-location{margin-top:25px;font-size:11px}.focus-note ul{margin:15px 0}.focus-note li{font-size:13px;padding:12px 0}.focus-note p{font-size:12px}.profile-career h3{font-size:31px;margin-bottom:25px}.profile-career h3 em{font-size:28px}.profile-career>p:not(.eyebrow),.profile-experience p{font-size:12px;line-height:1.9}.profile-career .eyebrow{font-size:9px}.profile-actions{gap:16px}.profile-actions a{font-size:11px}.profile-bottom{margin-top:35px;font-size:8px;letter-spacing:.05em}.profile-bottom>span:nth-child(2){font-size:20px}.profile-bottom>span:last-child{max-width:125px;text-align:right}}
.dark .profile-section{background:var(--paper)}.dark .profile-sheet{background-image:radial-gradient(#fff8ec22 .6px,transparent .7px)}.dark .profile-career{background:#26374c;border-color:#fff8ec33}.dark .profile-career>p:not(.eyebrow),.dark .profile-experience p,.dark .profile-career h3{color:#FFF8EC}.dark .profile-career h3 em,.dark .profile-actions a{color:#9FD3FF}.dark .profile-person h2{color:#FFF8EC}.dark .powers-section,.dark .learning-section,.dark .contact-section,.dark .journey-section{background:#1e2e43}.dark .power-center{background:#FFD23F;color:#13233A}.dark .profile-note{color:#13233A}.dark .profile-bottom{border-color:#fff8ec22}.dark .profile-actions button{background:#FFD23F;color:#13233A}
.topbar .wordmark{color:#13233A}.topbar .wordmark span{color:#FF6B4A}.tape{background:#FFD23F66}.book-leaf{background:#FFF8EC}.turn-sheet{background:#FFF8EC}.dark .topbar .wordmark{color:#FFF8EC}.dark .intro-text em{color:#FFD23F}.dark .hero h1 em{background:linear-gradient(transparent 35%,#13233A 35%,#13233A 94%,transparent 94%)}
.globe-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:70px;align-items:center;max-width:1120px;margin:auto}.globe-orbit{position:relative;aspect-ratio:1;max-width:570px;width:100%;margin:auto}.globe-orbit:before{content:'';position:absolute;inset:2% -3%;border:1px solid var(--line);border-radius:50%;transform:rotate(-27deg) scaleY(.88);pointer-events:none}.globe-orbit:after{content:'';position:absolute;inset:6%;border:1px dashed var(--line);border-radius:50%;pointer-events:none}.globe-north{position:absolute;top:-5px;left:50%;font:11px Georgia,serif;transform:translateX(-50%);color:var(--muted)}#travel-globe{width:100%;height:100%;display:block;cursor:grab;touch-action:none;border-radius:50%;position:relative;z-index:1;filter:drop-shadow(15px 20px 25px #13233a18)}#travel-globe:active{cursor:grabbing}.globe-orbit-caption{position:absolute;bottom:-16px;left:50%;transform:translateX(-50%) rotate(-4deg);white-space:nowrap;font:24px var(--hand);color:var(--muted)}.globe-caption h3{font:clamp(38px,4.4vw,64px)/1.06 var(--serif);margin:18px 0 22px;letter-spacing:-.04em}.globe-caption>p:not(.eyebrow){color:var(--muted);font-size:17px}.globe-legend{margin-top:30px;display:flex;gap:18px;flex-wrap:wrap}.globe-legend span{display:flex;gap:7px;align-items:center}.globe-legend b{font-size:10px;font-weight:450;color:var(--muted)}.globe-legend i{width:8px;height:8px;background:#FF6B4A;border-radius:50%}.globe-legend span:nth-child(2) i{background:#FFD23F;border:1px solid #13233a55}.globe-pause{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:30px;padding:10px 20px;font-size:12px;margin-top:30px}.globe-caption .globe-help{font-size:11px!important;line-height:1.7;max-width:290px;margin-top:20px}.journal-section .country-strip{margin-top:60px}.dark .globe-pause{background:#26374c;color:#FFF8EC}.dark #travel-globe{filter:drop-shadow(15px 20px 25px #0003)}
@media(max-width:700px){.globe-layout{grid-template-columns:1fr;gap:45px}.globe-orbit{max-width:390px;margin-top:10px}.globe-caption{text-align:center}.globe-caption h3{font-size:43px;margin:14px 0}.globe-caption>p:not(.eyebrow){font-size:15px}.globe-legend{justify-content:center;margin-top:22px}.globe-caption .globe-help{margin:18px auto 0;max-width:280px}.globe-pause{margin-top:22px}.globe-orbit-caption{font-size:21px}.journal-section .country-strip{margin-top:30px}}
/* Retained Horizons section: original content, composition and three chapters. */
#journal{padding-block:65px;background:var(--paper)}#borderless{--purple:var(--sky);--yellow:var(--sun);--ink:#13233A;--paper:#FFF8EC;--line:rgba(19,35,58,.14);display:grid;grid-template-columns:1fr 1.1fr;gap:25px;padding:45px 40px;min-height:620px;max-width:1240px;margin:auto;overflow:hidden;background-color:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:24px;background-image:none;box-shadow:var(--shadow);isolation:isolate}#borderless [hidden]{display:none!important}#borderless .borderless-copy{min-width:0;align-self:center}#borderless .eyebrow{color:var(--purple);font:10px/1.5 var(--sans);letter-spacing:2.5px}#borderless h2{font:normal clamp(42px,5vw,68px)/1.08 var(--serif);letter-spacing:-1.5px;color:var(--ink);margin:24px 0;white-space:normal}#borderless h2 em{color:var(--purple)}#borderless .intro{padding:0;background:none;font:13px/1.8 var(--sans);color:var(--muted);max-width:310px}#borderless .borderless-start{display:flex;gap:15px;align-items:center;margin-top:22px;border:0;background:transparent;color:var(--ink);cursor:pointer;font:11px var(--sans);padding:0;text-align:left}#borderless .borderless-start>span:first-child{display:grid;place-items:center;width:45px;height:45px;border:1px solid var(--line);background:var(--cream);border-radius:50%;font-size:23px}#borderless .borderless-start:hover>span:first-child{background:var(--yellow)}#borderless .borderless-chapter h2{font-size:48px;margin:22px 0}#borderless .borderless-chapter p{font:13px/1.85 var(--sans);color:var(--muted);max-width:350px}#borderless .chapter-tags{font:9px/1.9 var(--sans);color:var(--purple);letter-spacing:1px;margin-top:24px}#borderless .borderless-controls{display:flex;align-items:center;gap:14px;margin-top:25px}#borderless .borderless-controls button{color:var(--ink);border:1px solid var(--line);background:var(--cream);padding:8px 13px;cursor:pointer;font:11px var(--sans);border-radius:14px}#borderless .borderless-controls .borderless-back{border:0;text-decoration:underline;font-size:10px;background:none}#borderless .borderless-count{font:10px var(--sans);color:var(--muted)}#borderless .borderless-places{display:flex;flex-wrap:wrap;gap:16px;margin-top:25px}#borderless .borderless-places button{font:10px var(--sans);color:var(--muted);background:none;border:0;padding:5px 0;cursor:pointer}#borderless .borderless-places button[aria-pressed=true]{color:var(--purple);text-decoration:underline;text-underline-offset:5px}
#borderless .world-stage{position:relative;display:grid;place-items:center;isolation:isolate;min-width:0;min-height:530px;padding-top:470px;padding-bottom:30px;background:radial-gradient(ellipse at 50% 34%,var(--paper) 0 28%,transparent 62%)}#borderless .globe-shell{position:absolute;top:15px;width:350px;height:350px;filter:none}#borderless #travel-globe{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;filter:none;border-radius:14px}#borderless #travel-globe:active{cursor:grabbing}#borderless .orbit{display:none}#borderless .globe-readout{position:absolute;top:365px;left:0;right:0;text-align:center;display:flex;flex-direction:column;gap:4px}#borderless .globe-kicker{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}#borderless .globe-readout strong{font:normal 27px/1.4 var(--serif);color:var(--ink)}#borderless .globe-readout>span:last-child{font-size:11px;color:var(--muted)}#borderless #globe-pause{position:absolute;top:320px;right:20px;border:1px solid var(--line);background:var(--cream);color:var(--ink);border-radius:14px;padding:8px 13px;font-size:11px;cursor:pointer}#borderless .globe-country-picker{position:relative;top:auto;display:block;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none;padding:12px 0;width:100%;max-width:100%;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}#borderless .country-carousel-track{display:flex;width:max-content;gap:6px;will-change:transform}#borderless .globe-country-picker button{flex:0 0 auto;white-space:nowrap;font-size:12px;padding:11px 19px;border:1px solid var(--line);border-radius:14px;background:var(--cream);color:var(--muted);cursor:pointer;transition:background .25s,color .25s}#borderless .globe-country-picker button[aria-pressed=true]{background:var(--yellow);color:var(--ink);border-color:var(--line)}#borderless .world-hint{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:10px;color:var(--muted)}
@media(max-width:900px){#borderless{grid-template-columns:1fr;padding:32px 25px;gap:25px}#borderless .borderless-copy{max-width:550px}#borderless .globe-shell{width:320px;height:320px}#borderless .globe-readout{top:345px}#borderless .world-stage{padding-top:445px;min-height:500px}#borderless #globe-pause{top:300px;right:5px}}
@media(max-width:560px){#journal{padding:40px 16px}#borderless{padding:30px 22px}#borderless h2{font-size:49px}#borderless .borderless-chapter h2{font-size:41px}#borderless .globe-shell{width:min(320px,100%);height:auto;aspect-ratio:1}#borderless .borderless-controls{gap:8px}#borderless .borderless-controls button{padding:8px 10px}#borderless .globe-country-picker button{font-size:11px}}
/* One balloon leaves the landscape and follows text-free routes to the portrait. */
body>.balloon.flight-balloon{position:fixed!important;right:auto!important;bottom:auto!important;left:0;top:0;padding:0;margin:0;animation:none!important;transform:none!important;translate:none!important;rotate:none!important;z-index:24;pointer-events:none;background:none;opacity:1;transition:opacity .25s;filter:drop-shadow(2px 4px 3px #13233a22)}body>.balloon.flight-balloon svg{display:block;width:100%;height:100%;filter:none}body>.balloon.flight-balloon .glass{display:none}body>.balloon.flight-faded{opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}
/* Keep all profile copy in normal flow, including narrow desktop widths. */
#meet-mounira .profile-grid{align-items:start;column-gap:36px;row-gap:35px}#meet-mounira .profile-grid>*{min-width:0}#meet-mounira .profile-person{position:relative;display:flex;flex-direction:column;align-items:center;gap:0;padding-top:12px;min-width:0;isolation:isolate}#meet-mounira .profile-person h2{position:static;flex:none;height:auto;line-height:1.25;margin:4px 0 28px;text-align:center;white-space:normal}#meet-mounira .profile-hello{position:static;line-height:1.6;margin:0;max-width:100%}#meet-mounira .profile-footnote{position:static;display:block;flex:none;font:9px/1.9 ui-monospace,'Courier New',monospace;letter-spacing:0;text-align:center;max-width:100%;margin:28px 0 0;white-space:normal;overflow-wrap:anywhere}#meet-mounira .profile-handnote{position:static;display:block;font:20px/1.5 var(--hand);transform:none;max-width:100%;text-align:center;margin:14px 0 0;white-space:normal}#meet-mounira .profile-caption{line-height:1.9;overflow-wrap:anywhere;white-space:normal}#meet-mounira .profile-career h3{line-height:1.22;white-space:normal;overflow-wrap:break-word}#meet-mounira .profile-career h3 em{display:block;line-height:1.35;margin-top:10px}#meet-mounira .profile-note h3{line-height:1.4;overflow-wrap:break-word}#meet-mounira .profile-socials{gap:9px}#meet-mounira .profile-socials small{white-space:normal;line-height:1.65;overflow-wrap:normal}#meet-mounira .profile-actions{row-gap:18px}#meet-mounira .profile-bottom{line-height:1.8;align-items:center}#meet-mounira .profile-bottom span{min-width:0;overflow-wrap:anywhere}
@media(min-width:701px) and (max-width:1120px){#meet-mounira .profile-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,1.2fr);gap:35px}#meet-mounira .profile-person{grid-column:1;grid-row:1}#meet-mounira .profile-career{grid-column:2;grid-row:1}#meet-mounira .profile-notes{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:0}#meet-mounira .profile-person .professional-sticker{max-width:290px;height:420px}}
@media(max-width:700px){#meet-mounira .profile-grid{display:flex;gap:38px}#meet-mounira .profile-person h2{margin-bottom:28px}#meet-mounira .profile-person .professional-sticker{height:440px;flex:none}#meet-mounira .profile-footnote{font-size:9px;margin-top:28px}#meet-mounira .profile-handnote{margin-top:14px;line-height:1.5}#meet-mounira .profile-caption{max-width:none}#meet-mounira .profile-socials{gap:16px}#meet-mounira .profile-career h3{font-size:29px}#meet-mounira .profile-career h3 em{font-size:26px}}
/* Movement is sampled on the SVG path; CSS must never interpolate a straight chord. */
#mapPlane{transition:none!important;transform-origin:0 0;transform-box:view-box}#mapPlane text{transition:none!important;transform-origin:0 0}

/* Hero labels have intrinsic width and occupy the space beside the copy. */
.hero .place{width:max-content;max-width:calc(100vw - 36px);white-space:nowrap;flex-wrap:nowrap;font-size:13px;line-height:1.4;gap:9px;}
.hero .place i,.hero .place small{flex:none;white-space:nowrap;}
.hero .place i{width:10px;min-width:10px;}
@media(min-width:701px){
 .hero-copy{width:57%;max-width:760px;}
 .hero h1{font-size:clamp(45px,4.8vw,76px);line-height:1.1;}
 .hero-sub{line-height:1.65;max-width:380px;}
 .hero-scene>.balloon{width:120px;right:5%;top:1%;}
}
@media(max-width:700px){
 .hero-stage{min-height:1080px;height:max(1080px,100svh);}
 .hero-copy{top:110px;}
 .hero .place{font-size:11px;padding:9px 12px;}
 .hero .place small{display:none;}
 .hero-scene>.balloon{top:52%;right:12%;}
}

/* Small stationery pushpins, following the supplied reference. */
.hero .place{padding-left:44px;}
.hero .place::before,.hero .place::after{content:none;}
.hero .place i{position:absolute;left:12px;top:-16px;width:25px;min-width:25px;height:46px;border-radius:0;background:transparent url('assets/pushpin-coral.svg') center/contain no-repeat;box-shadow:none;animation:none;filter:drop-shadow(2px 3px 2px #13233a30);transform:rotate(-8deg);}
.hero .place-ke i{background-image:url('assets/pushpin-green.svg');transform:rotate(7deg);}
.hero .place-fr i{background-image:url('assets/pushpin-yellow.svg');}
@media(max-width:700px){.hero .place{padding-left:39px;}.hero .place i{width:22px;min-width:22px;height:40px;left:10px;top:-12px;}}

/* Normal-flow pin column: no offscreen or navigation-covered fallback. */
.hero-pins{position:absolute;z-index:4;right:4%;top:max(225px,34%);width:max-content;max-width:34%;display:flex;flex-direction:column;align-items:stretch;gap:32px;}
.hero .hero-pins .place,.hero .hero-pins .place:hover{position:relative;inset:auto;transform:none;width:100%;max-width:none;min-height:43px;justify-content:flex-start;font-size:clamp(11px,1vw,13px);}
@media(min-width:701px){.hero-copy{width:53%;}}
@media(min-width:701px) and (max-width:1100px){.hero-pins .place small{display:none;}}
@media(max-width:700px){.hero-pins{top:660px;right:22px;left:22px;width:auto;max-width:none;gap:28px;}.hero .hero-pins .place{width:max-content;max-width:100%;}.hero-scene>.balloon{top:49%;}}

/* Independent landscape positions; the wrapper no longer groups the pins. */
.hero .hero-pins{display:contents;}
.hero .hero-pins .place,.hero .hero-pins .place:hover{position:absolute;inset:auto;transform:none;width:max-content;max-width:calc(100% - 36px);z-index:4;}
.hero .hero-pins .place-bf{left:7%;top:80%;}
.hero .hero-pins .place-ke{left:75%;top:32%;}
.hero .hero-pins .place-fr{left:65%;top:58%;}

/* Sky, meadow and open golden door inspired by Mounira's reference poster. */
.hero .landscape,.hero .hero-foreground{object-position:center center;}
.hero .sky-glow{opacity:.12;}
@media(max-width:700px){.hero .landscape,.hero .hero-foreground{object-position:65% center;}}

/* Mounira is now part of the doorway scene rather than a second floating portrait. */
.hero .hero-me img{visibility:visible;}
.hero .hero-foreground{display:none;}

/* Portrait caption is decorative; the adjacent action opens the personal letter. */
.hero .hero-me{cursor:default;pointer-events:none;}
.hero-know{position:absolute;z-index:5;right:2.5%;bottom:17%;padding:12px 18px;font-size:12px;line-height:1.4;box-shadow:0 5px 16px #13233a18;transition:transform .25s,box-shadow .25s;}
.hero-know:hover,.hero-know:focus-visible{transform:translateY(-5px) rotate(-2deg);box-shadow:0 10px 24px #13233a28;}
.hero .hero-pins .place{font-size:11px;padding:8px 13px 8px 38px;min-height:36px;}
.hero .hero-pins .place small{font-size:9px;}
.hero .landscape{translate:var(--hover-x,0px) var(--hover-y,0px);transition:translate .35s ease-out;}
@media(max-width:700px){.hero-know{right:18px;bottom:12%;padding:10px 13px;font-size:11px;}.hero .hero-pins .place{font-size:10px;}}
@media(prefers-reduced-motion:reduce){.hero .landscape{translate:none;}.hero-know{transition:none;}.hero-know:hover{transform:none;}}

/* Match the handwritten paper caption beside Mounira. */
.hero .hero-know.paper-label{background:#FFF8EC;color:#13233A;border:0;border-top:2px solid #FF6B4A;border-radius:0;padding:7px 17px;font:19px var(--hand);letter-spacing:.05em;box-shadow:1px 4px 5px #30403828;transform:rotate(-5deg);backdrop-filter:none;}
.hero .hero-know.paper-label:hover,.hero .hero-know.paper-label:focus-visible{transform:rotate(-2deg) translateY(-4px);box-shadow:2px 7px 9px #30403830;}
@media(max-width:700px){.hero .hero-know.paper-label{font-size:14px;padding:5px 12px;}}
@media(prefers-reduced-motion:reduce){.hero .hero-know.paper-label:hover,.hero .hero-know.paper-label:focus-visible{transform:rotate(-5deg);}}

/* Left-to-right railway through the meadow, behind the foreground content. */
.hero-railway{position:absolute;left:0;right:0;bottom:16%;height:18px;z-index:1;pointer-events:none;}
.railway-track{position:absolute;inset:6px 0 0;background:repeating-linear-gradient(90deg,transparent 0 8px,#806443 8px 11px,transparent 11px 20px);height:9px;border-top:2px solid #687173;border-bottom:2px solid #424d50;box-shadow:0 3px 3px #17302b20;}
.railway-train{position:absolute;left:-160px;bottom:4px;width:150px;height:39px;animation:meadow-train 22s linear infinite;filter:drop-shadow(1px 3px 2px #13233a25);}
.railway-train svg{display:block;width:100%;height:100%;}
.railway-stop{position:absolute;bottom:20px;font:700 9px/1 var(--sans);color:#13233A;background:#FFF8EC;border:1px solid #80785c;border-radius:2px;padding:3px 5px;}
.railway-a{left:18px;}.railway-b{right:18px;}
@keyframes meadow-train{from{transform:translateX(0);}to{transform:translateX(calc(100vw + 320px));}}
@media(max-width:700px){.hero-railway{bottom:8%;}.railway-train{width:120px;height:31px;animation-duration:16s;}}
@media(prefers-reduced-motion:reduce){.railway-train{animation:none;left:24px;}}

/* Cafe scene: leave the seated portrait unobstructed by the headline. */
.hero .hero-me{display:none;}
@media(min-width:701px){.hero-copy{width:35%;max-width:510px;left:4%;}.hero h1{font-size:clamp(38px,3.25vw,58px);}.hero-sub{max-width:320px;}}

/* Street photograph with Mounira's original separate portrait. */
.hero .hero-me{display:block;}
@media(min-width:701px){.hero-copy{width:53%;max-width:760px;left:5%;}.hero h1{font-size:clamp(45px,4.8vw,76px);}.hero-sub{max-width:380px;}}

/* Rails are registered to the meadow image rather than a viewport-height line. */
.hero-ground-railway{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;transform-origin:64% 60%;transform:scale(var(--hero-scale,1.01));translate:var(--hover-x,0px) var(--hover-y,0px);transition:translate .35s ease-out;}
#language{position:fixed;right:28px;top:24px;z-index:90;box-shadow:0 3px 14px #13233a20;}
@media(max-width:700px){.hero-ground-railway{transform:scale(1.025);}.hero .landscape{object-position:center center;}#language{right:16px;top:18px;}}
@media(prefers-reduced-motion:reduce){.hero-ground-railway{transform:none;translate:none;}}

/* Language-specific welcome scenery. The cafe sign remains in English. */
html[lang="fr"] .hero .hero-me,html[lang="fr"] .hero-copy>.paper-label,html[lang="fr"] .hero-ground-railway{display:none;}
@media(min-width:701px){html[lang="fr"] .hero-copy{width:35%;max-width:510px;left:4%;}html[lang="fr"] .hero h1{font-size:clamp(38px,3.25vw,58px);}html[lang="fr"] .hero-sub{max-width:320px;}}

/* Sign text is a separate vector layer; the cafe photograph is untouched. */
.cafe-sign-overlay{display:none;position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;transform-origin:64% 60%;transform:scale(var(--hero-scale,1.01));translate:var(--hover-x,0px) var(--hover-y,0px);transition:translate .35s ease-out;}
html[lang="fr"] .cafe-sign-overlay{display:block;}
html[lang="fr"] .hero .landscape{object-position:center center;}
@media(max-width:700px){.cafe-sign-overlay{transform:scale(1.025);}}
@media(prefers-reduced-motion:reduce){.cafe-sign-overlay{transform:none;translate:none;}}

/* Shared lift for interactive content, with keyboard parity. */
.hero :where(button[data-open],a.hero-start){transition:translate .22s ease,box-shadow .22s ease,filter .22s ease;}
.hero :where(button[data-open],a.hero-start):is(:hover,:focus-visible){translate:0 -6px;filter:brightness(1.03);}
.hero .hero-pins .place:is(:hover,:focus-visible){translate:0 -6px;box-shadow:0 10px 20px #13233a25;}
html[lang="fr"] .hero-ground-railway{display:block;}
.passport-section{background:var(--paper);color:var(--ink);}
.passport-section>h2{font-family:var(--serif);font-size:clamp(34px,4vw,64px);max-width:850px;margin:20px 0 65px;}
.passport-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.8fr);align-items:center;gap:6vw;}
.passport-book{position:relative;padding:9px;border-radius:15px;background:#183d4a;box-shadow:0 24px 30px #13233a30,0 3px 5px #13233a40;perspective:1600px;transform:rotate(-2deg);}
.passport-spread{display:grid;grid-template-columns:1fr 1fr;min-height:430px;border-radius:9px;overflow:hidden;background:#fff3d9;}
.passport-page{padding:28px 22px;position:relative;min-width:0;background:repeating-linear-gradient(33deg,transparent,transparent 10px,#2f7fd808 11px,#2f7fd808 12px),#fff6e4;}
.passport-page:first-child{border-right:1px solid #998c7260;box-shadow:inset -16px 0 24px -20px #13233a;}
.passport-page:last-child{box-shadow:inset 16px 0 24px -20px #13233a;}
.passport-page h3{font:28px var(--serif);margin:15px 0;overflow-wrap:anywhere;}
.passport-page p,.passport-page li{font:13px/1.65 var(--sans);}
.passport-page ul{padding-left:17px;}
.passport-page img{width:100%;height:155px;object-fit:cover;border-radius:4px;}
.passport-page img.passport-id-photo{width:110px;height:140px;object-fit:cover;object-position:top;float:left;margin:12px 14px 12px 0;}
.passport-page small{font:9px var(--sans);letter-spacing:2px;}
.passport-mrz{clear:both;overflow-wrap:anywhere;font:12px/1.8 monospace;margin-top:25px;color:#365664;}
.passport-stamp{border:2px solid #c95438;border-radius:50%;padding:20px 7px;text-align:center;width:130px;margin:30px auto;color:#c95438;transform:rotate(-15deg);font:13px/1.6 monospace;}
.passport-index{display:flex;flex-direction:column;}
.passport-index button{background:transparent;border:0;border-bottom:1px dashed #13233a40;padding:19px 0;text-align:left;color:var(--ink);font:clamp(22px,2.7vw,42px)/1.15 var(--serif);cursor:pointer;transition:color .2s,translate .2s;}
.passport-index button small{font:10px var(--sans);display:block;letter-spacing:2px;margin-bottom:8px;}
.passport-index button[aria-pressed="true"]{color:var(--coral);translate:10px 0;}
.passport-turn{pointer-events:none;position:absolute;left:50%;top:9px;bottom:9px;width:calc(50% - 9px);background:linear-gradient(90deg,#d1c6aa,#fff6e4 15%,#fff3d9);transform-origin:left;opacity:0;backface-visibility:hidden;border-radius:0 7px 7px 0;}
.passport-book.turning .passport-turn{animation:passportFlip .75s ease-in-out;}
@keyframes passportFlip{0%{opacity:1;transform:rotateY(0)}85%{opacity:1}100%{opacity:0;transform:rotateY(-180deg)}}
@media(max-width:800px){.passport-layout{grid-template-columns:1fr;gap:32px}.passport-book{transform:none}.passport-index{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.passport-index button{font-size:24px}.passport-page{padding:20px 13px}.passport-page h3{font-size:22px}.passport-spread{min-height:470px}}
@media(prefers-reduced-motion:reduce){.passport-book.turning .passport-turn{animation:none}.hero :where(button[data-open],a.hero-start):is(:hover,:focus-visible){translate:none}}

/* Location labels inspired by the supplied live-map reference. */
.hero .hero-pins .place{--location-color:#ff7758;border:1px solid #fff8e67a;border-radius:999px;background:#505b2de8;color:#fffdf3;padding:8px 16px 8px 42px;min-height:40px;font:600 12px/1.3 var(--sans);box-shadow:0 4px 14px #13233a25;overflow:visible;}
.hero .hero-pins .place-ke{--location-color:#56a87b;}
.hero .hero-pins .place-fr{--location-color:#f4bc21;}
.hero .hero-pins .place i{position:absolute;left:5px;top:50%;translate:0 -50%;width:29px;min-width:29px;height:29px;border-radius:50%;background:var(--location-color);box-shadow:inset 0 0 0 2px #fffdf3b0;filter:none;transform:none;animation:none;display:grid;place-items:center;color:#fff;font:700 14px var(--sans);}
.hero .hero-pins .place i::before{content:'✦';}
.hero .hero-pins .place-bf i::before{content:'↗';}
.hero .hero-pins .place-fr i::before{content:'✧';}
.hero .hero-pins .place::after{content:'';position:absolute;left:calc(50% - 1px);top:100%;width:2px;height:21px;background:#fffdf3ad;box-shadow:none;}
.hero .hero-pins .place::before{content:'';position:absolute;left:calc(50% - 8px);top:calc(100% + 17px);width:16px;height:16px;border:3px solid #fffdf3;border-radius:50%;background:var(--location-color);box-sizing:border-box;box-shadow:0 0 0 0 #fff8ec55;animation:locationLive 2.4s ease-out infinite;}
.hero .hero-pins .place-ke::before{animation-delay:.8s;}
.hero .hero-pins .place-fr::before{animation-delay:1.6s;}
@keyframes locationLive{0%{box-shadow:0 0 0 0 #fff8ec99,0 0 0 0 #fff8ec44}70%{box-shadow:0 0 0 12px #fff8ec00,0 0 0 21px #fff8ec00}100%{box-shadow:0 0 0 12px #fff8ec00,0 0 0 21px #fff8ec00}}
@media(max-width:700px){.hero .hero-pins .place{font-size:10px;min-height:36px;padding-right:12px;}}
@media(prefers-reduced-motion:reduce){.hero .hero-pins .place::before{animation:none;box-shadow:0 0 0 5px #fff8ec44;}}

/* Navigation at the top, with room for the language switch. */
.dock{top:18px;bottom:auto;max-width:calc(100vw - 340px);}
html{scroll-padding-top:100px;}
@media(max-width:1000px){.dock{top:72px;bottom:auto;width:max-content;max-width:calc(100vw - 24px);padding:5px;gap:0;overflow-x:auto;scrollbar-width:none;}.dock::-webkit-scrollbar{display:none}.dock a,.dock button{padding:9px 11px;font-size:11px;}.dock-face{display:none}html{scroll-padding-top:140px;}}
@media(max-width:390px){.dock a,.dock button{padding:8px 9px;font-size:10px;}}

/* Live location pulse for the existing paper Get to know me label. */
.hero .hero-know.paper-label::after{content:'';position:absolute;left:calc(50% - 1px);top:100%;width:2px;height:20px;background:#fffdf3ad;pointer-events:none;}
.hero .hero-know.paper-label::before{content:'';position:absolute;left:calc(50% - 8px);top:calc(100% + 16px);width:16px;height:16px;box-sizing:border-box;border:3px solid #fffdf3;border-radius:50%;background:var(--coral);animation:locationLive 2.4s ease-out infinite;pointer-events:none;}
@media(prefers-reduced-motion:reduce){.hero .hero-know.paper-label::before{animation:none;box-shadow:0 0 0 5px #fff8ec44;}}

/* Supplied bird animation stays in the sky, behind all interactive content. */
.hero .sky-birds{position:absolute;top:0;left:0;width:100%;height:54%;z-index:2;pointer-events:none;overflow:hidden;}
.hero .sky-birds svg{display:block;width:100%;height:100%;}
html[lang="fr"] .hero .sky-birds{display:none;}

/* The playing cat sits on the lawn at the annotated English-hero location. */

#playingCatAnimation svg{display:block;width:100%;height:100%;}

/* Cat sits above the career card, in normal layout flow in both languages. */
#meet-mounira .career-with-cat{min-width:0;}
#meet-mounira .career-cat{width:130px;height:56px;margin:0 0 -3px 16px;pointer-events:none;}
@media(min-width:701px) and (max-width:1120px){#meet-mounira .career-with-cat{grid-column:2;grid-row:1;}}

/* Career parchment unrolls vertically between two horizontal rollers. */
#meet-mounira .career-with-cat{position:relative;}
#meet-mounira .career-scroll{position:relative;margin:14px 10px 0;padding:23px 0;background:linear-gradient(90deg,#eed6a3,#fff1d9 12%,#fff8ec 52%,#f1dcae);box-shadow:0 8px 16px #13233a12;}
#meet-mounira .career-scroll-reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows 1.7s cubic-bezier(.22,.65,.25,1);}
#meet-mounira .career-scroll-inner{min-height:0;overflow:hidden;}
#meet-mounira .career-scroll .profile-career{margin:0;border:0;background:transparent;box-shadow:none;padding:24px 24px 30px;opacity:0;transform:translateY(-8px);transition:opacity .65s .2s,transform 1.3s;}
#meet-mounira .career-with-cat.is-unrolled .career-scroll-reveal{grid-template-rows:1fr;}
#meet-mounira .career-with-cat.is-unrolled .profile-career{opacity:1;transform:none;}
#meet-mounira .scroll-roller{position:absolute;z-index:2;left:-9px;right:-9px;height:25px;border:1px solid #b39260;border-radius:16px;background:linear-gradient(#f8e7bd 0%,#fff6d9 20%,#e4c18a 58%,#b99560 86%,#f1d6a6 100%);box-shadow:0 3px 5px #5b412729;pointer-events:none;}
#meet-mounira .scroll-roller-top{top:0;}
#meet-mounira .scroll-roller-bottom{bottom:0;}
#meet-mounira .scroll-roller::before,#meet-mounira .scroll-roller::after{content:'';position:absolute;top:-4px;bottom:-4px;width:10px;border-radius:50%;background:linear-gradient(90deg,#927048,#f3d7a3,#b08a56);border:1px solid #927048;}
#meet-mounira .scroll-roller::before{left:-5px;}
#meet-mounira .scroll-roller::after{right:-5px;}
#meet-mounira .career-scroll-toggle{display:block;margin:14px auto 0;padding:7px 12px;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);font:12px var(--sans);cursor:pointer;}
@media(prefers-reduced-motion:reduce){#meet-mounira .career-scroll-reveal,#meet-mounira .career-scroll .profile-career{transition:none;transform:none;}}

/* The cat rests beside Mounira's shoes, anchored to her portrait. */
#meet-mounira .profile-person .professional-sticker>.career-cat{position:absolute;right:-42px;bottom:-3px;width:120px;height:52px;margin:0;z-index:4;pointer-events:none;}
@media(max-width:700px){#meet-mounira .profile-person .professional-sticker>.career-cat{right:-12px;width:110px;height:47px;}}

.hero .hero-pins .place-data{--location-color:#5e99c4;}
.hero .hero-pins .place-community{--location-color:#a68ad4;}
.hero .hero-pins .place-data i::before{content:'▥';}
.hero .hero-pins .place-community i::before{content:'♡';}
.hero .hero-pins .place-data::before{animation-delay:.4s;}
.hero .hero-pins .place-community::before{animation-delay:1.2s;}
#detailDialog.experience-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 56px);padding:30px;border-radius:30px;background:#FFFDF7;color:var(--ink);border:0;box-shadow:0 24px 80px #13233a30;}
#detailDialog.experience-dialog::backdrop{background:#13233a52;backdrop-filter:blur(7px);}
.experience-dialog .modal-toolbar{justify-content:flex-end;border:0;padding:0;margin:0 0 10px;}
.experience-dialog .modal-toolbar>.eyebrow{display:none;}
.experience-dialog #closeDialog{width:38px;height:38px;padding:0;border:0;border-radius:50%;background:#13233a08;font:22px var(--sans);}
.experience-story .modal-heading{font:750 clamp(30px,4vw,44px)/1.12 var(--sans);margin:0 0 7px;letter-spacing:-1px;}
.experience-story .experience-role{font:600 14px/1.6 var(--sans);color:var(--muted);margin:0 0 20px;}
.experience-story .experience-hook{font:700 21px/1.4 var(--sans);margin:0 0 14px;color:var(--ink);}
.experience-story>p,.experience-story li{font:15px/1.75 var(--sans);color:var(--muted);}
.experience-story>p{margin:0 0 16px;}
.experience-story h4{font:700 11px/1.5 var(--sans);letter-spacing:.13em;text-transform:uppercase;margin:22px 0 10px;}
.experience-story ul{padding-left:19px;margin:0;}
.experience-story li+li{margin-top:7px;}
.experience-story .experience-results{margin-top:20px;font-size:13px;}
.experience-gallery{display:flex;flex-wrap:wrap;gap:14px;padding:6px 4px 10px;}
.experience-gallery figure{width:150px;padding:7px 7px 9px;margin:0;background:#fff;border-radius:3px;box-shadow:0 3px 10px #13233a16;transform:rotate(-3deg);}
.experience-gallery img{display:block;width:100%;height:110px;object-fit:cover;}
.experience-gallery figcaption{font:11px/1.4 var(--sans);text-align:center;color:var(--ink);padding-top:6px;}
@media(max-width:600px){#detailDialog.experience-dialog{padding:23px;border-radius:24px;}.experience-story>p,.experience-story li{font-size:14px;}}

/* Destination animation beside the existing Bordeaux and Paris location. */
#meet-mounira .profile-location{display:flex;align-items:center;gap:9px;}
#meet-mounira .profile-location>#profileLocationPin{display:block;flex:0 0 80px;width:80px;height:46px;margin:0;padding:0;}
#profileLocationPin svg{display:block;width:100%;height:100%;}
#meet-mounira .profile-location>.profile-location-text{color:inherit;font:inherit;}

/* The unfolding parchment uses the surrounding collage's paper and ink. */
#meet-mounira .career-scroll{background:#FFFDF7;border:1px solid rgba(19,35,58,.18);box-shadow:4px 5px 0 #13233a06;padding-block:18px;}
#meet-mounira .scroll-roller{height:19px;left:-5px;right:-5px;border:1px solid rgba(19,35,58,.24);border-radius:10px;background:linear-gradient(#FFFDF7 0%,#FFF8EC 68%,#F0E9DB 100%);box-shadow:0 2px 3px #13233a0c;}
#meet-mounira .scroll-roller::before,#meet-mounira .scroll-roller::after{top:-2px;bottom:-2px;width:6px;background:#FFF8EC;border:1px solid rgba(19,35,58,.25);}
#meet-mounira .scroll-roller::before{left:-3px;}
#meet-mounira .scroll-roller::after{right:-3px;}
#meet-mounira .career-scroll-toggle{border:0;border-bottom:1px solid #13233a35;border-radius:0;background:transparent;box-shadow:none;font:10px/1.7 ui-monospace,'Courier New',monospace;letter-spacing:.02em;padding:4px 0;}

/* Restore the original antique rollers while retaining the section's paper. */
#meet-mounira .scroll-roller{height:25px;left:-9px;right:-9px;border:1px solid #b39260;border-radius:16px;background:linear-gradient(#f8e7bd 0%,#fff6d9 20%,#e4c18a 58%,#b99560 86%,#f1d6a6 100%);box-shadow:0 3px 5px #5b412729;}
#meet-mounira .scroll-roller::before,#meet-mounira .scroll-roller::after{top:-4px;bottom:-4px;width:10px;background:linear-gradient(90deg,#927048,#f3d7a3,#b08a56);border:1px solid #927048;}
#meet-mounira .scroll-roller::before{left:-5px;}
#meet-mounira .scroll-roller::after{right:-5px;}

/* Remove decorative section/chapter numbering; retain all navigation labels. */
#chapterCount,.borderless-count{display:none!important;}

/* A cycling journey connects the two closing lines of the profile. */
#meet-mounira .profile-bottom.profile-travel-bridge{display:grid;grid-template-columns:minmax(160px,1fr) minmax(220px,2.2fr) minmax(180px,1fr);align-items:center;gap:18px;padding-top:8px;}
#meet-mounira .profile-travel-bridge>span:last-child{text-align:right;}
#meet-mounira .tourist-road{position:relative;min-width:0;width:100%;height:180px;overflow:hidden;}
#meet-mounira .tourist-road-line{position:absolute;left:0;right:0;top:80%;border-top:1px dashed #2F7FD870;}
#meet-mounira .tourist-rider{position:absolute;top:0;left:0;width:180px;height:180px;animation:touristBridgeRide 20s linear infinite;}
#meet-mounira .tourist-rider svg{display:block;width:100%;height:100%;}
@keyframes touristBridgeRide{0%{left:-140px;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{left:calc(100% - 20px);opacity:0;}}
#meet-mounira .tourist-road-paused .tourist-rider{animation-play-state:paused;}
@media(max-width:700px){#meet-mounira .profile-bottom.profile-travel-bridge{grid-template-columns:1fr;gap:0;padding-top:22px;}#meet-mounira .tourist-road{height:160px;}#meet-mounira .tourist-rider{width:160px;height:160px;}}
@media(prefers-reduced-motion:reduce){#meet-mounira .tourist-rider{animation:none;left:calc(50% - 90px);opacity:1;}}

/* Four explicit choices around a simple glass compass inspired by the supplied reference. */
.power-instruction{max-width:720px;margin:-12px 0 36px;color:var(--muted);font-size:15px;}
#powers .power-compass{width:100%;max-width:480px;height:auto;min-height:430px;padding-top:290px;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 auto;}
#powers .compass-ring{inset:auto;left:50%;top:0;width:260px;height:260px;transform:translateX(-50%);border:2px solid #fffaf0;border-radius:50%;background:linear-gradient(135deg,#ffffff90,#e3e9e345);box-shadow:0 8px 28px #13233a0c;mask:none;}
#powers .power-compass:before{inset:auto;left:50%;top:20px;width:220px;height:220px;transform:translateX(-50%);border:1px dashed #617b82;border-radius:50%;}
#powers .power-compass:after{display:none;}
#powers .north,#powers .south,#powers .west,#powers .east{position:absolute;font:700 14px var(--sans);color:#13233a;transform:translateX(-50%);z-index:2;}
#powers .north{top:10px;left:50%;}#powers .south{top:229px;bottom:auto;left:50%;}#powers .west{top:119px;left:calc(50% - 109px);}#powers .east{top:119px;left:calc(50% + 109px);}
#powers .compass-needle{inset:auto;left:calc(50% - 16px);top:55px;width:32px;height:150px;background:linear-gradient(var(--coral) 50%,#13233a 50%);transform-origin:center;}
#powers .power-center{inset:auto;left:calc(50% - 7px);top:123px;width:14px;height:14px;background:#fffaf0;border:3px solid #13233a;}
#powers .power-point{position:relative;inset:auto;width:100%;height:auto;min-height:62px;border-radius:12px;padding:15px 12px;text-align:left;display:flex;align-items:center;gap:10px;background:var(--cream);color:var(--ink);}
#powers .power-point:before{content:'↗';font-size:20px;color:var(--coral);}
#powers .power-point span{position:static;transform:none;width:auto;white-space:normal;font:600 14px/1.4 var(--sans);}
#powers .power-point[aria-pressed=true]{background:var(--ink);color:var(--cream);border-color:var(--ink);}
#powers .power-point[aria-pressed=true] span{color:var(--cream);}
.power-pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:22px;}
.power-pagination>div{display:flex;gap:8px;}.power-pagination button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--cream);font-size:20px;}
@media(max-width:600px){#powers .power-layout{gap:35px;}#powers .power-point span{font-size:13px;}.power-instruction{margin-top:0;}}

/* Live invitation to explore the globe, without changing the button layout. */
.borderless-start{position:relative;}
.borderless-start::after{content:'';display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;margin-left:10px;background:var(--coral);box-shadow:0 0 0 0 #c9543840;animation:exploreLivePulse 2.4s ease-out infinite;}
@keyframes exploreLivePulse{0%{box-shadow:0 0 0 0 #c9543855;}75%,100%{box-shadow:0 0 0 12px #c9543800;}}
@media(prefers-reduced-motion:reduce){.borderless-start::after{animation:none;}}

/* Upright kraft suitcase and job stickers, inspired by the supplied handmade reference. */
#work .craft-suitcase{width:min(100%,550px);max-width:550px;height:750px;padding:0;margin:65px auto 20px;transform:rotate(-3deg);}
#work .craft-suitcase .suitcase-handle{top:0;left:50%;width:190px;height:125px;border:18px solid #20262c;border-bottom:0;border-radius:13px 13px 0 0;background:none;transform:translateX(-50%);z-index:1;box-shadow:inset 0 6px 4px #0002;}
#work .craft-suitcase .suitcase-handle:before{content:'';position:absolute;left:-32px;right:-32px;top:-20px;height:30px;border-radius:13px;background:#20262c;}
#work .craft-suitcase .case-front{position:absolute;inset:100px 0 35px;height:auto;border:1px solid #b18c5d;border-radius:48px 48px 35px 35px;background:radial-gradient(ellipse at 25% 20%,#ffffff16,transparent 65%),repeating-linear-gradient(23deg,#fff1 0 1px,transparent 1px 4px),#bd955f;box-shadow:inset 0 0 30px #6e4e2520,0 20px 35px #513a3222;z-index:2;display:block;}
#work .craft-suitcase .case-front:before,#work .craft-suitcase .case-front:after{display:none;}
#work .case-trail{position:absolute;inset:0;width:100%;height:100%;opacity:.8;}
#work .craft-suitcase .luggage-label{position:absolute;top:230px;left:50%;width:85%;transform:translateX(-50%) rotate(2deg);padding:0;border:0;background:none;text-align:center;letter-spacing:0;color:#20262c;filter:drop-shadow(0 3px 1px #704b2c25);}
#work .luggage-label>span{font:400 52px/1 var(--sans);letter-spacing:.08em;display:block;paint-order:stroke fill;-webkit-text-stroke:9px #fff8ec;}
#work .luggage-label>em{display:block;font:700 57px/1.05 var(--hand);paint-order:stroke fill;-webkit-text-stroke:9px #fff8ec;}
#work .craft-suitcase .file-fan{position:absolute;inset:100px 0 35px;height:auto;display:block;z-index:3;perspective:none;}
#work .job-sticker{position:absolute;width:42%;min-height:155px;padding:12px 12px 15px;background:var(--cream);color:var(--ink);border:6px solid #fffaf0;border-radius:13px;box-shadow:1px 4px 5px #513a3240,inset 0 0 0 1px var(--sticker-color);text-align:center;transition:translate .25s,box-shadow .25s;}
#work .job-sticker svg{width:44px;height:44px;margin:0 auto 7px;color:var(--sticker-color);display:block;}
#work .job-sticker strong{display:block;font:600 16px/1.2 var(--sans);}
#work .job-sticker small{display:block;font:11px/1.35 var(--sans);margin-top:5px;}
#work .sticker-open{position:absolute;right:7px;top:3px;color:var(--sticker-color);font-size:17px;}
#work .job-sticker-0{left:5%;top:30px;transform:rotate(-8deg);}
#work .job-sticker-1{right:5%;top:42px;transform:rotate(9deg);}
#work .job-sticker-2{left:5%;bottom:116px;transform:rotate(-7deg);border-radius:35px 12px 25px 12px;}
#work .job-sticker-3{right:5%;bottom:110px;transform:rotate(7deg);}
#work .job-sticker-4{width:59%;left:21%;bottom:12px;min-height:83px;padding:10px 12px 10px 58px;transform:rotate(-3deg);border-radius:9px;text-align:left;}
#work .job-sticker-4 svg{position:absolute;left:9px;top:16px;width:33px;height:33px;}
#work .job-sticker:is(:hover,:focus-visible){translate:0 -7px;box-shadow:1px 12px 15px #513a3245;}
#work .case-wheel{position:absolute;bottom:15px;width:44px;height:55px;border-radius:0 0 12px 12px;background:#20262c;z-index:1;}
#work .case-wheel-left{left:13%;}#work .case-wheel-right{right:13%;}
@media(max-width:600px){#work .craft-suitcase{height:750px;transform:rotate(-1deg);margin-top:50px;}#work .craft-suitcase .case-front,#work .craft-suitcase .file-fan{top:90px;}#work .job-sticker{width:43%;padding:10px 7px;min-height:155px;}#work .job-sticker strong{font-size:13px;}#work .job-sticker small{font-size:10px;}#work .job-sticker-0,#work .job-sticker-2{left:4%;}#work .job-sticker-1,#work .job-sticker-3{right:4%;}#work .job-sticker-4{width:66%;left:17%;min-height:83px;padding-left:47px;}#work .luggage-label>span{font-size:42px;}#work .luggage-label>em{font-size:47px;}#work .craft-suitcase .luggage-label{top:222px;}}

/* Compact the complete suitcase proportionally, including its occupied space. */
#work .craft-suitcase{zoom:.72;margin-top:45px;margin-bottom:15px;}
@media(max-width:600px){#work .craft-suitcase{zoom:.82;width:min(100%,470px);}}

/* A small suitcase scrapbook for each professional chapter. */
#work .suitcase-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 50px;max-width:1050px;margin:65px auto 0;padding:0 12px;}
#work .suitcase-album{min-width:0;display:block;padding:0;background:none;text-align:center;color:var(--ink);}
#work .album-object{display:block;position:relative;width:min(100%,225px);height:300px;margin:0 auto 24px;perspective:1100px;transform:rotate(var(--album-tilt));isolation:isolate;}
#work .album-handle{position:absolute;top:0;left:calc(50% - 38px);width:76px;height:50px;border:9px solid #20262c;border-bottom:0;border-radius:5px;z-index:-1;}
#work .album-handle:before{content:'';position:absolute;top:-9px;left:-17px;right:-17px;height:12px;border-radius:5px;background:#20262c;}
#work .album-wheels{position:absolute;left:22px;right:22px;bottom:0;height:18px;z-index:-1;}
#work .album-wheels:before,#work .album-wheels:after{content:'';position:absolute;left:0;width:20px;height:18px;border-radius:0 0 5px 5px;background:#20262c;}#work .album-wheels:after{left:auto;right:0;}
#work .album-inside,#work .album-cover{position:absolute;inset:35px 0 11px;border:3px solid #ae844f;border-radius:20px 20px 16px 16px;background:#bd955f;overflow:hidden;box-shadow:3px 7px 10px #513a3225;}
#work .album-inside{padding:13px;background:#eee6cf;transform:rotate(3deg);}
#work .album-inside img{width:100%;height:175px;object-fit:cover;border:6px solid #fffaf0;box-shadow:0 3px 6px #13233a20;transform:rotate(-3deg);}
#work .album-paper-note{display:block;margin-top:9px;font:21px/1.1 var(--hand);color:var(--ink);}
#work .album-cover{transform-origin:3px center;transform:rotateY(0);transition:transform .7s cubic-bezier(.2,.7,.2,1);backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 10px;background:repeating-linear-gradient(20deg,#ffffff0b 0 1px,transparent 1px 4px),#bd955f;}
#work .album-route{position:absolute;inset:0;width:100%;height:100%;opacity:.7;z-index:-1;}
#work .album-job-icon{width:57px;height:57px;background:#fff8ec;border:3px solid white;border-radius:50%;display:grid;place-items:center;transform:rotate(-10deg);box-shadow:1px 2px 3px #513a3225;margin-bottom:13px;color:var(--album-color);}
#work .album-job-icon svg{width:35px;height:35px;}
#work .album-sticker-title{display:block;padding:7px 9px;background:#fffaf0;border-radius:4px;box-shadow:1px 3px 3px #513a3228;font:600 18px/1.15 var(--sans);transform:rotate(-4deg);}
#work .album-job-role{display:block;margin-top:12px;padding:5px 8px;background:var(--album-color);color:#fffaf0;border:2px solid #fff8ec;font:11px/1.3 var(--sans);transform:rotate(4deg);}
#work .album-open-label{font:12px/1.4 var(--sans);margin-top:15px;color:#273b35;background:#fff8ecd9;padding:3px 9px;border-radius:20px;}
#work .album-caption strong{display:block;font:600 16px/1.4 var(--sans);}#work .album-caption small{display:block;font:12px/1.4 var(--sans);color:var(--muted);margin-top:4px;}
@media(hover:hover){#work .suitcase-album:hover .album-cover{transform:rotateY(-125deg);}#work .suitcase-album:hover .album-object{z-index:5;}}
#work .suitcase-album:focus-visible .album-cover{transform:rotateY(-125deg);}
#work .suitcase-gallery+.work-index{display:none;}
@media(max-width:850px){#work .suitcase-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 30px;}}
@media(max-width:480px){#work .suitcase-gallery{gap:28px 16px;padding:0;margin-top:45px;}#work .album-object{height:245px;}#work .album-sticker-title{font-size:14px;}#work .album-job-role{font-size:10px;}#work .album-cover{padding:10px 5px;}#work .album-job-icon{width:42px;height:42px;margin-bottom:8px;}#work .album-job-icon svg{width:27px;height:27px;}#work .album-caption strong{font-size:13px;}#work .album-caption small{font-size:11px;}#work .album-inside{padding:8px;}#work .album-inside img{height:132px;}#work .album-paper-note{font-size:17px;}#work .album-open-label{margin-top:9px;font-size:10px;}}
@media(prefers-reduced-motion:reduce){#work .album-cover{transition:none;}}

/* A small paper-plane journey between sections. */
.flight-divider{position:relative;width:100%;height:100px;background:var(--paper);overflow:hidden;pointer-events:none;}
.flight-divider svg{display:block;width:100%;height:100%;}
/* Tools as a balancing act, with a readable parallel list. */
.toolbox-section{background:var(--paper);padding-top:65px;padding-bottom:65px;}
.toolbox-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:5vw;align-items:center;max-width:1250px;margin:auto;}
.toolbox-art{min-width:0;}.toolbox-performer{display:block;width:100%;height:auto;overflow:visible;}
.toolbox-art-note{text-align:center;font:26px/1.2 var(--hand);color:var(--muted);margin-top:10px;transform:rotate(-3deg);}
.toolbox-copy h2{font-size:clamp(35px,4vw,60px);margin-top:15px;}
.toolbox-intro{color:var(--muted);margin:22px 0 28px;max-width:440px;}
.toolbox-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;}
.toolbox-list li{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.3;}
.toolbox-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--cream);border:1px solid var(--tool-color);color:var(--tool-color);font-size:12px;font-weight:700;box-shadow:2px 3px 0 #13233a08;}
@media(max-width:850px){.toolbox-layout{grid-template-columns:1fr;gap:45px;}.toolbox-art{max-width:550px;width:100%;margin:auto;}.toolbox-copy{max-width:600px;width:100%;margin:auto;}.toolbox-list{gap:18px 14px;}}
@media(max-width:480px){.flight-divider{height:75px;}.toolbox-section{padding-top:35px;padding-bottom:40px;}.toolbox-art-note{font-size:22px;}.toolbox-list li{font-size:13px;gap:9px;}.toolbox-icon{flex-basis:35px;width:35px;height:35px;}.toolbox-copy h2{font-size:37px;}}

/* Stronger alternating turns and a recognisable passenger aircraft. */
.flight-divider{height:160px;}
@media(max-width:480px){.flight-divider{height:140px;}}

/* Only the static tool illustration belongs to this section. */
.toolbox-section.toolbox-static{display:grid;place-items:center;padding:45px 24px;background:var(--paper);}
.toolbox-static-image{display:block;width:min(100%,680px);height:auto;animation:none!important;transform:none!important;}
@media(max-width:600px){.toolbox-section.toolbox-static{padding:28px 14px;}}

/* Rigid blush and cognac cases, with brass hardware and a lid hinged at the back. */
#work .suitcase-gallery{max-width:1120px;gap:35px 45px;margin-top:35px;}
#work .luxe-suitcase{min-width:0;width:100%;border:0;padding:0;background:none;color:var(--ink);text-align:center;}
#work .luxe-case-scene{display:block;position:relative;width:min(100%,300px);height:255px;margin:0 auto 15px;perspective:850px;isolation:isolate;}
#work .luxe-case-shadow{position:absolute;left:5%;right:0;bottom:9px;height:22px;border-radius:50%;background:#36281c25;filter:blur(9px);transition:opacity .6s;}
#work .luxe-case-front{position:absolute;left:0;right:0;top:148px;height:91px;border:1px solid var(--case-dark);border-radius:3px 3px 9px 9px;background:linear-gradient(110deg,#ffffff20,transparent 40%,#00000008),var(--case-color);box-shadow:inset 0 -5px 8px #00000009,3px 7px 9px #33291c16;z-index:4;}
#work .luxe-case-front:after{content:'';position:absolute;right:-6px;top:2px;bottom:5px;width:6px;background:var(--case-dark);transform:skewY(-20deg);transform-origin:left;border-radius:0 3px 5px 0;}
#work .luxe-case-seam{position:absolute;left:0;right:0;top:13px;height:1px;background:var(--case-dark);box-shadow:0 1px 0 #ffffff25;}
#work .luxe-case-inside{position:absolute;left:0;right:0;top:114px;height:60px;padding:8px 35px;background:linear-gradient(#00000018,#00000005),var(--case-dark);border:7px solid var(--case-color);border-radius:5px;transform:rotateX(53deg);transform-origin:bottom;z-index:1;overflow:hidden;}
#work .luxe-case-inside img{width:100%;height:100%;object-fit:cover;opacity:.85;border:2px solid #fff8ec;}
#work .luxe-case-lid{position:absolute;left:0;right:0;top:25px;height:126px;border:6px solid var(--case-color);border-radius:5px 5px 2px 2px;background:var(--case-dark);transform-origin:center bottom;transform:rotateX(-79deg);transition:transform .85s cubic-bezier(.22,.7,.22,1),box-shadow .85s;transform-style:preserve-3d;z-index:3;box-shadow:0 -1px 0 var(--case-dark),inset 0 0 8px #33291c18;}
#work .luxe-case-lid:before,#work .luxe-case-lid:after{content:'';position:absolute;top:-9px;width:19px;height:5px;border-radius:2px;background:linear-gradient(90deg,#ad853b,#fff1b5,#b9954c);box-shadow:0 1px 1px #73552d55;}
#work .luxe-case-lid:before{left:13%;}#work .luxe-case-lid:after{right:13%;}
#work .luxe-lid-lining{position:absolute;inset:3px;background:linear-gradient(130deg,#ffffff12,#00000008),var(--case-color);box-shadow:inset 0 0 8px #4b312c20;}
#work .luxe-lid-rib{position:absolute;left:4px;right:4px;height:2px;background:var(--case-dark);box-shadow:0 1px 0 #fff3;}.rib-one{top:32%;}.rib-two{top:70%;}
#work .luxe-lid-edge{position:absolute;bottom:-6px;left:-6px;right:-6px;height:7px;background:var(--case-color);border-bottom:1px solid var(--case-dark);}
#work .luxe-lock{position:absolute;top:3px;width:25px;height:49px;border:1px solid #a88647;border-radius:8px 8px 10px 10px;background:linear-gradient(100deg,#bfa15f,#fff3ba 35%,#dcc48a 65%,#ad883c);box-shadow:1px 2px 2px #58422333,inset 0 0 0 3px #fff1ad55;}
#work .lock-left{left:12%;}#work .lock-right{right:12%;}
#work .luxe-lock:before,#work .luxe-lock:after{content:'';position:absolute;left:10px;width:3px;height:3px;border-radius:50%;background:#9c7c39;box-shadow:0 1px 0 #fff9;}.luxe-lock:before{top:5px;}.luxe-lock:after{bottom:5px;}
#work .luxe-lock i{position:absolute;left:5px;right:5px;top:13px;height:18px;border:1px solid #a88647;background:linear-gradient(100deg,#fff0b5,#c6a25c);border-radius:2px;box-shadow:0 2px 2px #58422333;transition:transform .6s;transform-origin:top;}
#work .luxe-handle{position:absolute;left:calc(50% - 33px);top:42px;width:66px;height:23px;border:5px solid #dec68b;border-top:0;border-radius:0 0 8px 8px;box-shadow:0 2px 1px #94713c60,inset 0 -1px 0 #fff1b8;}
#work .luxe-handle i{position:absolute;top:-9px;width:10px;height:18px;border:1px solid #ad883c;background:linear-gradient(90deg,#c2a365,#fff2ba,#d1ad62);border-radius:4px;}.luxe-handle i:first-child{left:-7px;}.luxe-handle i:last-child{right:-7px;}
#work .luxe-emboss{position:absolute;left:0;right:0;top:17px;font:12px var(--serif);color:#fff3c7;text-shadow:0 1px 1px #88663480;letter-spacing:2px;}
#work .luxe-case-caption{display:block;}.luxe-case-caption strong{display:block;font:600 16px/1.4 var(--sans);}.luxe-case-caption small{display:block;font:12px/1.5 var(--sans);color:var(--muted);margin:5px 0;}.luxe-case-caption>span{font:11px/1.4 var(--sans);color:var(--coral);}
#work .luxe-suitcase:focus-visible .luxe-case-lid{transform:rotateX(9deg);}
#work .luxe-suitcase:focus-visible .luxe-lock i{transform:rotateX(45deg);}
@media(hover:hover){#work .luxe-suitcase:hover .luxe-case-lid{transform:rotateX(9deg);}#work .luxe-suitcase:hover .luxe-lock i{transform:rotateX(45deg);}}
@media(max-width:600px){#work .suitcase-gallery{gap:20px 24px;}#work .luxe-case-scene{height:255px;zoom:.85;width:100%;}#work .luxe-lock{width:19px;height:42px;}.luxe-lock i{left:3px;right:3px;}#work .luxe-handle{width:48px;left:calc(50% - 24px);height:20px;}#work .luxe-case-caption strong{font-size:13px;}#work .luxe-case-caption small{font-size:11px;}}
@media(prefers-reduced-motion:reduce){#work .luxe-case-lid,#work .luxe-lock i{transition:none;}}

/* All five experience cases stay in one row, with backward-opening lids. */
#work .suitcase-gallery{grid-template-columns:repeat(5,minmax(165px,1fr));gap:20px;max-width:1500px;overflow-x:auto;overflow-y:hidden;padding:0 5px 24px;scroll-snap-type:x proximity;scrollbar-width:thin;}
#work .luxe-suitcase{scroll-snap-align:center;}
#work .luxe-case-caption strong{font-size:14px;}
@media(max-width:1000px){#work .suitcase-gallery{grid-template-columns:repeat(5,190px);gap:24px;justify-content:start;}}
@media(max-width:600px){#work .suitcase-gallery{grid-template-columns:repeat(5,185px);gap:22px;}#work .luxe-case-caption strong{font-size:13px;}}

.toolbox-section.toolbox-static{padding:12px 18px;}
.toolbox-static-image{width:min(100%,500px);max-height:410px;object-fit:contain;}
.mountain-divider{background:var(--paper);height:160px;}
@media(max-width:600px){.toolbox-section.toolbox-static{padding:10px 12px;}.toolbox-static-image{width:min(100%,420px);max-height:340px;}.mountain-divider{height:130px;}}

/* Use the supplied closed/open cases verbatim for each experience. */
#work .reference-suitcase{display:block;width:100%;min-width:0;background:none;padding:0;border:0;text-align:center;color:var(--ink);scroll-snap-align:center;}
#work .reference-case-scene{display:block;position:relative;width:100%;height:245px;margin:0 auto 16px;}
#work .reference-case-scene img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;mix-blend-mode:multiply;transition:opacity .35s ease;}
#work .reference-case-closed{opacity:1;z-index:2;}#work .reference-case-open{opacity:0;z-index:1;}
#work .reference-suitcase:focus-visible .reference-case-closed{opacity:0;}#work .reference-suitcase:focus-visible .reference-case-open{opacity:1;}
@media(hover:hover){#work .reference-suitcase:hover .reference-case-closed{opacity:0;}#work .reference-suitcase:hover .reference-case-open{opacity:1;}}
@media(max-width:600px){#work .reference-case-scene{height:215px;}}
/* Clear, actionable invitation over both hero backgrounds. */
.hero .scroll-note{display:inline-flex;align-items:center;gap:16px;z-index:8;max-width:calc(100% - 44px);padding:12px 19px;background:#fff8ecf5;color:#233e39;border:1px solid #fffdf7;border-radius:32px;box-shadow:0 5px 20px #13233a28;text-shadow:none;font:600 15px/1.4 var(--sans);bottom:48px;}
.hero .scroll-note span:last-child{display:grid;place-items:center;width:29px;height:29px;margin-left:0;background:var(--coral);color:#fff8ec;border-radius:50%;font:700 20px/1 var(--sans);}
@media(max-width:700px){.hero .scroll-note{left:22px;bottom:24px;padding:10px 14px;font-size:13px;gap:10px;}.hero .scroll-note span:last-child{width:26px;height:26px;}}
@media(prefers-reduced-motion:reduce){#work .reference-case-scene img{transition:none;}.hero .scroll-note span:last-child{animation:none;}}

/* Single transparent pink case, preserving its original material colours. */
#work .reference-case-scene img{mix-blend-mode:normal;}

#work .reference-case-scene{height:190px;}
@media(max-width:600px){#work .reference-case-scene{height:170px;}}

/* Gentle hover darkening, without material tint filters. */
#work .reference-case-scene{filter:brightness(1);transition:filter .3s ease;}
@media(prefers-reduced-motion:reduce){#work .reference-case-scene{transition:none;}}

/* Real material-colour assets preserve leather and polished brass detail. */
#work .reference-case-scene img{filter:none!important;}
#work .reference-suitcase:focus-visible .reference-case-scene{filter:brightness(.9);}
@media(hover:hover){#work .reference-suitcase:hover .reference-case-scene{filter:brightness(.9);}}

/* Hand-drawn alpine outline, matching the third reference. */
.mountain-divider{height:210px;}
.mountain-divider svg{width:calc(100% - 48px);max-width:760px;margin:auto;height:100%;}
@media(max-width:600px){.mountain-divider{height:130px;}.mountain-divider svg{width:calc(100% - 48px);}}

/* Compact centred app-icon stack, following the latest reference. */
.toolbox-section.tools-stack{display:block;position:relative;overflow:hidden;background:var(--paper);padding:45px 24px 48px;text-align:center;isolation:isolate;}
.tools-stack:before{content:'';position:absolute;left:50%;bottom:-90px;transform:translateX(-50%);width:min(850px,100%);height:300px;background:radial-gradient(ellipse,#ffda7970,transparent 68%);z-index:-1;pointer-events:none;}
.stack-eyebrow{font:600 14px/1.4 var(--sans);color:var(--muted);margin-bottom:20px;}
.tools-stack h2{font:800 clamp(35px,4.7vw,66px)/1.08 var(--sans);letter-spacing:-.055em;color:var(--ink);white-space:normal;margin:0 auto;max-width:1100px;}
.stack-subtitle{font:400 clamp(15px,1.7vw,22px)/1.5 var(--sans);color:var(--muted);margin:15px auto 32px;max-width:900px;}
.stack-apps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 30px;max-width:540px;padding:0;margin:0 auto;list-style:none;}
.stack-apps li{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;}
.stack-app-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--app-bg);color:var(--app-fg);box-shadow:0 4px 8px #13233a12,0 1px 2px #13233a0c;}
.stack-app-icon svg{display:block;width:25px;height:25px;fill:currentColor;}
.stack-app-name{font:500 10px/1.3 var(--sans);color:var(--ink);}
@media(max-width:600px){.toolbox-section.tools-stack{padding:32px 18px 34px;}.stack-eyebrow{margin-bottom:15px;}.tools-stack h2{font-size:35px;max-width:450px;}.stack-subtitle{font-size:15px;margin-bottom:28px;}.stack-apps{gap:22px 13px;max-width:420px;}.stack-app-icon{width:41px;height:41px;border-radius:11px;}.stack-app-name{font-size:9px;}.stack-app-icon svg{width:24px;height:24px;}}

/* Full-width landscape transitions. */
.mountain-divider svg{width:100%;max-width:none;margin:0;}
.ocean-divider{height:190px;background:var(--paper);}
.ocean-divider svg{display:block;width:100%;height:100%;}
@media(max-width:600px){.mountain-divider svg{width:100%;}.ocean-divider{height:140px;}}

.hammock-divider{display:flex;align-items:center;justify-content:center;height:250px;padding:12px 24px;background:var(--paper);overflow:hidden;}
.hammock-divider svg{display:block;width:335px;max-width:100%;height:100%;mix-blend-mode:multiply;}
@media(max-width:600px){.hammock-divider{height:205px;padding:10px 24px;}}

/* Cream torn-paper separators, with softly raised landscape edges. */
.torn-paper-divider{height:90px;background:#fff3dc;overflow:hidden;}
.torn-paper-divider svg{display:block;width:100%;height:100%;overflow:visible;}
.paper-landscape{filter:drop-shadow(0 -3px 4px #725b3930);}
.mountain-divider,.ocean-divider{background:#fff3dc;}
.mountain-divider svg,.ocean-divider svg{overflow:visible;}
@media(max-width:600px){.torn-paper-divider{height:65px;}}

/* Use the supplied torn page itself, without a substitute outline. */
.torn-paper-divider{display:block;width:100%;height:clamp(90px,12vw,180px);background:transparent;overflow:hidden;line-height:0;pointer-events:none;}
.torn-paper-divider img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;margin:0;}
.mountain-divider{background:transparent;}
@media(max-width:600px){.torn-paper-divider{height:90px;}}

/* Landscape paper uses the exact background token of the work section. */
.mountain-divider,.ocean-divider{background:transparent;}
.mountain-divider .paper-landscape,.ocean-divider .paper-landscape{fill:var(--paper);}
.mountain-divider g path,.ocean-divider .ocean-waves path:not(.paper-landscape){stroke:color-mix(in srgb,var(--paper) 85%,var(--ink));}

/* The journey flows straight into the ocean, without a horizontal seam. */
.ocean-divider{background:var(--cream);margin-top:-1px;isolation:isolate;}
.ocean-divider svg{width:104%;max-width:none;margin-left:-2%;}
.ocean-waves{transform-box:fill-box;transform-origin:center bottom;animation:ocean-houle 8s ease-in-out infinite;will-change:transform;}
@keyframes ocean-houle{0%,100%{transform:translate(-.4%,2px) scaleY(.98);}50%{transform:translate(.4%,-3px) scaleY(1.035);}}
.ocean-divider[data-motion-visible="false"] .ocean-waves{animation-play-state:paused;}
@media(prefers-reduced-motion:reduce){.ocean-waves{animation:none;will-change:auto;}}

/* A gently swinging paper hammock after the tools. */
.paper-hammock{background:transparent;}
.paper-hammock svg{mix-blend-mode:normal;overflow:visible;width:360px;}
.hammock-paper{fill:var(--paper);stroke:color-mix(in srgb,var(--paper) 85%,var(--ink));stroke-width:1.1;filter:drop-shadow(0 -3px 4px #725b3930);}
.hammock-ropes,.hammock-seams{stroke:color-mix(in srgb,var(--paper) 78%,var(--ink));}
.hammock-swing{transform-origin:50% 12%;transform-box:view-box;animation:paper-hammock-sway 6s ease-in-out infinite;}
@keyframes paper-hammock-sway{0%,100%{transform:rotate(-2.5deg) translateY(1px);}50%{transform:rotate(2.5deg) translateY(-1px);}}
.paper-hammock[data-motion-visible="false"] .hammock-swing{animation-play-state:paused;}
@media(prefers-reduced-motion:reduce){.hammock-swing{animation:none;}}

/* Fine ragged section edges, integrated into the adjacent backgrounds. */
.torn-paper-divider{height:16px;min-height:0;margin:0;padding:0;line-height:0;background:var(--tear-top,var(--paper));overflow:hidden;}
.torn-paper-divider svg{display:block;width:100%;height:16px;overflow:visible;}
.torn-paper-divider svg path{filter:none;}
@media(max-width:600px){.torn-paper-divider{height:12px;}.torn-paper-divider svg{height:12px;}}

/* Give the torn section boundaries a clearer edge and paper relief. */
.torn-paper-divider svg path:last-child{stroke:#a58d68;stroke-opacity:.76;stroke-width:1.25;filter:drop-shadow(0 1.5px 1px #725b3940);}

/* Place the animated hammock beside the tools. */
.tools-with-swing{display:grid;grid-template-columns:minmax(220px,360px) minmax(0,540px);align-items:center;justify-content:center;gap:40px;max-width:1000px;margin:0 auto;}
.tools-with-swing .paper-hammock{width:100%;height:250px;padding:0;}
.tools-with-swing .stack-apps{width:100%;margin:0;}
@media(max-width:600px){.tools-with-swing{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px;}.tools-with-swing .paper-hammock{height:170px;}.tools-with-swing .stack-apps{gap:18px 7px;}.tools-with-swing .stack-app-icon{width:30px;height:30px;border-radius:9px;}.tools-with-swing .stack-app-icon svg{width:19px;height:19px;}.tools-with-swing .stack-app-name{font-size:8px;overflow-wrap:anywhere;}}

.joys-scrapbook{position:relative;padding:35px 26px 32px!important;background:linear-gradient(105deg,transparent 48%,#d3ccc620 49.8%,#fff8 50%,transparent 51%),repeating-linear-gradient(0deg,#a9988310 0 1px,transparent 1px 4px),#fffdfa;box-shadow:0 6px 16px #3e2d3720;overflow:hidden}
.joys-scrapbook>.eyebrow{text-align:center;font-size:10px;margin-bottom:8px}
.joys-scrapbook>h2{text-align:center;font:bold clamp(30px,5vw,44px)/1.1 Georgia,serif;letter-spacing:-1.5px;margin:0 0 32px;color:#382c40}
.joys-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:26px 17px;padding:8px 6px 20px}
.hobby-polaroid{position:relative;margin:0;padding:8px 8px 22px;background:#fff;box-shadow:2px 5px 9px #3f2c4326;border:1px solid #e3dcd5;min-width:0;transition:transform .25s;z-index:1}
.hobby-photo{aspect-ratio:1;background:#ece5ee;overflow:hidden}
.hobby-art{width:100%;height:100%;background-image:url('assets/little-joys-hobby-atlas-v1.webp');background-size:300% 200%;background-position:var(--hobby-x) var(--hobby-y);background-repeat:no-repeat}
.hobby-polaroid figcaption{font:italic 17px/1.3 Georgia,serif;text-align:center;color:#4c3b59;margin-top:10px}
.hobby-crafting{transform:rotate(-8deg);grid-column:1;grid-row:1}
.hobby-crafting::before,.hobby-reading::before{content:'';position:absolute;left:40%;top:-10px;width:39px;height:18px;background:#dbcef2a6;transform:rotate(5deg);z-index:2}
.hobby-calisthenics{transform:rotate(6deg);grid-column:3;grid-row:1}
.hobby-calisthenics .hobby-photo{background:#e5e9dc}
.hobby-travelling{transform:rotate(-4deg);grid-column:1;grid-row:2}
.hobby-travelling .hobby-photo{background:#e2e9ed}
.hobby-hairdressing{transform:rotate(5deg);grid-column:2;grid-row:2}
.hobby-dance{transform:rotate(-5deg);grid-column:3;grid-row:2}
.hobby-dance .hobby-photo{background:#e7ddf4}
.hobby-reading{transform:rotate(4deg);grid-column:1;grid-row:3}
.hobby-reading .hobby-photo{background:#f0eadb}
.joys-note{grid-column:2;grid-row:1;font:13px/1.9 'Courier New',monospace;text-align:center;color:#55445f;margin:0}
.joys-signoff{grid-column:2/4;grid-row:3;font:13px/1.9 'Courier New',monospace;padding:10px 22px;color:#64526f;margin:0}
.joys-signoff svg{display:block;width:100px;height:45px;margin:12px 0 0;color:var(--purple)}
.hobby-polaroid:hover{transform:rotate(0) translateY(-5px);z-index:2}
@media(max-width:650px){.about-welcome::before{width:290px;height:375px}.joys-scrapbook{padding:28px 14px!important}.joys-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 17px}.joys-board .hobby-polaroid{grid-column:auto;grid-row:auto}.joys-note{grid-column:1/-1;grid-row:1;font-size:12px;max-width:250px;justify-self:center}.joys-signoff{grid-column:1/-1;grid-row:auto;padding:10px;text-align:center}.joys-signoff svg{margin:8px auto 0}.hobby-polaroid figcaption{font-size:16px}}
@media(prefers-reduced-motion:reduce){.hobby-polaroid{transition:none}.hobby-polaroid:hover{transform:none}}


/* The common thread: the original personal universe composition. */
.common-thread{--purple:var(--coral);}
.common-thread .about-universe{position:relative;min-height:690px;isolation:isolate;max-width:1120px;margin:20px auto 0;}
.common-thread .about-welcome{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:40%;text-align:center;isolation:isolate;}
.common-thread .about-welcome:before{content:'';position:absolute;left:50%;top:50%;width:320px;height:378px;z-index:-1;background:repeating-linear-gradient(0deg,transparent 0 29px,#a79bac29 29px 30px),#fffdf8;clip-path:polygon(1% 1%,15% 0,32% 1%,49% 0,68% 1%,84% 0,99% 1%,100% 17%,99% 33%,100% 48%,99% 67%,100% 87%,98% 95%,95% 94%,93% 98%,89% 96%,86% 99%,82% 96%,79% 100%,75% 97%,71% 99%,67% 96%,63% 100%,59% 98%,55% 99%,51% 96%,48% 99%,44% 97%,40% 100%,36% 97%,32% 98%,28% 96%,24% 99%,20% 97%,17% 98%,13% 95%,10% 97%,7% 94%,3% 96%,0 93%,1% 75%,0 56%,1% 37%,0 17%);transform:translate(-50%,-50%) rotate(-2deg);}
.common-thread .about-world-title{font:italic 29px/1.15 Georgia,serif;color:var(--coral);max-width:260px;margin:0 auto 22px;letter-spacing:-.7px;white-space:normal;}
.common-thread .about-welcome>p{font:11px/1.6 'Courier New',monospace;max-width:260px;margin:12px auto;}
.common-thread .scrapbook-portrait{width:134px;margin:0 auto 13px;padding:7px 7px 19px;background:white;border:1px solid #d7d0c8;box-shadow:3px 5px 12px #30233725;transform:rotate(3deg);position:relative;}
.common-thread .scrapbook-portrait:before{content:'';width:48px;height:15px;position:absolute;top:-8px;left:42px;transform:rotate(-6deg);background:#f3d7b6b0;z-index:1;}
.common-thread .scrapbook-portrait img{width:100%;height:126px;object-fit:cover;object-position:50% 25%;}
.common-thread .about-object{position:absolute;width:190px;border:0;background:transparent;cursor:pointer;padding:0;}
.common-thread .about-object svg{width:100%;height:auto;display:block;overflow:visible;transition:transform .3s;}
.common-thread .about-object>span{display:block;font:11px/1.5 'Courier New',monospace;color:var(--ink);padding:5px 3px;margin-top:-4px;}
.common-thread .about-object:hover svg,.common-thread .about-object:focus-visible svg{transform:translateY(-5px) rotate(3deg);}
.common-thread .object-letter{left:7%;top:5%;transform:rotate(-10deg);}
.common-thread .object-hobbies{right:8%;top:3%;transform:rotate(10deg);}
.common-thread .object-languages{left:1%;top:36%;transform:rotate(5deg);}
.common-thread .object-journeys{right:1%;top:38%;transform:rotate(-10deg);}
.common-thread .object-work{left:15%;bottom:2%;transform:rotate(-7deg);}
.common-thread .object-community{right:14%;bottom:3%;transform:rotate(8deg);}
.common-thread .object-music{top:0;left:calc(50% - 65px);width:130px;transform:rotate(-5deg);}
#dialogContent .about-theme{padding:24px;color:var(--ink);}
#dialogContent .about-theme h2{font-size:clamp(28px,4vw,44px);margin:14px 0 24px;white-space:normal;}
#dialogContent .about-theme p{line-height:1.8;margin:16px 0;}
#dialogContent .hobby-art{background-position:var(--hobby-x) var(--hobby-y);}
@media(max-width:900px) and (min-width:651px){.common-thread .about-object{width:150px;}.common-thread .about-universe{min-height:650px;}.common-thread .object-letter{left:1%;}.common-thread .object-hobbies{right:1%;}.common-thread .object-work{left:8%;}.common-thread .object-community{right:8%;}.common-thread .about-welcome:before{width:280px;}}
@media(max-width:650px){.common-thread .about-universe{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:25px 12px;padding:15px 0 25px;}.common-thread .about-welcome{position:relative;left:auto;top:auto;transform:none;width:auto;grid-column:1/-1;grid-row:1;min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;}.common-thread .about-welcome:before{width:290px;height:375px;}.common-thread .about-object{position:static;width:100%;max-width:165px;justify-self:center;transform:rotate(-4deg);}.common-thread .about-object:nth-child(odd){transform:rotate(4deg);}.common-thread .object-music{width:150px;grid-column:1/-1;}.common-thread .about-object>span{font-size:10px;}}
@media(prefers-reduced-motion:reduce){.common-thread .about-object svg{transition:none;}}

/* Arrival-triggered story reader, with its own scroll area. */
.journey-story-dialog{width:min(620px,calc(100vw - 32px));max-width:620px;max-height:85dvh;padding:0;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);box-shadow:0 20px 80px #13233a40;overflow:hidden;}
.journey-story-dialog::backdrop{background:#13233a55;backdrop-filter:blur(3px);}
.journey-story-toolbar{display:flex;justify-content:flex-end;padding:12px 16px 0;}
.journey-story-close{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--cream);font-size:27px;line-height:1;}
.journey-story-scroll{max-height:calc(85dvh - 130px);overflow-y:auto;overscroll-behavior:contain;padding:12px 32px 28px;scrollbar-gutter:stable;}
.journey-story-scroll h2{font:clamp(30px,5vw,46px)/1.12 var(--serif);white-space:normal;overflow-wrap:anywhere;margin:16px 0 22px;}
.journey-story-scroll p{font-size:16px;line-height:1.8;margin:20px 0;}
.journey-story-photo{width:100%;max-height:240px;object-fit:cover;border-radius:12px;}
.journey-story-footer{padding:12px 24px 18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;}
.journey-story-continue{padding:10px 18px;border-radius:30px;background:var(--ink);color:var(--paper);font-size:13px;font-weight:600;}
@media(max-width:600px){.journey-story-scroll{padding:12px 20px 24px;}.journey-story-scroll p{font-size:14px;}.journey-story-photo{max-height:180px;}}

/* Editorial chapter cards, inspired by the supplied reference. */
#chapterCount{display:none;}
.journey-story-dialog{width:min(620px,calc(100vw - 24px));border-radius:30px;background:#fff;border:1px solid #e5dfd7;box-shadow:0 22px 60px #13233a35;}
.journey-story-header{display:flex;align-items:center;gap:16px;padding:22px 26px;background:linear-gradient(120deg,#f8e7e2,#fcf4f1);border-bottom:1px solid #efcfc5;}
.journey-story-badge{display:grid;place-items:center;flex:0 0 52px;height:56px;border:1px solid #fff;border-radius:14px;background:#fff;color:#c95438;font:30px var(--serif);box-shadow:0 8px 14px #b5573920;}
.journey-story-meta{flex:1;min-width:0;line-height:1.4;}
.journey-story-meta strong{display:block;color:#bc4f39;font:750 15px/1.4 var(--sans);overflow-wrap:anywhere;}
.journey-story-meta span{display:block;color:#51657c;font-size:14px;font-weight:600;margin-top:3px;}
.journey-story-header .journey-story-close{flex:0 0 32px;background:#fff8;font-size:25px;}
.journey-story-scroll{max-height:calc(85dvh - 185px);padding:28px 30px;}
.journey-story-scroll h2{font:800 clamp(29px,4.5vw,39px)/1.08 var(--sans);letter-spacing:-.045em;color:#13233a;margin:0 0 22px;}
.journey-story-scroll .journey-story-text{font:400 18px/1.75 var(--sans);color:#42546b;margin:0 0 26px;}
.story-resources{border-top:1px solid #e7e9ec;padding-top:20px;margin:24px 0;}
.story-resources h3{font:750 11px/1.4 var(--sans);letter-spacing:.16em;color:#51657c;margin:0 0 15px;}
.story-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.story-gallery>img,.story-gallery figure img{width:100%;height:145px;object-fit:cover;border-radius:12px;}
.story-gallery figure{position:relative;min-width:0;margin:0;}
.story-gallery figcaption{font-size:10px;color:var(--muted);overflow-wrap:anywhere;margin-top:5px;}
.story-gallery figure>button{position:absolute;top:6px;right:6px;border-radius:50%;background:#fff;}
.story-documents:not(:empty),.story-external-links:not(:empty){margin-top:24px;}
.story-resource-card{display:flex;align-items:center;border:1px solid #e6e1da;border-radius:12px;margin:9px 0;background:#fffaf4;overflow:hidden;}
.story-resource-card a{flex:1;display:flex;align-items:center;gap:12px;padding:14px;min-width:0;font-size:13px;font-weight:600;}
.story-resource-card a>span:nth-child(2){flex:1;overflow-wrap:anywhere;}
.story-resource-card small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:3px;}
.story-resource-card button{padding:8px;background:transparent;color:var(--muted);}
.story-editor{margin-top:25px;border-top:1px solid #e7e9ec;padding-top:15px;color:#51657c;font-size:12px;}
.story-editor summary{cursor:pointer;font-weight:650;}
.journey-story-scroll .story-editor p{font-size:12px;margin:12px 0;}
.story-file-button{display:inline-block;border:1px solid #ddd4c8;border-radius:9px;padding:9px 12px;cursor:pointer;margin:5px 5px 5px 0;}
.story-file-button input{display:block;width:100%;max-width:240px;font-size:11px;margin-top:8px;}
.story-link-form{display:grid;gap:9px;margin-top:15px;}
.story-link-form label{display:grid;gap:4px;}
.story-link-form input{min-width:0;border:1px solid #d8dce0;padding:9px;border-radius:7px;font:inherit;}
.story-link-form button{justify-self:start;background:#13233a;color:white;border-radius:8px;padding:8px 14px;}
.journey-story-footer{background:#fff;padding:12px 24px 16px;}
@media(max-width:600px){.journey-story-header{padding:17px 18px;gap:12px;}.journey-story-badge{flex-basis:42px;height:46px;}.journey-story-meta strong{font-size:12px;}.journey-story-scroll{padding:24px 22px;}.journey-story-scroll .journey-story-text{font-size:16px;}.story-gallery{grid-template-columns:1fr;}.story-gallery>img,.story-gallery figure img{height:180px;}}

/* The map is the section; each arrival reveals its story beside the route. */
#journey .section-heading,#journey .chapter-panel,#journey .chapter-tabs{display:none;}
#journey .journey-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:26px;align-items:center;width:100%;}
#journey .journey-stage{overflow:visible;}
#journey .journey-story-floating{display:block;position:relative;inset:auto;width:100%;max-width:none;max-height:min(640px,76svh);margin:0;padding:0;align-self:center;z-index:2;}
#journey .journey-story-floating[hidden]{display:none;}
#journey .journey-story-floating .journey-story-header{padding:17px 20px;}
#journey .journey-story-floating .journey-story-scroll{max-height:min(520px,calc(76svh - 110px));padding:24px;overscroll-behavior-y:auto;}
#journey .journey-story-floating h2{font-size:clamp(26px,2.5vw,37px);}
#journey .journey-story-floating .journey-story-text{font-size:16px;}
#journey .journey-story-floating.story-arrival{animation:journey-story-arrive .28s ease-out;}
@keyframes journey-story-arrive{from{opacity:.35;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
@media(max-width:900px){#journey .journey-layout{grid-template-columns:minmax(0,1fr);gap:20px;}#journey .journey-story-floating{width:min(620px,100%);justify-self:center;max-height:55svh;}#journey .journey-story-floating .journey-story-scroll{max-height:calc(55svh - 105px);}#journey .atlas{min-height:380px;}}
@media(prefers-reduced-motion:reduce){#journey .journey-story-floating.story-arrival{animation:none;}}

/* A continuous card surface, without seams at the header or scroll edge. */
#journey .journey-story-floating{border:0;border-radius:26px;background:linear-gradient(180deg,#fbefea 0,#fffaf6 105px,#fff 220px);box-shadow:0 12px 34px #13233a1c;overflow:hidden;isolation:isolate;}
#journey .journey-story-floating .journey-story-header{background:transparent;border-bottom:0;}
#journey .journey-story-floating .journey-story-scroll{background:transparent;scrollbar-gutter:auto;scrollbar-width:thin;scrollbar-color:#bda99b70 transparent;}
#journey .journey-story-floating .journey-story-scroll::-webkit-scrollbar{width:5px;}
#journey .journey-story-floating .journey-story-scroll::-webkit-scrollbar-track{background:transparent;}
#journey .journey-story-floating .journey-story-scroll::-webkit-scrollbar-thumb{background:#bda99b70;border-radius:8px;}

/* Restore the section titles and blend the map and stories into the same paper. */
#journey .section-heading{display:flex;margin-bottom:24px;}
#journey .section-heading>p{display:none;}
#journey .journey-layout{border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible;}
#journey .atlas{border:0;border-radius:0;box-shadow:none;background:transparent;}
#journey .journey-story-floating{border:0;border-radius:0;box-shadow:none;background:transparent;}
#journey .journey-story-floating .journey-story-header,#journey .journey-story-floating .journey-story-scroll{background:transparent;border:0;box-shadow:none;}
#journey .journey-story-badge{background:transparent;border:0;box-shadow:none;}
#journey .journey-story-header .journey-story-close{background:transparent;}
@media(min-width:1051px){#journey .journey-story-floating{max-height:60svh;}#journey .journey-story-floating .journey-story-scroll{max-height:calc(60svh - 100px);}}

/* Travel management is the direction; the other fields support it. */
.hero .hello{font:700 clamp(24px,2.4vw,36px)/1.2 var(--sans);letter-spacing:-.025em;color:#fffdf7;text-shadow:0 2px 8px #13233a80;}
.profile-person .profile-hello{font:650 clamp(23px,2.2vw,32px)/1.25 var(--sans);letter-spacing:-.02em;}
.profile-person h2,.profile-person .profile-name-button{font-family:var(--sans);font-weight:800;font-style:normal;letter-spacing:-.045em;text-shadow:none;}
.hero-english-live{display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;margin-top:16px;padding:9px 14px;border-radius:30px;background:#fff8eced;color:var(--ink);font:650 13px/1.3 var(--sans);box-shadow:0 3px 10px #13233a15;}
.hero-english-live small{font-size:10px;font-weight:450;}
.live-signal{position:relative;width:8px;height:8px;border-radius:50%;background:var(--coral);flex:none;}
.live-signal:before,.live-signal:after{content:'';position:absolute;inset:-4px;border:1px solid var(--coral);border-radius:50%;animation:english-live 2.4s ease-out infinite;}
.live-signal:after{animation-delay:1.2s;}
@keyframes english-live{from{transform:scale(.6);opacity:.8;}to{transform:scale(1.7);opacity:0;}}
.journey-gps-points{fill:var(--coral);stroke:var(--paper);stroke-width:4;}
.journey-gps-labels{fill:var(--ink);font:15px var(--sans);}
#borderless,#borderless .world-stage,#borderless .borderless-copy,#borderless .globe-shell{border:0;border-radius:0;box-shadow:none;background:transparent;}
#borderless:before,#borderless:after{display:none;}
.torn-paper-divider svg path:last-child{stroke:#b6a48a;stroke-opacity:.34;stroke-width:.65;filter:none;}
.torn-paper-divider,.torn-paper-divider svg{height:21px;}
.project-stamps{display:flex;flex-wrap:wrap;gap:18px;margin:25px 0;}
.project-stamp{display:flex;flex-direction:column;justify-content:center;text-align:center;gap:8px;width:145px;min-height:110px;border:2px dashed #536d75;border-radius:40%;color:#365561;transform:rotate(-6deg);padding:14px;font-size:13px;}
.project-stamp:nth-child(even){transform:rotate(7deg);border-color:#a16d59;color:#8d5541;}
.project-stamp small{font-size:9px;line-height:1.5;}
.project-pending{font-size:13px;color:var(--muted);}
/* Scroll stays available without visible scrollbar tracks. */
dialog,dialog *,[role="dialog"],[role="dialog"] *,#journey .journey-story-floating,#journey .journey-story-floating *{scrollbar-width:none!important;}
dialog::-webkit-scrollbar,dialog *::-webkit-scrollbar,[role="dialog"]::-webkit-scrollbar,[role="dialog"] *::-webkit-scrollbar,#journey .journey-story-floating *::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
#hobbyCollage[hidden]{display:none;}
.hobby-art{background-image:none!important;}
.hobby-photo{background:var(--cream);}
@media(prefers-reduced-motion:reduce){.live-signal:before,.live-signal:after{animation:none;}}
@media(max-width:700px){.hero-english-live{font-size:11px;padding:7px 10px;margin-top:10px;}.hero-english-live small{font-size:9px;}.hero .hello{font-size:24px;}}
.popup-resources{border-top:1px solid var(--line);margin-top:30px;padding-top:24px;}
.popup-resources>h3{font:700 15px var(--sans);letter-spacing:0;margin-bottom:18px;}
.resource-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;overflow:visible;}
.resource-photo{position:relative;margin:0;min-width:0;}
.resource-photo img{width:100%;height:180px;object-fit:cover;border-radius:10px;}
.resource-photo figcaption{font-size:11px;overflow-wrap:anywhere;color:var(--muted);margin-top:6px;}
.resource-photo button{position:absolute;top:5px;right:5px;background:var(--paper);border-radius:50%;}
.resource-empty{grid-column:1/-1;border:1px dashed var(--line);padding:24px;border-radius:10px;font-size:13px;color:var(--muted);}
.resource-editor{margin-top:20px;font-size:12px;}
.resource-editor summary{cursor:pointer;font-weight:650;}
.resource-editor label{display:grid;gap:5px;margin:12px 0;}
.resource-editor input{font:inherit;padding:8px;min-width:0;max-width:100%;border:1px solid var(--line);border-radius:6px;}
.resource-editor button{background:var(--ink);color:var(--paper);padding:8px 14px;border-radius:8px;}
.resource-gallery img,.story-gallery img,.experience-gallery img{cursor:grab;touch-action:none;position:relative;user-select:none;-webkit-user-drag:none;}
.gallery-dragging{cursor:grabbing!important;z-index:4;box-shadow:0 8px 24px #13233a22;}
.journey-goals{margin:24px 0;}
.journey-goals h3{font:700 16px var(--sans);margin:0 0 16px;}
.journey-goals label{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;margin:12px 0;}
.journey-goals input{accent-color:var(--coral);margin-top:4px;flex:none;}
.journey-goals p{font-size:12px!important;color:var(--muted);}
@media(max-width:600px){.resource-gallery{grid-template-columns:1fr;}}

/* These scenery changes apply exclusively to the French version. */
html[lang="fr"] .hero-ground-railway{display:none;}
html[lang="fr"] #groundHiker,html[lang="fr"] #groundTrain{display:none;}
.journey-story-text{white-space:pre-line;}

/* Display visitors’ photographs in full, with their original colours. */
.resource-gallery img,.story-gallery img,.experience-gallery img{height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;filter:none!important;}
.project-stamps a.project-stamp{display:flex;flex-direction:column;justify-content:center;text-decoration:none;}
.project-stamps a.project-stamp:hover{background:#233e390a;}

/* The entire experience section floats with the ocean, without stretching text. */
.ocean-waves,#work{animation:portfolio-ocean-swell 8s ease-in-out infinite;will-change:transform;}
@keyframes portfolio-ocean-swell{0%,100%{transform:translate(-.35%,3px);}50%{transform:translate(.35%,-5px);}}
@media(prefers-reduced-motion:reduce){.ocean-waves,#work{animation:none;will-change:auto;}}

/* Folded airmail paper plane, inspired by the supplied reference. */
.hero .scroll-note .airmail-scroll-icon{width:46px;height:57px;background:none;border-radius:0;flex:none;animation:airmail-scroll-float 2.8s ease-in-out infinite;}
.airmail-scroll-icon img{display:block;width:100%;height:auto;transform:rotate(-12deg);}
@keyframes airmail-scroll-float{0%,100%{translate:0 -3px;}50%{translate:0 4px;}}
@media(max-width:700px){.hero .scroll-note .airmail-scroll-icon{width:36px;height:45px;}}
@media(prefers-reduced-motion:reduce){.hero .scroll-note .airmail-scroll-icon{animation:none;}}

/* French navigation stays at the bottom; English retains the top placement. */
html[lang="fr"] .dock{top:auto;bottom:calc(18px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 28px);}
html[lang="fr"] #contact{padding-bottom:130px;}
@media(max-width:700px){html[lang="fr"] .dock{bottom:calc(10px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 18px);}}

/* Tools and hammock follow the same six-second swing and visibility state. */
.tools-with-swing .stack-apps{transform-origin:50% 12%;animation:paper-hammock-sway 6s ease-in-out infinite;will-change:transform;}
.tools-with-swing[data-motion-visible="false"] .stack-apps{animation-play-state:paused;}
/* Paper-plane silhouettes for previous/next controls, retaining accessible labels. */
:is(.power-pagination,.book-controls) button,.borderless-prev,.borderless-next,#prevChapter,#nextChapter{display:inline-grid;place-items:center;min-width:46px;min-height:46px;background:transparent;border:0;border-radius:0;box-shadow:none;font-size:0;color:transparent;}
:is(.power-pagination,.book-controls) button::before,.borderless-prev::before,.borderless-next::before,#prevChapter::before,#nextChapter::before{content:"";display:block;width:40px;height:46px;background:url("assets/navigation-aircraft.svg") center/contain no-repeat;transition:translate .2s ease;}
:is(.power-pagination,.book-controls) button:first-child::before,.borderless-prev::before,#prevChapter::before{transform:rotate(90deg);}
:is(.power-pagination,.book-controls) button:last-child::before,.borderless-next::before,#nextChapter::before{transform:rotate(-90deg);}
:is(.power-pagination,.book-controls) button:not(:disabled):hover::before,.borderless-prev:not(:disabled):hover::before,.borderless-next:not(:disabled):hover::before{translate:0 -3px;}
@media(prefers-reduced-motion:reduce){.tools-with-swing .stack-apps{animation:none;will-change:auto;}}

/* Red aircraft navigation, matching the supplied silhouette. */
:is(.power-pagination,.book-controls) button:first-child::before,.borderless-prev::before,#prevChapter::before{transform:rotate(180deg);}
:is(.power-pagination,.book-controls) button:last-child::before,.borderless-next::before,#nextChapter::before{transform:none;}
/* An open, worn leather passport with ivory security paper and ink stamps. */
.passport-layout{grid-template-columns:minmax(0,1.65fr) minmax(210px,.7fr);gap:48px;max-width:1320px;margin:auto;}
.passport-book{padding:8px 7px 13px;border-radius:20px 13px 23px 18px;background:repeating-linear-gradient(37deg,#382c23 0 1px,#44362c 1px 3px);border:1px solid #332820;box-shadow:0 18px 25px #31291e2c,0 3px 0 #69513d,0 6px 0 #3c2c21;transform:rotate(-2deg);}
.passport-book:before{content:"";position:absolute;inset:4px;border:1px dashed #b79b6d66;border-radius:15px;pointer-events:none;}
.passport-spread{min-height:490px;border-radius:15px 8px 17px 12px;background:#e6d9bf;box-shadow:0 2px 0 #dfcdb0,0 4px 0 #b2a080;overflow:hidden;}
.passport-page{padding:30px 25px 35px;color:#3c4948;background:radial-gradient(ellipse at 15% 90%,#b69b6c22,transparent 65%),repeating-linear-gradient(0deg,#a18a5b08 0 1px,transparent 1px 4px),repeating-radial-gradient(ellipse at 70% 35%,transparent 0 11px,#8a9f9020 12px,transparent 13px 20px),#eee5d4;}
.passport-page:after{content:"";position:absolute;inset:18px;border:1px solid #8f9e8e30;border-radius:4px;pointer-events:none;}
.passport-page:first-child{border-right:0;border-radius:15px 0 0 12px;box-shadow:inset -17px 0 26px -12px #54412e50,inset 0 0 25px #af926322;}
.passport-page:last-child{border-radius:0 8px 17px 0;box-shadow:inset 15px 0 26px -12px #54412e45,inset 0 0 25px #af926322;}
.passport-page h3{font:clamp(22px,2.2vw,31px)/1.15 var(--serif);letter-spacing:-.02em;}
.passport-page p{font-size:13px;line-height:1.7;}
.passport-page>small{display:block;text-align:center;color:#626d66;font:10px/1.5 'Courier New',monospace;letter-spacing:2px;}
.passport-page .passport-id-photo{border:3px solid #eee5d4;outline:1px solid #8c938378;box-shadow:2px 3px 4px #49382718;}
.passport-stamp{border:2px solid #547362;color:#547362;background:transparent;border-radius:5px;box-shadow:inset 0 0 0 3px #eee5d4,inset 0 0 0 4px #54736270;font-family:'Courier New',monospace;transform:rotate(-8deg);}
.passport-mrz{clear:both;margin-top:28px;font:12px/1.6 'Courier New',monospace;letter-spacing:1px;overflow-wrap:anywhere;}
.passport-page .project-stamps{gap:22px;margin:30px 0;}
.project-stamp{width:100%;max-width:230px;min-height:110px;padding:17px 12px;border:2px solid #48637a;border-radius:6px;color:#48637a;box-shadow:inset 0 0 0 3px #eee5d4,inset 0 0 0 4px #48637a80;font-family:'Courier New',monospace;transform:rotate(-7deg);}
.project-stamp strong{font:700 15px/1.25 'Courier New',monospace;text-transform:uppercase;}
.project-stamp small{letter-spacing:1px;font:10px/1.5 'Courier New',monospace;overflow-wrap:anywhere;}
.project-stamp:nth-child(even){border-color:#aa5d4c;color:#aa5d4c;border-radius:5px;box-shadow:inset 0 0 0 3px #eee5d4,inset 0 0 0 4px #aa5d4c80;transform:rotate(5deg);}
.passport-turn{background:repeating-radial-gradient(ellipse at 70% 35%,transparent 0 11px,#8a9f9018 12px,transparent 13px 20px),linear-gradient(90deg,#b8a68b,#eee5d4 18%,#f3ebdb);}
/* Ring-bound memory album, with music cards and a reflective compact disc. */
.scrapbook-section{background:var(--paper);}
.scrapbook-title{font:clamp(34px,4vw,58px)/1.1 var(--serif);margin:16px 0;}
.scrapbook-intro{font-size:14px;color:var(--muted);margin-bottom:45px;}
.memory-album{position:relative;display:grid;grid-template-columns:1fr 1fr;max-width:1030px;margin:0 auto;padding:10px 10px 15px;isolation:isolate;background:#65584a;border-radius:8px 12px 14px 9px;box-shadow:0 25px 35px #43362629,0 5px 0 #4b4036;transform:rotate(-1.5deg);}
.memory-page{position:relative;min-width:0;min-height:620px;padding:28px 35px 24px;background:repeating-linear-gradient(0deg,#90754d05 0 1px,transparent 1px 4px),#fffdf4;display:flex;flex-direction:column;gap:21px;}
.memory-page-left{border-radius:3px 0 0 5px;box-shadow:inset -16px 0 24px -20px #4d443b;}
.memory-page-right{border-radius:0 5px 7px 0;box-shadow:inset 16px 0 24px -20px #4d443b;}
.memory-page:before{content:"";position:absolute;top:0;bottom:0;width:2px;background:#7d6e5715;left:18px;pointer-events:none;}
.album-handnote{font:24px/1.15 var(--hand);color:#3b413a;transform:rotate(-3deg);}
.memory-card{position:relative;width:94%;text-align:left;padding:20px 24px;border-radius:14px;display:flex;flex-direction:column;gap:12px;box-shadow:2px 6px 9px #3727381b;transition:translate .25s,box-shadow .25s;}
.memory-card:hover,.note-slip:hover,.album-tabs button:hover{translate:0 -4px;}
.music-memory{background:#dbbfc7;color:#382c35;transform:rotate(-5deg);}
.memory-card strong{font:600 23px/1.2 var(--sans);letter-spacing:-.6px;}
.card-category{font-size:10px;letter-spacing:1.8px;}
.music-wave{font-size:16px;letter-spacing:6px;opacity:.6;white-space:nowrap;overflow:hidden;}
.memory-card-action{font-size:11px;}
.reader-memory{background:#815b69;color:#fff8ef;transform:rotate(4deg);margin-left:6%;}
.reader-memory strong{font:27px var(--hand);letter-spacing:0;}
.reader-memory>span:not(.paper-envelope){font-size:12px;}
.paper-envelope{position:absolute;right:16px;top:-20px;width:59px;height:47px;display:grid;place-items:center;background:#f2e7e4;color:#805c68;border:1px solid #e2d2cf;box-shadow:0 3px 5px #342a2b1c;transform:rotate(-10deg);font-size:30px;}
.album-side-notes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:9px;}
.note-slip{position:relative;background:#f0dfba;padding:16px 12px 20px;text-align:left;box-shadow:2px 4px 6px #51402b14;transform:rotate(-4deg);transition:translate .25s;}
.note-slip strong{display:block;font:22px/1 var(--hand);margin-bottom:8px;}
.note-slip small{font-size:10px;line-height:1.5;display:block;}
.hobbies-slip>span{position:absolute;right:8px;top:-13px;font:35px var(--hand);color:#a26468;}
.language-slip{background:#dce4d3;transform:rotate(4deg);}
.album-rings{position:absolute;left:50%;top:0;bottom:0;z-index:4;width:60px;transform:translateX(-50%);pointer-events:none;}
.album-rings i{position:absolute;left:1px;width:58px;height:26px;border:6px solid #d4d7d3;border-radius:50%;background:transparent;box-shadow:inset 1px 2px 2px #fff,2px 3px 3px #433b3355;border-top-color:#fbfcf7;border-bottom-color:#858d87;transform:rotate(-12deg);}
.album-rings i:first-child{top:28%;}.album-rings i:last-child{top:74%;}
.album-rings i:before,.album-rings i:after{content:"";position:absolute;top:4px;width:10px;height:10px;background:#635b4e;border-radius:50%;z-index:-1;}
.album-rings i:before{left:-9px;}.album-rings i:after{right:-9px;}
.cd-caption{align-self:center;margin-top:5px;text-align:center;}
.memory-cd{position:relative;isolation:isolate;flex:none;align-self:center;width:244px;height:244px;border-radius:50%;border:1px solid #b5bfc2;background:repeating-radial-gradient(circle,transparent 0 2px,#ffffff12 2px 3px),conic-gradient(from 20deg,#a9b9c0,#e8d9e7 12%,#c5d8ca 25%,#f3eee4 36%,#b7c2ca 50%,#c9b3cb 65%,#dee5d9 78%,#f9f8f3 90%,#a9b9c0);box-shadow:3px 7px 10px #30343135,inset 0 0 0 7px #ffffff28;transform:rotate(11deg);transition:rotate .6s;}
.memory-cd:hover{rotate:12deg;}
.disc-hub{position:absolute;inset:39%;border-radius:50%;border:12px solid #e6e8e0;background:#fffdf4;box-shadow:0 0 0 1px #c3c6c1,0 0 0 12px #f8faf033;}
.cd-writing{position:absolute;left:25px;top:40px;font:27px/.9 var(--hand);color:#405447;transform:rotate(-20deg);}
.album-portrait-note{display:flex;align-items:center;justify-content:center;gap:20px;margin:0 0 0 8px;}
.album-photo{width:125px;flex:none;margin:0;padding:7px 7px 16px;background:#fff;border:1px solid #e1ded2;box-shadow:2px 4px 7px #37332d22;transform:rotate(-8deg);position:relative;}
.album-photo:before{content:"";position:absolute;top:-8px;left:25px;width:57px;height:18px;background:#e7dac29c;transform:rotate(-5deg);}
.album-photo img{width:100%;height:125px;object-fit:contain;filter:none;}
.album-photo figcaption{font:12px/1.05 var(--hand);margin-top:8px;}
.album-portrait-note>p{max-width:130px;font-size:25px;transform:rotate(5deg);}
.album-tabs{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto;}
.album-tabs button{font:12px var(--hand);padding:7px 12px;background:#f1ddc6;border:1px solid #d8c4af;box-shadow:1px 2px 3px #43332615;transform:rotate(-3deg);transition:translate .2s;}
.album-tabs button:nth-child(2){background:#dce4d8;transform:rotate(2deg);}
.album-tabs button:nth-child(3){background:#e7cbd3;transform:rotate(-1deg);}
@media(max-width:1000px){.passport-layout{grid-template-columns:1fr;gap:32px;}.passport-book{max-width:850px;width:100%;margin:0 auto;}.passport-index{display:grid;grid-template-columns:repeat(2,1fr);gap:0 25px;}.passport-index button{font-size:25px;}.memory-page{padding:25px;}.memory-cd{width:205px;height:205px;}.memory-card strong{font-size:20px;}}
@media(max-width:600px){.passport-book{transform:none;padding:5px 5px 10px;}.passport-spread{min-height:510px;}.passport-page{padding:21px 13px;}.passport-page h3{font-size:20px;}.passport-page p{font-size:11px;}.passport-page>small{font-size:8px;letter-spacing:1px;}.passport-page img.passport-id-photo{float:none;width:88px;height:112px;margin:14px auto;}.passport-page:after{inset:9px;}.project-stamp strong{font-size:12px;}.project-stamp{padding:14px 8px;min-height:95px;}.passport-index button{font-size:21px;}.memory-album{grid-template-columns:1fr;transform:none;padding:8px;}.memory-page{min-height:0;padding:26px;gap:24px;}.memory-page-left{padding-bottom:40px;}.memory-page-right{padding-top:35px;}.album-rings{left:0;right:0;top:50%;bottom:auto;width:100%;height:50px;transform:translateY(-50%);}.album-rings i{top:10px!important;transform:rotate(80deg);}.album-rings i:first-child{left:24%;}.album-rings i:last-child{left:72%;}.memory-cd{width:215px;height:215px;}.album-portrait-note{margin:0 0 15px;}.scrapbook-intro{margin-bottom:30px;}.album-tabs button{font-size:15px;}.memory-card strong{font-size:23px;}}
@media(prefers-reduced-motion:reduce){.memory-card,.note-slip,.album-tabs button,.memory-cd{transition:none;}}

/* Personal, symbolic traveller identity page: no official document data. */
.passport-book.is-identity .passport-spread{display:block;min-height:0;}
.traveller-identity.passport-page{padding:28px 30px 20px;border:0;border-radius:12px;box-shadow:inset 0 0 35px #a6895d22;background:repeating-radial-gradient(ellipse at 12% 20%,transparent 0 8px,#a4717820 9px 10px,transparent 11px 18px),repeating-linear-gradient(60deg,transparent 0 20px,#8fa79c16 21px 30px,transparent 31px 40px),linear-gradient(120deg,#f4e0db,#e4eadc 65%,#eee3cb);}
.traveller-id-header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;border-bottom:1px solid #6b655a50;padding-bottom:15px;}
.traveller-id-header small{font:9px/1.4 'Courier New',monospace;letter-spacing:1.4px;color:#775149;}
.traveller-id-header h3{font:700 clamp(20px,2.4vw,32px)/1.1 var(--sans);text-transform:uppercase;letter-spacing:1px;color:#684532;margin:7px 0 0;}
.traveller-world-mark{font-size:49px;line-height:1;color:#876849;}
.traveller-id-body{display:grid;grid-template-columns:minmax(100px,.6fr) minmax(0,1.5fr);align-items:start;gap:25px;position:relative;z-index:1;}
.traveller-id-portrait{margin:0;padding-top:3px;}
.passport-page .traveller-id-portrait img{display:block;width:100%;height:210px;object-fit:contain;object-position:center;background:#e7e3d44d;border:1px solid #9eaa9b66;border-radius:0;filter:none;}
.traveller-id-portrait figcaption{font:26px var(--hand);text-align:center;margin-top:12px;color:#6e5b49;}
.traveller-id-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 21px;margin:0;}
.traveller-id-fields>div{min-width:0;}
.traveller-id-fields dt{font:italic 10px/1.3 var(--sans);color:#795d4d;margin-bottom:3px;}
.traveller-id-fields dd{font:600 clamp(13px,1.4vw,18px)/1.3 var(--sans);margin:0;color:#344b40;overflow-wrap:anywhere;}
.traveller-id-fields .traveller-id-wide{grid-column:1/-1;}
.traveller-id-fields dd.traveller-residences{font-size:clamp(12px,1.2vw,16px);}
.traveller-id-footnote{font:10px/1.5 'Courier New',monospace;letter-spacing:1px;margin-top:20px;color:#68705b;}
.traveller-id-mrz.passport-mrz{clear:both;font:clamp(10px,1.15vw,15px)/1.7 'Courier New',monospace;letter-spacing:2px;white-space:nowrap;overflow:hidden;margin-top:12px;padding-top:10px;border-top:1px solid #8c82644a;color:#514d3e;}
.passport-page .traveller-id-invitation{font:12px/1.5 var(--hand);color:#776455;margin-top:12px;}
@media(max-width:600px){.traveller-identity.passport-page{padding:20px 17px 16px;}.traveller-id-header{margin-bottom:20px;gap:10px;}.traveller-id-header h3{font-size:18px;letter-spacing:0;}.traveller-id-header small{font-size:7px;letter-spacing:.7px;}.traveller-world-mark{font-size:35px;}.traveller-id-body{grid-template-columns:85px minmax(0,1fr);gap:15px;}.passport-page .traveller-id-portrait img{height:125px;}.traveller-id-fields{gap:11px 10px;}.traveller-id-fields dt{font-size:8px;}.traveller-id-fields dd{font-size:12px;}.traveller-id-fields dd.traveller-residences{font-size:11px;}.traveller-id-portrait figcaption{font-size:22px;}.traveller-id-mrz.passport-mrz{letter-spacing:.5px;font-size:8px;}.traveller-id-footnote{font-size:8px;letter-spacing:0;}}

/* Keep the identity inside a true two-page passport spread. */
.passport-book.is-identity .passport-spread{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:560px;}
.passport-book.is-identity .traveller-identity{padding:23px 17px 20px;border-radius:12px 0 0 10px;box-shadow:inset -18px 0 24px -14px #54412e60,inset 0 0 25px #a6895d18;}
.passport-book.is-identity .passport-page:last-child{border-radius:0 8px 14px 0;box-shadow:inset 16px 0 24px -14px #54412e50;}
.passport-book.is-identity .traveller-id-header{gap:8px;margin-bottom:20px;padding-bottom:13px;}
.passport-book.is-identity .traveller-id-header h3{font-size:19px;letter-spacing:0;}
.passport-book.is-identity .traveller-id-header small{font-size:7px;letter-spacing:.5px;}
.passport-book.is-identity .traveller-world-mark{font-size:32px;}
.passport-book.is-identity .traveller-id-body{grid-template-columns:74px minmax(0,1fr);gap:12px;}
.passport-book.is-identity .traveller-id-portrait img{height:125px;}
.passport-book.is-identity .traveller-id-fields{grid-template-columns:1fr;gap:11px;}
.passport-book.is-identity .traveller-id-fields dt{font-size:9px;}
.passport-book.is-identity .traveller-id-fields dd{font-size:13px;}
.passport-book.is-identity .traveller-id-fields dd.traveller-residences{font-size:11px;}
.passport-book.is-identity .traveller-id-fields .traveller-id-wide{grid-column:auto;}
.passport-book.is-identity .traveller-id-mrz{font-size:8px;letter-spacing:.25px;}
.passport-book.is-identity .traveller-id-footnote{font-size:8px;letter-spacing:0;}
@media(max-width:600px){.passport-book.is-identity .passport-spread{min-height:665px;}.passport-book.is-identity .traveller-identity{padding:19px 12px 16px;}.passport-book.is-identity .traveller-id-header{align-items:start;}.passport-book.is-identity .traveller-id-header h3{font-size:16px;}.passport-book.is-identity .traveller-world-mark{display:none;}.passport-book.is-identity .traveller-id-body{grid-template-columns:1fr;gap:16px;}.passport-book.is-identity .traveller-id-portrait{width:72px;justify-self:center;}.passport-book.is-identity .traveller-id-portrait img{height:95px;}.passport-book.is-identity .traveller-id-portrait figcaption{font-size:20px;margin-top:5px;}.passport-book.is-identity .traveller-id-fields{gap:10px;}.passport-book.is-identity .traveller-id-fields dt{font-size:8px;}.passport-book.is-identity .traveller-id-fields dd{font-size:12px;}.passport-book.is-identity .traveller-id-mrz{font-size:6px;letter-spacing:0;}.passport-book.is-identity .passport-page:last-child h3{font-size:22px;}.passport-book.is-identity .passport-stamp{max-width:100%;font-size:12px;padding:12px 6px;}}

/* Small paper sailboat resting on the marked swell, in step with the ocean. */
.ocean-boat-motion{animation:portfolio-ocean-swell 8s ease-in-out infinite;pointer-events:none;}
.ocean-boat-rock{transform-origin:0 0;animation:little-boat-rock 4s ease-in-out infinite;filter:drop-shadow(0 2px 2px #725b3914);}
@keyframes little-boat-rock{0%,100%{transform:rotate(-3deg);}50%{transform:rotate(3deg);}}
@media(prefers-reduced-motion:reduce){.ocean-boat-motion,.ocean-boat-rock{animation:none;}}

/* Photographic passport material replaces the previous simulated paper/cover. */
.passport-book{padding:5% 5.5% 6.5%;border:0;border-radius:0;background: url("assets/passport-black-v6.png") center/100% 100% no-repeat;box-shadow:none;filter:none;transform:rotate(-3deg);}
.passport-book:before{display:none;}
.passport-book .passport-spread,.passport-book.is-identity .passport-spread{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:475px;overflow:visible;border-radius:0;background:transparent;box-shadow:none;}
.passport-book .passport-page,.passport-book.is-identity .traveller-identity,.passport-book.is-identity .passport-page:last-child{padding:18px 19px 15px;background:none;border:0;border-radius:0;box-shadow:none;}
.passport-book .passport-page:after{display:none;}
.passport-book .passport-page:first-child{padding-right:25px;}
.passport-book .passport-page:last-child{padding-left:25px;}
.passport-book .passport-page>small{font:9px 'Courier New',monospace;color:#675c4d;letter-spacing:1px;}
.passport-book .passport-page h3{font-family:var(--serif);color:#4d493c;}
.passport-book .passport-page p{color:#554f43;font-size:12px;}
.passport-book .project-stamp,.passport-book .passport-stamp{mix-blend-mode:multiply;background:transparent!important;box-shadow:none;border-style:double;border-width:3px;border-radius:5px;font-family:'Courier New',monospace;}
.passport-book .project-stamp{color:#3b5872;border-color:#3b5872;min-height:108px;}
.passport-book .project-stamp:nth-child(even){color:#a35a4f;border-color:#a35a4f;transform:rotate(7deg);}
.passport-book .passport-stamp{color:#496a51;border-color:#496a51;padding:18px 10px;}
.passport-book .project-stamp strong{font-weight:600;letter-spacing:.7px;}
.passport-book .passport-turn{top:7%;bottom:7%;left:50%;width:44.5%;background:url("assets/passport-black-v6.png") right center/225% 116% no-repeat;border-radius:0 8px 8px 0;}
.passport-book.is-identity .traveller-id-header{margin-bottom:14px;padding-bottom:10px;border-bottom-color:#8d755240;}
.passport-book.is-identity .traveller-id-header h3{font:700 17px/1.1 'Courier New',monospace;color:#72533a;}
.passport-book.is-identity .traveller-id-fields{gap:8px;}
.passport-book.is-identity .traveller-id-fields dt{font-size:8px;color:#8a624a;}
.passport-book.is-identity .traveller-id-fields dd{font:600 12px/1.3 'Courier New',monospace;color:#4c4b3c;}
.passport-book.is-identity .traveller-id-fields dd.traveller-residences{font-size:10px;}
.passport-book.is-identity .traveller-id-portrait img{background:transparent;border-color:#8e77584d;}
.passport-book.is-identity .traveller-id-footnote{font-size:7px;margin-top:14px;}
.passport-book.is-identity .traveller-id-mrz{border-top-color:#8c745340;font-size:7px;letter-spacing:0;margin-top:10px;}
@media(max-width:1000px){.passport-book{max-width:960px;}.passport-layout{gap:32px;}}
@media(max-width:600px){.passport-book{transform:none;padding:7% 5% 9%;}.passport-book .passport-spread,.passport-book.is-identity .passport-spread{min-height:570px;}.passport-book .passport-page,.passport-book.is-identity .traveller-identity,.passport-book.is-identity .passport-page:last-child{padding:12px 9px;}.passport-book .passport-page:first-child{padding-right:13px;}.passport-book .passport-page:last-child{padding-left:13px;}.passport-book .passport-page h3{font-size:19px;}.passport-book.is-identity .traveller-id-header h3{font-size:14px;}.passport-book.is-identity .traveller-id-fields dd{font-size:10px;}.passport-book.is-identity .traveller-id-fields dd.traveller-residences{font-size:9px;}.passport-book.is-identity .traveller-id-body{gap:12px;}.passport-book .project-stamp strong{font-size:10px;letter-spacing:0;}.passport-book .project-stamp{min-height:92px;padding:12px 5px;}.passport-book .passport-page p{font-size:10px;}.passport-book.is-identity .traveller-id-mrz{font-size:5.5px;}.passport-book.is-identity .traveller-id-portrait{width:66px;}.passport-book.is-identity .traveller-id-portrait img{height:88px;}}
/* Preserve the physical book proportions instead of stretching it into a tall mobile card. */
.passport-book{aspect-ratio:3/2;}
@media(max-width:600px){.passport-layout{display:block;overflow-x:auto;padding:12px 3px 25px;scrollbar-width:thin;}.passport-book{min-width:680px;width:680px;max-width:none;padding:34px 37px 44px;aspect-ratio:3/2;}.passport-book .passport-spread,.passport-book.is-identity .passport-spread{min-height:400px;}.passport-book .passport-page,.passport-book.is-identity .traveller-identity,.passport-book.is-identity .passport-page:last-child{padding:16px 16px 10px;}.passport-book.is-identity .traveller-id-body{grid-template-columns:72px minmax(0,1fr);gap:12px;}.passport-book.is-identity .traveller-id-header h3{font-size:17px;}.passport-book.is-identity .traveller-id-fields dd{font-size:12px;}.passport-book.is-identity .traveller-id-fields dd.traveller-residences{font-size:10px;}.passport-book .passport-page p{font-size:12px;}.passport-book .passport-page h3{font-size:24px;}.passport-book .project-stamp strong{font-size:14px;}.passport-book.is-identity .traveller-id-mrz{font-size:7px;}.passport-index{max-width:calc(100vw - 48px);margin-top:30px;}.passport-book.is-identity .traveller-id-portrait{width:72px;}.passport-book.is-identity .traveller-id-portrait img{height:112px;}}

/* Refined shared content links; retain each control's original action. */
.modal-link,.journey-section .modal-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%;padding:10px 18px;border:1px solid color-mix(in srgb,var(--ink) 30%,transparent);border-radius:999px;background:transparent;color:var(--ink);font:500 13px/1.4 var(--sans);text-decoration:none;box-shadow:none;transition:background .2s,color .2s,border-color .2s;}
.modal-link:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.modal-link:focus-visible{outline:2px solid var(--coral);outline-offset:4px;}
/* A small upward adjustment keeps English visible beneath the scenic-route link. */
.hero-english-live{position:relative;top:-12px;}
@media(max-width:700px){.hero-english-live{top:-9px;}}

/* Center the existing dive invitation in both language versions. */
.hero .scroll-note{left:50%;right:auto;transform:translateX(-50%);width:max-content;text-align:center;}

/* Visible snowfall spanning the alpine divider and all of My super power. */
.mountain-divider,#powers{position:relative;}
#powers{padding-bottom:150px;}
.winter-weather{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:5;--snow-travel:900px;}
.winter-flake{position:absolute;left:var(--snow-x);top:-9px;width:var(--snow-size);height:var(--snow-size);border-radius:50%;background:#fff;box-shadow:0 0 2px #60798795;opacity:0;animation:winter-fall var(--snow-time) linear var(--snow-delay) infinite;}
#powers .winter-snowbank{position:absolute;bottom:0;left:0;width:100%;height:48px;transform:scaleY(.06);transform-origin:center bottom;animation:winter-settle 55s linear forwards;}
.winter-photo{position:absolute;right:8%;bottom:8px;width:90px;height:150px;object-fit:contain;object-position:center bottom;transform-origin:center bottom;animation:winter-shiver 2.8s linear infinite;}
.winter-weather[data-active="false"] .winter-flake,.winter-weather[data-active="false"] .winter-snowbank,.winter-weather[data-active="false"] .winter-photo{animation-play-state:paused;}
@keyframes winter-fall{0%{transform:translate(0,0);opacity:0;}5%{opacity:.95;}95%{opacity:.9;}100%{transform:translate(var(--snow-drift),var(--snow-travel));opacity:0;}}
@keyframes winter-settle{from{transform:scaleY(.06);}to{transform:scaleY(1);}}
@keyframes winter-shiver{0%,30%,48%,100%{transform:translateX(0);}32%,36%,40%,44%{transform:translateX(-1px) rotate(-.5deg);}34%,38%,42%,46%{transform:translateX(1px) rotate(.5deg);}}
@media(max-width:700px){.winter-photo{right:6%;width:72px;height:120px;}#powers{padding-bottom:125px;}}
@media(prefers-reduced-motion:reduce){.winter-flake{display:none;}.winter-photo{animation:none;}#powers .winter-snowbank{animation:none;transform:scaleY(.45);}}

/* A companion in the snow, placed beside the photographic miniature. */
.winter-snowman{position:absolute;right:calc(8% + 78px);bottom:9px;width:78px;height:103px;}
.winter-flake{box-shadow:0 0 2px #607987b0,0 1px 3px #60798735;}
@media(max-width:700px){.winter-snowman{right:calc(6% + 60px);width:63px;height:83px;bottom:8px;}}

/* Branch roots overlap the body; the snowman base meets the snow surface. */
.winter-snowman{bottom:0;height:auto;aspect-ratio:110 / 137;}
@media(max-width:700px){.winter-snowman{bottom:0;height:auto;}}

/* Vertical boarding passes: navy frame, ivory panels, gold labels and perforated stubs. */
.learning-tickets{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:stretch;}
.learning-tickets .boarding-ticket{background:#233b5c;border:0;border-radius:22px;padding:11px;color:#202c3b;box-shadow:0 8px 16px #13233a18;min-width:0;display:flex;flex-direction:column;}
.boarding-pass-top{display:grid;grid-template-columns:1fr 35px;gap:13px;align-items:center;padding:19px 18px 15px;background:#fffdf7;border-radius:15px 15px 19px 19px;border-bottom:1px dashed #233b5c80;}
.boarding-pass-top>span:first-child{font:700 12px/1.4 var(--serif);letter-spacing:.13em;}
.boarding-plane{font-size:31px;color:#182535;line-height:1;}
.boarding-barcode{display:block;height:23px;grid-column:1/-1;background:repeating-linear-gradient(90deg,#20252b 0 1px,transparent 1px 3px,#20252b 3px 5px,transparent 5px 6px,#20252b 6px 7px,transparent 7px 11px,#20252b 11px 14px,transparent 14px 16px);}
.boarding-pass-main{background:#fffdf7;border-radius:20px;padding:27px 22px 30px;flex:1;}
.boarding-pass-main .ticket-tag{font:650 10px/1.5 var(--sans);letter-spacing:.15em;color:#b08a45;margin:0 0 20px;}
.boarding-pass-main .ticket-route{font:38px/1.2 var(--serif);margin:0 0 22px;gap:9px;color:#233b5c;}
.boarding-pass-main .ticket-route span{color:#233b5c;}
.boarding-pass-main h3{font:700 clamp(22px,2.3vw,32px)/1.2 var(--serif);letter-spacing:.025em;color:#233b5c;margin:0 0 18px;overflow-wrap:anywhere;}
.boarding-pass-main>p{font-size:13px;line-height:1.7;margin:0 0 16px;}
.boarding-pass-main>p:last-child{margin-bottom:0;}
.learning-tickets .ticket-stub{margin:0;padding:22px;background:#fffdf7;border-radius:20px 20px 14px 14px;border-top:1px dashed #233b5c80;min-height:135px;color:#233b5c;font-size:9px;letter-spacing:.12em;}
.learning-tickets .ticket-stub:before,.learning-tickets .ticket-stub:after{display:none;}
.learning-tickets .ticket-stub b{font:700 13px/1.5 var(--serif);letter-spacing:.025em;margin-top:7px;}
.learning-tickets .ticket-stub p{font-size:12px;line-height:1.6;}
.boarding-pass-main .language-list{margin-bottom:0;}
.boarding-pass-main .language-list li{font-size:14px;gap:10px;padding:12px 0;border-bottom:1px solid #233b5c18;}
.boarding-pass-main .language-list li span{color:#8f733d;text-align:right;font-size:11px;}
@media(max-width:900px){.learning-tickets{gap:15px;}.boarding-pass-main{padding:24px 17px;}.boarding-pass-top{padding:17px 14px;}.boarding-pass-top>span:first-child{font-size:10px;letter-spacing:.08em;}}
@media(max-width:700px){.learning-tickets{grid-template-columns:1fr;gap:25px;max-width:360px;margin-inline:auto;}.boarding-pass-main{padding:28px 24px;}.boarding-pass-main h3{font-size:30px;}.boarding-pass-top>span:first-child{font-size:12px;}.learning-tickets .ticket-stub{min-height:120px;}}

/* Trim residual image haze strictly outside the physical leather cover. */
.passport-book{filter:none;box-shadow:none;clip-path:polygon(3.1% 7%,3.8% 5.2%,6% 4.2%,46% 4.2%,48% 4.9%,50% 6.6%,52% 4.9%,56% 4.2%,94% 4.2%,96.4% 5.2%,97.2% 7%,98% 20%,99.1% 85%,99% 90%,98.4% 93%,96.8% 95.3%,94% 96%,54% 96%,51% 95.1%,50% 95.8%,49% 95.1%,46% 96%,6% 96%,3.2% 95.3%,1.6% 93%,.9% 90%,.9% 85%,2% 20%);}

.travel-wall{background:#e8e4d6;color:#283c3c;}
.travel-wall-heading{max-width:760px;margin:0 auto 45px;text-align:center;}.travel-wall-heading h2{font-size:clamp(38px,5vw,64px);margin:13px 0 20px;}.travel-wall-heading>p:last-child{font-size:14px;max-width:570px;margin:auto;}
.travel-notebook{position:relative;max-width:1120px;margin:auto;padding:65px 55px 35px 70px;background:#fffdf0;background-image:url('assets/case-paper-grain.svg');border-radius:8px 20px 20px 8px;border:1px solid #d5ccaf;box-shadow:8px 12px 0 -5px #c0a887,12px 18px 25px #413b2a20;}
.notebook-binding{position:absolute;left:25px;top:0;bottom:0;width:3px;border-left:1px solid #b4a28966;box-shadow:3px 0 8px #8c775b22;}
.travel-memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 30px;}.travel-memory{position:relative;min-width:0;}.memory-print{background:#fffef9;padding:11px 11px 17px;box-shadow:2px 3px 6px #3b393028;border:1px solid #d9d6c7;transform:rotate(var(--memory-angle));}.memory-print:before{content:'';position:absolute;top:-10px;left:34%;width:65px;height:24px;background:#d9bf7d66;transform:rotate(-5deg);z-index:1;}
.memory-upload{display:grid;position:relative;min-height:180px;cursor:pointer;background:#eeeade;place-items:center;}.memory-upload>input{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer;}.memory-upload img{width:100%;height:auto;object-fit:contain;filter:none;}.memory-upload img[hidden]{display:none;}.memory-empty{display:grid;place-items:center;gap:15px;font:20px var(--hand);color:#7c8174;padding:25px 8px;}.memory-empty svg{width:50px;height:45px;fill:none;stroke:#697f77;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.memory-caption{border:0;background:transparent;width:100%;font:22px/1.2 var(--hand);color:#293c47;margin-top:14px;padding:0 3px;}.memory-note{display:block;width:100%;height:94px;margin-top:24px;resize:vertical;border:0;background:transparent;color:#344851;font:23px/1.3 var(--hand);padding:0 45px 0 7px;}.memory-caption::placeholder,.memory-note::placeholder{color:#75817a;opacity:.8;}.memory-doodle{position:absolute;right:0;bottom:15px;width:38px;height:38px;fill:#dfb68020;stroke:#517d71;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transform:rotate(10deg);}.travel-memory:nth-child(even) .memory-doodle{stroke:#ae6a63;}
.travel-wall-signature{text-align:right;font:28px var(--hand);margin:25px 8px 0;color:#81554c;}.travel-wall-storage{max-width:720px;text-align:center;margin:28px auto 0;font-size:11px;color:#68776d;}
@media(max-width:850px){.travel-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.travel-notebook{padding:45px 28px 30px 42px;}.notebook-binding{left:16px;}}
@media(max-width:520px){.travel-memory-grid{grid-template-columns:1fr;gap:30px;}.travel-notebook{padding:35px 23px 25px 34px;}.memory-upload{min-height:210px;}.travel-wall-signature{font-size:25px;}.memory-note{height:85px;}}

/* Keep the dive cue inside the initial viewport, independent of the tall hero scene. */
.hero .scroll-note{top:max(160px,calc(100svh - 105px));bottom:auto;left:50%;right:auto;transform:translateX(-50%);z-index:40;opacity:1;visibility:visible;background:#fffdf7;color:#18382f;border:2px solid #233e39;box-shadow:0 5px 18px #13233a30;padding:12px 20px;font-size:15px;font-weight:700;width:max-content;max-width:calc(100% - 32px);min-height:52px;}
html[lang="fr"] .hero .scroll-note{top:max(160px,calc(100svh - 155px));}
.hero .scroll-note span:first-child{min-width:0;}
.hero .scroll-note span:last-child{flex:none;}
@media(max-width:600px){.hero .scroll-note{top:max(160px,calc(100svh - 115px));font-size:13px;padding:10px 15px;gap:10px;}html[lang="fr"] .hero .scroll-note{top:max(160px,calc(100svh - 165px));}}
/* Hold the atlas and its story in view for the complete route on every screen size. */
#journey{height:calc(var(--journey-stage-height,100svh) + 400svh);padding-top:0;padding-bottom:0;overflow:visible;}
#journey .journey-stage{position:sticky;top:0;min-height:100svh;padding:24px 0;justify-content:center;}
#journey .journey-story-scroll{max-height:48svh;overflow-y:auto;overscroll-behavior:contain;}
@media(max-width:700px){#journey .section-heading{margin-bottom:12px;}#journey .section-heading h2{font-size:30px;}#journey .section-heading>p{font-size:12px;}#journey .journey-stage{padding:16px 0 85px;}#journey .atlas{min-height:0;aspect-ratio:700/530;}#journey .journey-story-scroll{max-height:24svh;}#journey .journey-layout{gap:12px;}}

/* Photographic travel journal, with separate left and right page compositions. */
.travel-wall{background:var(--paper);}
.travel-notebook{max-width:1240px;border:0;border-radius:0;box-shadow:none;background: url('assets/travel-journal-flatlay-v2.png') center/100% 100% no-repeat;padding:11% 12% 9%;}
.notebook-binding{display:none;}
.travel-memory-grid{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:22px;row-gap:18px;align-items:start;}
.travel-memory:nth-child(1){grid-column:1;grid-row:1;}.travel-memory:nth-child(2){grid-column:2;grid-row:1;}.travel-memory:nth-child(3){grid-column:1/3;grid-row:2;width:70%;justify-self:center;}.travel-memory:nth-child(4){grid-column:3;grid-row:1;}.travel-memory:nth-child(5){grid-column:4;grid-row:1;}.travel-memory:nth-child(6){grid-column:3/5;grid-row:2;width:70%;justify-self:center;}
.travel-memory:nth-child(2),.travel-memory:nth-child(3){margin-right:14px;}.travel-memory:nth-child(4),.travel-memory:nth-child(6){margin-left:14px;}
.memory-print{padding:7px 7px 12px;box-shadow:1px 2px 4px #342b1e25;border-color:#d8d6c9;}.memory-print:before{width:45px;height:17px;top:-7px;background:#d7bd6b66;}
.memory-upload{min-height:115px;background:#e8e5db;}.memory-empty{font-size:15px;padding:15px 4px;gap:9px;}.memory-empty svg{width:30px;height:30px;}.memory-caption{font-size:19px;margin-top:9px;}.memory-note{font-size:20px;line-height:1.15;margin-top:17px;height:70px;padding-right:22px;}.memory-doodle{width:25px;height:25px;bottom:8px;right:-7px;}.travel-wall-signature{font-size:25px;margin-top:24px;}
@media(max-width:850px){.travel-notebook{padding:11% 10% 10%;}.travel-memory-grid{gap:18px 15px;}.memory-upload{min-height:100px;}.memory-empty span{font-size:13px;}.memory-note{font-size:18px;}.memory-caption{font-size:17px;}}
@media(max-width:600px){.travel-wall{padding-inline:12px;}.travel-notebook{padding:13% 13% 12%;background-size:200% 100%;background-position:left center;}.travel-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px;}.travel-memory:nth-child(n){grid-column:auto;grid-row:auto;width:auto;margin:0;justify-self:stretch;}.memory-upload{min-height:135px;}.memory-note{font-size:21px;height:85px;}.memory-caption{font-size:21px;}.travel-wall-signature{font-size:23px;}}

/* A modest zoom-out inside each leaf, without shrinking the passport itself. */
.passport-content-inner{width:125%;transform:scale(.8);transform-origin:top left;}
/* Lighten only the paper beneath the HTML, leaving the navy cover untouched. */
.passport-book:before{content:'';display:block;position:absolute;inset:5.7% 5.8% 9%;border-radius:20px 20px 12px 12px;background:linear-gradient(90deg,#fff6 0%,#fff6 47%,transparent 49%,transparent 51%,#fff6 53%,#fff6 100%);pointer-events:none;z-index:0;}
.passport-book .passport-spread{position:relative;z-index:1;}
.passport-book .passport-turn{z-index:2;}

.passport-book:before{border:0;box-shadow:none;}
.passport-content-inner>small{font:9px "Courier New",monospace;color:#675c4d;letter-spacing:1px;}

/* Scale only the passport and project themes as one unit. */
.passport-fit-holder{width:100%;position:relative;}
.passport-fit-frame{transform-origin:top left;}
#project-passport .passport-content-inner{width:100%;transform:none;}
#project-passport .passport-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(210px,.7fr);gap:38px;padding:0;overflow:visible;}
#project-passport .passport-book{min-width:0;width:100%;max-width:none;}
#project-passport .passport-spread,#project-passport .passport-book.is-identity .passport-spread{min-height:475px;}
#project-passport .passport-index{display:flex;flex-direction:column;margin:0;max-width:none;}

#project-passport .passport-index button{font-size:24px;padding:12px 0;}

.content-scale-holder{width:100%;position:relative;}.content-scale-frame{transform-origin:top left;}
.expertise-strip{margin:20px 0 28px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}.expertise-strip ul{display:flex;flex-wrap:wrap;gap:10px 24px;margin:12px 0 0;padding:0;list-style:none;}.expertise-strip li{font:500 14px/1.5 var(--sans);color:var(--ink);}
/* One loose scrapbook sheet, without a second page, cover or centre binding. */
#travel-wall .travel-notebook{max-width:880px;margin:auto;background:#fffdf0 url('assets/case-paper-grain.svg');padding:48px 45px 30px;border:1px solid #e2d9c1;border-radius:2px;box-shadow:1px 4px 10px #4339231a;transform:rotate(-.6deg);}
#travel-wall .travel-memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 25px;align-items:start;}
#travel-wall .travel-memory:nth-child(n){grid-column:auto;grid-row:auto;width:auto;margin:0;justify-self:stretch;}
#travel-wall .memory-print{padding:8px 8px 16px;background:#fffefa;box-shadow:1px 2px 4px #3e372320;}
#travel-wall .memory-print:before{display:none;}
#travel-wall .memory-upload{min-height:150px;}
#travel-wall .memory-note{font-size:22px;line-height:1.3;height:112px;padding-right:26px;}
#travel-wall .memory-caption{font-size:22px;}
#travel-wall .memory-doodle{width:31px;height:31px;right:0;bottom:17px;}
#travel-wall .travel-memory:nth-child(2n){padding-top:20px;}
#travel-wall .travel-wall-signature{font-size:26px;margin-top:20px;}
@media(max-width:650px){#travel-wall .travel-notebook{padding:30px 23px 24px;}#travel-wall .travel-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 17px;}#travel-wall .memory-upload{min-height:115px;}#travel-wall .memory-note{font-size:20px;height:100px;}#travel-wall .memory-caption{font-size:19px;}.expertise-strip li{font-size:12px;}}

/* Place the information stub above, and the boarding-pass band below. */
.learning-tickets .ticket-stub{order:-1;border-top:0;border-bottom:1px dashed #233b5c80;border-radius:14px 14px 20px 20px;min-height:125px;}
.boarding-pass-main{order:0;}.boarding-pass-top{order:1;border-bottom:0;border-top:1px dashed #233b5c80;border-radius:19px 19px 15px 15px;}
/* A simpler pen-like scroll invitation, kept inside the first viewport. */
.hero .scroll-note{border:0;border-radius:0;background:#fffdf0eb;padding:9px 16px;box-shadow:0 2px 4px #233e3915;font:600 23px/1.2 var(--hand);min-height:44px;gap:15px;}
.hero .scroll-note span:last-child{background:transparent;color:var(--coral);font:400 30px/1 var(--hand);border-radius:0;width:auto;height:auto;}
#project-passport .passport-book{translate:-22px 0;}#project-passport .passport-layout{gap:65px;}
/* One landscape sheet of twelve memories; extra memories load on the next sheet. */
#travel-wall .travel-notebook{max-width:1200px;padding:36px 40px 28px;}
#travel-wall .travel-memory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 25px;}
#travel-wall .travel-memory[hidden]{display:none!important;}
#travel-wall .travel-memory:nth-child(n){padding-top:0;}
#travel-wall .memory-upload{height:125px;min-height:125px;}
#travel-wall .memory-upload img{width:100%;height:125px;object-fit:contain;filter:none;background:#fffdf7;}
#travel-wall .memory-note{height:75px;margin-top:13px;font-size:20px;line-height:1.2;resize:none;}
#travel-wall .memory-caption{font-size:20px;}
.memory-slide-count{position:absolute;right:4px;bottom:3px;padding:1px 5px;background:#fffdf0df;color:#344851;font:10px var(--sans);pointer-events:none;}
#travel-wall .content-scale-holder{overflow-x:auto;overflow-y:hidden;}
.wall-load-more,.wall-previous,.wall-carousel-toggle{margin:24px 12px 0 0;}
.wall-previous[hidden]{display:none;}
@media(max-width:700px){.hero .scroll-note{font-size:20px;}#project-passport .passport-book{translate:-14px 0;}}

/* Readable natural-size type inside compact objects. Section headings stay unchanged. */
#learning .learning-tickets{max-width:1050px;margin-inline:auto;}
.boarding-pass-main>p,.learning-tickets .ticket-stub p,.boarding-pass-main .language-list li{font-size:16px;line-height:1.6;}
.learning-tickets .ticket-stub b{font-size:17px;}.boarding-pass-main .ticket-tag,.boarding-pass-top>span:first-child,.learning-tickets .ticket-stub{font-size:12px;}
.boarding-pass-main .language-list li span{font-size:14px;}
#project-passport .passport-layout{width:100%;max-width:1180px;margin-inline:auto;grid-template-columns:minmax(0,1.8fr) minmax(200px,.7fr);gap:45px;}
#project-passport .passport-book{translate:-12px 0;aspect-ratio:auto;}
#project-passport .passport-page p{font-size:16px;line-height:1.55;}
#project-passport .passport-page small,#project-passport .passport-content-inner>small{font-size:12px;line-height:1.5;}
#project-passport .traveller-id-fields dt{font-size:12px;line-height:1.4;}
#project-passport .traveller-id-fields dd,#project-passport .traveller-id-fields dd.traveller-residences{font-size:16px;line-height:1.5;overflow-wrap:anywhere;}
#project-passport .traveller-id-fields{gap:12px;}
#project-passport .traveller-id-footnote{font-size:12px;line-height:1.5;}
#project-passport .traveller-id-mrz{font-size:9px;overflow-wrap:anywhere;}
#project-passport .project-stamp strong{font-size:16px;line-height:1.4;}
#project-passport .passport-spread{align-items:stretch;}
/* A full-width landscape sheet with five memories per desktop row. */
#travel-wall{padding-inline:clamp(16px,2.5vw,40px);}
#travel-wall .travel-notebook{width:100%;max-width:none;transform:none;padding:38px clamp(18px,3vw,46px) 28px;}
#travel-wall .travel-memory-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:28px 24px;}
#travel-wall .memory-upload,#travel-wall .memory-upload img{height:150px;min-height:150px;}
#travel-wall .memory-caption,#travel-wall .memory-note{font-size:22px;line-height:1.35;}
#travel-wall .memory-note{height:100px;overflow:auto;scrollbar-width:none;}
/* No visible scrollbars, while long content remains scrollable. */
html,body,dialog,dialog *,textarea,.passport-layout,.globe-country-picker{scrollbar-width:none;}
::-webkit-scrollbar{width:0;height:0;}
.joy-list{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:24px;}
.joy-list>span{display:inline-block;padding:8px 14px;border:1px solid var(--line);font-size:16px;line-height:1.5;}
/* Ring-bound paper scrapbook, inspired by the supplied physical album. */
#life .memory-album{max-width:1100px;padding:0;background:transparent;box-shadow:none;gap:16px;transform:rotate(-1deg);}
#life .memory-page{background:#fffdf5 url('assets/case-paper-grain.svg');border:1px solid #d5cdbd;box-shadow:2px 4px 0 #e9e3d6,3px 7px 0 #dcd5c7,0 12px 24px #3d342518;padding:30px 34px;min-height:680px;gap:28px;overflow:visible;}
#life .memory-page:before{display:none;}
#life .memory-card{width:90%;padding:22px;border-radius:15px;}
.travel-note-memory{background:#e7d4df;color:#452e40;transform:rotate(-8deg);}
#life .reader-memory{background:#eee1dc;color:#58444b;border:1px solid #cbb8b1;border-radius:2px;min-height:164px;justify-content:flex-end;align-items:center;isolation:isolate;overflow:hidden;}
.envelope-flap{position:absolute;inset:0 0 auto;height:83px;clip-path:polygon(0 0,100% 0,50% 100%);background:#dbc9c3;border-bottom:1px solid #bda7a1;z-index:-1;}
#life .reader-memory strong{font:30px/1.2 var(--hand);}
#life .reader-memory .memory-card-action{font-size:15px;}
#life .note-slip small,#life .memory-card-action{font-size:14px;line-height:1.5;}
#life .album-tabs button{font-size:20px;line-height:1.4;}
#life .album-photo{width:145px;}#life .album-photo figcaption{font-size:18px;line-height:1.3;}
#life .album-handnote{font-size:27px;line-height:1.3;}
#life .memory-cd{width:260px;height:260px;background:conic-gradient(from 20deg,#b6c6bc,#e4d4e3 12%,#c5d8ca 25%,#f4eee1 36%,#c4c8d8 50%,#d3bbc8 65%,#e3e5cd 78%,#f9f8f3 90%,#b6c6bc);}
#life .memory-cd:before{content:'';position:absolute;inset:12px;border-radius:50%;background:url('assets/mounira-original-photo-lossless.webp') center/contain no-repeat;opacity:.45;mask:radial-gradient(circle,transparent 0 27%,#000 28%);}
#life .cd-writing{z-index:2;}
.scrap-movable{position:relative;touch-action:none;cursor:grab;translate:var(--scrap-x,0px) var(--scrap-y,0px);}
.scrap-movable.is-moving{cursor:grabbing!important;z-index:30!important;transition:none!important;}
.scrap-movable:focus-visible{outline:2px dashed var(--coral);outline-offset:5px;}
.arrange-hint{font:20px/1.5 var(--hand);color:var(--muted);text-align:center;margin:22px 0;}
.autumn-leaf{position:absolute;width:74px;height:95px;background:none;padding:0;border:0;z-index:5;filter:drop-shadow(1px 3px 2px #5a392827);}
.autumn-leaf svg{width:100%;height:100%;overflow:visible;}
#life .autumn-leaf.leaf-one{left:5%;bottom:25px;rotate:-24deg;}#life .autumn-leaf.leaf-two{right:12%;top:21px;rotate:28deg;}#life .autumn-leaf.leaf-three{right:5%;bottom:18px;rotate:80deg;}
@media(max-width:1000px){#travel-wall .travel-memory-grid{grid-template-columns:repeat(3,minmax(0,1fr));}#project-passport .passport-layout{grid-template-columns:1fr;gap:24px;}#project-passport .passport-book{max-width:850px;margin:auto;translate:0;}#project-passport .passport-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px;}}
@media(max-width:650px){#travel-wall .travel-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;}#travel-wall .memory-upload,#travel-wall .memory-upload img{height:130px;min-height:130px;}#life .memory-album{grid-template-columns:1fr;gap:20px;transform:none;}#life .memory-page{min-height:660px;padding:28px 24px;}#life .album-rings{display:none;}#project-passport .passport-page{padding:16px 10px!important;}#project-passport .traveller-id-body{display:flex;flex-direction:column;}#project-passport .traveller-id-fields dd,#project-passport .traveller-id-fields dd.traveller-residences{font-size:16px;}#project-passport .passport-spread{min-height:0!important;}#project-passport .passport-index button{font-size:20px;}#project-passport .passport-book{padding:26px 14px 38px;}#project-passport .passport-page h3{overflow-wrap:anywhere;}#project-passport .project-stamps{grid-template-columns:1fr;}}
@media(max-width:380px){#travel-wall .travel-memory-grid{grid-template-columns:1fr;}}
/* Remove the first-section hiker in both language versions. */
#groundHiker{display:none!important;}
#life .autumn-leaf.leaf-two{right:2%;top:90px;width:58px;}
#dialogContent .modal-lead,#dialogContent .about-theme>p,#dialogContent .book-leaf p{font-size:16px;line-height:1.65;}
#life .scrap-movable:hover{translate:var(--scrap-x,0px) var(--scrap-y,0px);}
/* Restore the compact object scale, compensating only the typography. */
#project-passport .passport-layout{max-width:none;grid-template-columns:minmax(0,1.65fr) minmax(210px,.7fr);gap:65px;}
#project-passport .passport-book{translate:-22px 0;aspect-ratio:3/2;}
#project-passport .passport-spread,#project-passport .passport-book.is-identity .passport-spread{height:475px;min-height:475px;}
#project-passport .passport-page{min-height:0;overflow-y:auto;scrollbar-width:none;}
#project-passport .passport-page p,#project-passport .traveller-id-fields dd,#project-passport .traveller-id-fields dd.traveller-residences{font-size:calc(16px / var(--object-scale,.8));}
#project-passport .passport-page small,#project-passport .passport-content-inner>small,#project-passport .traveller-id-fields dt,#project-passport .traveller-id-footnote{font-size:calc(12px / var(--object-scale,.8));}
#project-passport .project-stamp strong{font-size:calc(16px / var(--object-scale,.8));}
#project-passport .passport-index button{font-size:24px;}
#learning .learning-tickets{max-width:none;}
.boarding-pass-main>p,.learning-tickets .ticket-stub p,.boarding-pass-main .language-list li{font-size:20px;}
.learning-tickets .ticket-stub b{font-size:21.25px;}.boarding-pass-main .language-list li span{font-size:17.5px;}
#life .memory-album{max-width:1030px;}
#life .memory-cd{width:244px;height:244px;}#life .album-photo{width:125px;}
#life .note-slip small,#life .memory-card-action{font-size:17.5px;}
#life .album-photo figcaption{font-size:22.5px;}
#life .album-handnote{font-size:30px;}
#life .album-tabs button{font-size:25px;}
#life .reader-memory .memory-card-action{font-size:18.75px;}
@media(max-width:1000px){#project-passport .passport-layout{grid-template-columns:minmax(0,1.65fr) minmax(210px,.7fr);}#project-passport .passport-index{display:flex;}}
@media(max-width:650px){#project-passport .passport-book{translate:-14px 0;}#project-passport .passport-spread{min-height:475px!important;}#project-passport .traveller-id-body{display:grid;grid-template-columns:72px minmax(0,1fr);}}
/* Restore the original reflective disc, without the added portrait. */
#life .memory-cd{background:repeating-radial-gradient(circle,transparent 0 2px,#ffffff12 2px 3px),conic-gradient(from 20deg,#a9b9c0,#e8d9e7 12%,#c5d8ca 25%,#f3eee4 36%,#b7c2ca 50%,#c9b3cb 65%,#dee5d9 78%,#f9f8f3 90%,#a9b9c0);}
#life .memory-cd:before{display:none;}
/* Physical scrapbook composition: overlapping keepsakes, not a dashboard grid. */
#life .memory-album{gap:12px;max-width:1030px;transform:rotate(-2deg);}
#life .memory-page{min-height:620px;padding:24px 30px;background:#fffef7 url('assets/case-paper-grain.svg');border-radius:2px;box-shadow:1px 3px 0 #e8e3d7,2px 6px 0 #d8d2c5,4px 9px 12px #392c2015;display:block;}
#life .memory-page-left>.album-handnote{position:absolute;left:28px;top:20px;width:78%;font-size:28px;rotate:-5deg;}
#life .album-side-notes{display:contents;}
#life .memory-page-left .hobbies-slip{position:absolute;left:26px;top:105px;width:69%;min-height:175px;padding:28px 25px;background:#dbd4da;border-radius:18px;transform:rotate(-12deg);box-shadow:2px 4px 5px #3b293522;}
#life .hobbies-slip strong{font:600 28px/1.25 var(--sans);margin:10px 0 14px;}
#life .hobbies-slip small{font-size:18px;max-width:210px;}
#life .hobbies-slip:after{content:'♡';position:absolute;right:15px;bottom:12px;font:32px var(--hand);color:#8c5364;}
#life .reader-memory{position:absolute;left:30%;top:245px;width:65%;min-height:170px;padding:25px 18px;background:#845466;color:#fff6ef;transform:rotate(9deg);border-radius:18px;z-index:3;box-shadow:3px 6px 8px #3b293524;}
#life .reader-memory .envelope-flap{background:#eddee4;inset:12px auto auto 18px;width:67px;height:47px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);border:1px solid #cbb7bf;}
#life .reader-memory .envelope-flap:after{content:'';position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 72%);background:#d3bdc7;}
#life .reader-memory strong{font:28px/1.2 var(--hand);margin-top:35px;}
#life .reader-memory .memory-card-action{font-size:17px;}
#life .language-slip{position:absolute;left:24px;top:423px;width:72%;min-height:145px;padding:26px 23px;background:#e2bbcb;border-radius:18px;transform:rotate(-7deg);box-shadow:2px 4px 5px #3b29351a;}
#life .language-slip strong{font:600 26px/1.25 var(--sans);margin-bottom:12px;}
#life .language-slip small{font-size:18px;}
#life .memory-page-right .cd-caption{position:absolute;left:23px;top:26px;width:85%;font-size:29px;transform:rotate(-8deg);text-align:center;}
#life .memory-cd{position:absolute;top:116px;left:50%;margin-left:-122px;}
#life .album-portrait-note{position:absolute;bottom:84px;left:25px;right:25px;margin:0;gap:22px;justify-content:center;}
#life .album-photo{width:105px;transform:rotate(-8deg);}
#life .album-photo img{height:90px;}#life .album-photo figcaption{font-size:18px;}
#life .album-portrait-note>.album-handnote{font-size:29px;line-height:1.1;max-width:175px;transform:rotate(7deg);}
#life .album-tabs{position:absolute;bottom:20px;left:20px;right:20px;gap:7px;margin:0;}
#life .album-tabs button{font-size:20px;padding:5px 8px;}
#life .album-rings{width:76px;}
#life .album-rings i{width:72px;height:35px;border-width:7px;box-shadow:inset 1px 2px 1px #fff,2px 3px 3px #433b3355;}
#life .album-rings i:first-child{top:30%;}#life .album-rings i:last-child{top:77%;}
#life .autumn-leaf.leaf-one{left:36%;bottom:13px;width:55px;rotate:40deg;}
#life .autumn-leaf.leaf-two{right:1%;top:76px;width:50px;}
#life .autumn-leaf.leaf-three{right:2%;bottom:120px;width:53px;}
@media(max-width:650px){#life .memory-album{grid-template-columns:1fr;transform:none;}#life .memory-page{min-height:620px;}#life .reader-memory{left:26%;width:70%;}#life .album-rings{display:none;}}
#life .memory-page-left .hobbies-slip{min-height:160px;}
#life .reader-memory{top:270px;}
#life .language-slip{top:450px;}
/* Restore the original passport typography without changing the object or section headings. */
#project-passport .passport-book .passport-page p{font-size:12px;line-height:1.5;}
#project-passport .passport-book .passport-page small,#project-passport .passport-book .passport-content-inner>small{font-size:9px;line-height:1.4;}
#project-passport .passport-book .traveller-id-fields dt{font-size:8px;line-height:1.4;}
#project-passport .passport-book .traveller-id-fields dd{font-size:12px;line-height:1.3;}
#project-passport .passport-book .traveller-id-fields dd.traveller-residences{font-size:10px;line-height:1.4;}
#project-passport .passport-book .traveller-id-fields{gap:8px;}
#project-passport .passport-book .traveller-id-footnote{font-size:7px;margin-top:14px;}
#project-passport .passport-book .traveller-id-mrz{font-size:7px;letter-spacing:0;margin-top:10px;}
#project-passport .passport-book .project-stamp strong{font-size:14px;line-height:1.4;}
/* Full-screen personal windows, with compact keepsakes inside. */
#detailDialog.life-fullscreen{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;inset:0;margin:0;border:0;border-radius:0;}
#detailDialog.life-fullscreen #dialogContent{max-width:1200px;margin:auto;padding:45px clamp(20px,5vw,70px) 70px;}
#detailDialog.life-fullscreen .modal-toolbar{position:sticky;top:0;z-index:50;background:var(--paper);}
#detailDialog.life-fullscreen .joys-board{width:85%;margin-inline:auto;}
#detailDialog.reader-fullscreen .book-shell{width:80%;max-width:950px;margin:32px auto;perspective:1500px;background:transparent;box-shadow:none;padding:0;}
#detailDialog.reader-fullscreen .book-spread{position:relative;background:transparent;gap:12px;padding:0;box-shadow:none;transform:rotate(-1.5deg);}
#detailDialog.reader-fullscreen .book-leaf{background:#fffef7 url('assets/case-paper-grain.svg');border:1px solid #d5cdbd;border-radius:2px;box-shadow:1px 3px 0 #e8e3d7,2px 6px 0 #d8d2c5,4px 9px 12px #392c2015;padding:32px 27px;min-height:440px;}
#detailDialog.reader-fullscreen .book-leaf .handwritten{font:30px/1.2 var(--hand);transform:rotate(-4deg);margin-bottom:28px;}
#detailDialog.reader-fullscreen .book-leaf p{font:22px/1.5 var(--hand);}
#detailDialog.reader-fullscreen .book-leaf img{width:110px;height:125px;object-fit:contain;float:left;margin:0 18px 14px 0;padding:7px;background:white;box-shadow:2px 4px 6px #42362522;transform:rotate(-7deg);}
#detailDialog.reader-fullscreen .book-spread:after{content:'';position:absolute;left:calc(50% - 26px);top:28%;width:52px;height:22px;border:6px solid #c2c7c2;border-top-color:#f8f9f4;border-bottom-color:#7f8b85;border-radius:50%;box-shadow:1px 3px 3px #433b3340;pointer-events:none;}
#detailDialog.reader-fullscreen .book-spread:before{content:'';position:absolute;z-index:5;left:calc(50% - 26px);top:76%;width:52px;height:22px;border:6px solid #c2c7c2;border-top-color:#f8f9f4;border-bottom-color:#7f8b85;border-radius:50%;pointer-events:none;}
#travel-wall .memory-print{width:88%;margin-inline:auto;}
#travel-wall .memory-upload,#travel-wall .memory-upload img{height:120px;min-height:120px;}
#travel-wall .memory-note{width:88%;margin-inline:auto;}
.destination-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;inset:0;margin:0;border:0;border-radius:0;background:var(--paper);color:var(--ink);padding:0;overflow:auto;scrollbar-width:none;}
.destination-toolbar{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 5vw;background:var(--paper);z-index:20;border-bottom:1px solid var(--line);}
.destination-toolbar button{border:1px solid var(--line);border-radius:50%;background:none;width:44px;height:44px;font-size:25px;}
.destination-content{max-width:1100px;padding:35px 24px 70px;margin:auto;}
.destination-content input,.destination-content textarea{width:100%;background:#fffdf4;border:1px solid var(--line);padding:12px;font:16px/1.6 var(--sans);color:var(--ink);}
.destination-content>label{display:block;margin:22px 0;font-size:15px;}
.destination-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:30px 0;}
.destination-photo{margin:0;padding:10px;background:#fffdf8;box-shadow:1px 3px 5px #24362b22;}
.destination-photo img{height:210px;width:100%;object-fit:contain;}
.destination-photo textarea{min-height:100px;margin-top:10px;}
.destination-content h2{font-size:clamp(30px,5vw,60px);}
@media(max-width:700px){#detailDialog.life-fullscreen .joys-board,#detailDialog.reader-fullscreen .book-shell{width:100%;}.destination-gallery{grid-template-columns:1fr 1fr;}#detailDialog.reader-fullscreen .book-spread:before,#detailDialog.reader-fullscreen .book-spread:after{display:none;}}
#detailDialog.reader-fullscreen .book-leaf>p{position:relative;background:#e5d6df;border-radius:15px;padding:22px 20px;box-shadow:2px 4px 6px #43312515;transform:rotate(-3deg);margin-top:20px;}
#detailDialog.reader-fullscreen .book-leaf:nth-child(2)>p{background:#e6c3d1;transform:rotate(3deg);}
#detailDialog.reader-fullscreen .book-leaf>p:before{content:'';position:absolute;width:55px;height:17px;left:35%;top:-9px;background:#d8c9a77a;transform:rotate(-4deg);}
/* Personal photo spaces on every reader page; original image files are preserved. */
#detailDialog.reader-fullscreen .reader-photo-zone{clear:both;margin-top:30px;padding-top:18px;border-top:1px dashed #b4a38c66;}
.reader-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px;}
.reader-photo{margin:0;background:#fffdf9;padding:7px 7px 12px;box-shadow:1px 3px 5px #342b2222;transform:rotate(-3deg);}
.reader-photo:nth-child(even){transform:rotate(3deg);}
#detailDialog.reader-fullscreen .book-leaf .reader-photo img{width:100%;height:125px;float:none;object-fit:contain;margin:0;padding:0;box-shadow:none;transform:none;filter:none;}
.reader-photo input{width:100%;border:0;background:none;font:20px/1.3 var(--hand);color:var(--ink);padding:8px 0 0;}
.reader-photo-empty{grid-column:1/-1;display:grid;place-items:center;min-height:110px;border:1px dashed #ad9c8070;color:var(--muted);font:22px var(--hand);}
.reader-photo-add{position:relative;display:block;border:1px dashed #ad9c80;border-radius:3px;padding:12px;text-align:center;font:20px var(--hand);cursor:pointer;}
.reader-photo-add input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;}
.reader-photo-zone>small{display:block;font:12px/1.5 var(--sans);color:var(--muted);margin-top:12px;}
.reader-accessible-title{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
#detailDialog.reader-fullscreen .book-leaf{position:relative;padding-bottom:80px;}
.reader-page-arrow{position:absolute;bottom:22px;background:transparent;border:0;color:var(--coral);font-size:36px;line-height:1;width:48px;height:44px;z-index:10;}
.reader-page-prev{left:18px;transform:rotate(180deg);}.reader-page-next{right:18px;}
.reader-page-arrow:disabled{opacity:.22;}.reader-page-arrow:hover:not(:disabled){color:var(--ink);}
#detailDialog.reader-fullscreen .book-page-no{bottom:35px;right:75px;}
.certificate-preview{margin:28px 0;width:100%;background:#fff;}.certificate-preview iframe{display:block;width:100%;height:70svh;min-height:420px;border:0;}
.certificate-preview img{display:block;width:100%;height:auto;object-fit:contain;filter:none;}
/* Compact certificate thumbnail, with the same paper border as a photo print. */
.certificate-preview{display:block;width:260px;max-width:100%;margin:26px 0 18px;padding:8px 8px 12px;background:#fffdf9;border:1px solid #ded9cc;box-shadow:1px 3px 5px #342b2222;transform:rotate(-2deg);}
.certificate-preview img{width:100%;height:155px;object-fit:contain;background:white;}
.certificate-preview>span{display:block;padding:9px 3px 0;font:20px/1.25 var(--hand);color:var(--ink);}
#detailDialog.reader-fullscreen .reader-photo-zone{overflow:visible;}
.reader-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 20px;overflow:visible;}
.reader-photo{position:relative;padding:16px 7px 12px;touch-action:none;cursor:grab;}
.reader-photo.is-moving{cursor:grabbing;box-shadow:3px 7px 12px #342b2230;}
.reader-photo:focus-visible{outline:2px dashed var(--coral);outline-offset:5px;}
.reader-photo-grip{position:absolute;top:0;left:0;right:0;height:18px;display:grid;place-items:center;font:15px/1 var(--sans);color:#938b7d;}
.reader-photo-slot{display:grid;place-items:center;position:relative;height:125px;background:#eeeadd;cursor:pointer;}
.reader-photo-slot>span{font:22px var(--hand);color:var(--muted);}
.reader-photo-slot input{position:absolute;inset:0;width:100%;height:100%;padding:0;opacity:0;cursor:pointer;}
.reader-photo-slot img[hidden]{display:none!important;}
.reader-photo-add{width:100%;color:var(--ink);background:transparent;}
.wall-load-less{margin:24px 12px 0 0;}.wall-load-less[hidden]{display:none!important;}
#travel-wall .travel-memory-grid{position:relative;isolation:isolate;row-gap:38px;padding-top:12px;}
#travel-wall .travel-memory{z-index:1;}
.wall-photo-cord{position:absolute;top:0;left:0;overflow:visible;pointer-events:none;z-index:0;}
.wall-photo-clip{position:absolute;top:-26px;left:calc(50% - 12px);width:24px;height:36px;z-index:4;pointer-events:none;transform:rotate(4deg);filter:drop-shadow(1px 2px 1px #233e3920);}
.travel-memory:nth-child(even) .wall-photo-clip{transform:rotate(-5deg);}
.wall-photo-clip svg{display:block;width:100%;height:100%;overflow:visible;}
/* Landing experiment: the complete globe approaches Burkina, disperses and reveals the existing hero. */
html.globe-intro-active{overflow:hidden;--landing-reveal:0;}
html.globe-intro-active body{background:#fff8ec;}
html.globe-intro-active body>main,html.globe-intro-active body>header,html.globe-intro-active body>nav,html.globe-intro-active body>footer,html.globe-intro-active body>.progress-line{opacity:var(--landing-reveal,0);}
#globe-landing-intro{position:fixed;inset:0;z-index:10000;background:#fff8ec;overflow:hidden;}
#globe-landing-intro canvas{display:block;width:100%;height:100%;}
.globe-intro-skip{position:absolute;right:24px;bottom:24px;border:1px solid #294b4330;border-radius:30px;padding:9px 16px;background:#fff8ecdc;color:#294b43;font:13px/1.4 var(--sans);}
@media(prefers-reduced-motion:reduce){#globe-landing-intro{display:none;}html.globe-intro-active body>main,html.globe-intro-active body>header,html.globe-intro-active body>nav,html.globe-intro-active body>footer{opacity:1;}}
html:not(.globe-intro-active) #globe-landing-intro{display:none;}

/* Phones and tablets keep native, unrestricted scrolling through the atlas. */
@media (max-width:1100px), (hover:none) and (pointer:coarse){
 #journey{height:auto;min-height:0;}
 #journey .journey-stage{position:relative;top:auto;min-height:0;}
}

/* Exact cardinal stops, with settling motion driven by the shared compass controller. */
#powers .compass-needle{transition:none;}
@media(max-width:700px){
 #powers .power-compass .power-point{display:none;}
 #powers .power-compass{display:block;min-height:260px;height:260px;padding-top:0;}
}

.journey-mobile-next{display:none;}
@media(max-width:1100px){
 #travel-wall .travel-memory-grid{display:flex;flex-wrap:nowrap;gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:12px;padding:35px 12px 20px;scrollbar-width:none;}
 #travel-wall .travel-memory{flex:0 0 300px;scroll-snap-align:start;min-width:0;}
 #travel-wall .travel-memory[hidden]{display:none;}
 #travel-wall .travel-memory-grid::-webkit-scrollbar{display:none;}
}
@media(max-width:700px){
 .journey-mobile-next{display:block;width:100%;margin-top:22px;padding:14px 18px;border:1px solid #13233a24;border-radius:12px;background:#13233a;color:#fff8ec;font:600 15px/1.5 var(--sans);text-align:left;}
 #project-passport{padding-inline:12px;}
 #project-passport .passport-layout{display:flex;flex-direction:column;gap:22px;width:100%;}
 #project-passport .passport-index{order:-1;display:grid;grid-template-columns:1fr 1fr;width:100%;gap:0 18px;}
 #project-passport .passport-index button{font-size:17px;line-height:1.35;padding:12px 0;}
 #project-passport .passport-index button small{font-size:9px;margin-bottom:4px;}
 #project-passport .passport-index button[aria-pressed=true]{translate:0;}
 #project-passport .passport-book{width:100%;max-width:none;translate:0;box-sizing:border-box;padding:15px 8px 22px;aspect-ratio:auto;}
 #project-passport .passport-spread,#project-passport .passport-book.is-identity .passport-spread{height:490px;min-height:490px!important;}
 #project-passport .passport-page{min-width:0;padding:14px 8px!important;}
 #project-passport .traveller-id-body{display:flex;flex-direction:column;gap:10px;}
 #project-passport .traveller-id-portrait{width:65px;max-width:100%;margin:0;}
 #project-passport .traveller-id-fields{width:100%;min-width:0;grid-template-columns:1fr;gap:7px;}
 #project-passport .passport-book .traveller-id-fields dd{font-size:12px;overflow-wrap:anywhere;}
 #project-passport .passport-page h3{font-size:19px;line-height:1.2;}
 #travel-wall .travel-memory{flex-basis:min(78vw,300px);}
 :is(.power-pagination,.book-controls) button,.borderless-prev,.borderless-next,#prevChapter,#nextChapter,.reader-page-arrow{width:44px;height:44px;min-width:44px;min-height:44px;display:inline-grid;place-items:center;border:1px solid #13233a26;border-radius:50%;background:#fff8ec;color:#13233a;font-size:0;box-shadow:0 2px 7px #13233a0a;transform:none;}
 :is(.power-pagination,.book-controls) button::before,.borderless-prev::before,.borderless-next::before,#prevChapter::before,#nextChapter::before,.reader-page-arrow::before{content:'→';font:24px/1 var(--sans);width:auto;height:auto;display:block;background:none;transform:none!important;translate:none;}
 :is(.power-pagination,.book-controls) button:first-child::before,.borderless-prev::before,#prevChapter::before,.reader-page-prev::before{content:'←';}
}

@media(max-width:700px){#project-passport .passport-page p{overflow-wrap:anywhere;}#project-passport .traveller-id-wide{grid-column:auto;}}

/* Keep the open passport landscape-shaped instead of stretching its pages vertically. */
#project-passport .passport-book{box-sizing:border-box;height:auto;aspect-ratio:3 / 2;padding:4% 3%;display:flex;align-items:stretch;}
#project-passport .passport-spread,#project-passport .passport-book.is-identity .passport-spread{width:100%;height:auto;min-height:0!important;flex:1;}
#project-passport .passport-page{min-height:0;max-height:100%;overflow-y:auto;}
@media(max-width:700px){
 #project-passport .passport-book{height:var(--passport-book-height);aspect-ratio:3 / 2;padding:15px 8px;}
 #project-passport .passport-page{padding:12px 8px!important;}
 #project-passport .traveller-id-body{display:grid;grid-template-columns:42px minmax(0,1fr);gap:7px;align-items:start;}
 #project-passport .traveller-id-portrait{width:42px;}
 #project-passport .traveller-id-fields{gap:6px;}
 #project-passport .passport-page h3{font-size:16px;}
}

.wall-swipe-hint{display:none;}
@media(max-width:700px){
 #travel-wall .wall-load-more,#travel-wall .wall-load-less{display:none!important;}
 #travel-wall .wall-swipe-hint{display:block;max-width:36ch;margin:0 auto 22px;text-align:center;color:var(--ink);font:500 15px/1.6 var(--sans);}
}

@media(max-width:1100px), (hover:none) and (pointer:coarse){html[lang="fr"] .cafe-sign-overlay{display:none;}}

@media(max-width:700px){
 #project-passport .passport-collection-description{display:none;}
 #project-passport .passport-index{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px;}
 #project-passport .passport-index button{font-size:14px;line-height:1.35;overflow-wrap:anywhere;min-width:0;}
 #project-passport .passport-index button[data-passport="identity"]{grid-column:1 / -1;}
}

.stack-apps .stack-app-name{white-space:nowrap;word-break:normal;overflow-wrap:normal;}
@media(max-width:600px){.tools-with-swing .stack-apps{grid-template-columns:repeat(auto-fit,minmax(48px,1fr));}}

/* Half-size project stamps also reserve half the layout space. */
#project-passport .project-stamps{display:flex;flex-wrap:wrap;gap:12px;margin-block:16px;}
#project-passport .project-stamps .project-stamp{zoom:.5;flex-shrink:0;}

.mobile-project-collection{display:none;}
@media(max-width:700px){
 #project-passport .passport-book{display:none;}
 #project-passport .passport-index button[data-passport="identity"]{display:none;}
 #project-passport .mobile-project-collection{display:block;width:100%;padding:8px 8px 20px;}
 #project-passport .mobile-project-collection h3{font-size:24px;line-height:1.3;margin-bottom:22px;}
 #project-passport .mobile-project-collection .project-stamps{margin:0;gap:22px 18px;}
 #project-passport .mobile-project-collection .project-stamp strong{font-size:14px;line-height:1.4;}
 #project-passport .mobile-project-collection .project-stamp{background:transparent;box-shadow:none;border-style:double;min-height:108px;}
 #project-passport .mobile-project-collection .project-pending{font-size:14px;color:var(--muted);}
}

.profile-socials a.profile-blog>span{border-style:solid;opacity:1;color:var(--ink);}

/* A compact note alongside the professional introduction. */
#meet-mounira .open-to-work{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:24px;align-items:center;margin:36px 0 0;padding:24px 28px;background:#fffdf7;border:1px solid #13233a20;border-radius:12px;box-shadow:0 8px 22px #13233a0b;}
.open-to-work-status{display:flex;align-items:center;gap:9px;margin:0 0 9px;color:#317454;font:700 10px/1.4 var(--sans);letter-spacing:.13em;}
.open-to-work-status span{width:9px;height:9px;flex:none;border-radius:50%;background:#438d69;box-shadow:0 0 0 4px #438d6922;animation:open-work-pulse 2.2s ease-out infinite;}
.open-to-work-copy h3{font:25px/1.2 var(--serif);letter-spacing:-.02em;margin:0 0 7px;}
.open-to-work-copy>p:last-child{margin:0;color:var(--muted);font:14px/1.5 var(--sans);}
.open-to-work-details ul{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;list-style:none;}
.open-to-work-details li{padding:7px 11px;border:1px solid #13233a20;border-radius:30px;background:#fff8ec;font:600 12px/1.35 var(--sans);}
.open-to-work-details>a{display:inline-block;color:var(--ink);font:700 13px/1.4 var(--sans);border-bottom:1px solid #13233a80;padding-bottom:3px;}
@keyframes open-work-pulse{0%{box-shadow:0 0 0 0 #438d6950}75%,100%{box-shadow:0 0 0 10px #438d6900}}
@media(max-width:700px){#meet-mounira .open-to-work{grid-template-columns:1fr;gap:14px;margin-top:28px;padding:21px 20px}.open-to-work-copy h3{font-size:23px}.open-to-work-details li{font-size:12px}}
@media(prefers-reduced-motion:reduce){.open-to-work-status span{animation:none}}

/* Public visitors cannot access the unfinished browser-local editors. */
.resource-editor,.story-editor,.resource-empty,.story-empty,.travel-memory input,.travel-memory textarea,.memory-empty,.destination-modal label:has(input[type=file]),.destination-modal input,.destination-modal textarea{display:none!important}
.popup-resources > h3:has(+ .resource-gallery:empty){display:none}
.popup-resources > h3,label:has([data-destination-upload]),input[type=file]{display:none!important}

.escaet-programme .iftm-gallery { margin-top: 16px; }
.escaet-programme h3:has(+ .iftm-gallery) { margin-top: 32px; }

.story-resources > h3:has(+ .story-gallery:empty) { display: none; }
.escaet-programme .story-resource-card { margin-top: 18px; }
