/* Approved photo-card cross-promotion, 2026-10-15. Scoped to .xpromo. */
.xpromo{--xp-accent:#b9425b;--xp-ink:#44382f;--xp-border:#e6acb6;--xp-surface:#fffdf8;position:relative;isolation:isolate;box-sizing:border-box;max-width:1120px;margin:30px auto 40px;padding:32px 24px;border-radius:24px;color:var(--xp-ink);background:radial-gradient(ellipse at 2% 0%,#f8dce590,transparent 55%),radial-gradient(ellipse at 100% 100%,#f5e3cd80,transparent 45%),#fffaf5;scroll-margin-top:30px}
.xpromo *{box-sizing:border-box}.xpromo .xp-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 22px;padding:0;border:0}
.xpromo .xp-kicker{margin:0 0 7px;font:700 11px/1.5 sans-serif;letter-spacing:.2em;color:var(--xp-accent)}
.xpromo .xp-heading h2{margin:0;color:inherit;font-family:'Klee One','Yu Mincho',serif;font-size:clamp(26px,3vw,40px);font-weight:600;line-height:1.4;letter-spacing:.04em}
.xpromo .xp-note{margin:0 0 3px;color:var(--xp-accent);font:italic 20px/1.35 Georgia,serif;text-align:right}
.xpromo .xp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.xpromo .xp-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--xp-border);border-radius:18px;background:var(--xp-surface);color:var(--xp-ink);text-decoration:none;box-shadow:0 5px 18px #783c5010;transition:transform .2s,box-shadow .2s}
.xpromo .xp-card:focus-visible{outline:3px solid var(--xp-accent);outline-offset:5px}
.xpromo .xp-photo{display:block;position:relative;overflow:hidden;aspect-ratio:1;background:#eee2d7}
.xpromo .xp-photo img{display:block;width:100%;max-width:100%;height:100%;margin:0;object-fit:cover;border:0;border-radius:0}
.xpromo .xp-photo-ichigo img{object-position:100% 55%}
.xpromo .xp-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:20px 24px 22px;background:radial-gradient(ellipse at right bottom,#f5dce45c,transparent 65%)}
.xpromo .xp-eyebrow{margin:0 0 8px;color:inherit;font-size:12px;font-weight:600;line-height:1.6}
.xpromo h3{margin:0 0 8px;color:var(--xp-accent);font-family:Georgia,'Yu Mincho',serif;font-size:clamp(25px,2.5vw,34px);font-weight:700;line-height:1.2;letter-spacing:-.02em}
.xpromo .xp-hal h3{font-size:50px;font-weight:500;letter-spacing:.01em;color:inherit;margin-bottom:0}
.xpromo .xp-subtitle{margin:0 0 10px;font:14px/1.5 Georgia,serif;letter-spacing:.17em}
.xpromo .xp-desc{margin:0 0 16px;font-size:14px;line-height:1.75;letter-spacing:.02em}
.xpromo .xp-cta{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:44px;margin-top:auto;padding:10px 24px;border-radius:999px;background:var(--xp-accent);color:#fff;font-size:14px;font-weight:700;line-height:1.5}
.xpromo .xp-cta b{font-size:19px;line-height:1;font-weight:400}
.xpromo.xp-dark{--xp-accent:#74eafa;--xp-ink:#f5f7ff;--xp-border:#63eeff;--xp-surface:#09193e;background:radial-gradient(ellipse at 0% 95%,#145a7d65,transparent 55%),radial-gradient(ellipse at 100% 0%,#59294a55,transparent 50%),#06123b;border:1px solid #a9caf122}
.xpromo.xp-dark .xp-card{box-shadow:0 0 13px #63eeff25}.xpromo.xp-dark .xp-cta{color:#082039}
.xpromo.xp-dark .xp-body{background:radial-gradient(ellipse at bottom right,#24245566,transparent 70%)}
.xpromo.xp-dark .xp-ichigo{--xp-accent:#c52f72;--xp-ink:#44382f;--xp-border:#ff80c5;--xp-surface:#fffaf4;box-shadow:0 0 13px #ff67ce30;color:var(--xp-ink)}
.xpromo.xp-dark .xp-ichigo .xp-body{background:radial-gradient(ellipse at bottom right,#f6dce1aa,transparent 70%)}
.xpromo.xp-dark .xp-ichigo h3{font-family:'Yu Mincho',serif;font-size:40px;letter-spacing:.08em}
.xpromo.xp-dark .xp-ichigo .xp-cta{color:#fff}
@media(hover:hover){.xpromo .xp-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #8c44652a}.xpromo.xp-dark .xp-card:hover{box-shadow:0 0 22px #63eeff55}}
@media(max-width:700px){.xpromo{margin:24px 16px 30px;padding:24px 16px;border-radius:20px}.xpromo .xp-heading{align-items:start;margin-bottom:18px}.xpromo .xp-note{display:none}.xpromo .xp-grid{grid-template-columns:1fr;gap:18px}.xpromo .xp-heading h2{font-size:28px}.xpromo .xp-photo{aspect-ratio:1}.xpromo .xp-body{padding:18px 18px 20px}.xpromo h3{font-size:27px}.xpromo .xp-hal h3{font-size:45px}.xpromo .xp-desc{font-size:13px}.xpromo .xp-eyebrow{font-size:11px}.xpromo .xp-cta{font-size:13px;padding:10px 20px}.xp-dark.xpromo{margin-left:0;margin-right:0}}
@media(prefers-reduced-motion:reduce){.xpromo .xp-card{transition:none}.xpromo .xp-card:hover{transform:none}}


.xpromo .xp-photo-studio img{object-position:left center}

@media(max-width:700px){
.xpromo{padding:18px 10px;margin:20px 12px 24px;border-radius:16px}
.xpromo .xp-heading{margin-bottom:14px}
.xpromo .xp-heading h2{font-size:23px;letter-spacing:0}
.xpromo .xp-kicker{font-size:9px}
.xpromo .xp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.xpromo .xp-card{border-radius:12px}
.xpromo .xp-body{padding:12px 9px}
.xpromo h3{font-size:18px;line-height:1.25;overflow-wrap:normal}
.xpromo .xp-hal h3{font-size:29px}
.xpromo.xp-dark .xp-ichigo h3{font-size:25px}
.xpromo .xp-subtitle{font-size:9px;letter-spacing:.03em}
.xpromo .xp-eyebrow{font-size:10px;line-height:1.5;margin-bottom:6px}
.xpromo .xp-desc{font-size:11px;line-height:1.6;letter-spacing:0;margin-bottom:10px}
.xpromo .xp-cta{width:100%;min-height:40px;padding:8px 4px;font-size:11px;gap:3px;letter-spacing:0}
.xpromo .xp-cta b{font-size:14px}
}

.xpromo .xp-hal h3{font-size:30px;line-height:1.25;margin-bottom:12px;overflow-wrap:normal}.xpromo .xp-hal .xp-cta{white-space:normal;text-align:center}@media(max-width:700px){.xpromo .xp-hal h3{font-size:19px;line-height:1.3}.xpromo .xp-hal .xp-cta{font-size:10px}}
