@font-face{font-family:Peignot;src:url('assets/Peignot.ttf') format('truetype');font-display:swap}
:root{--ink:#29251f;--cream:#eee7d9;--muted:#aaa092;--wine:#793737;--pad:7vw;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{background:#000;scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#000;color:var(--cream);font-family:Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #aa7356;outline-offset:7px}button{touch-action:manipulation}img{display:block;width:100%;height:auto}svg{fill:currentColor}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}h1,h2,h3{font-family:Peignot,Georgia,serif;font-weight:400}h1 em,h2 em{font-style:normal;color:inherit;opacity:.73}h1 span,h1 em,h2 span,h2 em{display:block}h2{font-size:clamp(44px,5.2vw,82px);line-height:1.12;letter-spacing:-1.6px;margin:0}p{margin:0}button{background:none}.skip-content{position:fixed;top:-100px;left:15px;padding:15px;background:var(--cream);color:var(--ink);z-index:60}.skip-content:focus{top:10px}
.header{position:fixed;z-index:12;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:27px 5vw;color:var(--cream);transition:background .5s,color .5s,opacity 1.2s .8s;opacity:1}.header.scrolled{background:#000d;backdrop-filter:blur(14px);padding-top:18px;padding-bottom:18px}.header.on-paper{background:#e5ddcbea;color:var(--ink)}.brand,.footer-brand{font-family:Peignot,Georgia,serif;font-size:34px;line-height:1}.brand span,.footer-brand span{display:block;font-family:Arial,sans-serif;font-size:7px;letter-spacing:2.6px;margin-top:10px;opacity:.65}.header-actions{display:flex;align-items:center;gap:18px}.languages{display:flex;gap:2px;padding:4px;border:1px solid #ffffff25;border-radius:99px}.languages button{background:none;border:0;border-radius:99px;width:31px;height:31px;font-size:9px;letter-spacing:1px;color:inherit;opacity:.75;transition:background .3s,color .3s}.languages button[aria-pressed=true]{background:var(--cream);color:#171511;opacity:1}.on-paper .languages{border-color:#29251f33}.on-paper .languages button[aria-pressed=true]{background:var(--ink);color:var(--cream)}.top-contact{font-size:10px;letter-spacing:.7px;border-bottom:1px solid #8d8271;padding:9px 0}.menu-button{display:flex;align-items:center;gap:17px;font-size:10px;letter-spacing:1px;border:0;padding:13px 19px;background:var(--cream);color:#181510;border-radius:99px}.on-paper .menu-button{background:var(--ink);color:var(--cream)}.menu-dots{font-size:15px;line-height:1;letter-spacing:1px}.scroll-progress{position:absolute;inset:auto 0 0;height:2px;background:#93514b;transform-origin:left;transform:scaleX(0)}
.hero{position:relative;height:100svh;min-height:850px;overflow:hidden;isolation:isolate}.portrait-wrap{position:absolute;z-index:-1;top:95px;bottom:100px;width:58%;right:0;opacity:1;transform:scale(1);transition:opacity 1.6s,transform 2.2s var(--ease)}.portrait{height:100%;object-fit:contain;object-position:center bottom;opacity:.88}.portrait-wrap:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000,transparent 31%),linear-gradient(0deg,#000,transparent 20%)}.hero-content{position:relative;width:61%;padding:clamp(215px,25vh,330px) 0 180px var(--pad)}h1{font-size:clamp(49px,5.7vw,88px);line-height:1.14;letter-spacing:-2.2px;margin:0 0 29px}h1 em{color:#cbbda6;opacity:1}.intro-copy{max-width:390px;color:#aaa59c;font-size:13px;line-height:1.95;margin-bottom:27px}.text-link{display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid currentColor;padding:13px 0;font-size:12px;line-height:1.6;transition:color .3s}.text-link:hover{color:#bd9177}.text-link svg{width:18px;height:18px;opacity:.7}.arrow{font-size:22px;line-height:1;margin-left:25px}.portrait-caption{position:absolute;right:8vw;bottom:190px;text-align:right;transition:opacity 1.3s 1.8s}.portrait-caption>span{font-family:Peignot,serif;font-size:35px}.portrait-caption small{display:block;font-size:7px;letter-spacing:2px;color:#a69a89;margin-top:10px}.hero-footer{position:absolute;bottom:0;left:var(--pad);right:var(--pad);min-height:122px;border-top:1px solid #ffffff20;display:flex;align-items:center;justify-content:space-between;gap:25px;transition:opacity 1.3s 1.8s}.scroll-invite{font-size:8px;letter-spacing:1.7px;text-transform:uppercase;display:flex;align-items:center;gap:20px;color:#aaa08e}.scroll-invite>span:last-child{font-size:22px}.facts{display:flex;gap:45px}.facts p{display:flex;flex-direction:column;gap:8px}.facts strong{font-family:Peignot,serif;font-size:28px;font-weight:400}.facts span{font-size:9px;color:#a59f94}.replay{display:flex;gap:9px;align-items:center;font-size:9px;color:#a49a8a;border:0;padding:10px;background:none}.replay>span:first-child{font-size:20px}.hero-content>*{opacity:1;transform:translateY(0);transition:opacity 1.25s,transform 1.5s var(--ease)}.hero-content h1{transition-delay:1s}.hero-content .intro-copy{transition-delay:1.35s}.hero-content .primary-cta{transition:opacity 1.2s 1.65s,transform 1.4s 1.65s,color .3s}.intro-active .portrait-wrap{opacity:0;transform:scale(1.025)}.intro-active .header,.intro-active .hero-footer,.intro-active .portrait-caption,.intro-active .floating-wa{opacity:0;transition-delay:0s}.intro-active .hero-content>*{opacity:0;transform:translateY(14px);transition:none}.intro-active,.modal-open{overflow:hidden}
.intro{position:fixed;inset:0;z-index:30;background:#000;display:grid;place-items:center}.intro[hidden]{display:none}.intro video{width:100%;height:100%;object-fit:contain}.intro:after{content:'';position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;transition:opacity 1s ease}.intro.is-dark:after{opacity:1}.skip{position:absolute;z-index:2;right:5vw;bottom:35px;border:1px solid #ffffff50;border-radius:99px;padding:12px 18px;background:#0007;color:white;font-size:10px;letter-spacing:1px;transition:opacity .45s}.intro.is-dark .skip{opacity:0;pointer-events:none}.transition-curtain{position:fixed;z-index:40;inset:0;background:#000;opacity:0;pointer-events:none;transition:opacity .9s}.replay-dark .transition-curtain{opacity:1;pointer-events:auto}
.section-pad{padding:105px var(--pad)}.paper{color:var(--ink);background:#dcd6c2 url('assets/papel-original.jpg') center/cover no-repeat}.section-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:55px}.section-label,.section-number{font-size:9px;line-height:1.7;letter-spacing:2.3px}.section-number{opacity:.55}.stories-intro{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:75px}.stories-intro>p,.experience-heading>p{font-size:13px;line-height:1.9;max-width:290px;padding-bottom:8px;opacity:.75}.story-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:65px 8vw;align-items:start}.photo{margin:0;min-width:0}.photo-open{position:relative;display:block;border:0;padding:0;width:100%;overflow:hidden;cursor:zoom-in;background:none}.photo-open img{transition:transform 1.2s var(--ease)}.photo-open:hover img{transform:scale(1.025)}.photo-expand{position:absolute;right:17px;bottom:15px;color:white;background:#0005;border:1px solid #fff6;border-radius:50%;display:grid;place-items:center;width:35px;height:35px;opacity:0;transition:opacity .3s}.photo-open:hover .photo-expand,.photo-open:focus-visible .photo-expand{opacity:1}.photo figcaption{display:flex;justify-content:space-between;gap:20px;font-size:8px;line-height:1.8;letter-spacing:1px;margin-top:14px}.photo figcaption>span:last-child{opacity:.5;letter-spacing:2px}.story-main{width:100%}.story-main img{aspect-ratio:2/3;object-fit:cover}.story-side{margin-top:155px}.story-side img{aspect-ratio:4/5;object-fit:cover}.story-bottom{width:75%;margin-top:-20px}.story-bottom img{aspect-ratio:4/5;object-fit:cover}.story-note{align-self:center;padding:15px 0 55px;max-width:270px}.small-star{font-size:40px;color:#806350}.story-note p{font-family:Peignot,serif;font-size:30px;line-height:1.4;margin:23px 0 35px}.inline-link{display:inline-flex;align-items:center;gap:25px;border:0;border-bottom:1px solid currentColor;border-radius:0;padding:9px 0;font-size:11px;line-height:1.7;background:none;text-align:left;transition:color .3s}.inline-link:hover{color:#8a443d}.inline-link>span:last-child{font-size:18px}.section-cta{margin-top:80px;padding-top:30px;border-top:1px solid #302a252f;display:flex;justify-content:space-between;gap:30px;align-items:center}.section-cta>p{font-family:Peignot,serif;font-size:29px}
.proposal{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw;align-items:center;padding-top:130px;padding-bottom:130px;background:#090909}.proposal-image{position:relative}.proposal-image img{aspect-ratio:4/5;object-fit:cover}.photo-tag{position:absolute;bottom:22px;left:20px;color:#fff;font-size:7px;letter-spacing:2px}.proposal-copy h2{font-size:clamp(42px,4.5vw,70px);margin:30px 0}.proposal-copy>p{font-size:13px;line-height:1.95;max-width:310px;color:#a79f94}.proposal-fact{display:flex;align-items:center;gap:22px;margin:40px 0}.proposal-fact strong{font-family:Peignot,serif;font-size:42px;font-weight:400}.proposal-fact span{font-size:9px;letter-spacing:1px;max-width:100px;line-height:1.8;color:#a79f94}
.experience-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:85px}.experience-heading h2{max-width:800px}.paris-interlude{position:relative;min-height:800px;padding-bottom:80px}.tower-frame{position:relative;width:55%;height:790px;overflow:hidden;background:#bfb49c}.tower-frame img{width:100%;height:calc(100% + 70px);object-fit:cover;object-position:center 50%;margin-top:-35px;transform:translateY(var(--parallax,0px));will-change:transform}.image-caption{position:absolute;bottom:25px;left:22px;color:white;text-shadow:0 1px 10px #0009;font-size:8px;letter-spacing:1.8px}.night-frame{position:absolute;right:0;top:160px;width:36%;}.night-frame img{aspect-ratio:4/5;object-fit:cover}.paris-note{position:absolute;right:0;top:0;width:36%;font-size:8px;letter-spacing:1px}.paris-note>p{font-family:Peignot,serif;font-size:27px;letter-spacing:0;line-height:1.35;margin-top:18px;max-width:310px}.experience-list{border-top:1px solid #302a2535;margin-top:20px}.experience-row{display:grid;grid-template-columns:55px .65fr 1fr;gap:40px;align-items:center;padding:40px 0;border-bottom:1px solid #302a2535}.experience-no{align-self:start;font-size:10px;letter-spacing:2px;margin-top:10px}.experience-photo{max-width:250px;overflow:hidden}.experience-photo img{aspect-ratio:4/3;object-fit:cover;object-position:50% 57%;transition:transform 1.2s var(--ease)}.experience-row:hover .experience-photo img{transform:scale(1.035)}.experience-text h3{font-size:38px;margin:0 0 14px}.experience-text p{font-size:12px;line-height:1.9;max-width:380px;opacity:.75;margin-bottom:20px}
.how{background:#141310;padding-top:115px;padding-bottom:115px}.how .section-label{color:#b5a28b}.how-heading{display:flex;align-items:end;justify-content:space-between;gap:50px}.how-heading>p{font-size:13px;line-height:1.9;color:#aaa092;max-width:280px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw;margin:75px 0 45px}.step{border-top:1px solid #ffffff2b;padding-top:25px}.step>span{font-family:Peignot,serif;font-size:28px;color:#a39178}.step h3{font-size:27px;margin:28px 0 17px;line-height:1.3}.step p{font-size:12px;line-height:1.9;color:#aaa092;max-width:290px}
.final-contact{display:grid;grid-template-columns:1fr 1fr;min-height:760px}.final-image{overflow:hidden}.final-image img{width:100%;height:100%;object-fit:cover;object-position:center 45%;max-height:950px}.final-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:80px 6vw}.final-copy h2{font-size:clamp(42px,4.8vw,76px);margin:30px 0}.final-copy>p{font-size:13px;line-height:1.9;opacity:.75;max-width:270px}.contact-signature{display:flex;gap:30px;align-items:center;font-family:Peignot,serif;font-size:30px;border-bottom:1px solid #816e5c;padding:16px 0;margin-top:25px;transition:color .3s}.contact-signature:hover{color:#8a443d}.contact-signature>span:last-child{font-family:Arial,sans-serif;font-size:30px}.final-location{font-size:7px;letter-spacing:2px;margin-top:50px;opacity:.65}.footer{padding:65px var(--pad) 25px;display:flex;justify-content:space-between;gap:45px;flex-wrap:wrap;align-items:center}.footer-brand{font-size:35px}.footer-links{display:flex;gap:32px;font-size:10px;color:#b1a79a}.footer-links a:hover{color:white}.footer-bottom{width:100%;border-top:1px solid #ffffff24;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:8px;line-height:1.7;color:#8b8174}.floating-wa{position:fixed;z-index:15;right:25px;bottom:25px;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#722e31;color:var(--cream);box-shadow:0 5px 25px #0003;border:1px solid #e3ba9e30;transition:opacity 1.3s 1.9s,background .3s}.floating-wa:hover{background:#944447}.floating-wa svg{width:25px;height:25px}.wa-tooltip{position:absolute;right:65px;white-space:nowrap;padding:10px 13px;background:#17130ff0;color:var(--cream);font-size:10px;border-radius:3px;opacity:0;pointer-events:none;transition:opacity .3s}.floating-wa:hover .wa-tooltip{opacity:1}
.reveal{opacity:0;transform:translateY(25px);transition:opacity 1s var(--ease),transform 1.25s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}
.menu-overlay,.gallery-overlay{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;padding:0;color:var(--cream);background:#070706d9;backdrop-filter:blur(22px);overflow:auto}.menu-overlay::backdrop,.gallery-overlay::backdrop{background:#0007}.menu-overlay[open]{display:grid;place-items:center;animation:fade-in .5s both;transition:opacity .35s}.menu-overlay.is-closing{opacity:0}.close-menu{position:absolute;z-index:2;right:5vw;top:25px;border:0;border-radius:99px;background:var(--cream);color:var(--ink);display:flex;gap:20px;align-items:center;padding:11px 17px;font-size:10px;letter-spacing:1px}.close-menu>span:last-child{font-size:22px}.menu-inner{text-align:center;padding:70px 20px 30px}.menu-kicker{font-size:8px;letter-spacing:4px;color:#a49077}.menu-inner nav{display:flex;flex-direction:column;gap:12px;margin:30px 0}.menu-inner nav a{font-family:Peignot,serif;font-size:clamp(28px,3.2vw,47px);line-height:1.25;transition:color .3s}.menu-inner nav a:hover{color:#c5a586}.menu-languages{width:max-content;margin:25px auto 15px}.menu-languages button{width:auto;height:34px;padding:0 14px;font-size:10px}.menu-inner .replay{margin:auto}.gallery-overlay{background:#080808f5;backdrop-filter:blur(20px)}.gallery-stage{height:88%;padding:75px 5vw 15px;display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:25px}.gallery-stage>img{width:100%;height:100%;object-fit:contain;min-height:0}.gallery-arrow{border:1px solid #ffffff50;border-radius:50%;height:40px;width:40px;font-size:20px;color:var(--cream)}.gallery-caption{display:flex;justify-content:center;gap:30px;padding:15px 10vw;font-size:10px;line-height:1.8;color:#b9afa1}.gallery-caption>span:first-child{white-space:nowrap}.gallery-overlay[open]{animation:fade-in .3s both}@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media(min-width:1600px){.hero-content{padding-top:27vh}.portrait-wrap{right:5%;width:51%}}
@media(max-width:1050px) and (min-width:701px){:root{--pad:6vw}.hero-content{width:66%}.portrait-wrap{width:64%;right:-12%}h1{font-size:60px}.facts{gap:25px}.scroll-invite{display:none}.portrait-caption{right:4vw}.story-grid{gap:45px 6vw}.proposal{gap:6vw}.experience-row{grid-template-columns:30px .8fr 1.2fr;gap:24px}.experience-text h3{font-size:32px}.paris-interlude{min-height:720px}.tower-frame{height:660px}.night-frame{top:180px}.final-copy{padding:65px 5vw}.footer-links{gap:20px}}
@media(max-width:700px){:root{--pad:7vw}html{scroll-padding-top:85px}.header{padding:22px 6vw}.header.scrolled{padding:16px 6vw}.brand{font-size:27px}.brand span{font-size:6px;letter-spacing:2px;margin-top:8px}.header-actions{gap:9px}.top-contact{display:none}.languages{padding:3px}.languages button{width:26px;height:26px;font-size:8px}.menu-button{padding:10px 13px;font-size:9px;gap:9px}.desktop-only{display:none!important}.intro{display:none!important}.hero{height:100svh;min-height:880px}.portrait-wrap{top:100px;right:-5%;bottom:auto;width:100%;height:465px}.portrait{object-position:center top}.portrait-wrap:after{background:linear-gradient(0deg,#000 1%,transparent 52%),linear-gradient(90deg,#0003,transparent 30%)}.hero-content{padding:465px var(--pad) 180px;width:100%}h1{font-size:clamp(38px,10.8vw,59px);line-height:1.1;letter-spacing:-1px;margin-bottom:22px}.intro-copy{font-size:11px;line-height:1.8;max-width:340px;margin-bottom:22px}.primary-cta{font-size:11px;padding:12px 0;gap:10px}.primary-cta .arrow{margin-left:18px}.portrait-caption{display:none}.hero-footer{min-height:105px;align-items:flex-start;flex-wrap:wrap;padding-top:19px;gap:15px}.facts{width:100%;gap:18px;justify-content:space-between;padding-right:12px}.facts strong{font-size:24px}.facts span{font-size:8px}.scroll-invite{font-size:7px;letter-spacing:1px;order:2;padding-bottom:13px;gap:12px}.scroll-invite>span:last-child{font-size:17px}.section-pad{padding:65px var(--pad)}h2{font-size:clamp(35px,9.5vw,52px);line-height:1.14;letter-spacing:-.7px}.section-top{margin-bottom:33px}.section-label,.section-number{font-size:7px;letter-spacing:1.7px}.stories-intro,.experience-heading{display:block;margin-bottom:38px}.stories-intro>p,.experience-heading>p{font-size:11px;line-height:1.9;max-width:300px;margin-top:23px;padding:0}.story-grid{grid-template-columns:1fr 1fr;gap:34px 18px}.story-main{grid-column:1/-1;width:91%}.story-main img{aspect-ratio:4/5}.story-side{grid-column:2;width:100%;margin-top:0}.story-side img{aspect-ratio:3/4}.story-bottom{grid-column:1;grid-row:2;width:100%;margin-top:50px}.story-bottom img{aspect-ratio:3/4}.photo figcaption{font-size:7px;gap:10px;letter-spacing:.2px;margin-top:10px}.photo figcaption>span:last-child{display:none}.photo-expand{display:none}.story-note{grid-column:1/-1;max-width:none;padding:0;display:grid;grid-template-columns:34px 1fr;gap:15px;align-items:start}.small-star{font-size:27px;margin-top:5px}.story-note p{font-size:25px;line-height:1.4;margin:0;max-width:280px}.story-note .inline-link{grid-column:2;margin-top:0;width:max-content;font-size:10px}.section-cta{margin-top:40px;padding-top:24px;display:block}.section-cta>p{font-size:24px;line-height:1.4;margin-bottom:12px}.text-link{font-size:11px}.proposal{grid-template-columns:1fr;gap:37px;padding-top:65px;padding-bottom:70px}.proposal-image{width:91%;margin-left:auto}.photo-tag{font-size:6px;letter-spacing:1px;left:13px;bottom:15px}.proposal-copy h2{font-size:40px;margin:22px 0}.proposal-copy>p{font-size:11px;line-height:1.9;max-width:300px}.proposal-fact{margin:28px 0 20px;gap:20px}.proposal-fact strong{font-size:36px}.proposal-fact span{font-size:8px}.paris-interlude{min-height:0;padding-bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:23px 16px;margin-bottom:42px}.tower-frame{width:100%;height:470px;grid-column:1/-1;margin-right:10%;max-width:90%}.tower-frame img{object-position:center}.night-frame{position:relative;top:auto;right:auto;width:100%;grid-column:2;margin-top:-115px}.paris-note{position:relative;top:auto;right:auto;width:100%;grid-column:1;grid-row:2;padding:0 0 0 0}.paris-note>span{font-size:6px;letter-spacing:.5px}.paris-note>p{font-size:22px;line-height:1.4;margin-top:13px}.image-caption{bottom:15px;left:12px;font-size:6px;letter-spacing:1px}.night-frame .image-caption{font-size:5px;letter-spacing:.5px}.experience-list{margin-top:0}.experience-row{grid-template-columns:20px 1fr;gap:12px 17px;padding:25px 0;align-items:start}.experience-no{font-size:8px;grid-row:1/3}.experience-photo{width:100%;max-width:none}.experience-photo img{aspect-ratio:5/3;object-position:center 52%}.experience-text{grid-column:2}.experience-text h3{font-size:30px;margin:4px 0 10px}.experience-text p{font-size:11px;line-height:1.8;margin-bottom:12px}.inline-link{font-size:10px;gap:18px}.how-heading{display:block}.how-heading>p{font-size:11px;margin-top:23px;max-width:280px}.steps{grid-template-columns:1fr;gap:28px;margin:40px 0 30px}.step{display:grid;grid-template-columns:35px 1fr;gap:12px 15px;padding-top:22px}.step>span{font-size:25px;grid-row:1/3}.step h3{font-size:26px;margin:0}.step p{font-size:11px;line-height:1.9;max-width:280px}.final-contact{grid-template-columns:1fr;min-height:0}.final-image{height:480px}.final-image img{object-position:center 32%}.final-copy{padding:55px var(--pad) 65px}.final-copy h2{font-size:43px;margin:24px 0}.final-copy>p{font-size:11px;max-width:260px}.contact-signature{font-size:28px;margin-top:20px;padding:12px 0}.final-location{font-size:6px;margin-top:33px}.footer{padding:45px var(--pad) 30px;gap:33px 20px}.footer-brand{font-size:30px}.footer-brand span{font-size:6px;letter-spacing:2px}.footer-links{order:3;width:100%;gap:24px;font-size:9px}.footer-bottom{order:4;flex-wrap:wrap;gap:10px 20px;padding-right:25px;font-size:7px}.footer-bottom>span:nth-child(2){display:none}.floating-wa{width:49px;height:49px;right:19px;bottom:19px}.floating-wa svg{width:23px;height:23px}.close-menu{top:20px;right:6vw;padding:10px 15px}.menu-inner{padding-top:75px}.menu-inner nav{gap:16px;margin:30px 0}.menu-inner nav a{font-size:31px}.menu-kicker{font-size:7px;letter-spacing:3px}.menu-languages{margin-top:28px}.menu-languages button{padding:0 13px;font-size:9px;height:32px}.gallery-stage{height:84%;padding:80px 4vw 10px;grid-template-columns:25px 1fr 25px;gap:5px}.gallery-arrow{width:25px;height:35px;border:0;font-size:20px}.gallery-caption{padding:10px 7vw;font-size:8px;gap:15px}.reveal{transform:translateY(17px);transition-duration:.8s,1s}}
@media(max-width:360px){.brand{font-size:24px}.header-actions{gap:6px}.languages button{width:23px}.menu-button{padding:10px;gap:6px}.hero{min-height:900px}.facts{gap:10px}.facts span{font-size:7px}.final-image{height:430px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.parallax-image{transform:none!important}}

/* Layout review: bounded media, stable scroll gutter and a consistent photo grid. */
html{overflow-x:clip;scrollbar-gutter:stable}body{overflow-x:clip;width:100%;max-width:100%}#site,main,main>section{max-width:100%;min-width:0}.header,.footer,.story-grid,.experience-list{min-width:0}.story-grid>*,.experience-list>*,.proposal>*,.final-contact>*{min-width:0}img{max-width:100%}
.hero-actions{display:flex;align-items:center;gap:30px;max-width:100%;margin-top:38px}.hero-metrics{display:flex;align-items:center;gap:24px;flex-shrink:0}.hero-metrics p{display:flex;flex-direction:column;gap:8px;max-width:104px}.hero-metrics strong{font-family:Peignot,serif;font-weight:400;font-size:36px;line-height:1;white-space:nowrap}.hero-metrics p>span{font-size:8px;line-height:1.6;color:#a69d8f;letter-spacing:.35px}.hero-actions .primary-cta{font-size:11px;gap:9px;white-space:nowrap;padding:13px 0}.hero-actions .primary-cta .arrow{margin-left:10px;font-size:19px}.hero-actions .primary-cta svg{width:16px;height:16px}.hero-actions .primary-cta{transition:color .3s}.hero-actions{opacity:1;transform:translateY(0);transition:opacity 1.2s 1.4s,transform 1.4s 1.4s}.hero-city{display:flex;flex-direction:column;gap:6px;font-size:10px;color:#aba293}.hero-city>span:first-child{font-family:Peignot,serif;font-size:23px;color:var(--cream)}.hero-city>span:last-child{font-size:8px}.hero-footer{min-height:100px}.hero-content{width:65%}h1{font-size:clamp(48px,5.35vw,83px)}
.portfolio{padding-left:5vw;padding-right:5vw}.stories-intro{margin-bottom:43px;align-items:center}.stories-intro h2{font-size:clamp(42px,4.5vw,68px)}.stories-intro>p{max-width:270px;font-size:12px}.story-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.story-grid .photo{width:100%;margin:0;grid-column:auto;grid-row:auto}.story-grid .photo img{aspect-ratio:3/4;object-fit:cover;object-position:center 56%}.photo figcaption{margin-top:14px;font-size:9px;letter-spacing:.3px}.photo figcaption>span:last-child{font-size:7px;letter-spacing:1.5px}.section-cta{margin-top:35px;padding-top:22px}.section-cta .inline-link{font-size:11px}.section-number,.experience-no{display:none}
.paris-interlude{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;min-height:0;padding:0;margin-bottom:70px}.tower-frame{width:100%;max-width:none;aspect-ratio:4/5;height:auto;margin:0;grid-column:auto;grid-row:auto}.night-frame{position:relative;right:auto;top:auto;width:100%;height:auto;margin:0;grid-column:auto;grid-row:auto;align-self:stretch}.night-frame img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover}.paris-note{position:static;width:auto;grid-column:1/-1;text-align:center;max-width:650px;justify-self:center;margin-top:12px}.paris-note>p{font-size:25px;max-width:none;margin-top:15px;line-height:1.5}.paris-note>span{font-size:7px}.experience-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;border:0;margin-top:0}.experience-row{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:0;border:0;max-width:100%}.experience-photo{width:100%;max-width:none}.experience-photo img{aspect-ratio:4/5;object-fit:cover;object-position:center 52%}.experience-text h3{font-size:32px;margin-bottom:16px}.experience-text p{font-size:12px;max-width:none}.experience-text .inline-link{font-size:10px;gap:15px}.proposal-image{width:100%;margin:0}.proposal-image img{aspect-ratio:4/5}.experience-heading{margin-bottom:50px}
/* One sliding bubble follows the selected language in each control. */
.languages{position:relative;isolation:isolate;flex-shrink:0}.language-bubble{position:absolute;z-index:-1;left:0;top:4px;width:var(--bubble-width,31px);height:var(--bubble-height,31px);border-radius:99px;background:var(--cream);transform:translateX(var(--bubble-x,4px));transition:transform .6s cubic-bezier(.2,.85,.2,1.15),width .6s cubic-bezier(.2,.85,.2,1.15),background .4s;pointer-events:none}.languages button{position:relative;z-index:1;transition:color .35s,opacity .35s}.languages button[aria-pressed=true]{background:transparent;color:#171511}.on-paper .languages button[aria-pressed=true]{background:transparent;color:var(--cream)}.on-paper .language-bubble{background:var(--ink)}[data-i18n]{transition:opacity .25s ease,translate .35s ease}.language-changing [data-i18n]{opacity:0!important;translate:0 3px}.language-changing .menu-button [data-i18n],.language-changing .close-menu [data-i18n]{translate:none}
/* Equal dimensions and matching screen coordinates avoid a menu-button jump. */
.menu-button,.menu-toggle-close{width:106px;height:43px;padding:0 17px;display:flex;justify-content:space-between;align-items:center;gap:10px;border:0;border-radius:99px;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.5px;line-height:1;flex-shrink:0}.menu-button>span:first-child,.menu-toggle-close>span:first-child{font-size:10px;line-height:1}.menu-toggle-close{position:fixed;top:var(--toggle-top,27px);right:var(--toggle-right,5vw);background:var(--cream);color:var(--ink)}.menu-glyph{position:relative;display:block;width:18px;height:18px;flex:0 0 18px}.menu-glyph i{position:absolute;display:block;top:7px;left:1px;width:4px;height:4px;border-radius:50%;background:currentColor;transform:translateX(0) rotate(0);transition:width .45s var(--ease),height .45s,border-radius .45s,left .45s,transform .6s var(--ease)}.menu-glyph i:last-child{left:11px}.menu-overlay.is-open .menu-glyph i,.menu-button[aria-expanded=true] .menu-glyph i{left:0;width:18px;height:1.5px;border-radius:2px;transform:rotate(45deg)}.menu-overlay.is-open .menu-glyph i:last-child,.menu-button[aria-expanded=true] .menu-glyph i:last-child{transform:rotate(-45deg)}.menu-overlay[open]{animation:none;opacity:0;transition:opacity .45s ease,backdrop-filter .6s ease;backdrop-filter:blur(0)}.menu-overlay.is-open{opacity:1;backdrop-filter:blur(22px)}.menu-overlay.is-closing{opacity:0;backdrop-filter:blur(0)}.menu-inner{opacity:0;transform:translateY(12px);transition:opacity .5s .08s,transform .65s var(--ease)}.menu-overlay.is-open .menu-inner{opacity:1;transform:translateY(0)}.menu-overlay.is-closing .menu-inner{transition-delay:0s}.menu-letter{display:inline-block;transform-origin:center 65%;backface-visibility:hidden}.menu-inner nav a{perspective:600px}.menu-inner nav a:hover .menu-letter,.menu-inner nav a:focus-visible .menu-letter{animation:letter-turn .65s var(--ease) both;animation-delay:calc(var(--letter-index)*11ms)}@keyframes letter-turn{0%,100%{transform:rotateY(0) rotateZ(0) translateY(0)}25%{transform:rotateY(42deg) rotateZ(-4deg) translateY(-2px)}50%{transform:rotateY(-28deg) rotateZ(3deg) translateY(1px)}75%{transform:rotateY(12deg) rotateZ(-1deg) translateY(-1px)}}
@media(max-width:1100px) and (min-width:701px){.hero-content{width:70%}.hero-actions{gap:22px}.hero-metrics{gap:17px}.hero-metrics strong{font-size:31px}.hero-actions .primary-cta{font-size:10px}.experience-list{gap:20px}.experience-text h3{font-size:28px}.experience-text .inline-link{gap:10px}.story-grid{gap:18px}}
@media(max-width:700px){.portrait-wrap{right:0;width:100%}.hero-content{width:100%;padding-top:450px;padding-bottom:155px}.hero{min-height:860px}.hero-content h1{font-size:clamp(37px,10.6vw,56px);margin-bottom:0}.hero-actions{flex-direction:column;align-items:flex-start;gap:21px;margin-top:27px}.hero-metrics{gap:32px}.hero-metrics p{max-width:110px;gap:6px}.hero-metrics strong{font-size:30px}.hero-metrics p>span{font-size:8px}.hero-actions .primary-cta{font-size:11px;gap:11px}.hero-actions .primary-cta .arrow{margin-left:18px}.hero-footer{min-height:80px;align-items:center;padding:10px 0;flex-wrap:nowrap}.hero-city{display:none}.scroll-invite{padding:0}.menu-button,.menu-toggle-close{width:86px;height:36px;padding:0 12px;gap:8px}.menu-button>span:first-child,.menu-toggle-close>span:first-child{font-size:9px}.language-bubble{top:3px}.portfolio{padding-left:var(--pad);padding-right:var(--pad)}.stories-intro{margin-bottom:30px}.stories-intro h2{font-size:39px}.stories-intro>p{font-size:11px;max-width:300px;margin-top:20px}.story-grid{grid-template-columns:minmax(0,1fr);gap:30px}.story-grid .photo{width:100%;margin:0;grid-column:auto;grid-row:auto}.story-grid .photo img{aspect-ratio:3/4}.photo figcaption{font-size:8px}.photo figcaption>span:last-child{display:inline;font-size:6px}.section-cta{margin-top:27px;display:flex;align-items:flex-start;flex-direction:column;gap:16px}.section-cta .inline-link{font-size:10px}.paris-interlude{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:45px}.tower-frame{height:auto;width:100%;max-width:100%;aspect-ratio:3/5;grid-column:auto;grid-row:auto}.night-frame{height:auto;width:100%;margin:0;grid-column:auto;grid-row:auto}.night-frame img{height:100%;aspect-ratio:3/5;object-position:center 40%}.image-caption{left:9px;bottom:12px;font-size:5px;letter-spacing:.5px}.paris-note{grid-column:1/-1;grid-row:auto;text-align:left;padding:0;margin-top:7px}.paris-note>p{font-size:23px;line-height:1.4;max-width:300px}.experience-list{grid-template-columns:minmax(0,1fr);gap:40px}.experience-row{gap:20px}.experience-photo img{aspect-ratio:4/5}.experience-text{grid-column:auto}.experience-text h3{font-size:30px;margin-top:0}.experience-text p{font-size:11px;max-width:300px}.proposal-image{width:100%;margin:0}.menu-inner nav a{font-size:30px}.menu-inner nav{gap:17px}}
@media(max-width:360px){.menu-button,.menu-toggle-close{width:78px;padding:0 10px}.hero-metrics{gap:27px}.stories-intro h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){.language-bubble,[data-i18n]{transition:none!important}.menu-overlay.is-open .menu-inner{transition:none!important}}
.menu-toggle-close{left:var(--toggle-left,auto);right:auto}
.menu-languages button{width:auto;min-width:0;height:34px;padding:0 15px}.menu-languages .language-bubble{top:4px}
@media(max-width:700px){.menu-languages button{width:auto;height:34px;padding:0 15px}.menu-languages{gap:3px;padding:4px}.menu-languages .language-bubble{top:4px}}
.experience-text{display:flex;flex-direction:column;flex:1}.experience-text p{flex:1}.experience-text .inline-link{align-self:flex-start}
/* Photo titles are part of the image composition, not another text block. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.portfolio .section-top{margin-bottom:30px}.photo-overlay{position:absolute;z-index:2;display:block;pointer-events:none;font-family:Peignot,Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-1px;text-align:left}.photo-overlay-first{top:25px;left:24px;color:#a72b40;font-size:clamp(53px,5.6vw,88px);text-shadow:0 1px 15px #ffffff30}.photo-overlay-last{right:22px;bottom:23px;max-width:90%;text-align:right;color:#f0c270;font-size:clamp(31px,3.6vw,55px);text-shadow:0 2px 18px #0009}.story-bottom .photo-open:after{content:'';position:absolute;inset:48% 0 0;pointer-events:none;background:linear-gradient(160deg,transparent 40%,#0008 100%)}.story-bottom .photo-expand{top:16px;bottom:auto}.photo-open img{position:relative;z-index:0}
html,body{overscroll-behavior-x:none;overflow-x:hidden;touch-action:pan-y pinch-zoom}html{overflow-y:auto}body{position:relative}#site,main{overscroll-behavior-x:none;touch-action:pan-y pinch-zoom}#menu,#gallery{overscroll-behavior-x:none;overflow-x:hidden}
@media(max-width:700px){.portfolio .section-top{margin-bottom:25px}.photo-overlay-first{font-size:65px;top:20px;left:19px}.photo-overlay-last{font-size:41px;right:18px;bottom:20px;max-width:87%}}
@media(max-width:360px){.photo-overlay-first{font-size:57px;top:16px;left:16px}.photo-overlay-last{font-size:35px;right:15px;bottom:17px}}
/* A page restored by refresh fades into its saved position. */
#site{opacity:1;transition:opacity 1.15s ease}.page-loading #site{opacity:0}.page-loading .reveal{transition-delay:.1s}
/* Floating frosted-glass navigation. */
.header{top:18px;left:3.5vw;right:3.5vw;padding:17px 26px;border:1px solid #ffffff24;border-radius:24px;background:#15141066;backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);box-shadow:0 12px 38px #00000012;overflow:hidden;transition:background .5s,color .5s,opacity 1.2s .8s,padding .45s,border-color .5s,box-shadow .5s}.header.scrolled{padding:13px 24px;background:#151410a6;backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%);border-color:#ffffff25;box-shadow:0 12px 38px #00000020}.header.on-paper{background:#f0e9d899;color:var(--ink);border-color:#ffffff9c;box-shadow:0 10px 36px #5b4d2c16}.scroll-progress{height:2px;opacity:.65}.top-contact.whatsapp{padding:10px 14px;border:1px solid #b2a58d66;border-radius:99px;background:#ffffff05}.on-paper .top-contact.whatsapp{border-color:#63574955;background:#fff2}
/* Contact buttons have consistent padding and arrows kept beside the label. */
a.text-link.whatsapp,a.inline-link.whatsapp,a.contact-signature.whatsapp{display:inline-flex;justify-content:center;align-items:center;gap:12px;width:max-content;max-width:100%;padding:14px 20px;border:1px solid #e4d0aa;border-radius:99px;background:#e4d0aa;color:#2a211a;box-shadow:0 5px 18px #0000000a;font-size:12px;line-height:1.55;white-space:normal;text-align:left;transition:background .3s,color .3s,border-color .3s,box-shadow .35s,transform .35s}
a.text-link.whatsapp:hover,a.inline-link.whatsapp:hover,a.contact-signature.whatsapp:hover{background:#f2e1c3;border-color:#f2e1c3;box-shadow:0 8px 24px #0002;transform:translateY(-2px)}
.paper a.text-link.whatsapp,.paper a.inline-link.whatsapp,.paper a.contact-signature.whatsapp{background:#7e2e3b;color:#fff0dc;border-color:#7e2e3b}.paper a.text-link.whatsapp:hover,.paper a.inline-link.whatsapp:hover,.paper a.contact-signature.whatsapp:hover{background:#9a3c4b;border-color:#9a3c4b;box-shadow:0 8px 24px #74313b24}
a.whatsapp .arrow,a.inline-link.whatsapp>span:last-child,a.contact-signature.whatsapp>span:last-child{margin:0;font-family:Arial,sans-serif;font-size:18px;line-height:1;flex-shrink:0}.hero-actions .primary-cta{padding:14px 18px;gap:10px;font-size:11px}.hero-actions .primary-cta .arrow{margin:0}.contact-signature.whatsapp{font-family:Arial,sans-serif;font-size:13px;padding:17px 24px}.proposal-copy .text-link{margin-top:6px}.proposal-photo-open{display:block;width:100%;border-radius:0}.proposal-image .photo-tag{pointer-events:none}.proposal-image .photo-expand{opacity:1;background:#1118;right:18px;top:18px;bottom:auto}
/* The title crosses from the paper into the photograph. */
.photo-media{position:relative;overflow:visible}.portfolio .section-top{margin-bottom:62px}.photo-overlay-first{top:-34px;left:-23px;font-size:clamp(78px,7.3vw,116px);line-height:1.02;z-index:3}.photo-overlay-last{right:-23px;bottom:-23px;top:auto;font-size:clamp(38px,4.3vw,68px);line-height:1.08;max-width:112%;width:max-content;text-shadow:0 1px 4px #3c271d88,0 2px 18px #0006}.story-bottom figcaption{margin-top:43px}.experience-heading{display:block}.experience-heading h2{max-width:none}.proposal-copy h2{margin-top:0}.paris-note>p{margin-top:0}
/* Fixed WhatsApp expands into an invitation on hover or keyboard focus. */
.floating-wa{display:flex;align-items:center;justify-content:center;gap:0;width:54px;height:54px;padding:0 14px;overflow:hidden;border-radius:99px;background:#7e2e3b;transition:width .5s cubic-bezier(.2,.8,.2,1),background .3s,box-shadow .35s,transform .35s,opacity 1.3s 1.9s}.floating-wa svg{flex:0 0 25px;width:25px;height:25px}.wa-caption{display:block;max-width:0;opacity:0;margin-left:0;white-space:nowrap;font-size:12px;letter-spacing:.2px;transform:translateX(8px);transition:max-width .5s,opacity .3s,margin-left .4s,transform .4s}
@media(hover:hover) and (pointer:fine){.floating-wa:hover{width:184px;background:#963c4b;box-shadow:0 8px 30px #57232c30;transform:translateY(-2px)}.floating-wa:hover .wa-caption{max-width:140px;opacity:1;margin-left:12px;transform:translateX(0)}}
.floating-wa:focus-visible{width:184px}.floating-wa:focus-visible .wa-caption{max-width:140px;opacity:1;margin-left:12px;transform:translateX(0)}
@media(max-width:700px){.header{top:12px;left:12px;right:12px;padding:12px 14px;border-radius:20px}.header.scrolled{padding:10px 14px}.header .brand{font-size:25px}.header .brand span{font-size:5.5px;letter-spacing:1.7px}.header .languages button{width:25px;height:25px}.header-actions{gap:8px}.hero-actions .primary-cta{padding:13px 17px;gap:10px;font-size:11px}.hero-actions .primary-cta .arrow{margin:0}.portfolio .section-top{margin-bottom:52px}.photo-overlay-first{font-size:83px;top:-26px;left:-11px}.photo-overlay-last{font-size:43px;right:-11px;bottom:-20px;max-width:108%}.story-bottom figcaption{margin-top:39px}.floating-wa{width:49px;height:49px;padding:0 12px}.floating-wa svg{flex-basis:23px;width:23px;height:23px}a.text-link.whatsapp,a.inline-link.whatsapp{font-size:11px;padding:13px 17px;gap:10px}.contact-signature.whatsapp{font-size:12px;padding:15px 21px}}
@media(max-width:360px){.header,.header.scrolled{padding:10px 12px}.header .brand{font-size:23px}.header .brand span{font-size:5px;letter-spacing:1.5px}.header .languages button{width:21px;height:25px}.header-actions{gap:6px}.photo-overlay-first{font-size:72px;left:-10px;top:-23px}.photo-overlay-last{font-size:36px;right:-9px;bottom:-18px}}
@media(prefers-reduced-motion:reduce){#site{transition:none}.floating-wa,.wa-caption{transition:none!important}}
.intro-active #site{opacity:0}.photo-overlay-last{max-width:106%}
/* A compact, centered glass bar on desktop; mobile card dimensions stay intact. */
@media(min-width:701px){.header{width:max-content;max-width:calc(100% - 48px);left:50%;right:auto;transform:translateX(-50%);gap:58px;padding:14px 21px;border-radius:22px}.header.scrolled{gap:48px;padding:12px 19px}.header .brand{font-size:30px}.header .brand span{font-size:6px;letter-spacing:2px}.header-actions{gap:15px}}
@media(min-width:701px) and (max-width:1000px){.header,.header.scrolled{gap:24px;padding-left:17px;padding-right:17px}.header-actions{gap:11px}.header .brand{font-size:28px}}
/* Return both words to the inside of their photographs. */
.portfolio .section-top{margin-bottom:30px}.photo-overlay-first{top:23px;left:23px;font-size:clamp(53px,5.6vw,88px);line-height:1.08}.photo-overlay-last{right:21px;bottom:22px;max-width:90%;width:auto;font-size:clamp(31px,3.6vw,55px);line-height:1.08;text-shadow:0 2px 18px #0009}.story-bottom figcaption{margin-top:14px}
/* Contact closes the page with one continuous, draggable strip of photographs. */
.final-contact.contact-carousel{display:block;min-height:0;padding:80px 0 65px;overflow:hidden}.contact-heading{text-align:center;padding:0 var(--pad);margin-bottom:40px}.contact-heading h2{font-size:clamp(45px,5.4vw,78px);line-height:1.12;margin:22px 0 0}.contact-heading h2 span,.contact-heading h2 em{display:inline}.contact-heading h2 em:before{content:' '}.contact-rail{position:relative;overflow:hidden;width:100%;max-width:100%;min-width:0;cursor:grab;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;outline-offset:-4px}.contact-rail.is-holding{cursor:grabbing}.rail-track{display:flex;gap:0;width:max-content;will-change:transform}.rail-group{display:flex;gap:18px;padding-right:18px;flex-shrink:0}.rail-photo{flex:0 0 auto;width:clamp(225px,22vw,330px);aspect-ratio:4/5;overflow:hidden;background:#ccc3ad}.rail-photo img{width:100%;height:100%;object-fit:cover;object-position:center 53%;pointer-events:none;user-select:none;-webkit-user-drag:none}.contact-bottom{padding:0 var(--pad);text-align:center}.rail-controls{display:flex;justify-content:center;align-items:center;gap:12px;margin:18px 0 32px;color:#766654}.rail-controls p{font-size:9px;line-height:1.8;letter-spacing:.3px}.rail-toggle{display:grid;place-items:center;width:28px;height:28px;border:1px solid #5f513333;border-radius:50%;font-size:10px;color:#63513e;background:#ffffff1a}.contact-links{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap}.instagram-button{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:14px 20px;max-width:100%;border:1px solid #78313e75;border-radius:99px;color:#672837;font-size:12px;line-height:1.55;background:#fff1;transition:background .3s,transform .3s}.instagram-button:hover{background:#fff5;transform:translateY(-2px)}.instagram-button svg{width:18px;height:18px;flex-shrink:0}.instagram-button>span:last-child{font-size:18px;line-height:1}.contact-bottom .final-location{display:block;margin-top:35px;font-size:7px;letter-spacing:2px}.carousel-whatsapp svg{width:18px;height:18px;flex-shrink:0}
/* A short light sweep, spaced out in time, draws attention to contact actions. */
a.text-link.whatsapp,a.inline-link.whatsapp,a.contact-signature.whatsapp,.floating-wa{position:relative;isolation:isolate;overflow:hidden}.floating-wa{position:fixed}a.text-link.whatsapp:before,a.inline-link.whatsapp:before,a.contact-signature.whatsapp:before,.floating-wa:before{content:'';position:absolute;z-index:0;inset:-10% auto -10% 0;width:35%;background:linear-gradient(100deg,transparent,#fff7,transparent);transform:translateX(-180%) skewX(-18deg);pointer-events:none;animation:contact-glint 7.5s ease-in-out infinite}.paper a.whatsapp:before{animation-delay:1.7s}.proposal a.whatsapp:before{animation-delay:.8s}.floating-wa:before{animation-delay:3.2s;opacity:.75}a.whatsapp>span,a.whatsapp>svg{position:relative;z-index:1}@keyframes contact-glint{0%,64%{transform:translateX(-180%) skewX(-18deg);opacity:0}68%{opacity:1}82%,100%{transform:translateX(440%) skewX(-18deg);opacity:0}}
@media(max-width:700px){.portfolio .section-top{margin-bottom:25px}.photo-overlay-first{font-size:65px;top:20px;left:19px}.photo-overlay-last{font-size:41px;right:18px;bottom:20px;max-width:87%}.story-bottom figcaption{margin-top:10px}.final-contact.contact-carousel{padding:55px 0 50px}.contact-heading{margin-bottom:30px}.contact-heading h2{font-size:40px;line-height:1.15;margin-top:19px}.contact-heading h2 span,.contact-heading h2 em{display:block}.contact-heading h2 em:before{content:''}.rail-photo{width:66vw;max-width:295px;min-width:215px}.rail-group{gap:12px;padding-right:12px}.rail-controls{margin:15px 0 25px;gap:9px}.rail-controls p{font-size:8px;max-width:235px}.contact-links{gap:12px;flex-direction:column}.contact-links a{min-width:220px;font-size:11px;padding:13px 18px}.contact-bottom .final-location{font-size:6px;margin-top:30px}}
@media(max-width:360px){.photo-overlay-first{font-size:57px;left:16px;top:16px}.photo-overlay-last{font-size:35px;right:15px;bottom:17px}}
@media(prefers-reduced-motion:reduce){a.whatsapp:before{animation:none!important}}
.contact-heading h2 em:before{content:none}
/* Slimmer contact actions: more readable type, less empty padding. */
a.text-link.whatsapp,a.inline-link.whatsapp,a.contact-signature.whatsapp{padding:10px 15px;font-size:12.5px;line-height:1.4;gap:9px;box-shadow:none;letter-spacing:0}.hero-actions .primary-cta{padding:10px 14px;font-size:12px;gap:8px}.hero-actions .primary-cta .arrow,a.whatsapp .arrow,a.inline-link.whatsapp>span:last-child,a.contact-signature.whatsapp>span:last-child{margin:0;font-size:16px}.top-contact.whatsapp{padding:8px 12px;font-size:10.5px}.instagram-button{padding:10px 15px;font-size:12px;line-height:1.4;gap:9px}.instagram-button>span:last-child{font-size:16px}.contact-links a{min-width:0}.contact-signature.whatsapp{font-size:12.5px;padding:11px 16px}
/* Reflective sweep on every WhatsApp access, including the header and photo viewer. */
a.whatsapp{position:relative;isolation:isolate;overflow:hidden}.floating-wa.whatsapp{position:fixed}.footer-links .whatsapp{display:inline-flex}a.whatsapp:before{content:'';position:absolute;z-index:0;inset:-10% auto -10% 0;width:38%;pointer-events:none;background:linear-gradient(110deg,transparent 0%,#ffffff0a 30%,#ffffffb8 50%,#ffffff0a 70%,transparent 100%);transform:translateX(-180%) skewX(-18deg);animation:reflected-light 6.2s ease-in-out infinite}.paper a.whatsapp:before{animation-delay:1s}.proposal a.whatsapp:before{animation-delay:.5s}.floating-wa:before{animation-delay:2.2s}@keyframes reflected-light{0%,48%{transform:translateX(-180%) skewX(-18deg);opacity:0}54%{opacity:.8}76%,100%{transform:translateX(430%) skewX(-18deg);opacity:0}}
/* The fixed contact opens only as far as its label needs. */
.floating-wa{width:50px;height:50px;padding:0 13px}.floating-wa svg{flex-basis:23px;width:23px;height:23px}.wa-caption{font-size:11px;letter-spacing:0}
@media(hover:hover) and (pointer:fine){.floating-wa:hover{width:var(--wa-open-width,158px)}.floating-wa:hover .wa-caption{margin-left:8px;max-width:150px}}
.floating-wa:focus-visible{width:var(--wa-open-width,158px)}.floating-wa:focus-visible .wa-caption{margin-left:8px;max-width:150px}
/* A focused photograph viewer, with an optional instant-film frame. */
.gallery-overlay[open]{display:grid;place-items:center;padding:28px 20px;overflow:auto}.gallery-close{position:fixed;right:24px;top:22px;z-index:3;display:grid;place-items:center;width:35px;height:35px;padding:0;border:1px solid #ffffff50;border-radius:50%;background:#15130f66;color:#f4eadb;font-size:27px;line-height:1;backdrop-filter:blur(12px)}.photo-view-card{display:flex;flex-direction:column;align-items:center;gap:17px;max-width:100%;max-height:100%;margin:auto}.photo-view-card>#gallery-image{display:block;width:auto;height:auto;max-width:min(82vw,1000px);max-height:calc(100svh - 145px);object-fit:contain}.polaroid-brand{display:none}.gallery-cta.whatsapp{flex-shrink:0;white-space:normal}.polaroid-view .photo-view-card{width:min(440px,calc(100vw - 48px));padding:19px 20px 21px;gap:15px;background:#f1ebde;color:#2c251e;box-shadow:0 18px 80px #0008;border:1px solid #fff5;transform:rotate(-.7deg)}.polaroid-view .polaroid-brand{display:flex;flex-direction:column;align-items:center;gap:6px}.polaroid-brand>span{font-family:Peignot,serif;font-size:28px;line-height:1}.polaroid-brand>small{font-size:7px;letter-spacing:2px;line-height:1.7}.polaroid-view .photo-view-card>#gallery-image{width:100%;max-width:100%;max-height:calc(100svh - 240px);object-fit:contain}.polaroid-view .gallery-cta.whatsapp{background:#7e2e3b;color:#fff0dc;border-color:#7e2e3b;font-size:11px;padding:10px 14px}.polaroid-view .gallery-cta.whatsapp:hover{background:#9a3c4b}.rail-photo{position:relative;border:0;padding:0;display:block;cursor:grab;color:#fff}.rail-photo:after{content:'';position:absolute;top:12px;right:12px;display:grid;place-items:center;width:27px;height:27px;border:1px solid #fff6;border-radius:50%;background:#0004;font-size:14px;opacity:0;transition:opacity .3s;pointer-events:none}.rail-photo:hover:after{opacity:1}.is-holding .rail-photo{cursor:grabbing}
/* A tighter day/night composition sits next to the title. */
.experience-showcase{display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw;align-items:center;margin-bottom:60px}.experience-heading{margin:0;min-width:0}.experience-heading h2{font-size:clamp(37px,4.2vw,62px);line-height:1.16;letter-spacing:-1px}.experience-heading h2 em{margin-top:10px}.experience-showcase .paris-interlude{min-width:0;margin:0;gap:15px;align-items:start}.day-photo,.night-photo{margin:0;min-width:0}.day-photo .tower-frame,.night-photo .night-frame{width:100%;max-width:100%;height:auto;aspect-ratio:4/5;overflow:hidden}.night-photo .night-frame img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}.day-night-caption{font-size:7px;line-height:1.7;letter-spacing:1px;margin-top:10px;opacity:.7}.experience-showcase .paris-note{margin-top:6px;text-align:left;max-width:none}.experience-showcase .paris-note p{font-size:19px;line-height:1.5;max-width:none}.experience-list{gap:24px}.experience-photo img{aspect-ratio:5/4;object-position:center 60%}.experience-text h3{font-size:29px;margin-bottom:13px}
@media(max-width:1000px) and (min-width:701px){.experience-showcase{grid-template-columns:.85fr 1.15fr;gap:3vw}.experience-heading h2{font-size:39px}.experience-showcase .paris-note p{font-size:17px}.day-night-caption{font-size:6px;letter-spacing:.6px}.experience-text h3{font-size:26px}}
@media(max-width:700px){a.text-link.whatsapp,a.inline-link.whatsapp,.hero-actions .primary-cta{font-size:12px;padding:10px 14px;line-height:1.4;gap:8px}.hero-actions .primary-cta .arrow{margin:0}.contact-links a{min-width:0;max-width:100%;padding:10px 15px;font-size:11.5px}.floating-wa{width:48px;height:48px;padding:0 12px}.floating-wa svg{flex-basis:22px;width:22px;height:22px}.gallery-overlay[open]{padding:25px 16px}.gallery-close{top:15px;right:15px;width:32px;height:32px;font-size:24px}.photo-view-card>#gallery-image{max-width:92vw;max-height:calc(100svh - 145px)}.polaroid-view .photo-view-card{width:min(350px,calc(100vw - 40px));padding:16px;gap:13px;transform:rotate(-.5deg)}.polaroid-brand>span{font-size:26px}.polaroid-brand>small{font-size:6px;letter-spacing:1.5px}.polaroid-view .photo-view-card>#gallery-image{max-height:calc(100svh - 220px)}.polaroid-view .gallery-cta.whatsapp{font-size:10px;padding:9px 12px}.rail-photo:after{opacity:.75;width:24px;height:24px;font-size:12px;top:10px;right:10px}.experience-showcase{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:38px}.experience-heading h2{font-size:39px;line-height:1.14}.experience-heading h2 em{margin-top:5px}.experience-showcase .paris-interlude{gap:12px;margin:0}.day-photo .tower-frame,.night-photo .night-frame,.night-photo .night-frame img{aspect-ratio:4/5}.day-night-caption{font-size:6px;letter-spacing:.5px;margin-top:8px}.experience-showcase .paris-note{margin-top:7px}.experience-showcase .paris-note p{font-size:19px;line-height:1.5}.experience-list{gap:33px}.experience-photo img{aspect-ratio:5/4;object-position:center 60%}.experience-text h3{font-size:28px}}
@media(prefers-reduced-motion:reduce){a.whatsapp:before{animation:none!important}.polaroid-view .photo-view-card{transform:none}}
.polaroid-view .gallery-cta.whatsapp{font-size:12px;padding:9px 12px}
@media(max-width:700px){.polaroid-view .gallery-cta.whatsapp{font-size:11.5px;padding:9px 12px}}
.experience-showcase .tower-frame img{height:104%;margin-top:-1%;object-position:center}
a.text-link.whatsapp:before,a.inline-link.whatsapp:before,a.contact-signature.whatsapp:before,a.top-contact.whatsapp:before,.footer-links a.whatsapp:before,a.floating-wa.whatsapp:before{animation-name:reflected-light;animation-duration:6.2s;width:38%;background:linear-gradient(110deg,transparent 0%,#ffffff0a 30%,#ffffffb8 50%,#ffffff0a 70%,transparent 100%)}

/* Mobile photography and decoded, softly revealed gallery images. */
.icon-arrow{display:inline-block;width:18px!important;height:18px!important;flex:0 0 18px;vertical-align:middle;overflow:visible}
.rail-photo:after{content:'';width:15px;height:15px;border:0;border-radius:0;background:linear-gradient(currentColor,currentColor) right top/12px 1.5px no-repeat,linear-gradient(currentColor,currentColor) right top/1.5px 12px no-repeat;color:#fff;transform:rotate(0deg)}
.rail-photo:before{content:'';position:absolute;right:12px;top:19px;width:18px;height:1.5px;background:#fff;transform:rotate(-45deg);z-index:1;opacity:0;pointer-events:none}.rail-photo:hover:before{opacity:1}
.proposal-fact strong .count-value{font:inherit;letter-spacing:-2px;max-width:none;color:var(--cream);line-height:1;white-space:nowrap}
.proposal-fact strong{font-size:clamp(72px,7.5vw,116px);line-height:1}
.proposal-fact>span{font-size:13px;max-width:150px;line-height:1.65}
.proposal-copy h2{font-size:clamp(48px,5.2vw,80px);line-height:1.14}
.proposal-copy>p{font-size:16px;line-height:1.85;max-width:440px}
.proposal-image .photo-tag{font-size:10px;line-height:1.6;max-width:85%}
.experience-photo-open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;overflow:hidden}
.experience-photo-open img{display:block;width:100%}
.day-photo,.night-photo{position:relative}
.day-night-caption{position:absolute;left:18px;right:18px;bottom:20px;z-index:1;margin:0;color:#fff1d8;opacity:1;font-family:Peignot,serif;font-size:clamp(19px,1.7vw,28px);letter-spacing:0;line-height:1.25;text-shadow:0 2px 15px #000c;pointer-events:none}
.day-photo:after,.night-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0007);pointer-events:none}
.day-night-caption{z-index:2}
.portrait-open{display:block;width:100%;height:100%;border:0;padding:0;background:transparent}.portrait-wrap:after{pointer-events:none}
.gallery-overlay[open]{animation:none;opacity:0;transition:opacity .38s ease;background:#080808ed}
.gallery-overlay.is-open{opacity:1}.gallery-overlay.is-closing{opacity:0;transition-duration:.26s}
.gallery-overlay .photo-view-card{opacity:0;transform:translateY(18px) scale(.97);transition:opacity .48s ease,transform .6s var(--ease)}
.gallery-overlay.photo-ready .photo-view-card{opacity:1;transform:translateY(0) scale(1)}
.gallery-overlay.polaroid-view.photo-ready .photo-view-card{transform:translateY(0) rotate(-.7deg) scale(1)}
.gallery-overlay:not(.photo-ready) .photo-view-card{pointer-events:none}
.gallery-overlay #gallery-image{opacity:0;transition:opacity .4s ease}
.gallery-overlay.photo-ready #gallery-image{opacity:1}
#rail-toggle span{display:block;width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}
#rail-toggle.is-paused span{width:0;height:0;border:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid currentColor}
@media(max-width:700px){
 .proposal-copy h2{font-size:clamp(43px,11.5vw,60px)}
 .proposal-copy>p{font-size:16px;line-height:1.8;max-width:none}
 .proposal-fact strong{font-size:clamp(76px,24vw,104px)}
 .proposal-fact>span{font-size:12px;max-width:120px}
 .proposal-image .photo-tag{font-size:9px}
 .experience-showcase .paris-interlude{grid-template-columns:minmax(0,1fr);gap:24px}
 .day-photo .tower-frame,.night-photo .night-frame,.night-photo .night-frame img{aspect-ratio:3/4}
 .day-night-caption{font-size:clamp(27px,8vw,38px);left:22px;right:22px;bottom:26px;letter-spacing:0;line-height:1.2}
 .day-photo,.night-photo,.story-grid .photo{width:calc(100% + 2 * var(--pad));max-width:none;margin-left:calc(-1 * var(--pad));margin-right:calc(-1 * var(--pad))}
 .story-grid .photo figcaption{padding-left:var(--pad);padding-right:var(--pad)}
 .story-grid .photo .photo-media{overflow:hidden}
 .rail-photo:before{opacity:.75;right:10px;top:17px}
 .experience-text .icon-arrow{width:18px!important;height:18px!important}
}

/* Continuous photographs and a clear mobile footer. */
.story-grid{gap:1px;background:#000;align-items:stretch}
.story-grid .photo{margin:0;background:#000}
.story-grid .photo-media{height:100%}
.story-grid .photo-open{height:100%}
.story-grid .photo img{display:block}
.experience-showcase .paris-interlude{gap:1px}
.experience-showcase .paris-note{margin-top:22px}
.proposal-fact strong{font-size:clamp(62px,6vw,88px)}
@media(max-width:700px){
 .proposal-fact{gap:15px;align-items:center;flex-wrap:nowrap}
 .proposal-fact strong{font-size:clamp(58px,18vw,72px);flex:0 0 auto}
 .proposal-fact>span{min-width:0;max-width:130px;font-size:12px;flex:1;overflow-wrap:normal}
 .experiences.section-pad{padding-top:42px}
 .story-grid{gap:0;background:transparent}
 .story-grid .photo{margin-left:calc(-1 * var(--pad));margin-right:calc(-1 * var(--pad));border-bottom:1px solid #000}
 .story-grid .photo:last-child{border-bottom:0}
 .experience-showcase .paris-interlude{gap:1px}
 .experience-showcase .paris-note{margin-top:24px}
 .proposal-image,.experience-photo{width:calc(100% + 2 * var(--pad));max-width:none;margin-left:calc(-1 * var(--pad));margin-right:calc(-1 * var(--pad))}
 .floating-wa{bottom:var(--footer-clearance,19px)}
}

/* Photo-led transitions and a full-width desktop diptych. */
.contact-bottom{padding-top:44px}
@media(min-width:701px){
 .experience-showcase{grid-template-columns:minmax(0,1fr);gap:38px;align-items:start}
 .experience-showcase .experience-heading{text-align:center;padding:0 3vw}
 .experience-heading h2{font-size:clamp(46px,4.8vw,76px);max-width:none}
 .experience-heading h2 span,.experience-heading h2 em{display:block}
 .experience-heading h2 em{margin-top:6px}
 .experience-showcase .paris-interlude{grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% + 2 * var(--pad));max-width:none;margin-left:calc(-1 * var(--pad));margin-right:calc(-1 * var(--pad));gap:1px}
 .experience-showcase .day-photo .tower-frame,.experience-showcase .night-photo .night-frame,.experience-showcase .night-photo .night-frame img{aspect-ratio:4/5}
 .experience-showcase .day-night-caption{font-size:clamp(28px,3vw,48px);left:4vw;right:4vw;bottom:35px}
 .experience-showcase .paris-note{padding:0 var(--pad);margin-top:25px}
}
@media(max-width:700px){
 .portfolio.section-pad{padding-top:0}
 .portfolio>.section-top{display:none}
 .portfolio .story-main.reveal{opacity:1;transform:none}
 .contact-bottom{padding-top:32px}
}
