@import url('./fonts.css');
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#333;background:#fff;font:15px/1.75 Roboto,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,nav,.filters{font-family:Rajdhani,Arial,sans-serif;font-weight:600;line-height:1.3}h1{font-size:30px}h2{font-size:28px}h3{font-size:23px}a:hover,button:hover{color:#fd513b}:focus-visible{outline:3px solid #fd513b;outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:white;padding:10px}.skip:focus{top:10px}[hidden]{display:none!important}.header{height:96px;background:#171716;color:white;display:flex;align-items:center;justify-content:space-between;padding:8px max(4vw,24px);position:relative;z-index:5}.logo img{height:80px;width:auto}.menu-toggle{display:none;border:0;background:transparent;color:white;font-size:28px;padding:10px}.navigation{display:flex;align-items:center;gap:28px;font-size:19px}.navigation a[aria-current=page]{color:#fd513b}.navigation details{position:relative}.navigation summary{cursor:pointer;list-style:none}.navigation summary::after{content:' +';font-size:17px}.submenu{position:absolute;top:100%;right:0;min-width:205px;background:#171716;padding:18px 24px;display:grid;gap:10px;z-index:6;box-shadow:0 10px 20px #0003}.hero{height:100svh;min-height:520px;background:#806343;position:relative;color:#fff}.home-header{position:absolute;top:0;left:0;right:0;background:linear-gradient(#000b,transparent);height:115px}.hero>img{width:100%;height:100%;object-fit:cover}.hero-bottom{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);border:1px solid #fff;padding:8px 23px;color:white;font:16px Rajdhani}.hero-social{position:absolute;left:20px;top:50%;display:grid;gap:12px}.hero-social a{border:1px solid #fff9;border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.hero-social svg{width:16px;height:16px;fill:currentColor}.portfolio-heading{text-align:center;padding:54px 15px 20px}.portfolio-heading h1{margin:0}.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 32px;margin:26px 0 10px}.filters button{border:0;background:transparent;padding:7px 0;font-size:17px;color:#333}.filters .active{color:#fd513b}.portfolio{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px}.portfolio-card{position:relative;min-width:0;overflow:hidden}.portfolio-card img{width:100%;height:auto;transition:transform .5s}.portfolio-card .photo{display:block;background:#eee}.portfolio-card h2{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000b);margin:0;padding:35px 16px 16px;color:white;font-size:22px;opacity:0;transition:opacity .25s;pointer-events:none}.portfolio-card h2 a{pointer-events:auto}.portfolio-card:hover h2,.portfolio-card:focus-within h2{opacity:1}.portfolio-card:hover img{transform:scale(1.03)}.wrap{max-width:1200px;width:calc(100% - 60px);margin:auto}.page-title{background:#f4f4f4;padding:15px 30px;margin:0 0 45px}.page-title h1{margin:0;font-size:26px}.page-main{padding-top:50px;min-height:60vh;padding-bottom:60px}.breadcrumbs{font-size:12px;color:#777;display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-bottom:45px}.card{text-align:center;min-width:0}.card h2{font-size:24px;margin:0 0 12px}.card img{height:220px;width:100%;object-fit:contain}.card a{display:block}.gallery{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;clear:both}.gallery .photo{display:block;flex-grow:1;flex-basis:calc(var(--ratio,1.5)*260px);background:#f4f4f4;min-width:0;overflow:hidden}.gallery img{width:100%;height:var(--row,300px);object-fit:cover}.gallery .photo:last-child{flex-grow:0}.single-gallery{display:block;max-width:1000px;margin:auto}.single-gallery .photo{display:block;background:transparent}.single-gallery img{width:auto;height:auto;max-height:82vh;margin:auto;object-fit:contain}.about{display:grid;grid-template-columns:1fr 2fr;gap:35px}.about p{margin:0 0 22px}.about figure{margin:0 0 30px}.about figure img{width:100%;height:auto}.about .book img{max-width:550px}.contact{max-width:750px;margin:auto}.contact .placeholder{font-size:23px;border-bottom:1px solid #ddd;padding:18px 0;display:block}.notice{background:#f4f4f4;border-left:3px solid #fd513b;padding:15px 20px}.contact-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:25px}.footer{background:#171716;color:#ccc;padding:38px 30px;display:flex;justify-content:space-between;gap:25px;font-size:12px}.footer-links{display:flex;gap:22px}.post-nav{display:flex;justify-content:space-between;gap:30px;margin-top:35px}.archive-item{margin:0 0 35px;border-bottom:1px solid #eee;padding-bottom:25px}.archive-item h2{margin:0 0 15px}.archive-item img{max-height:420px;width:auto}.search{display:flex;max-width:600px;gap:10px;margin:30px auto}.search input{padding:9px 12px;flex:1;min-width:0;border:1px solid #ccc}.search button{background:#171716;color:white;border:0;padding:8px 18px}.search-results{margin-top:25px}.search-results a{display:block;margin:14px 0}.lightbox{border:0;padding:0;margin:auto;background:#111;color:#fff;width:100vw;height:100svh;max-width:none;max-height:none;overflow:hidden}.lightbox::backdrop{background:#111}.lightbox-inner{display:grid;grid-template-rows:58px minmax(0,1fr) 62px;height:100%}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;padding:5px 18px;z-index:2}.lightbox button{background:transparent;color:white;border:0;min-width:44px;min-height:44px;font-size:27px}.lightbox-stage{display:flex;justify-content:center;align-items:center;position:relative;min-height:0}.lightbox-stage img{max-width:calc(100% - 110px);max-height:100%;width:auto;height:auto;object-fit:contain;touch-action:pinch-zoom}.lightbox-prev,.lightbox-next{position:absolute;top:45%;z-index:2}.lightbox-prev{left:4px}.lightbox-next{right:4px}.lightbox-caption{text-align:center;font-size:13px;margin:12px 55px;color:#ccc}.lightbox-status{font:16px Rajdhani}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}body.modal-open{overflow:hidden}.lightbox-download{font-size:13px}.gallery-heading{margin:35px 0 25px}.empty{padding:40px 0;color:#777}
@media(max-width:900px){.header{height:60px;padding:0 8%}.logo img{height:58px}.home-header{height:110px;align-items:flex-start;padding-top:15px}.home-header .logo img{height:75px}.menu-toggle{display:block}.navigation{display:none;position:absolute;top:100%;left:0;right:0;background:#171716;padding:20px 8%;flex-direction:column;align-items:flex-start;gap:18px;max-height:75svh;overflow:auto}.navigation.open{display:flex}.submenu{position:static;box-shadow:none;padding:15px 20px 0;gap:9px}.portfolio{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-card h2{opacity:1;font-size:19px}.wrap{width:calc(100% - 30px)}.cards{gap:25px;grid-template-columns:repeat(2,minmax(0,1fr))}.card img{height:180px}.footer{flex-direction:column}.gallery img{height:230px}.gallery .photo{flex-basis:calc(var(--ratio,1.5)*210px)}.about{grid-template-columns:1fr 1.7fr;gap:20px}}
@media(max-width:520px){.hero{min-height:460px}.hero-social{left:10px}.portfolio-heading{padding-top:40px}.filters{gap:8px 19px}.portfolio{gap:6px;padding:6px}.portfolio-card h2{font-size:16px;padding:25px 9px 10px}.page-title{padding:15px 20px;margin-bottom:35px}.page-title h1{font-size:25px}.cards{grid-template-columns:1fr;gap:32px}.card img{height:auto;max-height:300px;width:auto;margin:auto}.card h2{font-size:24px}.gallery{gap:5px}.gallery .photo{flex-basis:calc(var(--ratio,1.5)*140px)}.gallery img{height:190px}.about{display:block}.about aside{max-width:300px;margin:0 auto 30px}.footer-links{flex-wrap:wrap}.lightbox-stage img{max-width:100%}.lightbox-prev,.lightbox-next{background:#0005!important;border-radius:50%;top:auto;bottom:8px}.lightbox-caption{margin:12px 18px;font-size:11px}.placeholder{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Cards follow their own image height, including before JavaScript starts. */
.portfolio{align-items:start}.portfolio[data-masonry]{position:relative}.portfolio.masonry-ready{display:block}.portfolio.masonry-ready>.portfolio-card{position:absolute}
