/* OZ approved campaign LP / v1.4.0 — readability-first, no overlapping text.
   All rules scoped to the LP wrapper. Works with or without Google Fonts. */
.ozdlp{font-family:"M PLUS Rounded 1c","Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",Meiryo,sans-serif!important;font-synthesis:weight;line-height:1.65}
.ozdlp :is(h1,h2,h3,.ozdlp-title-ribbon,.ozdlp-ribbon,.ozdlp-cta,.ozdlp-footer-brand){font-family:"Zen Maru Gothic","M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Hiragino Sans",Meiryo,sans-serif!important;font-weight:900!important;letter-spacing:0!important;overflow-wrap:anywhere}
.ozdlp :is(h1,h2,h3){text-wrap:balance;word-break:normal}
.ozdlp :is(p,.ozdlp-overview-value,.ozdlp-dorm-fact dd){overflow-wrap:anywhere}
/* Headline: never use negative line gaps or large stacked shadows. */
.ozdlp .ozdlp-hero{padding-top:24px!important}
.ozdlp .ozdlp-hero-copy{padding:10px 10px 0!important}
.ozdlp .ozdlp-hero h1{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px!important;width:100%;max-width:100%;font-size:clamp(26px,7.8vw,48px)!important;line-height:1.3!important;transform:none!important;letter-spacing:0!important;filter:none!important;overflow:visible;padding:4px 0 6px;margin:0 auto 4px!important}
.ozdlp .ozdlp-hero h1 span{box-sizing:border-box;display:block!important;position:relative;width:max-content;max-width:100%;line-height:1.32!important;padding:0 5px 3px;white-space:normal!important;overflow-wrap:normal;-webkit-text-stroke:1.6px #fff!important;paint-order:stroke fill!important;text-shadow:0 2px 0 #ffffff,1.5px 3px 0 #d53177!important;filter:none!important}
.ozdlp .ozdlp-hero h1 .ozdlp-big-blue{font-size:.92em;line-height:1.38!important}
.ozdlp .ozdlp-hero-sub{position:relative;z-index:5;line-height:1.6!important;margin:9px auto 5px!important;padding:1px 8px!important;font-size:clamp(11px,2.8vw,15px)!important;max-width:97%!important}
.ozdlp .ozdlp-hero-characters{margin:11px auto -5px!important;isolation:isolate;overflow:hidden}
.ozdlp .ozdlp-hero-characters img{filter:none!important}
.ozdlp .ozdlp-hero-bottom{isolation:isolate;padding-top:20px!important}
.ozdlp .ozdlp-ribbon{line-height:1.42!important;transform:rotate(-1deg)!important;font-size:clamp(12px,3.4vw,18px)!important;padding:5px 10px!important;margin:-30px auto 8px!important;max-width:92%;white-space:normal}
.ozdlp .ozdlp-cta{font-size:clamp(13px,3.8vw,19px)!important;letter-spacing:0!important;line-height:1.3!important;text-shadow:none!important;overflow-wrap:anywhere}
/* Sky section: headline gets full width, body and character no longer collide. */
.ozdlp .ozdlp-welcome{padding:24px 12px 29px!important;min-height:220px!important}
.ozdlp .ozdlp-welcome-copy{width:100%!important;max-width:none!important;position:relative!important;z-index:4!important;text-align:center!important}
.ozdlp .ozdlp-welcome h2{font-size:clamp(17px,4.65vw,27px)!important;line-height:1.52!important;white-space:normal!important;-webkit-text-stroke:1.3px #fff!important;paint-order:stroke fill!important;text-shadow:1px 2px 0 #e04786!important;letter-spacing:0!important;width:100%;max-width:100%;margin:0 auto 9px!important;padding:0 2px!important}
.ozdlp .ozdlp-welcome p{width:66%;font-size:clamp(10px,2.45vw,13px)!important;line-height:1.9!important;margin:0!important;padding:5px 0 12px!important;text-align:center!important;position:relative;z-index:5}
.ozdlp .ozdlp-welcome-girl{width:31%!important;right:0!important;bottom:-28px!important;max-height:180px;object-fit:contain;object-position:bottom!important;filter:none!important}
/* Main candy-pink section header with 2 clearly separated lines. */
.ozdlp .ozdlp-section-head{margin-bottom:24px!important;overflow:visible}
.ozdlp .ozdlp-section-head h2{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;line-height:1.3!important;padding:9px 7px 12px!important;margin:0!important;border-radius:13px!important;background:#fa468f;transform:none!important;box-shadow:0 4px 0 #ed9ebc!important;font-size:clamp(16px,4.6vw,28px)!important;white-space:normal!important;text-shadow:none!important;overflow-wrap:anywhere}
.ozdlp .ozdlp-support-topline{display:block;color:#fff8cb;font-size:.75em;line-height:1.35!important;-webkit-text-stroke:0!important;text-shadow:none!important}
.ozdlp .ozdlp-support-mainline{display:block;color:white;font-size:1.08em;line-height:1.35!important;-webkit-text-stroke:0!important;text-shadow:none!important}
.ozdlp .ozdlp-support-mainline em{font-style:normal;color:#fff16b;font-size:1.25em;line-height:1!important}
/* Three long cards; number bubble inside left visual, not superimposed onto title. */
.ozdlp .ozdlp-support-cards{gap:14px!important}
.ozdlp .ozdlp-support-card{overflow:visible!important;isolation:isolate;min-width:0;grid-template-areas:"mascot copy visual";align-items:stretch;gap:7px!important;padding:8px!important;box-shadow:0 4px 0 #ffd6e8!important}
.ozdlp .ozdlp-support-icon-wrap{position:absolute!important;left:7px!important;top:6px!important;z-index:6!important;width:auto!important;height:auto!important}
.ozdlp .ozdlp-support-index{height:28px!important;width:28px!important;line-height:23px!important;font-size:17px!important;transform:none!important;border-width:2px!important;box-shadow:0 0 0 1px var(--acc)!important}
.ozdlp .ozdlp-support-mascot{align-self:end;overflow:hidden!important;isolation:isolate}
.ozdlp .ozdlp-support-character{filter:none!important;mix-blend-mode:normal!important}
.ozdlp .ozdlp-support-card-copy{min-width:0!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;overflow:visible!important;z-index:2}
.ozdlp .ozdlp-support-card-copy h3{font-family:"Zen Maru Gothic","M PLUS Rounded 1c",Meiryo,sans-serif!important;-webkit-text-stroke:0!important;paint-order:normal!important;line-height:1.36!important;white-space:normal!important;text-shadow:none!important;letter-spacing:0!important;overflow-wrap:anywhere;padding:0!important;margin:0 0 5px!important}
.ozdlp .ozdlp-support-card-copy p{font-weight:750!important;line-height:1.57!important;word-break:normal}
.ozdlp .ozdlp-support-picture{align-self:center;border:2px solid #fff4f9!important;background:white!important;box-shadow:0 0 0 1px #ffbcd1;overflow:hidden}
.ozdlp .ozdlp-support-picture img{mix-blend-mode:normal;filter:none}
.ozdlp .ozdlp-title-ribbon{line-height:1.38!important;transform:none!important;font-size:clamp(17px,4.5vw,26px)!important;text-shadow:0 1px 0 #ad205c!important}
/* The three-by-two recommendation grid remains intact; give every label room. */
.ozdlp .ozdlp-recommend-item{justify-content:space-between!important;padding:6px 4px 9px!important;min-height:125px!important;overflow:hidden}
.ozdlp .ozdlp-recommend-mascot{height:66px!important;flex:0 0 66px;width:75px!important}
.ozdlp .ozdlp-recommend-mascot img{filter:none!important}
.ozdlp .ozdlp-recommend-item p{flex:1;display:flex;align-items:center;justify-content:center;line-height:1.5!important;font-size:clamp(10px,2.5vw,13px)!important;letter-spacing:0!important;min-width:0;padding:0 2px!important;word-break:normal;overflow-wrap:anywhere}
/* Four-step flow and other small cards can wrap on narrow screens. */
.ozdlp .ozdlp-pink-heading{line-height:1.46!important;overflow-wrap:anywhere;white-space:normal!important;padding:6px 12px!important}
.ozdlp .ozdlp-flow-step{min-width:0;overflow:visible}
.ozdlp .ozdlp-flow-step h3{white-space:normal!important;line-height:1.5!important;overflow-wrap:anywhere}
.ozdlp .ozdlp-flow-step p{line-height:1.5!important}
.ozdlp .ozdlp-work-grid article{min-width:0;padding:10px 4px 11px!important;overflow:visible!important}
.ozdlp .ozdlp-work-grid b{top:3px!important;left:3px!important;position:relative!important;display:inline-flex;align-items:center;justify-content:center;margin-bottom:3px!important;line-height:1!important}
.ozdlp .ozdlp-work-grid h3{white-space:normal!important;line-height:1.5!important;word-break:normal;overflow-wrap:anywhere;min-height:2.8em}
.ozdlp .ozdlp-work-grid p{font-size:clamp(9px,2.15vw,12px)!important;line-height:1.55!important}
.ozdlp .ozdlp-chunky-heading,.ozdlp .ozdlp-section-simple{line-height:1.55!important;word-break:normal;white-space:normal!important;-webkit-text-stroke:.8px white!important;text-shadow:0 2px 0 #ea9dbb!important;letter-spacing:0!important}
.ozdlp .ozdlp-last-cta h2{line-height:1.55!important;letter-spacing:0!important}
.ozdlp .ozdlp-footer-brand{line-height:1.5!important;white-space:normal!important;word-break:normal;letter-spacing:0!important}
@media(max-width:480px){
 .ozdlp .ozdlp-header-inner{min-height:28px!important}
 .ozdlp .ozdlp-menu{gap:clamp(5px,1.9vw,10px)!important}
 .ozdlp .ozdlp-menu a{font-size:clamp(8px,2.2vw,10px)!important}
 .ozdlp .ozdlp-hero h1{gap:3px!important;font-size:clamp(25px,7.7vw,35px)!important;line-height:1.35!important}
 .ozdlp .ozdlp-hero h1 span{-webkit-text-stroke:1px #fff!important;text-shadow:0 2px 0 #fff,1px 3px 0 #dc3e7e!important}
 .ozdlp .ozdlp-hero-characters{height:161px!important}
 .ozdlp .ozdlp-hero-characters img{height:223px!important}
 .ozdlp .ozdlp-hero-ribbon{margin-top:2px}
 .ozdlp .ozdlp-welcome{min-height:225px!important;padding:21px 9px 24px!important}
 .ozdlp .ozdlp-welcome-girl{width:30%!important;bottom:-21px!important}
 .ozdlp .ozdlp-section-head{margin-bottom:20px!important}
 .ozdlp .ozdlp-support-card{grid-template-columns:clamp(57px,18vw,76px) minmax(0,1fr) clamp(68px,24vw,94px)!important;gap:5px!important;min-height:118px!important;padding:6px!important}
 .ozdlp .ozdlp-support-mascot{height:100px!important;width:100%!important}
 .ozdlp .ozdlp-support-character{width:80px!important;max-width:none!important}
 .ozdlp .ozdlp-support-card-copy h3{font-size:clamp(11px,3.05vw,14px)!important}
 .ozdlp .ozdlp-support-card-copy p{font-size:clamp(9px,2.45vw,11px)!important;line-height:1.5!important}
 .ozdlp .ozdlp-support-picture{height:96px!important}
 .ozdlp .ozdlp-support-index{width:24px!important;height:24px!important;line-height:20px!important;font-size:15px!important}
 .ozdlp .ozdlp-recommend-item{min-height:125px!important}
 .ozdlp .ozdlp-recommend-mascot{height:61px!important;flex-basis:61px;width:67px!important}
 .ozdlp .ozdlp-recommend-mascot img{width:67px!important}
 .ozdlp .ozdlp-recommend-item p{font-size:clamp(10px,2.6vw,12px)!important;line-height:1.45!important}
 .ozdlp .ozdlp-work-grid article{padding:8px 2px 9px!important}
 .ozdlp .ozdlp-work-grid h3{font-size:clamp(9px,2.3vw,11px)!important;line-height:1.5!important}
 .ozdlp .ozdlp-work-grid p{font-size:clamp(8px,2.15vw,10px)!important}
 .ozdlp .ozdlp-work-grid b{font-size:12px!important;width:22px!important;height:22px!important;line-height:1!important}
 .ozdlp .ozdlp-overview-value{font-size:12px!important;line-height:1.9!important}
}
@media(max-width:350px){
 .ozdlp .ozdlp-hero h1{font-size:25px!important}
 .ozdlp .ozdlp-support-card{grid-template-columns:55px minmax(0,1fr) 65px!important;min-height:125px!important}
 .ozdlp .ozdlp-support-mascot{height:92px!important}
 .ozdlp .ozdlp-support-character{width:70px!important}
 .ozdlp .ozdlp-support-card-copy h3{font-size:11px!important}
 .ozdlp .ozdlp-support-card-copy p{font-size:9px!important}
 .ozdlp .ozdlp-support-picture{height:82px!important}
 .ozdlp .ozdlp-menu a{font-size:8px!important}
 .ozdlp .ozdlp-work-grid h3{font-size:9px!important}
}
@media(prefers-reduced-motion:reduce){.ozdlp *, .ozdlp *:before,.ozdlp *:after{transition:none!important;animation:none!important}}

/* High-resolution retro furniture decoration closer to approved reference art. */
.ozdlp .ozdlp-hero-room{position:absolute!important;inset:0 0 auto!important;height:240px;z-index:0;pointer-events:none;background-image:url(../img/hero-room-details.svg);background-repeat:no-repeat;background-position:center top;background-size:100% 100%;}
.ozdlp .ozdlp-hero-room :is(.ozdlp-hero-frame,.ozdlp-hero-clock,.ozdlp-hero-lamp,.ozdlp-hero-chest,.ozdlp-room-vanity,.ozdlp-room-dresser){display:none!important}
.ozdlp .ozdlp-room-star{pointer-events:none}
@media(max-width:480px){.ozdlp .ozdlp-hero-room{height:230px!important;background-size:100% 100%!important}}
