@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
:root{--navy:#101a2b;--blue:#2f80ed;--paper:#f5f7fa;--line:#dde3eb;--text:#293241;--muted:#748094;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}
nav{position:fixed;z-index:20;inset:0 0 auto;height:70px;padding:0 3vw;background:#0d1727f5;border-bottom:1px solid #ffffff18;display:flex;align-items:center;justify-content:space-between;color:#fff}.brand{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.14em}.brand>b{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--blue);font-size:18px}.brand>span{display:flex;flex-direction:column}.brand small{font-size:8px;color:#95a8c5;letter-spacing:.25em;margin-top:3px}.nav-links{display:flex;align-items:center;gap:25px;font-size:10px;letter-spacing:.09em;text-transform:uppercase}.nav-links a{color:#c8d3e3}.nav-links a:hover{color:#fff}.contact{background:var(--blue);padding:11px 16px;border-radius:6px;color:#fff!important}
.hero{--hero-shift:0px;position:relative;isolation:isolate;min-height:510px;overflow:hidden;display:flex;align-items:center;margin-top:70px;background:#111820}.hero::before{content:"";position:absolute;z-index:-2;inset:-8% -3%;background:url('images/eclipse.jpg') center 46%/cover no-repeat;transform:translate3d(0,var(--hero-shift),0) scale(1.055);transform-origin:center;filter:contrast(1.13) saturate(1.09) brightness(1.04);will-change:transform;backface-visibility:hidden}.shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#0a1325e8,#0b142998 56%,#08101b20),linear-gradient(0deg,#0a1426aa,transparent 55%)}.hero-text{position:relative;z-index:1;max-width:820px;margin:35px 7vw 0;color:#fff}.label{font-size:9px;letter-spacing:.22em;color:var(--blue);font-weight:700}.hero .label{color:#9bc8ff}h1,h2,blockquote{font-family:'Playfair Display',Georgia,serif;font-weight:500}h1{font-size:clamp(48px,6.2vw,82px);line-height:.95;letter-spacing:-.025em;margin:18px 0}h1 em{color:#ffbd77}.intro{max-width:540px;font-size:17px;line-height:1.6;color:#d5dfed}.discover{display:inline-block;margin-top:18px;padding:12px 16px;border-radius:6px;background:#fff;color:#17243a;font-size:9px;font-weight:700;letter-spacing:.15em}
.gallery{padding:34px 4vw 100px;background:var(--paper);min-height:850px}.breadcrumb{max-width:1500px;margin:0 auto 28px;color:#8b96a8;font-size:9px;letter-spacing:.1em}.breadcrumb span{margin:0 9px;color:#b3bbc7}.gallery-head{max-width:1500px;margin:0 auto 27px;display:flex;align-items:end;justify-content:space-between;gap:35px}.gallery-head h2{font-size:44px;margin:5px 0 3px;color:#1e2b3d}.gallery-copy{margin:0;color:var(--muted);font-size:13px}.gallery-tools{display:flex;align-items:center;width:min(430px,100%);height:44px;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 2px 9px #14223a0a}.gallery-tools label{padding:0 12px;font-size:21px;color:#8591a3}.gallery-tools input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text);font-size:12px}.gallery-tools span{padding:0 13px;color:var(--muted);font-size:10px;white-space:nowrap;border-left:1px solid var(--line)}
.filters{position:sticky;top:91px;float:left;width:230px;margin:0 25px 30px max(0px,calc((100% - 1500px)/2));padding:14px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 5px 20px #17243a0b;display:flex;flex-direction:column;gap:4px}.filter-title{padding:8px 10px 12px;color:#9aa4b2;font-size:9px;font-weight:700;letter-spacing:.18em}.filters button{display:flex;align-items:center;gap:11px;width:100%;border:0;border-radius:6px;background:transparent;color:#596579;padding:11px 10px;cursor:pointer;text-align:left;font-size:11px;transition:.18s}.filters button i{width:22px;font-style:normal;text-align:center;font-size:16px;color:#8592a6}.filters button:hover{background:#f1f5fa;color:#26364c}.filters button.active{background:#e9f2ff;color:#176bd3;font-weight:600}.filters button.active i{color:#176bd3}.filter-note{margin:12px 10px 5px;padding-top:15px;border-top:1px solid var(--line);color:#9aa4b2;font-size:9px;line-height:1.5}
.photo-grid{max-width:1245px;margin-left:calc(max(0px,(100% - 1500px)/2) + 255px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;min-height:350px}.photo{position:relative;aspect-ratio:4/3;border:0;border-radius:7px;padding:0;overflow:hidden;background:#dce2ea;color:#fff;text-align:left;cursor:pointer;box-shadow:0 2px 9px #17243a16;transition:transform .2s,box-shadow .2s}.photo.large,.photo.tall,.photo.wide{grid-column:auto;grid-row:auto}.photo:hover{transform:translateY(-3px);box-shadow:0 8px 24px #17243a28}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.photo:hover img{transform:scale(1.04)}.photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#07111dcc);pointer-events:none}.photo>span{position:absolute;z-index:2;left:14px;right:12px;bottom:12px;display:flex;flex-direction:column;gap:3px}.photo small{font-size:7px;letter-spacing:.12em;color:#b9d8ff;text-transform:uppercase}.photo strong{font-size:12px;line-height:1.25;font-weight:600}.photo i{font-size:10px;color:#d4dce8}.photo.placeholder{cursor:default;background:linear-gradient(135deg,#243b56,#556f8c)}.photo.placeholder:before{content:"⌂";position:absolute;right:10%;top:0;font-size:120px;color:#ffffff10}.photo.hidden{display:none}
.about{clear:both;min-height:430px;padding:85px 9vw;background:var(--navy);color:#fff;display:grid;grid-template-columns:1.25fr .75fr;gap:9vw;align-items:center}.about blockquote{font-size:clamp(38px,4.5vw,62px);line-height:1.05;margin:0}.about blockquote em{color:#ffb66e}.about>div>p:nth-child(2){font:16px/1.7 Georgia,serif;color:#bcc8d8}.about a{display:inline-block;margin-top:18px;padding:11px 14px;border-radius:5px;background:var(--blue);font-size:9px;letter-spacing:.12em}footer{min-height:95px;background:#0b1423;border-top:1px solid #ffffff12;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding:25px 5vw;color:#8795aa;font-size:8px;letter-spacing:.1em}
.lightbox{width:min(95vw,1500px);max-height:94vh;border:0;border-radius:8px;padding:0;background:#080d15;color:#fff;box-shadow:0 25px 90px #000c}.lightbox::backdrop{background:#04070ce9}.lightbox img{display:block;width:100%;max-height:85vh;object-fit:contain;background:#05080d}.lightbox p{margin:0;padding:14px 20px;font-size:13px}.lightbox .close{position:absolute;z-index:3;top:12px;right:14px;width:38px;height:38px;border:1px solid #ffffff70;border-radius:50%;background:#09101bc8;color:#fff;font-size:25px;line-height:1;cursor:pointer}
@media(max-width:1150px){.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filters{width:210px}.photo-grid{margin-left:235px}.nav-links{gap:15px}}
@media(max-width:820px){nav{height:64px}.nav-links>a:not(.contact){display:none}.hero{margin-top:64px;min-height:440px}.gallery-head{display:block}.gallery-tools{margin-top:20px}.filters{position:static;float:none;width:auto;max-width:1500px;margin:0 auto 22px;flex-direction:row;overflow-x:auto;padding:8px}.filter-title,.filter-note{display:none}.filters button{width:auto;white-space:nowrap}.photo-grid{margin:0;grid-template-columns:repeat(2,minmax(0,1fr))}.about{display:block}.about>div{margin-top:55px}}
@media(max-width:540px){nav{padding:0 15px}.brand{font-size:10px}.brand>b{width:30px;height:30px}.contact{padding:9px 11px}.hero-text{margin:20px 20px 0}.hero{min-height:420px}.hero-text h1{font-size:45px}.gallery{padding:28px 13px 70px}.gallery-head h2{font-size:38px}.photo-grid{gap:8px}.photo{aspect-ratio:1/1}.photo>span{left:10px;bottom:9px}.photo strong{font-size:10px}.photo small{font-size:6px}.about{padding:75px 22px}footer{flex-direction:column;text-align:center;padding:30px 15px}}
.photo>span.share-facebook{position:absolute;z-index:4;inset:9px 9px auto auto;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#1877f2e8;color:#fff;font-size:15px;font-weight:700;box-shadow:0 2px 8px #0004;opacity:.9}.photo>span.share-facebook:hover,.photo>span.share-facebook:focus{opacity:1;transform:scale(1.07);outline:2px solid #fff}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 14px 10px 20px}.lightbox-bar p{padding:0}.lightbox-bar a{padding:10px 14px;border-radius:5px;background:#1877f2;color:#fff;font-size:10px;font-weight:600;white-space:nowrap}@media(max-width:540px){.photo>span.share-facebook{inset:6px 6px auto auto;width:27px;height:27px}.lightbox-bar{align-items:flex-start;flex-direction:column}.lightbox-bar a{width:100%;text-align:center}}
.photo>span.photo-watermark{position:absolute;z-index:3;left:12px;right:auto;bottom:48px;display:block;transform:none;padding:3px 5px;border-radius:3px;background:#0004;color:#ffffffa6;text-shadow:0 1px 2px #000b;font-size:7px;font-weight:600;letter-spacing:.07em;white-space:nowrap;pointer-events:none}.photo>span.photo-rating{position:absolute;z-index:5;inset:9px auto auto 9px;display:flex;flex-direction:row;gap:1px;width:auto}.rating-star{color:#ffffff8c;font-size:16px;line-height:30px;text-shadow:0 1px 3px #000c;cursor:pointer;transition:color .15s,transform .15s}.rating-star:hover,.rating-star:focus,.rating-star.selected{color:#ffd45a}.rating-star:hover,.rating-star:focus{transform:scale(1.18);outline:none}.lightbox-watermark{position:absolute;z-index:2;left:18px;bottom:70px;transform:none;padding:4px 7px;border-radius:3px;background:#0005;color:#ffffffa0;text-shadow:0 1px 3px #000d;font-size:9px;font-weight:600;letter-spacing:.08em;white-space:nowrap;pointer-events:none}@media(max-width:540px){.photo>span.photo-rating{inset:5px auto auto 6px}.rating-star{font-size:13px;line-height:27px}.photo>span.photo-watermark{left:8px;bottom:42px;font-size:5px}.lightbox-watermark{left:10px;bottom:96px;font-size:7px}}
.visit-counter{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #ffffff1d;border-radius:5px;background:#ffffff08;color:#aebbd0;font-weight:600;white-space:nowrap}
.lightbox-info{display:flex;flex-direction:column;gap:5px;min-width:0}.lightbox-rating{display:flex;gap:3px;width:max-content}.lightbox-rating .rating-star{font-size:21px;line-height:24px}.lightbox-rating .rating-star:not(.selected){color:#ffffff61}@media(max-width:540px){.lightbox-rating .rating-star{font-size:23px;line-height:27px}}
.privacy{clear:both;padding:75px 9vw;background:#f8fafc;border-top:1px solid var(--line)}.privacy>div:first-child{max-width:1500px;margin:0 auto 30px}.privacy h2{margin:6px 0;font-size:40px;color:#1e2b3d}.privacy-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.privacy article{padding:22px;border:1px solid var(--line);border-radius:8px;background:#fff}.privacy h3{margin:0 0 10px;font-size:13px;color:#213047}.privacy article p{margin:0;color:#68758a;font-size:11px;line-height:1.7}.privacy article a{color:#176bd3;text-decoration:underline}.privacy-date{max-width:1500px;margin:22px auto 0;color:#8b96a8;font-size:9px}@media(max-width:900px){.privacy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.privacy{padding:58px 18px}.privacy h2{font-size:34px}.privacy-grid{grid-template-columns:1fr}}
.photo>span.photo-watermark,.lightbox-watermark{display:flex;align-items:center;gap:5px}.photo>span.photo-watermark img{display:block;width:22px;height:22px;object-fit:cover;border-radius:50%;opacity:.65;filter:grayscale(1);transform:none}.lightbox-watermark img{display:block;width:34px;height:34px;max-height:none;object-fit:cover;border-radius:50%;background:#fff;opacity:.65;filter:grayscale(1)}@media(max-width:540px){.photo>span.photo-watermark img{width:17px;height:17px}.lightbox-watermark img{width:26px;height:26px}}
@media(max-width:700px){.hero::before{inset:-6% -5%;transform:translate3d(0,var(--hero-shift),0) scale(1.04);filter:contrast(1.1) saturate(1.06) brightness(1.03)}}@media(prefers-reduced-motion:reduce){.hero::before{transform:scale(1.04);will-change:auto}}
footer,footer a,footer .visit-counter{color:#fff}
.contact-section{clear:both;padding:80px 9vw;background:#eef3f8;display:grid;grid-template-columns:minmax(260px,.75fr) minmax(420px,1.25fr);gap:8vw;align-items:start}.contact-intro h2{margin:7px 0 15px;font-size:44px;color:#1e2b3d}.contact-intro>p:last-child{max-width:480px;color:#68758a;font-size:13px;line-height:1.7}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:25px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 30px #17243a10}.contact-form label{display:flex;flex-direction:column;gap:8px;color:#536176;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;border:1px solid #d7dee8;border-radius:6px;background:#f9fbfd;color:#213047;padding:12px;outline:none;font:13px/1.4 Inter,Arial,sans-serif;text-transform:none;letter-spacing:normal;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:#2f80ed;box-shadow:0 0 0 3px #2f80ed18}.contact-full{grid-column:1/-1}.contact-actions{display:flex;align-items:center;flex-direction:row!important;gap:15px!important}.contact-actions button{flex:none;border:0;border-radius:6px;background:#2f80ed;color:#fff;padding:13px 18px;cursor:pointer;font-size:9px;font-weight:700;letter-spacing:.13em}.contact-actions button:hover{background:#176bd3}.contact-actions small{color:#8490a2;font-size:9px;font-weight:400;line-height:1.5;letter-spacing:normal;text-transform:none}@media(max-width:800px){.contact-section{grid-template-columns:1fr;padding:65px 5vw}.contact-form{grid-template-columns:1fr}.contact-form label,.contact-full{grid-column:1}.contact-actions{align-items:flex-start;flex-direction:column!important}}@media(max-width:540px){.contact-section{padding:55px 16px}.contact-intro h2{font-size:36px}.contact-form{padding:18px}}
.album-overview{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.album-folder{position:relative;aspect-ratio:16/10;overflow:hidden;border:0;border-radius:10px;padding:0;background:#15243a;color:#fff;cursor:pointer;text-align:left;box-shadow:0 5px 20px #17243a1b;transition:transform .2s,box-shadow .2s}.album-folder::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,#07111ee8 0,#07111e25 65%)}.album-folder::after{content:"DOSSIER";position:absolute;z-index:2;top:13px;left:13px;padding:6px 8px;border-radius:4px;background:#2f80ede8;color:#fff;font-size:7px;font-weight:700;letter-spacing:.15em}.album-folder:hover,.album-folder:focus-visible{transform:translateY(-4px);box-shadow:0 12px 30px #17243a2e;outline:3px solid #2f80ed55}.album-folder img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.album-folder:hover img{transform:scale(1.045)}.album-folder>span{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;display:flex;align-items:end;justify-content:space-between;gap:12px}.album-folder strong{font:500 24px/1.05 'Playfair Display',Georgia,serif}.album-folder small{color:#b9d8ff;font-size:8px;letter-spacing:.08em;white-space:nowrap}.album-back{margin-left:auto;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#31506f;padding:11px 14px;cursor:pointer;font-size:8px;font-weight:700;letter-spacing:.1em}.album-back:hover{border-color:#2f80ed;color:#176bd3}[hidden]{display:none!important}@media(max-width:900px){.album-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.album-overview{grid-template-columns:1fr;gap:12px}.album-folder strong{font-size:22px}.album-back{width:100%;margin:12px 0 0}.gallery-head:has(.album-back:not([hidden])){align-items:stretch;flex-direction:column}}
.hero h1 em{display:inline-block;margin-top:13px;color:#ff9a3d;font:500 .38em/1.1 Inter,Arial,sans-serif;font-style:normal;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 4px #0008}
