:root{color-scheme:light;--ink:#222;--paper:#fafafa;--blue:#095879}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink)}body{font:14px/1.65 Arial,Helvetica,sans-serif;letter-spacing:.35px}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #409e3d;outline-offset:4px}button{border:0;background:none;color:inherit}img{max-width:100%;vertical-align:middle}h1,h2,h3{font-family:'Trebuchet MS',Arial,sans-serif;line-height:1.25}h1{font-size:28px;text-transform:uppercase;letter-spacing:1px;margin:0 0 28px}h2{font-size:22px}p{margin:0 0 1.3em}.site-header{min-height:125px;display:flex;align-items:flex-start;justify-content:space-between;gap:25px;padding:10px 20px 24px;position:relative;z-index:30}.logo{display:block;flex:0 0 200px}.logo img{width:200px;height:auto;object-fit:contain}.navigation{display:flex;align-items:center;flex-wrap:wrap;gap:24px;padding-top:10px;font-family:'Trebuchet MS',Arial,sans-serif;letter-spacing:1px;font-size:14px}.nav-item{position:relative;white-space:nowrap}.nav-item>a:hover{text-decoration:underline;text-underline-offset:5px}.submenu-toggle{display:none}.submenu{display:none;position:absolute;top:100%;left:-14px;min-width:220px;background:#fafafaf5;color:#222;padding:12px 14px;box-shadow:0 8px 20px #0001}.submenu a{display:block;padding:5px 0}.nav-item:hover .submenu,.nav-item:focus-within .submenu,.nav-item.is-open .submenu{display:block}.social-links{display:flex;gap:16px;font-weight:bold}.menu-toggle{display:none}.hero-page{overflow:hidden;background:#333;color:white}.hero-page .site-header{position:absolute;width:100%;color:white;background:linear-gradient(#0004,transparent)}.home-slideshow{height:100svh;position:relative;background:#333}.home-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s}.home-slide.is-active{opacity:1;visibility:visible}.home-slide>img{width:100%;height:100%;object-fit:cover}.slide-label{position:absolute;bottom:0;left:0;background:#fff;color:#222;padding:12px 20px;font-size:11px;letter-spacing:2px}.home-controls{position:absolute;bottom:18px;right:24px;display:flex;gap:8px}.home-controls button{background:#0006;color:#fff;width:35px;height:35px;font-size:20px}.gallery-strip{display:flex;gap:15px;overflow-x:auto;align-items:start;padding:0 20px 12px;scroll-snap-type:x proximity;scrollbar-width:thin;scroll-behavior:smooth}.gallery-strip figure{margin:0;flex:none;scroll-snap-align:start}.gallery-strip .open-photo{display:block;padding:0}.gallery-strip img{height:calc(100svh - 225px);min-height:320px;width:auto;max-width:none;object-fit:contain}.gallery-strip figcaption{max-width:500px;font-size:12px}.gallery-controls{display:flex;justify-content:space-between;padding:8px 24px;font-size:12px;letter-spacing:1px}.gallery-controls small{color:#777}.gallery-controls button{background:#333;color:#fff;font-size:25px;width:42px;height:40px;margin-left:8px}.gallery-description{max-width:800px;margin:30px auto}.content-page{max-width:1040px;margin:20px auto 65px;padding:0 28px;min-height:55vh}.prose{font-size:14px;line-height:1.7}.prose a{color:#077fac;text-decoration:underline}.prose h2{margin-top:30px}.portrait{float:left;width:155px;margin:0 28px 18px 0}.portrait img{width:100%}.page-links{display:flex;gap:14px;flex-wrap:wrap;clear:both;margin:30px 0}.button{display:inline-block;background:#175d72;color:white;padding:12px 22px;border-radius:1px}.photo-grid,.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:30px 0}.photo-grid figure{margin:0}.photo-grid button{padding:0;display:block;width:100%}.photo-grid img{width:100%;height:auto}.category-grid img{width:100%;aspect-ratio:1.5;object-fit:cover}.category-grid h2{font-size:15px;font-weight:normal;letter-spacing:1px}.blog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 30px}.blog-list img{width:100%;aspect-ratio:1.5;object-fit:cover}.blog-list h2{font-size:22px;margin-bottom:6px}.blog-list time,.post-page time{color:#777;font-size:12px}.blog-list article>p{margin-top:16px}.blog-list article>a:last-child{color:#087ca0}.post-page .prose{margin-top:25px}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 25px}.video-grid h2{font-size:18px;font-weight:normal}.video-poster{display:block;padding:0;position:relative;width:100%;aspect-ratio:16/9;background:#111}.video-poster img{width:100%;height:100%;object-fit:cover}.video-poster span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#000a;border-radius:8px;padding:12px 25px;color:#fff;font-size:22px}.video-grid iframe{width:100%;aspect-ratio:16/9;border:0}.comparison-section{margin:45px 0}.comparison-section h2{font-size:18px}.comparison{position:relative;max-width:100%;overflow:hidden;touch-action:pan-y}.comparison>img{display:block;width:100%;height:auto}.comparison-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.comparison-before img{width:100%;height:100%;object-fit:cover}.comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}.comparison:focus-within{outline:3px solid #175d72}.comparison-line{position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:white}.comparison-line span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:2px solid white;border-radius:50%;background:#0005;color:white;padding:8px;white-space:nowrap}.before-label,.after-label{position:absolute;bottom:12px;background:#0007;color:#fff;padding:3px 9px;font-size:12px}.before-label{left:12px}.after-label{right:12px}footer{text-align:center;clear:both;color:#777;font-size:11px;padding:25px 15px;letter-spacing:.5px}footer p{margin:6px}footer span{margin:0 6px}dialog{border:0;background:#111;color:white;width:100vw;max-width:none;height:100svh;max-height:none;padding:30px;margin:0}dialog::backdrop{background:#111}dialog[open]{display:flex;align-items:center;justify-content:center}dialog figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:90vw;height:90svh}dialog img{max-height:80svh;object-fit:contain}dialog figcaption{padding:12px;text-align:center;font-size:12px}dialog button{position:absolute;color:white;font-size:36px;background:#0006;width:45px;height:45px}.lightbox-close{top:12px;right:16px}.lightbox-prev{left:10px}.lightbox-next{right:10px}.visually-hidden,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;z-index:200;background:white;color:#222;padding:12px}
@media(min-width:1500px){.navigation{gap:30px}.site-header{padding-right:30px}}@media(max-width:1100px){.navigation{gap:15px;font-size:13px}.logo{flex-basis:170px}.logo img{width:170px}}@media(max-width:850px){.site-header{min-height:110px;padding:12px 18px 20px;align-items:flex-start}.logo img{width:170px}.menu-toggle{display:block;margin:5px 0;font-size:24px}.navigation{display:none;position:absolute;top:105px;left:0;right:0;background:#fafafa;color:#222;padding:18px 24px;max-height:calc(100svh - 105px);overflow:auto;box-shadow:0 10px 15px #0002}.navigation.is-open{display:block}.nav-item{padding:10px 0}.submenu{position:static;box-shadow:none;background:transparent;padding:5px 20px}.submenu-toggle{display:inline-block;padding-left:25px}.nav-item:hover:not(.is-open) .submenu{display:none}.nav-item.is-open .submenu,.nav-item:focus-within .submenu{display:block}.social-links{margin-top:16px}.content-page{margin-top:20px;padding:0 22px}.gallery-strip img{height:calc(100svh - 230px);min-height:250px}.gallery-controls small{display:none}.home-slide>img{object-position:center}.blog-list,.video-grid{gap:32px 20px}h1{font-size:24px}}@media(max-width:540px){.photo-grid,.category-grid,.blog-list,.video-grid{grid-template-columns:1fr}.portrait{width:110px;margin-right:18px}.gallery-strip{gap:10px;padding-left:12px}.gallery-strip img{height:calc(100svh - 250px);min-height:260px}.home-controls{right:12px}.comparison-section h2{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
/* Original Reflex branding and photographic layouts. */
.site-header{min-height:190px;padding:25px 24px 20px;gap:20px}.brand{min-width:0}.logo{width:200px}.site-tagline{margin:17px 0 0;font-size:11px;font-weight:400;line-height:1.5;letter-spacing:1.1px;text-transform:uppercase;color:#666;white-space:nowrap}.navigation{padding-top:10px;gap:22px}.hero-page .site-header{color:#222;background:none}.hero-page .site-tagline{color:#222}.gallery-main{padding-top:clamp(20px,6svh,80px)}.gallery-strip{padding:0 24px 12px}.gallery-strip img{height:50svh;min-height:260px;max-height:700px}.open-photo{position:relative}.gallery-strip .open-photo:after{content:'+';position:absolute;top:5px;right:18px;color:#61b832;font:300 56px/1 Arial,sans-serif;opacity:0;transition:opacity .15s}.gallery-strip .open-photo:hover:after,.gallery-strip .open-photo:focus-visible:after{opacity:1}.gallery-controls{margin-top:4px}.gallery-strip figcaption{display:none}
dialog{background:#fff;color:#222;padding:40px}dialog::backdrop{background:#fff}dialog figure{max-width:calc(100vw - 150px);height:calc(100svh - 80px)}dialog img{max-width:100%;max-height:100%;width:auto;height:auto}dialog button{background:#151515;color:#fff;font-size:30px;width:42px;height:42px;line-height:1}.lightbox-close{top:28px;right:28px}.lightbox-prev{left:20px}.lightbox-next{right:20px}dialog button[hidden]{display:none}
.blog-page,.post-page{max-width:1440px;width:92%;padding:0 24px;margin-top:25px}.blog-page>h1{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.blog-entry{margin-bottom:100px}.post-heading{font-family:Arial,Helvetica,sans-serif;font-size:clamp(26px,2.5vw,42px);font-weight:800;letter-spacing:-.6px;line-height:1.3;text-transform:uppercase;margin:0 0 42px}.post-date{color:#999}.post-heading time{font:inherit;color:inherit}.blog-entry .prose{font-size:18px;line-height:1.75;margin-bottom:42px}.post-carousel{margin:0 0 55px}.carousel-stage{position:relative;aspect-ratio:3/2}.carousel-main{display:block;padding:0;width:100%;height:100%}.carousel-main img{width:100%;height:100%;object-fit:contain}.carousel-stage>[data-carousel-step]{position:absolute;top:50%;transform:translateY(-50%);background:#0002;color:white;font-size:46px;font-weight:300;width:48px;height:65px;line-height:1}.carousel-stage>[data-carousel-step]:hover{background:#0006}.carousel-prev{left:0}.carousel-next{right:0}.carousel-thumbnails{display:flex;justify-content:safe center;overflow-x:auto;gap:0;margin:25px auto 0;max-width:100%;scrollbar-width:thin}.carousel-thumbnail{padding:0;flex:0 0 auto;height:95px;opacity:.4;transition:opacity .2s}.carousel-thumbnail[aria-pressed=true],.carousel-thumbnail:hover,.carousel-thumbnail:focus-visible{opacity:1}.carousel-thumbnail img{height:100%;width:auto;min-width:70px;max-width:180px;object-fit:cover}.post-tags{font-size:16px;color:#555;margin-top:35px}
@media(max-width:1250px){.navigation{gap:14px;font-size:12px}.site-tagline{font-size:10px}.site-header{min-height:175px}.logo,.logo img{width:180px}}
@media(max-width:850px){.site-header{min-height:170px;padding:18px}.brand{max-width:calc(100% - 45px)}.logo,.logo img{width:170px}.site-tagline{white-space:normal;max-width:590px;font-size:10px}.hero-page .site-header{color:#222}.navigation{top:145px}.gallery-main{padding-top:20px}.gallery-strip img{height:48svh;min-height:240px}.blog-page,.post-page{width:100%;padding:0 22px}.post-heading{font-size:27px;margin-bottom:28px}.blog-entry .prose{font-size:16px;margin-bottom:28px}.carousel-thumbnail{height:70px}.blog-entry{margin-bottom:70px}dialog{padding:55px 12px}dialog figure{max-width:100%;height:calc(100svh - 110px)}dialog .lightbox-prev,dialog .lightbox-next{top:auto;bottom:10px}.lightbox-close{top:10px;right:12px}}
@media(min-width:851px){.brand{flex:0 0 200px;width:200px}.site-tagline{width:max-content}.navigation{flex-wrap:nowrap}}
body:has(#lightbox[open]){overflow:hidden}
.clients-page{max-width:1480px;width:92%;padding:0 24px}.clients-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:40px 0 60px}.clients-columns .prose{font-size:18px;line-height:1.7}.clients-columns p{margin:0 0 30px}.clients-columns>div:nth-child(2){text-align:center}.clients-columns>div:nth-child(3){text-align:right}.clients-columns a{color:inherit}.client-login{margin:20px 0 40px}.hero-page .site-tagline span,.hero-page .navigation>.nav-item>a,.hero-page .social-links>a,.hero-page .menu-toggle{transition:color .7s,text-shadow .7s}.hero-page .navigation .submenu{color:#222;text-shadow:none}
@media(max-width:850px){.clients-page{width:100%;padding:0 22px}.clients-columns{gap:24px}.clients-columns .prose{font-size:15px}.hero-page .navigation.is-open a{color:#222!important;text-shadow:none!important}}
@media(max-width:600px){.clients-columns{grid-template-columns:1fr;gap:0}.clients-columns>div:nth-child(n){text-align:left}}
/* Compact blog proportions, bounded by both screen width and height. */
.blog-page,.post-page{max-width:1120px;width:92%;padding:0 24px}.post-heading{font-size:clamp(20px,1.9vw,30px);line-height:1.3;letter-spacing:-.25px;margin-bottom:28px}.blog-entry .prose{font-size:clamp(15px,1.15vw,17px);line-height:1.65;margin-bottom:28px}.blog-entry{margin-bottom:70px}.post-carousel{margin:0 auto 35px;max-width:920px}.carousel-stage{width:min(100%,920px,87svh);margin:0 auto;aspect-ratio:3/2}.carousel-thumbnails{max-width:min(100%,920px,87svh);margin-top:16px}.carousel-thumbnail{height:clamp(42px,7svh,70px)}.carousel-stage>[data-carousel-step]{width:36px;height:48px;font-size:34px}.post-tags{font-size:clamp(13px,1vw,15px);margin-top:25px}.social-links:empty{display:none}
@media(max-width:600px){.blog-page,.post-page{width:100%;padding:0 18px}.post-heading{font-size:20px;margin-bottom:22px}.blog-entry{margin-bottom:50px}.blog-entry .prose{margin-bottom:22px}}
/* Keep touch navigation clear of wrapped branding on narrow screens. */
.carousel-stage>[data-carousel-step]{min-width:44px}.carousel-thumbnail{min-height:44px}.gallery-controls button{min-width:44px;min-height:44px}
@media(max-width:850px){.navigation{top:100%;max-height:calc(100svh - 170px)}.site-tagline{font-size:11px}.menu-toggle{min-width:44px;min-height:44px;margin-top:0;padding:0}.submenu-toggle{min-width:44px;min-height:44px;padding:0 10px;margin-left:8px}.navigation .nav-item:not(.is-open) .submenu{display:none}}
/* Keep the last dropdown inside the right edge of the screen. */
.nav-item-last .submenu{left:auto;right:0}.submenu{max-width:calc(100vw - 32px);white-space:normal}.submenu a{overflow-wrap:anywhere}
