@font-face{font-family:PrismeDisplay;src:url(display.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:PrismeBody;src:url(body.woff2) format("woff2");font-weight:100 1000;font-display:swap}:root{--ink:#182822;--paper:#FAFBF6;--accent:#DAEEB3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:PrismeBody,sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-underline-offset:.25em}button,input,textarea{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:PrismeDisplay,sans-serif;line-height:1.04;font-weight:500;text-wrap:balance;overflow-wrap:anywhere}h1{font-size:clamp(3.2rem,7vw,7.5rem);letter-spacing:-.055em}h2{font-size:clamp(2.2rem,4.1vw,4.8rem);letter-spacing:-.045em}h3{font-size:1.7rem;letter-spacing:-.025em}p{max-width:65ch}p+p{margin-top:1em}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid currentColor;outline-offset:6px}.skip{position:fixed;z-index:10;top:10px;left:10px;padding:12px;background:var(--paper);transform:translateY(-200%)}.skip:focus{transform:none}.site-head{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:28px 5vw;border-bottom:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}.brand{font-family:PrismeDisplay,sans-serif;font-size:1.45rem;line-height:1.2;max-width:22ch;overflow-wrap:anywhere;text-decoration:none}.desktop-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 28px;font-size:.87rem}.desktop-nav a{text-decoration:none}.desktop-nav a:hover{text-decoration:underline}.mobile-nav{display:none}.eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:24px}.intro{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.55;margin:26px 0 32px}.action{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:14px 22px;background:var(--ink);color:var(--paper);text-decoration:none;border:1px solid var(--ink);cursor:pointer;line-height:1.35;transition:transform .2s}.action:hover{transform:translateY(-3px)}.action span{font-size:1.4rem}.photo{position:relative;min-width:0;overflow:hidden}.photo figcaption{position:absolute;bottom:10px;right:12px;font-size:10px;background:rgba(0,0,0,.66);color:#fff;padding:3px 7px;letter-spacing:.04em}.chapter{padding:110px 6vw}.section-head{max-width:1000px;margin-bottom:50px}.section-head p:not(.eyebrow){margin-top:25px}.offer-list{margin:40px 0}.offer{display:grid;grid-template-columns:1fr 1.5fr;gap:5vw;border-top:1px solid color-mix(in srgb,var(--ink) 25%,transparent);padding:32px 0}.offer:last-child{border-bottom:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}.story{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:9vw}.story h2{margin-bottom:30px}.story .action{margin-top:28px}.story-image{height:600px}.gallery{background:var(--accent)}.gallery-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:5vw;align-items:start}.gallery-tall{height:750px;grid-row:span 2}.gallery-wide{height:330px;margin-top:90px}.gallery-small{height:280px;width:75%;justify-self:end}.inner-hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:5vw;padding:70px 6vw 90px}.inner-hero h1{font-size:clamp(3rem,5.7vw,6rem)}.inner-image{height:560px}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:7vw}.faq details{border-top:1px solid color-mix(in srgb,var(--ink) 30%,transparent);padding:20px 0}.faq summary{cursor:pointer;padding:10px 0;min-height:44px;font-size:1.1rem}.faq details p{padding:18px 0 8px}.closing{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.4fr 1fr;gap:7vw;align-items:end}.closing p{margin-bottom:25px}.closing .action{background:var(--accent);color:var(--ink);border-color:var(--accent)}.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:8vw}.contact h2{margin-bottom:28px}.contact dl{margin-top:40px}.contact dl div{border-top:1px solid;padding:15px 0}.contact dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.contact dd{margin:8px 0;overflow-wrap:anywhere}.contact form{display:grid;gap:10px}.contact input,.contact textarea{width:100%;padding:14px;border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:0;min-height:48px}.contact label:not(:first-child){margin-top:12px}.contact form p{font-size:.85rem;margin:12px 0}.contact form button{justify-self:start}.site-foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:45px;padding:65px 6vw}.site-foot nav,.legal{display:flex;flex-direction:column;align-items:start;gap:10px}.site-foot p{font-size:.85rem;margin-top:15px}.site-foot a:not(.brand){font-size:.88rem}
/* Nocturne: photography carries the opening; editorial pacing follows. */
.hero-nocturne{position:relative;min-height:760px;display:flex;align-items:center;padding:90px 7vw;background:#231a20;color:#fff}.hero-nocturne .hero-image{position:absolute;inset:0}.hero-nocturne .hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,10,13,.86),rgba(15,10,13,.53) 55%,rgba(15,10,13,.12))}.hero-nocturne .hero-copy{position:relative;z-index:1;max-width:800px}.hero-nocturne h1{max-width:100%;font-weight:400}.hero-nocturne .intro{max-width:42ch}.hero-nocturne .action{background:var(--accent);color:var(--ink);border-color:var(--accent)}.theme-nocturne .offers{padding-left:16vw}.theme-nocturne .story{background:var(--ink);color:var(--paper)}.theme-nocturne .story .action{background:var(--accent);color:var(--ink)}.theme-nocturne .story-image{border-radius:45% 45% 0 0}.theme-nocturne.variant-alternate .hero-nocturne{justify-content:flex-end}.theme-nocturne.variant-alternate .hero-nocturne .hero-image:after{background:linear-gradient(270deg,rgba(15,10,13,.86),rgba(15,10,13,.53) 55%,rgba(15,10,13,.12))}.theme-nocturne.variant-alternate .story-image{order:-1}.theme-nocturne.variant-alternate .gallery-grid{grid-template-columns:1fr 1.2fr}
/* Affiche: broad typography first, then an offset photographic strip. */
.hero-affiche{padding:65px 6vw 0;display:grid;grid-template-columns:1fr 1fr;gap:35px;background:var(--accent)}.hero-affiche .hero-copy{display:contents}.hero-affiche .eyebrow{grid-column:1/-1;margin-bottom:0}.hero-affiche h1{grid-column:1/-1;font-size:clamp(3.6rem,8vw,9rem);max-width:17ch;line-height:.98}.hero-affiche .intro{grid-column:1;margin:0;align-self:start}.hero-affiche .action{grid-column:2;justify-self:end;align-self:start}.hero-affiche .hero-image{grid-column:1/-1;margin-left:16%;height:480px;margin-top:5px}.theme-affiche .story{grid-template-columns:.8fr 1.2fr;gap:6vw}.theme-affiche .story-image{height:530px;order:-1}.theme-affiche .offer h3{font-size:clamp(1.45rem,2.5vw,2.3rem)}.theme-affiche .gallery-grid{grid-template-columns:1.5fr 1fr;gap:30px}.theme-affiche .gallery-tall{height:650px}.theme-affiche .gallery-wide{margin-top:0;height:310px}.theme-affiche .gallery-small{width:100%;height:310px}.theme-affiche.variant-alternate .hero-affiche .hero-image{margin-left:0;margin-right:16%}.theme-affiche.variant-alternate .hero-affiche h1{max-width:14ch}.theme-affiche.variant-alternate .story-image{order:0}.theme-affiche.variant-alternate .gallery-grid{grid-template-columns:1fr 1.5fr}
/* Atelier: a desktop side masthead with a panorama and close-up. */
.site-head.theme-atelier{position:absolute;left:0;top:0;width:220px;min-height:730px;padding:45px 30px;display:block;border:0}.site-head.theme-atelier .brand{display:block;font-size:1.6rem}.site-head.theme-atelier .desktop-nav{display:flex;flex-direction:column;gap:25px;margin-top:70px}.library.theme-atelier{margin-left:220px}.hero-atelier{padding:55px 5vw 65px;display:grid;grid-template-columns:1.6fr .6fr;gap:35px}.hero-atelier .hero-copy{grid-column:1/-1;max-width:800px}.hero-atelier h1{font-size:clamp(3.2rem,5.8vw,6.3rem);max-width:17ch}.hero-atelier .intro{max-width:55ch}.hero-atelier .hero-image{height:440px}.hero-atelier .hero-detail{height:260px;align-self:end;margin-bottom:35px}.theme-atelier .chapter{padding:85px 5vw}.theme-atelier .offers{background:#fff}.theme-atelier .story{grid-template-columns:1.25fr .75fr;gap:45px}.theme-atelier .story-image{height:480px}.theme-atelier .gallery-grid{grid-template-columns:1fr 1.3fr;gap:30px}.theme-atelier .gallery-tall{height:590px}.theme-atelier .gallery-wide{height:300px;margin-top:30px}.theme-atelier .gallery-small{height:230px;width:80%;justify-self:start}.site-foot.theme-atelier{margin-left:220px;padding:55px 5vw}.theme-atelier .inner-hero{padding:60px 5vw;grid-template-columns:1fr}.theme-atelier .inner-image{height:390px}.theme-atelier.variant-alternate .hero-atelier{grid-template-columns:.6fr 1.6fr}.theme-atelier.variant-alternate .hero-detail{grid-column:1;grid-row:2}.theme-atelier.variant-alternate .hero-image{grid-column:2;grid-row:2}.theme-atelier.variant-alternate .story-image{order:-1}
@media(min-width:1700px){.library,.site-head,.site-foot{max-width:1920px;margin-right:auto;margin-left:auto}.library.theme-atelier,.site-foot.theme-atelier{max-width:1580px;margin-left:260px}.site-head.theme-atelier{width:260px}.hero-nocturne{min-height:900px}}
@media(max-width:1000px){.site-head{padding:24px 4vw;gap:20px}.desktop-nav{gap:10px 15px}.chapter{padding:80px 5vw}.hero-nocturne{min-height:680px}.story{gap:5vw}.story-image{height:470px}.gallery-tall{height:610px}.gallery-wide{height:260px}.gallery-small{height:220px}.inner-image{height:430px}.library.theme-atelier,.site-foot.theme-atelier{margin-left:0}.site-head.theme-atelier{position:static;width:auto;min-height:0;display:flex;padding:24px 4vw}.site-head.theme-atelier .desktop-nav{margin:0;flex-direction:row;gap:15px}.site-head.theme-atelier .brand{font-size:1.3rem}.hero-atelier{padding-top:40px}.hero-affiche .hero-image{height:390px}.theme-nocturne .offers{padding-left:6vw}.site-foot{gap:30px}}
@media(max-width:650px){body{font-size:16px}.site-head,.site-head.theme-atelier{padding:22px 6vw;align-items:flex-start}.desktop-nav,.site-head.theme-atelier .desktop-nav{display:none}.mobile-nav{display:block;flex:0 0 auto}.mobile-nav summary{cursor:pointer;min-height:44px;padding:10px 0}.mobile-nav[open]{max-width:48%}.mobile-nav nav{display:flex;flex-direction:column;gap:8px;padding:10px 0}.mobile-nav nav a{padding:8px 0;font-size:.9rem}.brand{font-size:1.25rem;max-width:15ch}.chapter,.theme-atelier .chapter{padding:64px 6vw}.hero-nocturne{min-height:720px;padding:70px 6vw}.hero-nocturne h1{font-size:clamp(3rem,12vw,4.5rem)}.hero-nocturne .hero-image:after,.theme-nocturne.variant-alternate .hero-nocturne .hero-image:after{background:rgba(15,10,13,.65)}.hero-affiche{padding:40px 6vw 0;display:flex;flex-direction:column;gap:24px}.hero-affiche .hero-copy{display:contents}.hero-affiche h1{font-size:clamp(3rem,12vw,4.5rem)}.hero-affiche .action{align-self:flex-start}.hero-affiche .hero-image,.theme-affiche.variant-alternate .hero-affiche .hero-image{width:100%;height:310px;margin:0}.hero-atelier,.theme-atelier.variant-alternate .hero-atelier{padding:35px 6vw 50px;grid-template-columns:1fr .45fr;gap:16px}.hero-atelier h1{font-size:clamp(2.8rem,11vw,4rem)}.hero-atelier .hero-image,.theme-atelier.variant-alternate .hero-atelier .hero-image{grid-column:1;grid-row:2;height:300px}.hero-atelier .hero-detail,.theme-atelier.variant-alternate .hero-atelier .hero-detail{grid-column:2;grid-row:2;height:190px;margin:0}.inner-hero,.theme-atelier .inner-hero{padding:45px 6vw 60px;grid-template-columns:1fr;gap:30px}.inner-hero h1{font-size:clamp(2.8rem,11vw,4rem)}.inner-image,.theme-atelier .inner-image{height:320px}.story,.theme-affiche .story,.theme-atelier .story,.faq,.contact,.closing{grid-template-columns:1fr;gap:35px}.story-image,.theme-affiche .story-image,.theme-atelier .story-image{height:390px;order:0!important}.offer{grid-template-columns:1fr;gap:16px;padding:26px 0}.offer h3{font-size:1.7rem}.gallery-grid,.theme-affiche .gallery-grid,.theme-atelier .gallery-grid,.theme-nocturne.variant-alternate .gallery-grid,.theme-affiche.variant-alternate .gallery-grid{grid-template-columns:1fr 1fr;gap:16px}.gallery-tall,.theme-affiche .gallery-tall,.theme-atelier .gallery-tall{height:430px;grid-column:1/-1;grid-row:auto}.gallery-wide,.theme-affiche .gallery-wide,.theme-atelier .gallery-wide{height:210px;margin:0}.gallery-small,.theme-affiche .gallery-small,.theme-atelier .gallery-small{height:170px;width:100%;margin-top:40px}.section-head{margin-bottom:30px}.site-foot,.site-foot.theme-atelier{padding:45px 6vw;grid-template-columns:1fr 1fr}.site-foot>div:first-child{grid-column:1/-1}.site-foot nav a,.legal a{min-height:44px;display:flex;align-items:center}.closing h2{font-size:2.5rem}.contact form button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.action:hover{transform:none}}






*,*::before,*::after{box-sizing:border-box}img{max-width:100%}input,textarea,select,button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid currentColor;outline-offset:5px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}