/* Photographs share natural light and warm materials. Original product labels
   remain untouched PNGs; sample funeral stationery lettering was checked enlarged. */
.hero{min-height:650px;background:#f5f2eb}
.site-content .hero-photo{inset:0 0 0 34%;border-bottom-left-radius:180px;margin-block:0}
.hero-photo img{object-position:54% 50%}
.hero:after{background:linear-gradient(90deg,#f5f2eb 0%,#f5f2eb 25%,rgba(245,242,235,.95) 35%,rgba(245,242,235,.35) 50%,rgba(245,242,235,0) 66%)}
.site-content .story-visual img{object-position:48% center}
.site-content .card-art.tea,.site-content .split-art.tea{background:#f1eee5}
.site-content .card-art.tea>.wp-block-image{width:100%;height:100%;margin:0;padding:0;background:transparent}
.site-content :is(.business-grid,.reason-grid,.product-grid,.category-list,.values,.steps,.timeline,.split,.story)>*{margin-block-start:0}
.site-content .card-art.tea img{width:100%;height:100%;object-fit:cover;object-position:center;padding:0;background:transparent;filter:none}
.site-content .split-art.tea{height:auto;aspect-ratio:3/2}
.site-content .product-image{background:radial-gradient(ellipse at 50% 32%,#fffefa,#eeeae0);border:1px solid #e7e4d9}
.site-content .product-image img{padding:32px;filter:drop-shadow(0 14px 12px #54432c24)}
.site-content .product{display:flex;flex-direction:column;min-width:0}
.site-content .product>.ogino-link-block:last-child{margin-top:auto}
.site-content .message-art{background:#eeeae0 url('web-desk-v2.webp') center/cover no-repeat}
.site-content .web-art{background:#eeeae0;padding:0;overflow:hidden}
.site-content .web-art>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.site-content .web-art:before,.site-content .web-art:after{display:none}
.site-content .message-paper{box-shadow:0 16px 25px #394b3226;border-top-color:#819b6d}
@media(min-width:1100px){.site-content .card-art{height:250px}.site-content .split-art{height:380px}.site-content .product-image img{padding:38px}}
@media(max-width:850px){.hero{min-height:560px}.site-content .hero-photo{inset:0 0 0 26%}.hero:after{background:linear-gradient(90deg,#f5f2eb 0%,rgba(245,242,235,.97) 28%,rgba(245,242,235,.55) 65%,rgba(245,242,235,.04) 100%)}.site-content .product-image img{padding:20px}}
@media(max-width:600px){.hero{min-height:0;display:block}.site-content .hero-photo{position:relative;inset:auto;height:300px;width:auto;margin:0 0 0 6%;border-radius:85px 0 0 0}.hero-photo img{object-position:58% 50%}.hero:after{display:none}.hero-copy{padding:38px 0 30px}.hero h1{font-size:clamp(21px,6.05vw,28px);line-height:1.8;margin-bottom:20px}.hero .eyebrow{margin-bottom:18px}.hero p{font-size:12px;max-width:100%}.site-content .product-image img{padding:34px}.hero>.photo-note{bottom:12px}}
@media(max-width:360px){.ogino-site .hero h1{font-size:21px;letter-spacing:0}.site-content .hero-photo{height:270px}.hero-copy{padding-top:35px}.site-content .product-image img{padding:27px}}
@media(max-width:600px){.site-content .card-art.tea{height:auto;aspect-ratio:3/2}}
/* Keep the complete condolence card and tablet in view, including on narrow screens. */
.site-content .card-art.photo,.site-content .card-art.web-art,.site-content .card-art.tea{height:auto;aspect-ratio:3/2}
@media(max-width:600px){.site-content .hero-photo{height:auto;aspect-ratio:3/2}}
/* Images sit beside native editable text, rather than containing text themselves. */
.site-content .editorial-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:clamp(28px,5vw,70px)}
.site-content .editorial-copy{width:100%;min-width:0;max-width:none}
.site-content .editorial-photo{width:100%;aspect-ratio:3/2;overflow:hidden;border-radius:4px}
.site-content .editorial-photo img{display:block;width:100%;height:100%;object-fit:cover}
.site-content .editorial-illustration{width:100%;max-width:520px;margin-inline:auto}
.site-content .editorial-illustration img{display:block;width:100%;height:auto;object-fit:contain}
.site-content .editorial-values{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);align-items:center;gap:clamp(24px,4vw,54px)}
.site-content .editorial-values .values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.site-content .category-photo{width:100%;aspect-ratio:3/2;overflow:hidden;margin-bottom:22px;border-radius:3px}
.site-content .category-photo img{display:block;width:100%;height:100%;object-fit:cover}
.site-content .category-item>p:first-of-type{color:var(--gold);font-size:18px;margin:0 0 12px}
.site-content .company-tea-photo{width:100%;aspect-ratio:5/2;overflow:hidden;margin:24px 0 36px}
.site-content .company-tea-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.site-content .contact-support-illustration{width:min(70%,260px);margin:8px auto 0}
.site-content .contact-support-illustration img{display:block;width:100%;height:auto}
.site-content .contact-support-illustration+.ogino-contact{padding-top:24px}
.site-content .message-art{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;height:auto;min-height:0;padding:20px;background:transparent}
.site-content .message-art img{width:100%;height:auto;object-fit:contain;transform:none}
.site-content .message-art strong{font-family:var(--serif);font-size:clamp(19px,2vw,26px);font-weight:400;letter-spacing:.12em}
.empty-state .news-tea-photo{display:block;width:min(100%,280px);height:auto;aspect-ratio:3/2;object-fit:cover;margin:0 auto 25px;border-radius:4px}
.site-content .km-about-title .editorial-photo{margin-top:28px}
@media(max-width:850px){.site-content .editorial-split,.site-content .editorial-values{grid-template-columns:minmax(0,1fr);gap:30px}.site-content .editorial-values>.editorial-illustration{max-width:380px}.site-content .editorial-split>.editorial-illustration{max-width:430px}}
@media(max-width:600px){.site-content .editorial-values .values{grid-template-columns:minmax(0,1fr);gap:26px}.site-content .company-tea-photo{aspect-ratio:3/2;margin:20px 0 26px}.site-content .contact-support-illustration{width:210px}.site-content .category-photo{margin-bottom:18px}.site-content .message-art{padding:0}}
/* User-supplied representative portrait: preserve the complete photograph. */
.site-content .representative-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(32px,5vw,72px);max-width:1160px}
.site-content .representative-portrait{width:100%;max-width:480px;margin:0 auto}
.site-content .representative-portrait img,.site-content .representative-preview-photo img{display:block;width:100%;height:auto;border-radius:5px}
.site-content .representative-copy{min-width:0}
.site-content .representative-copy>.eyebrow{font-size:10px;letter-spacing:.15em;margin:0 0 24px}
.site-content .representative-copy h2{font-size:clamp(27px,2.7vw,38px);line-height:1.8;margin:0 0 30px;letter-spacing:.035em}
.site-content .representative-copy h3{font-size:24px;font-weight:400;margin:32px 0 20px}
.site-content .representative-copy>p:not(.eyebrow){font-size:15px;line-height:2.1;margin:0 0 22px}
.site-content .representative-copy>.representative-signature{margin:36px 0 0;text-align:right;font-size:13px}
.site-content .representative-signature strong{display:inline-block;margin-top:8px;font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:.18em}
.site-content .representative-links .bottom-links{justify-content:center;margin:0}
.site-content .representative-preview{display:grid;grid-template-columns:200px minmax(0,1fr);gap:48px;align-items:center;max-width:900px}
.site-content .representative-preview-photo{width:100%;max-width:200px}
.site-content .representative-preview-copy h2{font-size:32px;font-weight:400;margin:12px 0 20px}
.site-content .representative-preview-copy>.eyebrow{font-size:11px;margin:0}
.site-content .representative-preview-copy>.ogino-link-block{margin-top:20px}
@media(max-width:850px){.site-content .representative-layout{grid-template-columns:minmax(0,1fr);gap:36px;max-width:680px}.site-content .representative-portrait{max-width:380px}.site-content .representative-copy h2{font-size:30px}.site-content .representative-preview{grid-template-columns:170px minmax(0,1fr);gap:30px}}
@media(max-width:600px){.site-content .representative-portrait{max-width:310px}.site-content .representative-copy h2{font-size:26px}.site-content .representative-copy h3{font-size:21px}.site-content .representative-copy>p:not(.eyebrow){font-size:14px;line-height:2}.site-content .representative-preview{grid-template-columns:minmax(0,1fr);gap:25px}.site-content .representative-preview-photo{max-width:180px;margin:auto}.site-content .representative-preview-copy h2{font-size:27px}.site-content .representative-preview-copy{text-align:center}.site-content .representative-links .bottom-links{justify-content:flex-start}}
/* The two generations share a page, with the second message below the first. */
.site-content .third-generation-section{scroll-margin-top:110px}
.site-content .third-generation-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.site-content .third-generation-portrait{grid-column:2;grid-row:1;max-width:380px}
.site-content .third-generation-copy{grid-column:1;grid-row:1}
.site-content .representative-copy>.representative-role{font-size:13px;letter-spacing:.04em;color:var(--muted);margin:0 0 14px}
.site-content .third-generation-copy>.eyebrow{margin-bottom:12px}
@media(max-width:850px){.site-content .third-generation-layout{grid-template-columns:minmax(0,1fr)}.site-content .third-generation-portrait,.site-content .third-generation-copy{grid-column:auto;grid-row:auto}.site-content .third-generation-portrait{max-width:340px}}
@media(max-width:600px){.site-content .third-generation-portrait{max-width:300px}.site-content .representative-copy>.representative-role{font-size:12px}}
/* Step illustrations are separate from editable headings and descriptions. */
/* Funeral strengths live on the return-gift page; their copy remains native text. */
.site-content .funeral-strengths{scroll-margin-top:110px}
.site-content .funeral-strengths .reason-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.site-content .funeral-strengths .reason{position:relative;min-width:0;padding:25px 28px 32px;background:#fff;border-top:1px solid #b1bdab}
.site-content .funeral-strengths .reason>.reason-num{margin:0 0 10px;font-size:21px}
.site-content .funeral-strengths .strength-illustration{width:100%;aspect-ratio:3/2;margin:0 0 24px}
.site-content .funeral-strengths .strength-illustration img{display:block;width:100%;height:100%;object-fit:contain}
.site-content .funeral-strengths .reason>h3{font-size:22px;line-height:1.85;margin:0 0 20px}
.site-content .funeral-strengths .reason>p:not(.reason-num){font-size:14px;line-height:2.05;margin:0;color:#5f6b5b;overflow-wrap:anywhere}
@media(min-width:851px) and (max-width:1100px){.site-content .funeral-strengths .reason-grid{gap:18px}.site-content .funeral-strengths .reason{padding:22px 20px 28px}.site-content .funeral-strengths .reason>h3{font-size:19px}}
@media(max-width:850px){.site-content .funeral-strengths .reason-grid{grid-template-columns:1fr;gap:24px}.site-content .funeral-strengths .reason{padding:26px 30px 30px}.site-content .funeral-strengths .strength-illustration{max-width:340px;margin:0 auto 22px}.site-content .funeral-strengths .reason>h3{font-size:23px}.site-content .funeral-strengths .reason>p:not(.reason-num){font-size:15px}}
@media(max-width:400px){.site-content .funeral-strengths .reason{padding:22px}.site-content .funeral-strengths .reason>h3{font-size:21px}}
.site-content .steps>.step{position:relative;padding:25px 24px 28px;min-width:0}
.site-content .step>.step-number{font-size:24px;line-height:1.2;margin:0 0 8px}
.site-content .step>.flow-illustration{width:100%;height:160px;margin:0 0 20px;background:#fff}
.site-content .step>.flow-illustration img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.site-content .step>h3{font-size:20px;line-height:1.7;margin:0 0 12px}
.site-content .step>p:not(.step-number){margin:0;line-height:1.95}
.site-content .steps.four .step>h3{font-size:18px}
@media(min-width:601px) and (max-width:1000px){.site-content .steps,.site-content .steps.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.site-content .steps,.site-content .steps.four{grid-template-columns:1fr;gap:22px}.site-content .steps>.step{padding:24px}.site-content .step>.flow-illustration{height:180px;margin-bottom:18px}.site-content .step>h3,.site-content .steps.four .step>h3{font-size:21px}}
