@font-face{font-family:Fredoka;src:url('../assets/fonts/fredoka-latin.woff') format('woff'),url('../assets/fonts/Fredoka.ttf') format('truetype');font-weight:300 700;font-style:normal;font-display:swap}
:root{--navy:#071a3a;--green:#43a900;--lime:#92ce1c;--pale:#eaf5db;--gray:#f2f3f5;--page:#fff;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--navy);font-family:Fredoka,"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.hero{height:440px;position:relative;isolation:isolate;overflow:hidden;margin:16px 22px 0;border-radius:56px 56px 55px 55px;background:#f4f4ef}
.hero-photo,.hero-tint{position:absolute;inset:0;width:100%;height:100%}.hero-photo{object-fit:cover;object-position:center 45%;z-index:-2}.hero-tint{background:linear-gradient(90deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,.19) 39%,transparent 69%);z-index:-1}
.site-header{height:82px;position:relative;z-index:2}.brand-link{position:absolute;left:56px;top:0;width:220px;height:75px;overflow:hidden;display:block}.brand-link img{position:absolute;display:block;width:220px;height:auto;top:-34px;left:0}
.hero-copy{position:absolute;z-index:2;left:5.2%;top:110px;max-width:480px}.eyebrow{font-family:Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:.44em;margin:0 0 17px 4px}.hero h1{font-size:clamp(52px,5.3vw,78px);line-height:.88;letter-spacing:-.055em;margin:0;font-weight:800;position:relative}.hero h1 span{color:var(--green)}.spark{position:absolute;background:var(--green);width:6px;height:27px;border-radius:50%;transform:rotate(24deg);top:4px;left:74%}.spark-two{height:25px;transform:rotate(60deg);left:79%;top:20px}.hero-description{max-width:455px;font-family:Arial,sans-serif;font-size:16px;line-height:1.38;font-weight:500;margin:20px 0 16px}.explore-button{display:inline-flex;align-items:center;gap:8px;padding:12px 24px 13px;border-radius:99px;background:var(--green);color:#fff;font:700 15px Arial,sans-serif;text-decoration:none;transition:transform .2s,background .2s}.explore-button:hover{transform:translateY(-2px);background:#318e00}.explore-button span{font-size:24px;line-height:12px;font-weight:400}.hero-scribble{position:absolute;z-index:1;right:4.5%;top:115px;color:white;font-family:cursive;font-style:italic;font-size:26px;line-height:1.12;text-align:center;transform:rotate(-7deg);text-shadow:0 2px 9px #27352266}.hero-scribble span{font-size:36px}.hero-wave{position:absolute;bottom:-1px;left:0;width:100%;height:82px;fill:#fff;z-index:1;pointer-events:none}
.gallery-section{max-width:1480px;padding:0 22px 28px;margin:0 auto;scroll-margin-top:16px}.filter-list{display:flex;gap:10px;align-items:center;margin:0 14px 13px;overflow-x:auto;scrollbar-width:none}.filter-list::-webkit-scrollbar{display:none}.filter-button{cursor:pointer;flex:0 0 auto;border:0;border-radius:999px;background:#f1f2f4;color:var(--navy);min-width:88px;padding:13px 20px;font:500 13px Arial,sans-serif;transition:background .2s,color .2s,transform .2s}.filter-button:hover{background:var(--pale);transform:translateY(-2px)}.filter-button.is-active{background:var(--navy);color:white}
.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row dense;gap:10px}.gallery-card{grid-column:span 3;position:relative;display:block;border:0;padding:0;overflow:hidden;border-radius:var(--radius);background:#e9efea;cursor:pointer;min-width:0;height:285px}.gallery-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease,filter .3s ease}.gallery-card:hover img{transform:scale(1.045);filter:saturate(1.06)}.gallery-card:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #071a3a09;pointer-events:none}.gallery-card:nth-child(4n+1){grid-column:span 3}.gallery-card:nth-child(4n+2){grid-column:span 2}.gallery-card:nth-child(4n+3){grid-column:span 4}.gallery-card:nth-child(4n+4){grid-column:span 3}.gallery-grid[data-filtered="true"] .gallery-card{grid-column:span 4}.gallery-card .card-hint{position:absolute;right:12px;bottom:12px;background:#fffdf4ec;color:var(--navy);border-radius:999px;padding:7px 11px;font:700 12px Arial,sans-serif;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}.gallery-card:hover .card-hint,.gallery-card:focus-visible .card-hint{opacity:1;transform:translateY(0)}
.lightbox{border:0;padding:0;background:transparent;color:var(--navy);width:min(910px,calc(100vw - 36px));max-width:none;max-height:calc(100dvh - 30px);overflow:visible}.lightbox::backdrop{background:rgba(5,22,48,.77)}body.modal-open{overflow:hidden}.lightbox-shell{background:white;border-radius:28px;padding:12px 12px 0;box-shadow:0 26px 80px #071a3a3b;max-height:calc(100dvh - 30px);display:flex;flex-direction:column}.lightbox-topbar{display:flex;justify-content:space-between;align-items:center;padding:0 10px 12px}.category-pill{display:inline-block;background:var(--pale);color:#1f8200;font:700 15px Arial,sans-serif;border-radius:99px;padding:8px 19px}.lightbox-close{display:grid;place-items:center;border:0;border-radius:50%;width:46px;height:46px;background:#f0f2f4;color:var(--navy);cursor:pointer}.lightbox-close svg{width:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.lightbox-image-wrap{height:min(55vh,535px);min-height:250px;position:relative;border-radius:19px;overflow:hidden;background:#ecf1ec;flex:0 1 auto}.lightbox-image-wrap>img{width:100%;height:100%;object-fit:cover;display:block}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);border:2px solid white;border-radius:50%;width:58px;height:58px;display:grid;place-items:center;background:var(--navy);color:white;cursor:pointer;box-shadow:0 3px 12px #071a3a50;transition:background .2s,scale .2s}.lightbox-arrow:hover{background:var(--green);scale:1.05}.lightbox-arrow.previous{left:20px}.lightbox-arrow.next{right:20px}.lightbox-arrow svg{width:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.lightbox-meta{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:17px 16px 19px}.lightbox-meta h2{font-size:clamp(23px,3vw,38px);letter-spacing:-.04em;line-height:1;margin:0 0 5px}.lightbox-meta p{font-family:Arial,sans-serif;font-size:16px;margin:0}.lightbox-count{font:500 18px Arial,sans-serif;white-space:nowrap}.thumbnail-wrap{margin:0 -73px -8px;padding:8px 44px;background:white;border-radius:25px;box-shadow:0 6px 25px #071a3a22}.thumbnail-list{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#c5cbd0 transparent;scroll-behavior:smooth}.thumbnail-button{flex:0 0 116px;height:102px;padding:0;border:3px solid transparent;border-radius:12px;overflow:hidden;background:#e8eee9;cursor:pointer}.thumbnail-button[aria-current="true"]{border-color:var(--green)}.thumbnail-button img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.hero{height:440px}.hero-copy{left:5%;max-width:390px}.hero h1{font-size:clamp(48px,7.2vw,68px)}.hero-description{max-width:360px;font-size:14px}.hero-scribble{display:none}.gallery-card{height:245px}.thumbnail-wrap{margin:0 -12px -8px;padding:8px 12px}.thumbnail-button{flex-basis:94px;height:84px}}
@media(max-width:640px){.hero{margin:10px 10px 0;height:610px;border-radius:32px}.hero-photo{object-position:68% center}.hero-tint{background:linear-gradient(180deg,#ffffffef 0%,#ffffffe0 40%,#ffffff12 76%)}.site-header{height:75px}.brand-link{left:17px;top:0;width:177px;height:72px}.brand-link img{width:177px;top:-27px}.hero-copy{left:25px;right:25px;top:113px;max-width:460px}.eyebrow{font-size:11px;letter-spacing:.36em;margin-bottom:16px}.hero h1{font-size:clamp(45px,11vw,63px)}.spark{left:79%}.spark-two{left:85%}.hero-description{font-size:14px;max-width:360px;margin-top:20px}.hero-wave{height:70px}.gallery-section{padding:0 10px 20px}.filter-list{margin:0 0 11px;gap:7px}.filter-button{padding:11px 15px;min-width:65px;font-size:12px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.gallery-card,.gallery-card:nth-child(n),.gallery-grid[data-filtered="true"] .gallery-card{grid-column:span 1;height:190px;border-radius:14px}.gallery-card:first-child{grid-column:span 2;height:270px}.gallery-card:nth-child(5n){height:250px}.lightbox{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.lightbox-shell{border-radius:20px;padding:9px 9px 0;max-height:calc(100dvh - 16px)}.lightbox-topbar{padding:0 4px 8px}.category-pill{font-size:12px;padding:7px 13px}.lightbox-close{width:38px;height:38px}.lightbox-image-wrap{height:min(54vh,520px);min-height:230px;border-radius:13px}.lightbox-arrow{width:42px;height:42px}.lightbox-arrow.previous{left:8px}.lightbox-arrow.next{right:8px}.lightbox-arrow svg{width:20px}.lightbox-meta{padding:13px 7px 15px;gap:10px}.lightbox-meta h2{font-size:23px}.lightbox-meta p{font-size:13px;line-height:1.3}.lightbox-count{font-size:14px}.thumbnail-wrap{border-radius:15px;padding:6px 5px;margin:0 -8px -3px}.thumbnail-list{gap:5px}.thumbnail-button{flex-basis:72px;height:69px;border-radius:8px}}
@media(max-width:390px){.hero{height:570px}.hero-copy{top:102px}.hero-description{max-width:310px}.gallery-card,.gallery-card:nth-child(n),.gallery-grid[data-filtered="true"] .gallery-card{height:165px}.gallery-card:first-child{height:230px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Display each photograph at its natural ratio, including in the viewer. */
.gallery-grid{display:block;columns:4;column-gap:10px}
.gallery-card,.gallery-card:nth-child(n),.gallery-grid[data-filtered="true"] .gallery-card{display:block;width:100%;height:auto;grid-column:auto;margin:0 0 10px;break-inside:avoid;page-break-inside:avoid}
.gallery-card img{display:block;width:100%;height:auto;object-fit:contain}
.lightbox-image-wrap{background:#eef2ec}
.lightbox-image-wrap>img{object-fit:contain}
.thumbnail-button img{object-fit:contain;background:#eef2ec}
@media(max-width:900px){.gallery-grid{columns:3}}
@media(max-width:640px){.gallery-grid{columns:2;column-gap:7px}.gallery-card,.gallery-card:nth-child(n),.gallery-grid[data-filtered="true"] .gallery-card{height:auto;margin-bottom:7px}.gallery-card:first-child{height:auto}}

.gallery-card[hidden]{display:none!important}
.site-footer{max-width:1480px;margin:8px auto 0;padding:18px 32px 34px;font:15px/1.5 Arial,sans-serif;color:var(--navy);text-align:center}.site-footer a{color:#1f7a00;font-weight:700}

.gallery-card{background:#fff;box-shadow:inset 0 0 0 1px #071a3a14}
.card-caption{display:block;padding:10px 12px 12px;font-size:14px;font-weight:600;line-height:1.2;text-align:left}
.gallery-card .card-hint{top:12px;bottom:auto}
@media(max-width:640px){.card-caption{font-size:12px;padding:8px 9px 10px}}
.gallery-note{margin:0 14px 14px;font:14px/1.45 Arial,sans-serif;color:#3a4a63}@media(max-width:640px){.gallery-note{margin:0 4px 12px;font-size:13px}}
.gallery-note a{color:#1f7a00;font-weight:700}
.products-head{max-width:1480px;margin:0 auto;padding:22px 36px 18px}.products-logo img{width:150px;height:auto;margin:-18px 0 -10px -8px}.products-head h1{font-size:clamp(38px,5vw,64px);line-height:.95;letter-spacing:-.045em;margin:6px 0 12px;font-weight:800}.products-head h1 span{color:var(--green)}.products-intro{font:16px/1.45 Arial,sans-serif;max-width:640px;margin:0 0 8px}.products-back a{display:inline-flex;min-height:44px;align-items:center;font:700 14px Arial,sans-serif;color:#1f7a00}
.products-page .gallery-card{background:#fff;box-shadow:inset 0 0 0 1px #071a3a14}.products-page .gallery-grid{columns:6}
@media(max-width:1100px){.products-page .gallery-grid{columns:4}}@media(max-width:640px){.products-head{padding:16px 14px 10px}.products-logo img{width:120px}.products-page .gallery-grid{columns:3}}@media(max-width:390px){.products-page .gallery-grid{columns:2}}
