:root{--ink:#141414;--paper:#fff;--muted:#8c8c8c;--line:#e7e7e7;--header:82px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Rajdhani,Arial,sans-serif;font-size:17px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{display:block;max-width:100%}.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:var(--header);display:flex;align-items:center;padding:0 4.5vw;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.55),transparent);transition:.45s ease}.site-header.scrolled{height:68px;background:rgba(15,15,15,.96);box-shadow:0 2px 20px #0002}.brand{display:flex;flex-direction:column;line-height:.8;letter-spacing:.12em;font-weight:700;font-size:23px}.brand small{font-size:8px;letter-spacing:.48em;margin-top:7px}.site-header nav{position:absolute;left:50%;transform:translateX(-50%);display:flex;height:100%;align-items:center;gap:34px}.site-header nav a{position:relative;text-transform:uppercase;font-weight:600;font-size:14px;letter-spacing:.1em}.site-header nav a:after{content:"";position:absolute;bottom:-8px;left:50%;width:0;height:2px;background:#fff;transition:.3s}.site-header nav a:hover:after{left:0;width:100%}.social{margin-left:auto;display:flex;gap:16px;font-weight:700}.menu-toggle{display:none;margin-left:auto;border:0;background:none}.hero-slider{height:100vh;min-height:540px;background:#080808;overflow:hidden;position:relative}.hero-slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.05);transition:opacity .8s ease,transform 1.4s ease;pointer-events:none}.hero-slide.active{opacity:1;transform:scale(1);pointer-events:auto}.hero-slide img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter 1s,transform 8s ease}.hero-slide.active img{transform:scale(1.035)}.hero-slide:hover img{filter:grayscale(0)}.hero-slide figcaption{display:none}.slider-arrow{position:absolute;z-index:3;top:50%;translate:0 -50%;width:64px;height:80px;border:0;color:#fff;background:#0002;font-size:48px;font-weight:200;cursor:pointer;transition:.3s}.slider-arrow:hover{background:#0008}.slider-arrow.prev{left:0}.slider-arrow.next{right:0}.slider-dots{position:absolute;z-index:3;bottom:25px;left:50%;translate:-50%;display:flex;gap:9px}.slider-dots button{width:8px;height:8px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent}.slider-dots button.active{background:#fff}.page-head{padding:150px 5vw 55px;text-align:center}.page-head p,.eyebrow,.album-hero>div>p{letter-spacing:.35em;font-weight:600;font-size:13px;color:#999}.page-head h1,.album-hero h1{font-size:clamp(46px,7vw,92px);line-height:.9;margin:12px 0;font-weight:300}.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:0 5vw 35px}.filters button{border:0;background:none;padding:8px 14px;text-transform:uppercase;letter-spacing:.13em;font-size:12px;cursor:pointer;color:#888}.filters button.active,.filters button:hover{color:#111}.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.album-card{position:relative;overflow:hidden;aspect-ratio:16/10;color:white}.album-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.album-card .shade{position:absolute;inset:0;background:#000;opacity:.06;transition:.45s}.album-card>div{position:absolute;z-index:2;left:8%;right:8%;bottom:8%;opacity:0;transform:translateY(16px);transition:.45s}.album-card small{font-size:12px;text-transform:uppercase;letter-spacing:.18em}.album-card h2{font-size:28px;margin:3px 0;font-weight:500}.album-card .plus{position:absolute;z-index:2;top:50%;left:50%;translate:-50% -50%;font-size:42px;font-weight:200;opacity:0;transition:.4s}.album-card:hover img{transform:scale(1.07)}.album-card:hover .shade{opacity:.68}.album-card:hover>div,.album-card:hover .plus{opacity:1;transform:none}.album-card[hidden]{display:none}.album-hero{min-height:45vh;padding:150px 6vw 65px;display:flex;align-items:flex-end;background:#121212;color:#fff}.album-hero .description{max-width:650px;color:#bbb}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;background:#fff}.photo-tile{border:0;padding:0;overflow:hidden;background:#111;cursor:zoom-in;aspect-ratio:4/3}.photo-tile img{width:100%;height:100%;object-fit:cover;transition:transform .65s,filter .45s}.photo-tile:hover img{transform:scale(1.045);filter:brightness(.7)}.lightbox{position:fixed;z-index:100;inset:0;background:#080808f7;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.4s}.lightbox.open{opacity:1;visibility:visible}.lightbox img{max-width:90vw;max-height:88vh;object-fit:contain}.lightbox button{position:absolute;color:white;background:none;border:0;font-size:48px;cursor:pointer}.lightbox-close{right:25px;top:15px}.lightbox-prev{left:25px}.lightbox-next{right:25px}.lightbox-count{position:absolute;bottom:20px;color:#aaa}.split-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.split-photo{min-height:650px;background:center/cover no-repeat url('https://cyrilphotographie.com/wp-content/uploads/2022/11/DSC8908-scaled.jpg');filter:grayscale(1)}.split-copy{padding:150px 9vw 90px;display:flex;flex-direction:column;justify-content:center}.split-copy h1{font-size:clamp(45px,6vw,82px);font-weight:300;line-height:1;margin:10px 0 40px}.split-copy h2{font-size:23px;line-height:1.55;font-weight:400}.split-copy p{line-height:1.8;color:#666}.typing:after{content:'|';animation:blink .75s infinite}.line-link{display:inline-flex;gap:35px;align-items:center;margin-top:25px;text-transform:uppercase;font-size:14px;letter-spacing:.15em;font-weight:600}.line-link span{font-size:26px;transition:.3s}.line-link:hover span{transform:translateX(8px)}.contact-page{min-height:100vh;padding:150px 9vw 100px;display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:#f6f6f4}.contact-intro h1{font-size:clamp(48px,6vw,82px);font-weight:300;line-height:1;margin:18px 0 35px}.contact-intro>p:not(.eyebrow){max-width:440px;line-height:1.7;color:#666}.contact-social{display:flex;gap:30px;margin-top:45px;text-transform:uppercase;font-size:13px;letter-spacing:.13em}.contact-form label{display:block;margin-bottom:25px;text-transform:uppercase;font-size:12px;letter-spacing:.15em;color:#777}.contact-form input,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #bbb;background:transparent;padding:12px 0;outline:none;color:#111;text-transform:none;letter-spacing:normal}.contact-form input:focus,.contact-form textarea:focus{border-color:#111}.submit{border:0;background:#111;color:#fff;padding:17px 25px;letter-spacing:.12em;text-transform:uppercase;font-size:12px;cursor:pointer}.submit span{margin-left:30px}.notice{padding:12px;background:#fff}.notice.success{border-left:3px solid #4d9}.notice.error{border-left:3px solid #d55}.site-footer{text-align:center;padding:65px 20px;background:#111;color:white}.footer-mark{display:flex;flex-direction:column;font-size:26px;font-weight:700}.footer-mark small{font-size:8px;letter-spacing:.4em}.site-footer p{font-size:12px;color:#777}.empty-state{min-height:80vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:120px 20px}.empty-state h1{font-size:clamp(35px,6vw,70px);font-weight:300}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@keyframes blink{50%{opacity:0}}@media(max-width:900px){:root{--header:68px}.site-header{padding:0 22px}.site-header nav{position:fixed;inset:0;transform:none;background:#111;flex-direction:column;justify-content:center;gap:28px;opacity:0;visibility:hidden;transition:.4s}.site-header nav.open{opacity:1;visibility:visible}.site-header nav a{font-size:24px}.menu-toggle{display:block;z-index:2;color:white}.menu-toggle i{display:block;width:25px;height:2px;background:white;margin:5px}.social{display:none}.album-grid{grid-template-columns:repeat(2,1fr)}.photo-grid{grid-template-columns:repeat(2,1fr)}.split-page{grid-template-columns:1fr}.split-photo{min-height:60vh}.split-copy{padding:70px 8vw}.contact-page{grid-template-columns:1fr;padding:120px 7vw 70px}.contact-form{margin-top:30px}}@media(max-width:560px){.album-grid{grid-template-columns:1fr}.album-card{aspect-ratio:4/3}.photo-grid{grid-template-columns:1fr}.slider-arrow{width:42px}.page-head{padding-top:115px}.album-hero{min-height:38vh;padding-top:120px}}

