/* Regards sur l’Univers — site personnel statique */
:root{color-scheme:dark;--bg:#090d12;--bg2:#10161c;--fg:#f2efe9;--muted:#aab0b3;--muted2:#737f88;--accent:#d7ba83;--line:#30383f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}::selection{background:#d7ba83;color:#14171a}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.skip-link{position:absolute;top:-80px;left:10px;z-index:100;background:white;color:black;padding:10px}.skip-link:focus{top:10px}.site-header{height:86px;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(22px,5vw,92px);border-bottom:1px solid #ffffff12;background:#0b0f14;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:15px}.brand-icon{font-family:Georgia,serif;font-size:38px;line-height:1;color:var(--accent)}.brand-text{display:flex;flex-direction:column;gap:7px;letter-spacing:.19em;font-size:12px;font-weight:700;white-space:nowrap}.brand-text small{font-size:8px;font-weight:500;letter-spacing:.3em;color:#9aa4ac}.site-header nav{display:flex;align-items:center;gap:34px;font-size:12px;letter-spacing:.08em;color:#c8cfd2}.site-header nav a:hover{color:var(--accent)}.nav-link-special{border:1px solid #7b7465;padding:13px 19px;border-radius:2px;color:#eae0cc!important}.nav-link-special span{margin-left:14px}.hero{height:min(740px,calc(100svh - 86px));min-height:530px;position:relative;overflow:hidden;background:#131a21}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:brightness(.84)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,10,15,.95) 0%,rgba(7,10,15,.84) 24%,rgba(7,10,15,.41) 61%,rgba(7,10,15,.04) 100%),linear-gradient(0deg,rgba(7,10,15,.63),transparent 40%)}.hero-content{position:absolute;top:45%;transform:translateY(-40%);left:clamp(24px,8vw,160px);width:min(710px,75vw)}.eyebrow,.overline{font-size:10px;color:var(--accent);letter-spacing:.23em;font-weight:700}.eyebrow{display:flex;align-items:center;gap:16px}.eyebrow-line{display:inline-block;width:28px;height:1px;background:var(--accent)}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5vw,76px);line-height:1.16;font-weight:400;letter-spacing:-.035em;margin:29px 0 22px;max-width:900px;text-shadow:0 3px 30px #0007}.hero h1 em{color:#dfc390;font-weight:400}.hero-content>p{max-width:420px;color:#c9cace;font-size:15px;line-height:1.8;margin:0 0 31px}.hero-cta{display:inline-flex;align-items:center;gap:36px;border-bottom:1px solid var(--accent);padding:12px 0;color:#f3ead8;font-size:12px;letter-spacing:.05em;font-weight:600}.hero-cta:hover{gap:44px}.hero-caption{position:absolute;bottom:42px;right:clamp(22px,5vw,92px);display:flex;align-items:end;gap:8px;flex-direction:column;text-align:right}.hero-caption span{font-size:9px;color:#c3c6c8;letter-spacing:.12em}.hero-caption b{font-family:Georgia,serif;font-size:19px;font-weight:400}.scroll-note{position:absolute;bottom:42px;left:clamp(24px,8vw,160px);font-size:9px;letter-spacing:.17em;color:#d4d4d4}.scroll-note span{padding-left:17px;font-size:15px}.section-wrap{width:min(1380px,calc(100% - clamp(40px,10vw,184px)));margin:auto}.gallery-section{padding-top:110px;padding-bottom:116px;scroll-margin-top:25px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:50px}.overline{margin:0 0 16px}.section-heading h2,.about-layout h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(40px,5vw,72px);font-weight:400;letter-spacing:-.04em;margin:0}.dot{color:var(--accent)}.section-subtitle{color:#9fa6ac;font-size:15px;margin:19px 0 0}.image-count{text-align:right;display:flex;align-items:flex-end;gap:12px;padding-bottom:9px}.image-count strong{font-family:Georgia,serif;font-size:47px;line-height:1;font-weight:400;color:var(--accent)}.image-count span{font-size:9px;letter-spacing:.17em;color:var(--muted);padding-bottom:6px}.filter-list{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px}.filter{cursor:pointer;padding:11px 18px;border:1px solid #303b43;background:transparent;color:#abb4bb;border-radius:2px;font-size:11px;letter-spacing:.06em}.filter span{color:#bfa87c;margin-left:7px}.filter.active,.filter:hover{color:#f5efe5;border-color:#8a7958;background:#1b1e1d}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 20px}.photo-card{min-width:0}.card-trigger{display:block;width:100%;background:none;border:0;text-align:left;color:inherit;cursor:pointer;padding:0}.card-photo{height:clamp(190px,21vw,315px);display:flex;align-items:center;justify-content:center;background:#11171e;position:relative;overflow:hidden;border:1px solid #1b242b}.card-photo img{height:100%;width:100%;object-fit:contain;transition:transform .45s ease,filter .3s;filter:brightness(.95)}.card-trigger:hover .card-photo img{transform:scale(1.035);filter:brightness(1.1)}.card-photo:after{content:'↗';position:absolute;top:12px;right:13px;background:#0c1117c9;color:#eee5d7;width:28px;height:28px;display:grid;place-items:center;border:1px solid #6970796b;opacity:0;transition:opacity .2s}.card-trigger:hover .card-photo:after{opacity:1}.card-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-top:14px}.card-meta h3{font-family:Georgia,serif;font-size:23px;font-weight:400;margin:0 0 6px}.card-meta p{color:#8f989d;font-size:12px;margin:0}.card-meta .category{color:#b9a482;text-transform:uppercase;font-size:9px;letter-spacing:.15em;padding-top:7px;white-space:nowrap}.gallery-footnote{text-align:center;color:#7c888f;font-size:12px;margin:48px 0 0}.about-section{background:#111820;border-top:1px solid #232c34;border-bottom:1px solid #232c34;padding:112px 0}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-layout h2{font-size:clamp(48px,5.4vw,80px);line-height:1.15}.about-layout h2 em{font-weight:400;color:#dec394}.about-copy{padding-top:42px;max-width:540px}.about-copy p{color:#bac1c5;font-size:16px;line-height:1.95;margin:0 0 23px}.about-copy .about-note{color:#cfb78b;font-family:Georgia,serif;font-style:italic;font-size:18px}.site-footer{padding-top:46px;padding-bottom:48px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#96a2a8;font-size:11px}.site-footer a:hover{color:var(--accent)}.footer-brand{display:flex;align-items:center;gap:12px;color:#e4e4e1}.footer-brand:first-letter{color:var(--accent)}.footer-brand span{font-size:10px;font-weight:700;letter-spacing:.15em}.viewer{padding:0;max-width:none;max-height:none;width:100vw;height:100dvh;inset:0;border:none;background:transparent;color:var(--fg);overflow:hidden}.viewer::backdrop{background:#05080bec}.viewer[open]{display:flex;align-items:center;justify-content:center}.viewer-backdrop{position:absolute;inset:0;background:#060a0deb;cursor:zoom-out}.viewer-inner{position:relative;display:flex;flex-direction:column;width:min(1350px,100vw);height:100%;padding:18px clamp(15px,3vw,42px) 22px}.viewer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.viewer-counter{color:#a6b0b5;font-size:11px;letter-spacing:.2em}.icon-btn{cursor:pointer;border:1px solid #46505a;background:#101820;color:white;width:40px;height:40px;border-radius:50%;font-size:24px;font-weight:200}.viewer-stage{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:0}.viewer-stage img{height:100%;width:calc(100% - 110px);object-fit:contain}.arrow-btn{cursor:pointer;width:48px;height:48px;flex:0 0 48px;border:1px solid #455059;border-radius:50%;background:#121a21b3;color:#ece5db;font-size:24px}.arrow-btn:hover,.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.viewer-bottom{padding-top:18px;display:flex;justify-content:space-between;gap:35px;align-items:end}.viewer-bottom h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:0 0 5px}.viewer-bottom p:not(.overline){color:#9eacb2;font-size:12px;line-height:1.65;margin:0;max-width:730px}.viewer-bottom .overline{margin-bottom:9px}.viewer-info{text-align:right;white-space:nowrap}@media(max-width:1000px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-photo{height:31vw}.about-layout{gap:45px}}@media(max-width:640px){.site-header{height:74px;padding:0 17px}.brand{gap:8px}.brand-icon{font-size:29px}.brand-text{font-size:9px;letter-spacing:.12em;gap:5px}.brand-text small{font-size:6px;letter-spacing:.12em}.site-header nav{gap:13px;font-size:11px}.nav-link-special{display:none}.hero{height:650px;min-height:530px}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#080c10e6,#080c1073),linear-gradient(0deg,#080c10ab,transparent)}.hero-content{left:25px;width:calc(100% - 50px);top:45%}.hero h1{font-size:clamp(39px,10vw,61px)}.hero-content>p{font-size:14px}.hero-caption{bottom:30px;right:22px}.scroll-note{bottom:32px;left:24px;font-size:7px}.section-wrap{width:calc(100% - 40px)}.gallery-section{padding-top:78px;padding-bottom:80px}.section-heading{margin-bottom:29px}.section-heading h2{font-size:47px}.image-count{display:none}.section-subtitle{font-size:13px}.filter-list{gap:7px}.filter{padding:10px 11px;font-size:10px}.photo-grid{grid-template-columns:1fr;gap:30px}.card-photo{height:70vw;max-height:400px}.card-meta h3{font-size:23px}.about-section{padding:75px 0}.about-layout{grid-template-columns:1fr;gap:15px}.about-layout h2{font-size:54px}.about-copy{padding-top:20px}.about-copy p{font-size:14px}.site-footer{flex-wrap:wrap;gap:18px;padding:32px 0}.footer-brand{width:100%}.viewer-inner{padding:12px 9px 24px}.viewer-stage img{width:calc(100% - 74px)}.arrow-btn{width:31px;height:31px;flex-basis:31px;font-size:15px}.viewer-bottom{display:block;padding:15px 8px 0}.viewer-bottom h3{font-size:24px}.viewer-bottom p:not(.overline){font-size:11px}.viewer-info{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card-photo img{transition:none}}

/* Animation solaire : lecture en boucle, responsive */
.card-photo video{height:100%;width:100%;object-fit:contain;pointer-events:none;background:#08080a}
.card-photo .video-tag{position:absolute;bottom:12px;left:12px;background:#0c1117d9;color:#eedcc1;border:1px solid #84785c77;padding:6px 9px;font-size:9px;letter-spacing:.14em;pointer-events:none}
.viewer-stage video{height:100%;width:calc(100% - 110px);object-fit:contain;background:#000}
.viewer-stage [hidden]{display:none!important}
@media(max-width:640px){.viewer-stage video{width:calc(100% - 74px)}}
@media(prefers-reduced-motion:reduce){.card-photo video{animation:none}}
