/* Product originals, human gestures, and material detail have distinct editorial roles. */
.photo-figure{margin:0;min-width:0}
.photo-window{overflow:hidden;background:#edf2eb;position:relative}
.photo-window picture,.photo-window img{display:block;width:100%;height:100%}
.photo-window img{object-fit:cover}
.photo-figure figcaption{font-size:11px;color:#536e63;line-height:1.8;letter-spacing:.025em;margin-top:9px}
.photo-catalog{margin-top:34px;padding-top:42px;border-top:1px solid var(--line)}
.photo-catalog-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:29px}
.photo-catalog-heading h3{font-family:var(--serif);font-size:clamp(23px,2.2vw,30px);font-weight:500;line-height:1.65;letter-spacing:.045em;margin-top:12px}
.photo-catalog-heading>p{font-size:13px;color:var(--body);line-height:1.95}
.photo-catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:29px}
.photo-catalog-item{display:block;min-width:0;padding-bottom:13px;border-bottom:1px solid #d7e1d9;transition:border-color .25s,color .25s}
.catalog-image{position:relative;aspect-ratio:1;overflow:hidden;background:#f5f6ef}
.catalog-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .55s cubic-bezier(.2,.7,.3,1)}
.photo-catalog-item:nth-child(2) .catalog-image img{padding:13px 22px;background:#edf3ef}
.photo-catalog-item:nth-child(3) .catalog-image{background:#f5f1e9}
.catalog-category{font-size:11px;color:#536e63;line-height:1.8;letter-spacing:.08em;margin-top:17px}
.photo-catalog-item h4{font-size:15px;font-weight:600;line-height:1.7;margin-top:4px;min-height:52px;overflow-wrap:anywhere;letter-spacing:.025em}
.catalog-link{display:inline-flex;align-items:center;gap:20px;font-size:12px;line-height:1.8;color:var(--teal);padding-block:8px}
.catalog-open,.everyday-open{position:absolute;right:11px;bottom:11px;display:grid;place-items:center;width:34px;height:34px;background:#ffffffef;color:var(--teal);font-size:21px;border-radius:50%;transition:transform .3s,background .3s;pointer-events:none}
.photo-catalog-item:focus-visible,.everyday-image-link:focus-visible{outline:2px solid var(--teal);outline-offset:6px}
.photo-catalog-item:active .catalog-image img,.everyday-image-link:active img{transform:scale(.985)}
.knowledge-layout,.quality-layout,.company-layout{align-items:start}
.knowledge-scene{position:relative;margin-top:32px;padding:0 52px 0 0;max-width:530px}
.knowledge-photo .photo-window{aspect-ratio:1.45;border-radius:2px 36px 2px 2px}
.knowledge-photo img{object-position:64% 51%}
.knowledge-scene .knowledge-botanical{position:absolute;right:-23px;bottom:12px;width:146px;height:210px;margin:0;z-index:1}
.knowledge-scene .knowledge-botanical img{filter:drop-shadow(0 5px 6px #4f64420c)}
.knowledge-section .growth-guide{align-self:center}
.quality-photo{margin-top:31px;max-width:515px}
.quality-photo .photo-window{aspect-ratio:1.65;border-radius:2px 2px 30px 2px}
.quality-photo img{object-position:45% 55%}
.quality-process{align-self:center}
.company-photo{margin-top:29px;max-width:560px}
.company-photo .photo-window{aspect-ratio:3.5}
.company-photo img{object-position:100% center}
.company-photo figcaption{display:flex;gap:10px 20px;justify-content:space-between;flex-wrap:wrap}
.company-photo figcaption>span{font-size:10px;color:#536e63}
.company-info{align-self:center}
.everyday-gallery{padding-block:55px 20px}
.everyday-heading{display:grid;grid-template-columns:1fr 1fr;gap:10px 38px;align-items:end;margin-bottom:30px}
.everyday-heading>.small-label{grid-column:1/3}
.everyday-heading h2{font-family:var(--serif);font-size:clamp(26px,2.7vw,37px);font-weight:500;line-height:1.65;letter-spacing:.055em}
.everyday-heading>p:last-child{font-size:13px;color:var(--body);line-height:1.95;padding-bottom:4px;text-align:right}
.everyday-gallery-grid{display:grid;grid-template-columns:1.25fr 1.05fr .7fr;gap:24px;align-items:start}
.everyday-image{margin:0;min-width:0}
.everyday-image-link{position:relative;display:block;overflow:hidden;background:#e7ede2}
.everyday-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.gallery-food .everyday-image-link{aspect-ratio:1.45}
.gallery-food img{object-position:50% 55%}
.gallery-candy{padding-top:42px}
.gallery-candy .everyday-image-link{aspect-ratio:1.4}
.gallery-candy img{object-position:65% 50%}
.gallery-garden .everyday-image-link{aspect-ratio:.82}
.gallery-garden img{object-position:50% 46%}
.everyday-image figcaption{display:grid;gap:4px;margin-top:15px;line-height:1.8}
.everyday-image figcaption strong{font-family:var(--serif);font-size:23px;font-weight:500;letter-spacing:.04em}
.everyday-image figcaption>span{font-size:11px;color:#526b60}
.gallery-source-note{font-size:11px;color:#526b60;line-height:1.8;text-align:right;margin-top:24px}
.instagram-inner{border-top:1px solid #c7d7cc;padding-block:27px 37px}
.faq-photo{margin-top:30px;max-width:370px}
.faq-photo .photo-window{aspect-ratio:1.35;border-radius:2px 28px 2px 2px}
.faq-photo img{object-position:50% 45%}
.contact-photo{margin-bottom:25px}
.contact-photo .photo-window{aspect-ratio:1.75;border-radius:2px}
.agency-photo img{object-position:50% 59%}
.personal-photo img{object-position:51% 47%}
.contact-photo figcaption{color:#516d62}
.contact-grid{align-items:start}
@media (hover:hover) and (pointer:fine){
 .photo-catalog-item:hover{border-color:#78a59a;color:var(--teal)}
 .photo-catalog-item:hover .catalog-image img,.everyday-image-link:hover img{transform:scale(1.035)}
 .photo-catalog-item:hover .catalog-open,.everyday-image-link:hover .everyday-open{transform:rotate(5deg);background:#fff}
}
@media (max-width:1100px){
 .photo-catalog-grid{gap:20px}
 .photo-catalog-item h4{font-size:14px;min-height:49px}
 .knowledge-scene{padding-right:32px}
 .knowledge-scene .knowledge-botanical{right:-16px;width:115px;height:179px}
 .everyday-gallery-grid{gap:20px}
 .everyday-image figcaption strong{font-size:21px}
}
@media (max-width:850px) and (min-width:701px){
 .photo-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 25px}
 .photo-catalog-item h4{min-height:0}
 .photo-catalog-heading{align-items:start}
 .photo-catalog-heading>p{max-width:220px;font-size:12px}
 .everyday-gallery-grid{grid-template-columns:1fr 1fr}
 .gallery-garden{grid-column:2;grid-row:1}
 .gallery-garden .everyday-image-link{aspect-ratio:1.45}
 .gallery-candy{grid-column:1/3;padding-top:0;max-width:66%;margin-top:2px}
 .gallery-candy .everyday-image-link{aspect-ratio:2.4}
 .everyday-heading>p:last-child{font-size:12px}
}
@media (max-width:700px){
 .photo-figure figcaption{font-size:11px;margin-top:8px}
 .photo-catalog{margin-top:7px;padding-top:29px}
 .photo-catalog-heading{display:block;margin-bottom:24px}
 .photo-catalog-heading h3{font-size:25px;line-height:1.65;margin-top:10px}
 .photo-catalog-heading>p{font-size:13px;margin-top:15px}
 .photo-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px}
 .photo-catalog-item{padding-bottom:8px}
 .photo-catalog-item h4{font-size:13px;line-height:1.75;min-height:46px;letter-spacing:0}
 .catalog-category{font-size:11px;margin-top:12px}
 .catalog-link{font-size:12px;gap:12px;padding-block:7px}
 .photo-catalog-item:nth-child(2) .catalog-image img{padding:9px 15px}
 .catalog-open{width:28px;height:28px;right:7px;bottom:7px;font-size:18px}
 .knowledge-scene{margin-top:28px;padding-right:35px;max-width:430px}
 .knowledge-photo .photo-window{aspect-ratio:1.3;border-top-right-radius:26px}
 .knowledge-photo img{object-position:66% 52%}
 .knowledge-scene .knowledge-botanical{width:105px;height:158px;right:-6px;bottom:19px}
 .quality-photo{margin-top:27px;max-width:430px}
 .quality-photo .photo-window{aspect-ratio:1.5;border-bottom-right-radius:26px}
 .company-photo{margin-top:26px}
 .company-photo .photo-window{aspect-ratio:2.65}
 .company-photo figcaption{display:block}
 .company-photo figcaption>span{display:block;margin-top:2px}
 .everyday-gallery{padding-block:40px 17px}
 .everyday-heading{display:block;margin-bottom:24px}
 .everyday-heading h2{font-size:29px;line-height:1.6;margin-top:13px}
 .everyday-heading>p:last-child{font-size:13px;text-align:left;margin-top:16px;padding:0}
 .everyday-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 18px}
 .gallery-food{grid-column:1/3}
 .gallery-food .everyday-image-link{aspect-ratio:1.6}
 .gallery-candy{padding-top:0}
 .gallery-candy .everyday-image-link,.gallery-garden .everyday-image-link{aspect-ratio:.92}
 .gallery-candy img{object-position:62% 50%}
 .gallery-garden img{object-position:50% 44%}
 .everyday-image figcaption{gap:5px;margin-top:12px}
 .everyday-image figcaption strong{font-size:22px}
 .everyday-image figcaption>span{font-size:11px;line-height:1.8}
 .everyday-open{width:29px;height:29px;right:8px;bottom:8px;font-size:18px}
 .gallery-source-note{text-align:left;font-size:10px;margin-top:19px}
 .instagram-inner{padding-block:24px 31px}
 .instagram-inner .text-link{margin-left:52px}
 .faq-photo{max-width:350px;margin-top:24px}
 .faq-photo .photo-window{aspect-ratio:1.6}
 .contact-photo{margin-bottom:21px}
 .contact-photo .photo-window{aspect-ratio:1.5}
 .agency-photo img{object-position:50% 59%}
 .personal-photo img{object-position:51% 48%}
}
@media (prefers-reduced-motion:reduce){
 .catalog-image img,.everyday-image img,.photo-catalog-item,.catalog-open,.everyday-open{transition:none}
 .photo-catalog-item:hover .catalog-image img,.everyday-image-link:hover img{transform:none}
 .photo-catalog-item:hover .catalog-open,.everyday-image-link:hover .everyday-open{transform:none}
}
.effects-paused .catalog-image img,.effects-paused .everyday-image img,.effects-paused .catalog-open,.effects-paused .everyday-open{transition:none}

/* Fade the complete hero photo layer into its backdrop, including its white overlay. */
.hero-photo{
 -webkit-mask-image:linear-gradient(90deg,#0000 0%,#0000000a 4%,#00000038 10%,#00000085 18%,#000000d6 26%,#000 34%);
 mask-image:linear-gradient(90deg,#0000 0%,#0000000a 4%,#00000038 10%,#00000085 18%,#000000d6 26%,#000 34%);
 -webkit-mask-repeat:no-repeat;
 mask-repeat:no-repeat;
 -webkit-mask-size:100% 100%;
 mask-size:100% 100%;
}
@media (max-width:700px){
 .hero-photo{
  -webkit-mask-image:linear-gradient(180deg,#0000 0%,#0000000f 5%,#00000040 10%,#000000a6 16%,#000 24%);
  mask-image:linear-gradient(180deg,#0000 0%,#0000000f 5%,#00000040 10%,#000000a6 16%,#000 24%);
 }
}
