/* THE MOON EXPERIENCE — refined editorial direction, 2026 */
:root{--bg:#071528;--bg-deep:#030c19;--bg-2:#0a1b30;--surface:#0d2036;--white:#f8fafc;--sub:#b8c5d5;--dim:#8e9fb4;--line:rgba(228,236,245,.16);--line-strong:rgba(228,236,245,.30);--max:1190px;--nav-h:84px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(155deg,#0a2038 0%,var(--bg) 28%,var(--bg-deep) 70%,#091a30 100%);color:var(--white);font-family:"Helvetica Neue",Inter,"Segoe UI",Arial,sans-serif;font-weight:350;line-height:1.6;letter-spacing:.003em;overflow-x:hidden}
a{color:inherit}a:focus-visible,button:focus-visible{outline:2px solid #dce8f6;outline-offset:4px}img{max-width:100%;display:block}button{font:inherit}.skip-link{position:absolute;left:-100vw;top:10px;padding:8px 14px;background:white;color:#09172a;z-index:999}.skip-link:focus{left:10px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:460;letter-spacing:-.034em;line-height:1.12}p{color:var(--sub)}
.wrap-wide{width:min(var(--max),calc(100% - 84px));margin-inline:auto}.wrap-narrow{width:min(780px,calc(100% - 84px));margin-inline:auto}
/* Primary navigation */
.site-header{position:sticky;top:0;height:var(--nav-h);z-index:200;background:rgba(5,16,30,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.header-inner{height:100%;width:min(1320px,calc(100% - 64px));margin:0 auto;display:flex;align-items:center;gap:23px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;flex-shrink:0;min-width:0}.brand img{width:54px;height:54px;object-fit:contain;mix-blend-mode:screen}.brand span{font-size:13px;letter-spacing:.115em;font-weight:650;line-height:1.15;white-space:nowrap}
.navigation{display:flex;align-items:center;justify-content:flex-end;gap:clamp(10px,1.5vw,24px);flex:1;min-width:0}
.nav-group{position:relative;flex:none}.nav-trigger,.nav-direct{border:0;background:transparent;color:rgba(244,247,251,.92);font-size:12.5px;font-weight:500;letter-spacing:.01em;white-space:nowrap;text-decoration:none;cursor:pointer;display:flex;align-items:center;gap:5px;padding:13px 0;transition:color .18s}
.nav-direct:hover,.nav-trigger:hover,.nav-trigger[aria-expanded=true]{color:#fff}.nav-trigger svg,.lang-trigger svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .18s}
.nav-group:hover .nav-trigger svg,.nav-group.is-open .nav-trigger svg{transform:rotate(180deg)}
.nav-submenu{display:none;position:absolute;top:calc(100% + 4px);left:-16px;min-width:240px;padding:10px;border:1px solid var(--line-strong);border-radius:6px;background:#0b1b2d;box-shadow:0 18px 50px rgba(0,0,0,.38);z-index:50}
.nav-submenu a{display:block;text-decoration:none;color:#e1e7f0;font-size:13px;padding:10px 13px;white-space:nowrap;border-radius:3px;transition:background .15s}
.nav-submenu a:hover,.nav-submenu a:focus-visible{background:rgba(245,250,255,.09);color:#fff}
@media(hover:hover){.nav-group:hover .nav-submenu{display:block}}
.nav-group.is-open .nav-submenu,.nav-group:focus-within .nav-submenu{display:block}
.lang-menu{position:relative;flex-shrink:0;margin-left:6px;border-left:1px solid var(--line);padding-left:17px}.lang-trigger{display:flex;gap:7px;align-items:center;color:#fff;border:0;background:transparent;cursor:pointer;font-size:12.5px;letter-spacing:.08em;padding:14px 0}
.lang-list{display:none;position:absolute;right:0;top:calc(100% + 8px);width:174px;background:#0b1b2d;border:1px solid var(--line-strong);box-shadow:0 18px 45px rgba(0,0,0,.3);padding:7px;border-radius:6px}
.lang-menu.is-open .lang-list,.lang-menu:focus-within .lang-list{display:block}.lang-option{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:#dfebf6;text-decoration:none;padding:10px 10px;border-radius:3px}.lang-option span{color:#a5b3c6;font-size:11px}.lang-option:hover,.lang-option.active{background:rgba(255,255,255,.09)}
.mobile-toggle{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:40px;height:42px;border:0;background:transparent;color:#fff;cursor:pointer;margin-left:auto}.mobile-toggle span{display:block;width:22px;height:1.5px;background:#e8edf4}
/* Hero */
.home-hero{min-height:calc(100svh - var(--nav-h));padding:12px 22px 22px;display:flex;align-items:center;flex-direction:column;justify-content:center}
.moon-hero{width:min(790px,calc(100svh - 150px),calc(100vw - 38px));aspect-ratio:1;position:relative;overflow:hidden;flex:0 0 auto}
.moon-hero img{width:100%;height:100%;object-fit:contain}
.moon-copy{position:absolute;left:3%;right:3%;top:52%;text-align:center;color:#fff}
.moon-eyebrow{display:block;font-size:clamp(8px,1.02vw,12px);letter-spacing:.23em;text-transform:uppercase;font-weight:600;color:#edf2f7;margin-bottom:11px}
.moon-copy h1{font-size:clamp(28px,4.35vw,64px);line-height:1.03;letter-spacing:.025em;font-weight:480;text-shadow:0 5px 22px rgba(0,0,0,.45)}
.moon-copy p{margin-top:17px;font-size:clamp(13px,1.52vw,21px);font-weight:400;line-height:1.3;color:#fff;white-space:normal;text-shadow:0 3px 18px rgba(0,0,0,.5)}
.home-link{margin-top:4px}
/* Editorial systems */
.eyebrow{display:block;font-size:11px;letter-spacing:.25em;font-weight:650;text-transform:uppercase;color:#c6d4e4}
.editorial-hero{padding:92px 0 66px}.section-heading{max-width:900px;margin:0 auto;text-align:center}.section-heading .eyebrow{margin-bottom:22px}.section-heading h1{font-size:clamp(39px,5vw,69px);font-weight:420;letter-spacing:-.045em;line-height:1.13}.section-heading p{max-width:735px;margin:24px auto 0;font-size:clamp(17px,1.55vw,21px);line-height:1.7}
.cta{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid rgba(250,252,255,.67);font-size:13px;letter-spacing:.04em;text-decoration:none;padding:12px 0;color:#fff;transition:gap .18s,border-color .18s}.cta:hover{gap:29px;border-bottom-color:#fff}.cta span{font-size:17px}.cta-primary{border:1px solid var(--line-strong);padding:14px 23px;background:rgba(255,255,255,.055);border-radius:4px}.cta-primary:hover{background:rgba(255,255,255,.12)}.center-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;justify-content:center;margin:36px 0}
.feature-pair{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(34px,5.3vw,82px);align-items:center;margin-bottom:100px}.feature-media{overflow:hidden;background:#030c18}.feature-media img{width:100%;height:100%;object-fit:cover}.feature-media-hero{aspect-ratio:4/3}.feature-copy h2{font-size:clamp(29px,3.2vw,44px);font-weight:450;margin:17px 0 23px}.feature-copy p{font-size:16px;line-height:1.85;margin:0 0 18px}.feature-copy>.cta,.feature-copy>.action-pair{margin-top:16px}.thin-list{list-style:none;margin:30px 0 18px;padding:0}.thin-list li{border-top:1px solid var(--line);padding:10px 0;color:#d8e1ed;font-size:14.5px}.thin-list li:last-child{border-bottom:1px solid var(--line)}.thin-list li:before{content:'—';margin-right:15px;color:#c8d6e7}
.gallery-section{margin:0 auto 95px}.section-knot{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;padding:0 0 26px;border-bottom:1px solid var(--line);margin-bottom:25px}.section-knot p{font-size:18px}.photo-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.gallery-item{grid-column:span 4;aspect-ratio:4/5;overflow:hidden;background:#091b2e}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-item.terrace{grid-column:span 12;aspect-ratio:16/6}.gallery-item:nth-child(5),.gallery-item:nth-child(6){grid-column:span 6;aspect-ratio:4/3}.tiny-endnote{font-size:13px;color:#9eafc4;margin-top:19px}
.price-section{padding:10px 0 130px}.price-factors{padding:0;margin:0;list-style:none;border-top:1px solid var(--line)}.price-factors li{display:flex;align-items:baseline;gap:30px;padding:27px 12px;border-bottom:1px solid var(--line);font-size:21px;font-weight:390;color:#fff}.price-factors li span{font-size:12px;color:#95a6ba;letter-spacing:.08em}.muted-note{margin:30px auto 0;color:#9fb1c6;font-size:14px;line-height:1.8;max-width:680px}.references-lead{max-width:780px;margin:37px auto 0}.references-lead p{font-size:17px;line-height:1.8;margin-bottom:14px;text-align:center}
.hotel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;padding-bottom:50px}.hotel-item{min-width:0;padding:16px 16px 26px;border-top:1px solid var(--line);text-align:center}.hotel-logo{height:235px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.20);overflow:hidden;padding:23px}.hotel-logo.dark{background:#010307}.hotel-logo.light{background:#fff}.hotel-logo img{height:100%;width:100%;object-fit:contain}.hotel-item h2{font-size:18px;font-weight:500;letter-spacing:.01em;margin:23px 0 4px}.hotel-item p{font-size:13px;color:#b7c3d2}.quote-section{padding:38px 0 115px;border-top:1px solid var(--line)}.quote-section p{font:italic clamp(20px,2.25vw,29px)/1.7 Georgia,serif;text-align:center;color:#e7edf6}
.ecl-photo{aspect-ratio:1}.ecl-feature .feature-copy h2{line-height:1.3;font-size:clamp(24px,2.5vw,33px)}.source-inline{margin-top:20px!important;font-size:12px!important}.source-inline a{text-underline-offset:5px;color:#a7b9cd}
.glasses-hero .eclipse-display{aspect-ratio:1;position:relative;background:#080d18}.eclipse-display img{filter:brightness(.45) saturate(.7)}.eclipse-caption{position:absolute;top:42%;left:0;width:100%;text-align:center;font-size:clamp(43px,5.5vw,76px);font-weight:450;letter-spacing:.09em;line-height:1.2}.eclipse-caption span{font-size:13px;letter-spacing:.3em}.action-pair{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.safety-note{padding-bottom:80px}.safety-note p{border-left:2px solid #c0cad7;padding-left:20px;font-size:14px;color:#b5c3d2}
.documents{padding:0 0 120px}.documents-list{border-top:1px solid var(--line)}.document-item{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:22px;border-bottom:1px solid var(--line);padding:25px 10px}.doc-number{color:#8fa3bc;font-size:12px}.document-item h2{font-size:20px;font-weight:440}.document-item p{font-size:13px;margin-top:5px}.document-item a{font-size:13px;color:#fff;text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:5px;white-space:nowrap}.document-item a:hover{border-color:white}.simple-pricing{text-align:center;padding:20px 0 130px}.simple-pricing h2{font-size:clamp(27px,3vw,41px);margin:19px 0 15px}.simple-pricing>p{font-size:17px;line-height:1.8;max-width:660px;margin:0 auto}
/* Who we are */
.about-intro,.about-outro{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(35px,5vw,85px);align-items:center}.portrait-media{height:620px;overflow:hidden;background:#08182e}.portrait-media img{height:100%;width:100%;object-fit:cover;object-position:center 37%}.editorial-text p{font-size:16px;line-height:1.95;color:#d1dce9;margin:0 0 25px}.editorial-text strong{font-weight:630;color:#fff}.about-manifesto{padding:97px 0 79px;text-align:center}.about-manifesto p{font:italic clamp(26px,3.5vw,46px)/1.4 Georgia,serif;color:#e6edf5}.about-middle{padding:0 0 56px}.wide-image{height:560px;overflow:hidden;margin:0 auto 68px}.wide-image img{height:100%;width:100%;object-fit:cover}.about-outro{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);padding-bottom:100px}.about-outro .portrait-media{height:640px}
/* Contact */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:0 0 90px}.contact-offer{border-top:1px solid var(--line-strong);padding:29px 12px}.contact-offer h2{font-size:clamp(27px,2.7vw,37px);margin:19px 0 17px}.contact-offer p{font-size:16px;max-width:400px}.contact-offer .cta{margin-top:34px}.contact-mail{text-align:center;padding:25px 0 130px}.contact-mail a{display:block;font-size:clamp(23px,3vw,39px);text-decoration:none;letter-spacing:-.035em;margin:15px 0 8px}.contact-mail a:hover{text-decoration:underline}.contact-mail p{font-size:13px}
/* footer */
.site-footer{background:#040d1c;border-top:1px solid var(--line);padding:47px 0 28px}.footer-inner{width:min(var(--max),calc(100% - 84px));margin:auto}.footer-brand{text-decoration:none;display:inline-block;font-size:13px;letter-spacing:.18em;font-weight:650}.site-footer p{font-size:13px;margin:10px 0 34px}.footer-line{display:flex;justify-content:space-between;gap:25px;font-size:11px;color:#a3b3c8}.footer-line a{text-decoration:none}
/* breakpoints */
@media(max-width:1250px){.header-inner{width:calc(100% - 38px);gap:16px}.brand img{width:44px;height:44px}.brand span{font-size:11px}.navigation{gap:13px}.nav-direct,.nav-trigger{font-size:12px}.lang-menu{padding-left:12px;margin-left:0}}
@media(max-width:1050px){:root{--nav-h:76px}.site-header{height:76px}.mobile-toggle{display:flex}.brand{margin-right:auto}.navigation{position:absolute;display:none;top:75px;left:0;right:0;min-width:0;max-height:calc(100svh - 76px);overflow:auto;background:#071729;border-bottom:1px solid var(--line);padding:22px 5vw 29px;flex-direction:column;gap:0;align-items:stretch;box-shadow:0 18px 40px rgba(0,0,0,.35)}.navigation.is-open{display:flex}.navigation .nav-group{width:100%;border-bottom:1px solid var(--line)}.nav-direct{font-size:16px;padding:15px 0;border-bottom:1px solid var(--line)}.nav-trigger{font-size:16px;width:100%;justify-content:space-between;padding:15px 0}.nav-submenu{position:static;box-shadow:none;border:0;border-radius:0;background:transparent;min-width:0;padding:0 0 12px 16px}.nav-submenu a{padding:11px 9px;font-size:14px}.navigation .nav-group:not(.is-open) .nav-submenu{display:none}.navigation .nav-group.is-open .nav-submenu{display:block}.lang-menu{margin-left:0}.section-heading h1{font-size:clamp(38px,5.5vw,63px)}.feature-pair{gap:35px}}
@media(max-width:780px){.wrap-wide,.wrap-narrow{width:calc(100% - 44px)}.editorial-hero{padding:72px 0 45px}.section-heading .eyebrow{margin-bottom:16px}.section-heading p{margin-top:21px}.feature-pair,.about-intro,.about-outro{grid-template-columns:1fr}.feature-pair{margin-bottom:77px}.feature-media-hero{aspect-ratio:4/3}.feature-copy{max-width:680px}.hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hotel-logo{height:188px}.hotel-item h2{font-size:16px}.portrait-media{height:560px;max-width:460px;width:100%;margin:auto}.about-intro .editorial-text{max-width:670px;margin:auto}.about-outro .portrait-media{order:-1}.wide-image{height:400px}.about-manifesto{padding:65px 0}.document-item{grid-template-columns:32px 1fr;gap:15px}.document-item a{grid-column:2;justify-self:start}.contact-layout{grid-template-columns:1fr;gap:5px}.photo-mosaic{gap:9px}.gallery-item{grid-column:span 6}.gallery-item.terrace{grid-column:span 12}.gallery-item:nth-child(5),.gallery-item:nth-child(6){grid-column:span 6}.footer-inner{width:calc(100% - 44px)}}
@media(max-width:500px){.header-inner{width:calc(100% - 26px)}.brand img{width:42px;height:42px}.brand span{font-size:10px;letter-spacing:.075em}.mobile-toggle{width:36px}.lang-menu{padding-left:9px}.lang-trigger{font-size:11px}.home-hero{min-height:calc(100svh - 76px);padding:8px 0 18px;justify-content:center}.moon-hero{width:min(100vw,calc(100svh - 120px));}.moon-copy{top:52.5%;left:4%;right:4%}.moon-eyebrow{font-size:7px;letter-spacing:.14em;margin-bottom:8px}.moon-copy h1{font-size:clamp(24px,7.3vw,37px);letter-spacing:.01em}.moon-copy p{font-size:clamp(11px,3.3vw,16px);margin-top:10px}.editorial-hero{padding:56px 0 40px}.section-heading h1{font-size:clamp(34px,9vw,47px)}.section-heading p{font-size:16px}.feature-copy h2{font-size:29px}.feature-copy p,.editorial-text p{font-size:15.5px}.hotel-grid{grid-template-columns:1fr;gap:14px}.hotel-logo{height:210px}.hotel-item{padding:15px}.quote-section{padding:30px 0 80px}.gallery-item,.gallery-item:nth-child(5),.gallery-item:nth-child(6){grid-column:span 12;aspect-ratio:4/3}.gallery-item.terrace{aspect-ratio:4/3}.section-knot{display:block}.section-knot p{margin-top:9px}.portrait-media{height:480px}.wide-image{height:250px}.footer-line{flex-direction:column;gap:8px}.contact-mail a{font-size:clamp(20px,5.7vw,30px)}.price-factors li{font-size:17px;padding:20px 2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* v20261028b — navigation and responsive homepage refinements */
@media(min-width:1051px){
  .nav-submenu{top:100%;padding-top:14px;min-width:232px}
  .nav-submenu::before{content:"";position:absolute;left:0;right:0;top:0;height:14px;background:transparent;pointer-events:none}
  .nav-group{align-self:stretch;display:flex;align-items:center}
  .navigation{align-self:stretch}
  .nav-group .nav-trigger{height:100%}
  .lang-menu{align-self:stretch;display:flex;align-items:center}
  .lang-list{top:100%;}
  .lang-trigger{height:100%;}
}
/* Homepage — exact same horizontal extent as header. All essential copy within the viewport. */
.home-hero{min-height:calc(100svh - var(--nav-h));height:calc(100svh - var(--nav-h));padding:0;justify-content:flex-start;overflow:hidden}
.moon-hero{width:min(1320px,calc(100% - 64px));height:100%;aspect-ratio:auto;flex:0 0 auto;overflow:hidden}
.moon-hero img{width:100%;height:100%;object-fit:cover;object-position:center 49%}
.moon-copy{left:4%;right:4%;top:64%;transform:translateY(-50%)}
.moon-copy h1{font-size:clamp(43px,4.2vw,72px);line-height:1.05;letter-spacing:.012em;font-weight:500}
.moon-copy p{margin-top:19px;font-size:clamp(19px,1.85vw,27px);line-height:1.25;color:#fff}
.home-hero .home-link,.moon-eyebrow{display:none}
/* Photo gallery — five distinct photographs, with no panoramic duplicate. */
.photo-mosaic{grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.gallery-item.gallery-portrait,
.gallery-item.gallery-portrait:nth-child(5),
.gallery-item.gallery-portrait:nth-child(6){grid-column:auto;aspect-ratio:2/3;overflow:hidden;background:#05101d}
.gallery-item.gallery-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 47%}
.gallery-item.photo-night img{object-position:center 47%}
.gallery-item.photo-dim img{object-position:center 53%;filter:brightness(1.1)}
.gallery-item.photo-moon img{object-position:center 48%}
.gallery-item.photo-family img{object-fit:contain;object-position:center center}
/* All four supplied hotel logos against white, for consistent legibility. */
.hotel-logo,.hotel-logo.dark,.hotel-logo.light{background:#fff}
.hotel-logo{border-radius:3px;padding:clamp(16px,2.4vw,30px)}
@media(max-width:1050px){
  .home-hero{height:calc(100svh - var(--nav-h))}
  .moon-hero{width:calc(100% - 38px)}
  .moon-copy{top:65%}
  .photo-mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gallery-item.gallery-portrait{grid-column:auto}
  .gallery-item.gallery-portrait:nth-child(4),
  .gallery-item.gallery-portrait:nth-child(5){grid-column:auto}
}
@media(max-width:780px){
  .photo-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  .gallery-item.gallery-portrait{grid-column:auto;aspect-ratio:2/3}
  .gallery-item.gallery-portrait:nth-child(5){grid-column:1/-1;justify-self:center;width:min(48%,350px)}
}
@media(max-width:500px){
  .home-hero{height:calc(100svh - var(--nav-h));min-height:calc(100svh - var(--nav-h));padding:0}
  .moon-hero{width:calc(100% - 26px);height:100%;aspect-ratio:auto}
  .moon-hero img{object-fit:cover;object-position:center 52%}
  .moon-copy{left:2%;right:2%;top:62.5%;transform:translateY(-50%)}
  .moon-copy h1{font-size:clamp(27px,7.9vw,39px);line-height:1.07}
  .moon-copy p{font-size:clamp(13px,3.65vw,18px);margin-top:13px}
  .photo-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gallery-item.gallery-portrait,.gallery-item.gallery-portrait:nth-child(5){grid-column:auto;width:100%;aspect-ratio:2/3}
  .gallery-item.photo-family{grid-column:1/-1!important;width:min(60%,310px)!important;justify-self:center}
  .hotel-logo{height:210px}
}
@media(max-width:370px){.moon-copy h1{font-size:27px}.moon-copy p{font-size:13px}}


/* v20261028c — lune entièrement visible, texte dans sa partie sombre ; nouvelles photos soirees */
/* Desktop: composition fills the same horizontal container as header; image is not vertically cropped */
.home-hero{height:calc(100svh - var(--nav-h));min-height:calc(100svh - var(--nav-h));padding:0;display:flex;justify-content:center;align-items:center;overflow:hidden}
.moon-hero{width:min(1320px,calc(100% - 64px));height:100%;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at center,#161b2a 0%,#090f1d 48%,#071528 100%)}
/* Blurred atmospheric layer on the edges of the horizontal frame */
.moon-hero::before{content:"";position:absolute;inset:-24px;background:url('lune-accueil-hd.jpg') center center/cover no-repeat;opacity:.12;filter:blur(32px);z-index:0}
.moon-hero img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;object-position:center center;transform:scale(1.08);-webkit-mask-image:radial-gradient(ellipse 54% 70% at 50% 50%,#000 54%,rgba(0,0,0,.99) 70%,transparent 100%);mask-image:radial-gradient(ellipse 54% 70% at 50% 50%,#000 54%,rgba(0,0,0,.99) 70%,transparent 100%)}
.moon-copy{z-index:2;top:67%;left:18%;right:18%;transform:translateY(-50%)}
.moon-copy h1{font-size:clamp(34px,4.15vw,60px);line-height:1.05;letter-spacing:.01em;font-weight:500}
.moon-copy p{font-size:clamp(16px,1.7vw,24px);line-height:1.23;margin-top:12px;white-space:normal}
/* Photo-crop: source was cropped to remove right-side visitor without editing the remaining subjects. */
.gallery-item.photo-cadrage img{object-fit:cover;object-position:center 46%;filter:none}
.gallery-item.photo-sequence{background:#000}
.gallery-item.photo-sequence img{object-fit:contain;object-position:center center}
.photo-mosaic{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gallery-item.gallery-portrait,.gallery-item.gallery-portrait:nth-child(5),.gallery-item.gallery-portrait:nth-child(6){grid-column:auto;aspect-ratio:3/4}
@media(max-width:1050px){
  .moon-hero{width:calc(100% - 38px)}
  .moon-copy{left:13%;right:13%;top:67%}
  .photo-mosaic{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
}
@media(max-width:780px){
  .moon-hero{width:calc(100% - 28px)}
  .moon-copy{left:5%;right:5%;top:66%}
  .moon-copy h1{font-size:clamp(27px,5.9vw,47px)}
  .moon-copy p{font-size:clamp(13px,2.6vw,19px)}
  .photo-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .gallery-item.gallery-portrait,.gallery-item.gallery-portrait:nth-child(5),.gallery-item.gallery-portrait:nth-child(6){grid-column:auto;aspect-ratio:3/4;width:100%;justify-self:stretch}
}
@media(max-width:500px){
  .home-hero{height:calc(100svh - var(--nav-h));min-height:calc(100svh - var(--nav-h));overflow:hidden}
  .moon-hero{width:calc(100% - 18px);height:100%}
  .moon-hero img{transform:scale(1.06);object-position:center center;-webkit-mask-image:none;mask-image:none}
  .moon-copy{left:3%;right:3%;top:calc(50% + min(12vw,48px));transform:translateY(-50%)}
  .moon-copy h1{font-size:clamp(26px,7.2vw,36px);line-height:1.02}
  .moon-copy p{font-size:clamp(12px,3.45vw,17px);margin-top:9px}
  .photo-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gallery-item.photo-family{grid-column:auto!important;width:100%!important;justify-self:stretch}
  .gallery-item.gallery-portrait,.gallery-item.gallery-portrait:nth-child(5),.gallery-item.gallery-portrait:nth-child(6){aspect-ratio:3/4}
}
