
:root{--ink:#061820;--muted:#64777b;--paper:#d7eef1;--line:#dce4df;--ocean:#06313d;--deep:#03151d;--cyan:#31d6c8;--blue:#1673bd;--yellow:#ffcf45;--lime:#d7f66d;--card:rgba(231,248,249,.74);--glass:rgba(255,255,255,.72);--shadow:0 24px 70px rgba(3,21,29,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.62 -apple-system,BlinkMacSystemFont,'Segoe UI',Inter,Arial,sans-serif;text-rendering:optimizeLegibility}body:before{content:'';position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 20% 0%,rgba(49,214,200,.16),transparent 34%),linear-gradient(180deg,#d9f4f5 0%,#c9ebef 50%,#d7eef1 100%)}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}img{max-width:100%}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.skip{position:fixed;left:12px;top:-90px;background:rgba(226,247,248,.78);padding:10px 12px;z-index:100;border-radius:6px}.skip:focus{top:12px}header{height:86px;padding:0 clamp(18px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:28px;position:sticky;top:0;z-index:40;background:rgba(204,237,241,.78);backdrop-filter:blur(22px) saturate(1.25);border-top:3px solid var(--blue);border-bottom:1px solid rgba(8,45,55,.1)}header:after{content:'';position:absolute;left:0;top:0;width:min(220px,28vw);height:3px;background:var(--yellow)}.brand{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;font-size:22px;font-weight:850;letter-spacing:1.8px;line-height:1}.brand-icon{grid-row:1/3;color:var(--cyan);font-size:26px;text-shadow:0 0 24px rgba(49,214,200,.45)}.brand-sub{grid-column:2;font-size:8px;letter-spacing:3.4px;margin-top:7px;color:#45656b}nav{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}nav a{padding:10px 12px;border-radius:8px;color:#153942;transition:background .22s,color .22s,transform .22s}nav a:hover,nav a[aria-current]{background:#bfe7eb;color:#006d79;transform:translateY(-1px)}.nav-search{border:1px solid rgba(5,54,65,.14)}.menu-toggle{display:none;border:1px solid rgba(5,54,65,.22);background:rgba(226,247,248,.78);border-radius:8px;width:44px;height:40px}.languages{display:flex;gap:3px;margin-left:8px;padding:3px;border:1px solid rgba(5,54,65,.12);border-radius:8px;background:rgba(255,255,255,.55)}.languages button{border:0;background:transparent;padding:6px 8px;border-radius:6px;font-size:11px;font-weight:750;color:#12353d}.languages button[aria-pressed=true]{background:var(--deep);color:white}.hero{min-height:680px;height:calc(100vh - 86px);max-height:900px;position:relative;overflow:hidden;color:white;background:linear-gradient(90deg,rgba(2,18,27,.92),rgba(4,43,52,.58) 54%,rgba(0,47,60,.2)),var(--hero) center/cover;display:flex;align-items:center;padding:74px clamp(22px,8vw,120px) 118px}.hero:after{content:'';position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(0deg,rgba(3,21,29,.86),transparent)}.hero-shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 42%,rgba(255,255,255,.14) 48%,transparent 56%);transform:translateX(-70%);animation:shine 9s ease-in-out infinite}.hero-inner{position:relative;z-index:1;max-width:1080px}.eyebrow{margin:0 0 14px;font-size:11px;letter-spacing:2.6px;font-weight:850;text-transform:uppercase;color:#0f6b73}.hero .eyebrow{color:#dff7f4}.hero h1{font-size:clamp(44px,7vw,104px);line-height:.99;letter-spacing:0;font-weight:720;max-width:1000px;margin:20px 0 26px}.hero h1 em{font-style:normal;color:#a9fff4}.hero-copy{font-size:clamp(17px,2.1vw,23px);color:#e9f7f4;margin:0 0 34px;max-width:760px}.actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 20px;border-radius:8px;font-weight:800;font-size:14px;transition:transform .22s,box-shadow .22s,background .22s}.button{background:var(--lime);color:#0a2b2a;box-shadow:0 16px 34px rgba(215,246,109,.18)}.button.dark{background:var(--deep);color:white}.ghost-button{border:1px solid rgba(255,255,255,.35);color:white;background:rgba(255,255,255,.08);backdrop-filter:blur(14px)}.button:hover,.ghost-button:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(3,21,29,.2)}.hero-metrics{position:absolute;z-index:2;left:clamp(22px,8vw,120px);right:clamp(22px,8vw,120px);bottom:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.hero-metrics div{padding:17px 20px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.12);backdrop-filter:blur(18px)}.hero-metrics strong{display:block;font-size:26px;line-height:1}.hero-metrics span{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#d4e6e3}.scroll-cue{position:absolute;right:clamp(22px,8vw,120px);bottom:112px;z-index:2;color:#d5e7e4;font-size:12px;letter-spacing:1px}.intro,.archive-cta,.gallery-all{padding:90px clamp(22px,8vw,110px)}.split-band{background:linear-gradient(180deg,#dff5f1,#c9ebef)}.section-title,.catalog-head{display:flex;justify-content:space-between;gap:38px;align-items:end;margin-bottom:36px}.section-title h2,.catalog-head h2,.feature h2,.archive-cta h2,.stage-copy h2{font-size:clamp(30px,4.6vw,58px);line-height:1.08;letter-spacing:0;margin:0;font-weight:720}.section-title p,.feature p,.archive-cta p,.stage-copy p,.page-head p{color:var(--muted);max-width:470px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{display:block;padding:12px;border:1px solid rgba(6,49,61,.1);border-radius:8px;background:rgba(255,255,255,.72);box-shadow:0 12px 34px rgba(3,21,29,.06);transition:transform .28s,box-shadow .28s,background .28s}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);background:rgba(234,251,251,.88)}.card-image{height:300px;border-radius:6px;overflow:hidden;background:#dbe5e1;position:relative}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.card:hover img{transform:scale(1.055)}.card-image span{position:absolute;top:14px;left:14px;color:white;background:rgba(3,21,29,.62);backdrop-filter:blur(12px);border-radius:8px;padding:6px 10px;font-size:12px}.card h3{font-size:23px;margin:18px 6px 6px;line-height:1.2}.card p{margin:0 6px 8px;color:var(--muted);font-size:14px}.feature{margin:0 clamp(22px,8vw,110px) 84px;display:grid;grid-template-columns:1.15fr .85fr;background:#d1eef2;border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}.feature>img{width:100%;height:100%;min-height:480px;object-fit:cover}.feature>div{padding:clamp(30px,5vw,70px);align-self:center}.archive-cta{text-align:center;background:linear-gradient(180deg,#c9ebef,#dff5f1)}.archive-cta p{margin:16px auto 24px}.page-head{padding:72px clamp(22px,8vw,110px) 44px;border-bottom:1px solid var(--line)}.page-head>a{display:inline-block;margin-bottom:22px;color:#557275;font-size:13px}.page-head>span{display:block;margin-bottom:12px;font-size:11px;letter-spacing:2px;color:#57777b;text-transform:uppercase;font-weight:850}.page-head h1{font-size:clamp(34px,5vw,70px);line-height:1.06;letter-spacing:0;margin:0 0 18px;font-weight:760}.article{max-width:1060px;margin:50px auto;padding:0 32px 70px}.article h1,.article h2,.article h3{line-height:1.24;letter-spacing:0}.article h1,.article h2{font-size:32px}.article h3{font-size:24px}.article p{margin:20px 0}.article a{color:#007982;text-decoration:underline;text-underline-offset:3px}.article img{max-width:100%;height:auto;border-radius:8px;cursor:zoom-in;margin:6px}.article table{display:block;max-width:100%;overflow:auto;border-collapse:collapse}.article td,.article th{padding:12px;border:1px solid #cad9d4}.translation-note{font-size:12px;color:#6c8184;margin:0 clamp(22px,8vw,110px) 18px}.gallery-head{background:linear-gradient(180deg,#d7eef1,#ccebf0)}.gallery-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.gallery-filter{border:1px solid rgba(6,49,61,.12);background:rgba(226,247,248,.78);border-radius:8px;padding:10px 12px;display:flex;gap:10px;align-items:center;transition:transform .2s,background .2s,color .2s}.gallery-filter strong{font-size:12px;color:#6c7b7e}.gallery-filter.active{background:var(--deep);color:white}.gallery-filter.active strong{color:#b9d0d2}.gallery-stage{padding:54px clamp(22px,8vw,110px);display:grid;grid-template-columns:minmax(240px,.35fr) minmax(0,1fr);gap:28px;align-items:center;background:#061820;color:white}.gallery-stage .eyebrow{color:#8ff3e8}.gallery-stage p{color:#bdd2d4}.carousel{position:relative;min-width:0}.carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,34%);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 18px}.carousel-track::-webkit-scrollbar{display:none}.gallery-slide{height:340px;position:relative;scroll-snap-align:start;border-radius:8px;overflow:hidden;background:#12333b}.gallery-slide img,.catalog-card img,.photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.gallery-slide:hover img,.catalog-card:hover img,.photo-grid .photo:hover img{transform:scale(1.055)}.gallery-slide span{position:absolute;left:14px;bottom:14px;background:rgba(3,21,29,.72);color:white;border-radius:8px;padding:7px 10px;font-size:12px}.carousel-btn{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.18);color:white;font-size:28px;backdrop-filter:blur(12px)}.carousel-btn.prev{left:-12px}.carousel-btn.next{right:-12px}.catalog{padding:60px clamp(22px,8vw,110px);border-bottom:1px solid var(--line)}.catalog:nth-of-type(even){background:rgba(255,255,255,.44)}.catalog-head span{color:#64777b;font-weight:750}.catalog-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,260px);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px}.catalog-card{height:190px;border-radius:8px;overflow:hidden;background:#dce6e2;scroll-snap-align:start;box-shadow:0 12px 28px rgba(3,21,29,.08)}.photo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.photo-grid .photo{height:210px;border-radius:8px;overflow:hidden;background:#dce6e2;transition:opacity .22s,transform .22s}.photo-grid .photo.is-hidden{display:none}dialog{border:0;background:#03151d;max-width:96vw;width:1220px;height:90vh;padding:48px 64px 55px;color:white;overflow:hidden;border-radius:8px}dialog::backdrop{background:rgba(1,10,14,.88)}dialog img{width:100%;height:100%;object-fit:contain}dialog button{position:absolute;color:white;background:rgba(61,90,98,.72);border:0;width:42px;height:42px;border-radius:50%;font-size:30px}dialog .close{right:14px;top:12px}dialog .prev{left:12px;top:48%}dialog .next{right:12px;top:48%}.counter{position:absolute;bottom:6px;text-align:center;left:0;right:0;font-size:12px;color:#c9dadd}.search-label{display:block;font-size:13px;margin-top:35px}#search{width:100%;max-width:720px;padding:17px 20px;border:1px solid #a5bcb3;background:rgba(226,247,248,.78);border-radius:8px;margin-top:10px}.library-list{padding:20px clamp(22px,8vw,110px) 80px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.result{border:1px solid #d4dfd8;border-radius:8px;padding:24px;background:rgba(226,247,248,.78);display:block}.result:hover{border-color:#00818a}.result h3{font-size:20px;line-height:1.35;margin:0 0 10px}.result p{font-size:13px;color:#65777a;margin:0}.empty{padding:30px}footer{padding:62px clamp(22px,8vw,110px) 28px;background:var(--deep);color:#dce9e9}footer .brand{color:white;display:inline-grid}footer p{font-size:13px}footer>div{display:flex;gap:22px;flex-wrap:wrap;margin:30px 0}footer a:hover{color:var(--lime)}footer small{display:block;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);color:#9eb4b7;font-size:11px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .72s ease,transform .72s ease}.reveal.is-visible{opacity:1;transform:none}@keyframes shine{0%,55%{transform:translateX(-78%)}75%,100%{transform:translateX(78%)}}
@media(max-width:1120px){header{padding:0 24px}nav{gap:2px;font-size:12px}.cards{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:repeat(4,1fr)}.gallery-stage{grid-template-columns:1fr}.carousel-track{grid-auto-columns:minmax(260px,42%)}}
@media(max-width:820px){html{scroll-padding-top:80px}header{height:78px}.brand{font-size:19px}.brand-sub{font-size:7px}.menu-toggle{display:block;order:2}nav{position:fixed;left:0;right:0;top:78px;display:grid;gap:0;padding:18px 22px 28px;background:#d7eef1;backdrop-filter:blur(20px);border-bottom:1px solid var(--line);transform:translateY(-125%);transition:transform .28s ease;box-shadow:0 28px 70px rgba(3,21,29,.2)}nav.open{transform:translateY(0)}nav a{padding:14px 4px;border-radius:0}.languages{margin-left:auto}.hero{min-height:710px;height:auto;padding:92px 22px 170px;background-position:center}.hero h1{font-size:54px}.hero-metrics{left:22px;right:22px;bottom:24px;grid-template-columns:1fr 1fr 1fr}.hero-metrics div{padding:12px}.hero-metrics strong{font-size:20px}.hero-metrics span{font-size:9px}.scroll-cue{display:none}.section-title,.catalog-head{display:block}.cards{grid-template-columns:1fr}.card-image{height:270px}.feature{grid-template-columns:1fr;margin:0 22px 64px}.feature>img{min-height:260px;height:260px}.intro,.archive-cta,.gallery-all,.catalog,.page-head{padding-left:22px;padding-right:22px}.gallery-toolbar{display:grid;grid-template-columns:1fr 1fr;overflow:visible;flex-wrap:initial;padding-bottom:0}.gallery-filter{white-space:normal;justify-content:space-between}.carousel-track{grid-auto-columns:82%;}.gallery-slide{height:300px}.catalog-row{grid-auto-columns:minmax(180px,72%)}.photo-grid{grid-template-columns:repeat(2,1fr);gap:8px}.photo-grid .photo{height:170px}.library-list{grid-template-columns:1fr;padding-left:22px;padding-right:22px}.article{padding:0 22px 55px}.page-head h1{font-size:40px}dialog{width:100vw;height:82vh;padding:44px 34px 48px}.hero .ghost-button{background:rgba(3,21,29,.38)}}
@media(max-width:460px){header{padding:0 14px}.brand{font-size:17px;letter-spacing:1.1px}.brand-sub{letter-spacing:2.2px}.languages button{padding:5px 6px}.hero{padding-top:78px}.hero h1{font-size:44px}.hero-copy{font-size:16px}.hero-metrics{grid-template-columns:1fr;gap:7px}.hero-metrics div{display:flex;justify-content:space-between;align-items:center}.actions{align-items:stretch}.button,.ghost-button{width:100%}.section-title h2,.catalog-head h2,.feature h2,.archive-cta h2,.stage-copy h2{font-size:34px}.gallery-stage{padding-left:18px;padding-right:18px}.carousel-btn{display:none}.photo-grid .photo{height:150px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* Ocean surface theme: removes paper-white backgrounds across restored pages. */
:root{
  --paper:#d7eef1;
  --card:rgba(231,248,249,.74);
  --glass:rgba(218,244,247,.70);
  --line:rgba(17,95,112,.18);
  --muted:#456d75;
  --shadow:0 24px 70px rgba(3,35,48,.16);
}
html,
body{
  background:#d7eef1 !important;
}
body:before{
  background:
    radial-gradient(circle at 12% 4%,rgba(103,232,225,.34),transparent 32%),
    radial-gradient(circle at 82% 12%,rgba(48,145,207,.22),transparent 34%),
    radial-gradient(circle at 50% 84%,rgba(2,89,111,.16),transparent 42%),
    linear-gradient(180deg,#d9f4f5 0%,#c9ebef 42%,#dff5f1 100%) !important;
}
body:after{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    linear-gradient(135deg,rgba(255,255,255,.16) 0 1px,transparent 1px 68px),
    radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.20),transparent 48%);
  opacity:.58;
}
header{
  background:rgba(204,237,241,.78) !important;
  border-bottom-color:rgba(11,83,99,.18) !important;
}
nav a:hover,
nav a[aria-current]{
  background:rgba(157,222,226,.55) !important;
}
.menu-toggle,
.languages,
.skip,
.gallery-filter,
#search,
.result{
  background:rgba(226,247,248,.78) !important;
  border-color:rgba(19,103,119,.20) !important;
  box-shadow:0 12px 32px rgba(3,35,48,.06);
}
.languages button[aria-pressed=true],
.gallery-filter.active{
  background:linear-gradient(135deg,#042631,#07546a) !important;
}
.split-band,
.gallery-head,
.archive-cta{
  background:
    radial-gradient(circle at 18% 12%,rgba(82,210,210,.22),transparent 34%),
    linear-gradient(180deg,rgba(212,242,244,.84),rgba(194,232,238,.82)) !important;
}
.intro,
.catalog,
.gallery-all,
.page-head,
.article,
.translation-note,
.library-list{
  position:relative;
}
.page-head{
  background:
    radial-gradient(circle at 16% 8%,rgba(86,220,215,.20),transparent 30%),
    linear-gradient(180deg,rgba(207,239,243,.82),rgba(205,234,239,.54)) !important;
  border-bottom-color:rgba(17,95,112,.18) !important;
}
.article{
  margin-top:34px !important;
  padding-top:34px !important;
  background:rgba(226,247,248,.42);
  border:1px solid rgba(18,102,118,.13);
  border-radius:18px;
  box-shadow:0 24px 68px rgba(3,35,48,.08);
  backdrop-filter:blur(14px);
}
.article:empty{
  background:transparent;
  border:0;
  box-shadow:none;
}
.card,
.feature,
.result,
.catalog-card,
.photo-grid .photo,
.gallery-slide{
  background:rgba(225,247,248,.72) !important;
  border-color:rgba(19,103,119,.18) !important;
}
.card:hover,
.result:hover{
  background:rgba(234,251,251,.88) !important;
}
.card-image,
.catalog-card,
.photo-grid .photo{
  background:#b9dde3 !important;
}
.feature{
  background:linear-gradient(135deg,rgba(221,246,247,.80),rgba(190,229,237,.72)) !important;
}
.catalog:nth-of-type(even){
  background:rgba(201,235,240,.56) !important;
}
.article td,
.article th{
  background:rgba(226,247,248,.38);
  border-color:rgba(17,95,112,.20) !important;
}
.empty{
  background:rgba(226,247,248,.48);
  border-radius:14px;
}
@media(max-width:820px){
  nav{
    background:rgba(207,239,243,.94) !important;
    border-bottom-color:rgba(17,95,112,.18) !important;
  }
  .article{
    margin-left:14px !important;
    margin-right:14px !important;
    padding-left:18px !important;
    padding-right:18px !important;
    border-radius:16px;
  }
}



.footer-contact{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 0;color:#e8fbfb;font-weight:750}.footer-contact a{color:#d7f66d;text-decoration:none}.footer-contact a:hover{text-decoration:underline;text-underline-offset:4px}

.footer-contact-sep{color:rgba(220,233,233,.55)}

/* === Divinglab gallery masonry and viewer polish === */
body{scroll-behavior:smooth}
.gallery-stage{display:none!important}
.gallery-head{padding-bottom:28px!important}
.gallery-toolbar{position:sticky;top:86px;z-index:11;background:rgba(214,239,242,.72);backdrop-filter:blur(18px);border:1px solid rgba(16,96,112,.16);border-radius:24px;padding:10px;box-shadow:0 18px 46px rgba(3,31,43,.10)}
.catalog{content-visibility:auto;contain-intrinsic-size:820px;padding-top:24px!important}
.catalog-head{margin-bottom:20px!important}
.catalog-row,.photo-grid{display:grid!important;grid-template-columns:repeat(12,1fr)!important;grid-auto-flow:dense;grid-auto-rows:9px;gap:14px;max-height:min(92vh,860px);overflow:hidden;position:relative;transition:max-height .75s cubic-bezier(.2,.8,.2,1)}
.catalog-row:after,.photo-grid:after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;pointer-events:none;background:linear-gradient(180deg,rgba(215,238,241,0),rgba(215,238,241,.92))}
.catalog-row.is-complete,.photo-grid.is-complete{max-height:none}
.catalog-row.is-complete:after,.photo-grid.is-complete:after{display:none}
.catalog-card,.photo-grid .photo{grid-column:span 3;grid-row:span 25;height:auto!important;min-height:190px;border-radius:28px;overflow:hidden;opacity:0;transform:translateY(26px) scale(.985);filter:saturate(.88);pointer-events:none;transition:opacity .55s ease,transform .55s ease,filter .55s ease,box-shadow .35s ease}
.catalog-card.is-gallery-visible,.photo-grid .photo.is-gallery-visible{opacity:1;transform:none;filter:saturate(1);pointer-events:auto}
.catalog-card.is-hidden,.photo-grid .photo.is-hidden{display:none!important}
.catalog-card.masonry-tall,.photo-grid .photo.masonry-tall{grid-row:span 36}
.catalog-card.masonry-wide,.photo-grid .photo.masonry-wide{grid-column:span 5;grid-row:span 28}
.catalog-card.masonry-small,.photo-grid .photo.masonry-small{grid-column:span 2;grid-row:span 20}
.catalog-row.is-compact-gallery,.photo-grid.is-compact-gallery{max-height:none}.catalog-row.is-compact-gallery .catalog-card,.photo-grid.is-compact-gallery .photo{grid-row:span 18;min-height:145px}.catalog-row.is-compact-gallery .catalog-card.masonry-tall,.photo-grid.is-compact-gallery .photo.masonry-tall{grid-row:span 23}.catalog-row.is-compact-gallery .catalog-card.masonry-wide,.photo-grid.is-compact-gallery .photo.masonry-wide{grid-row:span 20}.catalog-row.is-compact-gallery:after,.photo-grid.is-compact-gallery:after{display:none}
.catalog-card img,.photo-grid .photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.catalog-card:hover,.photo-grid .photo:hover{box-shadow:0 24px 70px rgba(2,35,47,.24);z-index:2}
.catalog-card:hover img,.photo-grid .photo:hover img{transform:scale(1.055)}
dialog#viewer{width:min(920px,92vw)!important;height:auto!important;max-height:88vh;padding:28px!important;border:1px solid rgba(151,223,230,.34);border-radius:34px;background:linear-gradient(160deg,rgba(5,34,45,.94),rgba(7,72,88,.90));box-shadow:0 44px 120px rgba(0,18,26,.62);overflow:hidden}
dialog#viewer::backdrop{background:radial-gradient(circle at 50% 18%,rgba(24,160,178,.18),transparent 30%),rgba(0,13,20,.62);backdrop-filter:blur(14px)}
dialog#viewer img{display:block;width:100%;max-height:70vh;object-fit:contain;border-radius:24px;background:rgba(1,20,28,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
dialog#viewer .close,dialog#viewer .prev,dialog#viewer .next,.viewer-tools button{border:1px solid rgba(222,250,250,.25);background:rgba(225,251,252,.14);color:#eefcff;backdrop-filter:blur(16px);box-shadow:0 14px 34px rgba(0,0,0,.18)}
dialog#viewer .close{top:16px;right:16px;width:42px;height:42px;border-radius:999px}
dialog#viewer .prev,dialog#viewer .next{width:44px;height:64px;border-radius:999px;font-size:34px}
dialog#viewer .prev{left:18px}dialog#viewer .next{right:18px}
dialog#viewer .counter{margin:14px 0 0;color:#d8fbff;text-align:center;font-size:14px;letter-spacing:.08em}
.viewer-tools{display:flex;gap:10px;justify-content:center;margin-top:14px}.viewer-tools button{border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer}.is-autoplay .viewer-autoplay,.is-sound .viewer-sound{background:linear-gradient(135deg,#7ee8dd,#2faac3);color:#04313c}
.quick-anchor{position:fixed;right:20px;bottom:22px;z-index:40;display:grid;gap:9px;opacity:0;transform:translateY(16px);pointer-events:none;transition:.25s ease}.quick-anchor.is-visible{opacity:1;transform:none;pointer-events:auto}.quick-anchor a,.quick-anchor button{width:48px;height:48px;border-radius:999px;border:1px solid rgba(217,252,252,.36);background:rgba(5,45,58,.72);color:#eefcff;display:grid;place-items:center;text-decoration:none;font-size:22px;font-weight:900;box-shadow:0 14px 42px rgba(0,25,35,.22);backdrop-filter:blur(18px);cursor:pointer}.quick-anchor a:hover,.quick-anchor button:hover{background:#0b7288;transform:translateY(-2px)}
@media(max-width:980px){.catalog-card,.photo-grid .photo{grid-column:span 4}.catalog-card.masonry-wide,.photo-grid .photo.masonry-wide{grid-column:span 6}.catalog-card.masonry-small,.photo-grid .photo.masonry-small{grid-column:span 3}}
@media(max-width:640px){.gallery-toolbar{top:78px;grid-template-columns:1fr 1fr!important}.catalog-row,.photo-grid{grid-template-columns:repeat(6,1fr)!important;gap:10px;max-height:86vh}.catalog-card,.photo-grid .photo{grid-column:span 3;grid-row:span 22;min-height:150px;border-radius:20px}.catalog-card.masonry-wide,.photo-grid .photo.masonry-wide{grid-column:span 6}.catalog-card.masonry-small,.photo-grid .photo.masonry-small{grid-column:span 3}.catalog-card.masonry-tall,.photo-grid .photo.masonry-tall{grid-row:span 30}dialog#viewer{width:94vw!important;padding:18px!important;border-radius:26px}dialog#viewer img{max-height:62vh}.quick-anchor{right:14px;bottom:14px}.quick-anchor a,.quick-anchor button{width:44px;height:44px}}

/* === Divinglab brand, icons and global photo masonry === */
.brand{grid-template-columns:auto 1fr}.brand-logo{grid-row:1/3;width:34px;height:34px;border-radius:10px;filter:drop-shadow(0 10px 20px rgba(10,151,172,.22))}.brand-icon{display:none}.icon{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.18em;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.menu-toggle{display:none;place-items:center}.menu-toggle .icon{width:22px;height:22px}.nav-search .icon{margin-left:5px}.quick-anchor .icon{width:22px;height:22px}dialog#viewer button{display:grid;place-items:center}dialog#viewer button .icon{width:22px;height:22px}.viewer-tools button .icon{margin-right:6px}.article-photo-masonry{list-style:none!important;margin:30px 0!important;padding:0!important;display:grid!important;grid-template-columns:repeat(12,1fr)!important;grid-auto-flow:dense;grid-auto-rows:9px;gap:14px;max-height:min(92vh,860px);overflow:hidden;position:relative;transition:max-height .75s cubic-bezier(.2,.8,.2,1)}.article-photo-masonry:after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;pointer-events:none;background:linear-gradient(180deg,rgba(215,238,241,0),rgba(215,238,241,.95))}.article-photo-masonry.is-complete{max-height:none}.article-photo-masonry.is-complete:after{display:none}.article-photo-masonry>li{margin:0!important;padding:0!important;grid-column:span 3;grid-row:span 24;min-height:180px;opacity:0;transform:translateY(26px) scale(.985);pointer-events:none;transition:opacity .55s ease,transform .55s ease,box-shadow .35s ease}.article-photo-masonry>li.is-gallery-visible{opacity:1;transform:none;pointer-events:auto}.article-photo-masonry>li.masonry-tall{grid-row:span 35}.article-photo-masonry>li.masonry-wide{grid-column:span 5;grid-row:span 27}.article-photo-masonry>li.masonry-small{grid-column:span 2;grid-row:span 19}.article-photo-masonry figure{height:100%;margin:0!important}.article-photo-masonry a,.article-photo-masonry figure>img{display:block;width:100%;height:100%;border-radius:26px;overflow:hidden;background:#b9dde3;box-shadow:0 12px 36px rgba(3,21,29,.10)}.article-photo-masonry img{width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important;border-radius:26px!important;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.article-photo-masonry a:hover img,.article-photo-masonry figure:hover img{transform:scale(1.055)}.article-photo-masonry.is-compact-gallery{max-height:none}.article-photo-masonry.is-compact-gallery:after{display:none}.article-photo-masonry.is-compact-gallery>li{grid-row:span 18;min-height:145px}.article-photo-masonry.is-compact-gallery>li.masonry-tall{grid-row:span 23}.article-photo-masonry.is-compact-gallery>li.masonry-wide{grid-row:span 20}@media(max-width:980px){.article-photo-masonry>li{grid-column:span 4}.article-photo-masonry>li.masonry-wide{grid-column:span 6}.article-photo-masonry>li.masonry-small{grid-column:span 3}}@media(max-width:820px){.menu-toggle{display:grid}.brand-logo{width:32px;height:32px}}@media(max-width:640px){.article-photo-masonry{grid-template-columns:repeat(6,1fr)!important;gap:10px;max-height:86vh}.article-photo-masonry>li{grid-column:span 3;grid-row:span 22;min-height:150px}.article-photo-masonry>li.masonry-wide{grid-column:span 6}.article-photo-masonry>li.masonry-small{grid-column:span 3}.article-photo-masonry>li.masonry-tall{grid-row:span 30}.article-photo-masonry a,.article-photo-masonry figure>img,.article-photo-masonry img{border-radius:20px!important}}

/* === Small UX polish === */
.scroll-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:80;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,#16bfd6,#f6d35f,#0a7892);box-shadow:0 0 18px rgba(22,191,214,.42);pointer-events:none}
dialog#viewer .counter{max-width:min(82vw,900px);padding:10px 14px;border-radius:999px;background:rgba(4,23,33,.58);backdrop-filter:blur(16px);color:#f5fcff;box-shadow:0 12px 36px rgba(0,0,0,.25)}
footer .brand-logo{width:30px;height:30px;margin-right:8px;vertical-align:middle}

/* Progressive photo wall and focused image viewer. */
.catalog-row,.photo-grid,.article-photo-masonry{
  max-height:none!important;
  overflow:visible!important;
  transition:none!important;
}
.catalog-row:after,.photo-grid:after,.article-photo-masonry:after{display:none!important}
.catalog-row .masonry-card:not(.is-gallery-visible),
.photo-grid .masonry-card:not(.is-gallery-visible),
.article-photo-masonry>.masonry-card:not(.is-gallery-visible){display:none!important}
.masonry-card.is-gallery-visible{animation:gallery-arrive .52s both}
@keyframes gallery-arrive{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}
.gallery-more{display:block!important;width:100%;height:1px;min-height:0;margin:0;padding:0;border:0;box-shadow:none;background:transparent;opacity:0;pointer-events:none}
.gallery-more[hidden]{display:none!important}
dialog#viewer{background:#082d39!important;color:#effdff!important;height:fit-content!important;max-height:calc(100dvh - 28px)!important}
dialog#viewer[open]{display:flex!important;flex-direction:column;gap:12px}
dialog#viewer img{
  width:100%!important;height:auto!important;max-height:min(66dvh,680px)!important;
  flex:0 1 auto;object-fit:contain!important;background:#061f29!important;
}
dialog#viewer .viewer-tools{position:static!important;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:0!important;z-index:2;order:1}
dialog#viewer .viewer-tools button{
  position:static!important;display:inline-flex!important;align-items:center;justify-content:center;
  width:auto!important;height:42px!important;min-width:136px;padding:8px 14px!important;
  border-radius:999px!important;font-size:13px!important;line-height:1!important;
}
dialog#viewer .viewer-tools button .icon{flex:none;margin-right:7px}
dialog#viewer .counter{
  position:static!important;left:auto!important;right:auto!important;bottom:auto!important;
  max-width:100%!important;margin:0 auto!important;padding:7px 14px!important;
  font-size:12px!important;line-height:1.35!important;letter-spacing:.02em!important;
  order:2;
}
dialog#viewer .prev,dialog#viewer .next{z-index:3;top:44%!important}
dialog#viewer .close{z-index:4}
@media(max-width:640px){
  .gallery-toolbar{
    display:flex!important;flex-wrap:nowrap!important;gap:7px!important;
    overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none;
    border-radius:16px!important;padding:8px!important;
  }
  .gallery-toolbar::-webkit-scrollbar{display:none}
  .gallery-filter{
    flex:0 0 auto;min-height:40px;padding:8px 11px!important;
    white-space:nowrap!important;font-size:12px!important;
  }
  dialog#viewer{width:calc(100vw - 16px)!important;padding:16px!important;border-radius:22px!important}
  dialog#viewer img{height:auto!important;max-height:min(58dvh,510px)!important;border-radius:16px!important}
  dialog#viewer .viewer-tools{gap:7px}
  dialog#viewer .viewer-tools button{min-width:0;width:auto!important;height:40px!important;padding:7px 11px!important;font-size:11px!important}
  dialog#viewer .viewer-tools button .icon{width:16px;height:16px;margin-right:5px}
  dialog#viewer .counter{font-size:11px!important}
  dialog#viewer .prev,dialog#viewer .next{width:40px;height:54px;top:42%!important}
}
@media(prefers-reduced-motion:reduce){.masonry-card.is-gallery-visible{animation:none}}
