/* One photographed environment replaces the floating portrait treatment. */
.hero{display:flex;align-items:center;position:relative;isolation:isolate;min-height:clamp(455px,34vw,640px);padding:38px max(32px,calc((100vw - 1160px)/2));gap:0;background:#faf1ea;overflow:hidden}
.hero::before{display:none}
.hero::after{display:block;content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#fffaf63b,transparent 52%);pointer-events:none}
.hero .hero-copy{position:relative;z-index:2;width:47%;max-width:555px;padding:0;margin:0;animation:none}
.hero .hero-picture.integrated-photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;margin:0;overflow:hidden;background:none;border-radius:0;animation:none}
.hero .portrait-glow{display:none}
.hero .store-portrait{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:right center;mask-image:none;-webkit-mask-image:none;mix-blend-mode:normal;filter:none;transform:none;border-radius:0}
.hero h1{font-size:clamp(42px,4.15vw,60px);line-height:1.15;margin-bottom:24px}
.hero .eyebrow{margin-bottom:24px}
.hero p{margin-bottom:26px;color:#66545b;max-width:385px}
.hero .hero-note{color:#795961;margin-top:24px}
@media(min-width:1700px){.hero .hero-copy{width:49%;max-width:575px}.hero{min-height:640px}}
@media(max-width:1100px){.hero{min-height:450px;padding-left:32px;padding-right:32px}.hero .hero-copy{width:48%;max-width:480px}.hero h1{font-size:46px}.hero p{font-size:13px;max-width:335px}.hero .eyebrow{font-size:10px;letter-spacing:1px}}
@media(max-width:900px){.hero{min-height:430px;padding-top:28px;padding-bottom:28px}.hero h1{font-size:40px}.hero .hero-copy{width:48%}.hero .eyebrow{font-size:9px;letter-spacing:.8px}.hero p{font-size:12px}.hero .hero-note{font-size:10px}.hero-actions{gap:14px}.hero .store-portrait{object-position:90% center}}
@media(max-width:700px){
 .hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:22px 22px 0;gap:17px;background:linear-gradient(180deg,#fffaf6 0%,#fbf1eb 42%,#f3dfd7 100%)}
 .hero::after{display:none}
 .hero .hero-copy{width:100%;max-width:520px;margin:0 auto;padding:0}
 .hero .eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:15px}
 .hero h1{font-size:clamp(35px,7.8vw,46px);line-height:1.17;margin-bottom:16px;letter-spacing:-1.3px}
 .hero h1 br{display:none}
 .hero p{font-size:13px;line-height:1.8;max-width:420px;margin-bottom:18px}
 .hero .hero-note{display:none}
 .hero .hero-picture.integrated-photo{position:relative;inset:auto;z-index:0;width:calc(100% + 44px);height:clamp(255px,69vw,330px);min-height:0;margin:0 -22px;overflow:hidden;aspect-ratio:auto}
 .hero .store-portrait{inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;mask-image:linear-gradient(to bottom,transparent,#000 3.5%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 3.5%);filter:none}
 .hero-actions{gap:16px;flex-wrap:wrap}
}
@media(max-width:360px){.hero{padding:19px 18px 0;gap:14px}.hero .hero-picture.integrated-photo{width:calc(100% + 36px);margin:0 -18px;height:250px}.hero .eyebrow{font-size:9px;letter-spacing:.6px}.hero h1{font-size:35px}.hero-actions{gap:12px}}

.hero .hero-picture picture{display:block;width:100%;height:100%}
@media(max-width:700px){.hero .hero-picture.integrated-photo{height:auto;min-height:0;max-height:none;aspect-ratio:3/2}.hero .store-portrait{object-fit:cover;object-position:center center;mask-image:none;-webkit-mask-image:none}.hero .hero-copy{padding-bottom:2px}.hero{gap:20px}}
@media(max-width:360px){.hero .hero-picture.integrated-photo{height:auto;aspect-ratio:3/2}.hero{gap:17px}}

/* Keep words intact and establish a compact, predictable phone layout. */
.hero-title-line{display:block}
@media(max-width:700px){
 header{height:80px;padding:0 20px}
 header .original-logo{width:200px;height:73px}
 header .original-logo img{width:222px}
 nav{top:80px}
 .hero{padding-top:21px;gap:22px}
 .hero .eyebrow{font-size:9px;letter-spacing:.85px;margin-bottom:18px;line-height:1.7}
 .hero h1{font-size:clamp(30px,8.7vw,38px);line-height:1.2;letter-spacing:-.7px;margin-bottom:18px;overflow-wrap:normal;word-break:normal}
 .hero-title-line{display:block}
 .hero p{font-size:14px;line-height:1.75;max-width:360px;margin:0 0 23px;color:#6b575f}
 .hero-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;max-width:410px;width:100%}
 .hero-actions .button{min-height:48px;padding:13px 17px;font-size:12px;justify-content:space-between;gap:10px;white-space:nowrap}
 .hero-actions .text-link{min-height:44px;font-size:11px;white-space:nowrap;justify-self:start;padding:8px 0}
 .hero .hero-picture.integrated-photo{margin-top:0;aspect-ratio:3/2;height:auto;max-height:none}
 .hero .store-portrait{object-fit:cover;object-position:center center;mask-image:none;-webkit-mask-image:none}
 .floating{width:55px;height:55px;right:max(16px,env(safe-area-inset-right));bottom:max(17px,env(safe-area-inset-bottom))}
 .floating>.icon{width:26px;height:26px}
}
@media(max-width:360px){
 header{padding:0 17px}header .original-logo{width:185px}header .original-logo img{width:207px}
 .hero{padding-left:19px;padding-right:19px;gap:20px}.hero h1{font-size:30px;letter-spacing:-.6px}.hero .eyebrow{font-size:8px;letter-spacing:.8px}
 .hero-actions{gap:14px}.hero-actions .button{padding:13px 13px;font-size:11px}.hero-actions .text-link{font-size:10px}
 .hero .hero-picture.integrated-photo{width:calc(100% + 38px);margin-left:-19px;margin-right:-19px}
}
@media(hover:none){.menu:hover{background:transparent}.button:hover,.floating:hover,#unit-contact a.unit-option:hover{transform:none}}
