/* Confirmed adjacent 40/60 composition; other homepage sections retain their styles. */
.home-refined .hero.hero-carousel{position:relative;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);column-gap:0;max-width:1600px;padding-inline:0;padding-top:var(--hero-top,24px);padding-bottom:var(--hero-bottom,54px);align-items:stretch;margin-inline:auto;isolation:isolate}
.home-refined .hero-carousel .hero-copy{box-sizing:border-box;padding:clamp(42px,5vw,86px) clamp(44px,5vw,80px);max-width:none;display:flex;flex-direction:column;justify-content:center;min-height:600px;animation:none}
.home-refined .hero-carousel h1{font-size:clamp(32px,3.5vw,var(--hero-title-size,56px));text-wrap:initial;line-height:1.38;letter-spacing:.015em}
.home-refined .hero-carousel .hero-copy p{font-size:clamp(16px,1.5vw,var(--hero-description-size,23px));margin:26px 0 30px;line-height:1.9}
.home-refined .hero-carousel .button{align-self:flex-start;max-width:100%;box-sizing:border-box;font-size:17px;gap:22px;white-space:normal;overflow-wrap:anywhere}
.home-refined .hero-carousel .appearance-cover{height:100%;width:100%;max-width:none;aspect-ratio:auto;min-height:0;object-fit:cover;object-position:var(--hero-desktop-focus,50% 62%);align-self:stretch;justify-self:stretch;border-radius:0}
.home-refined .hero-carousel[data-no-image=true]{grid-template-columns:1fr}.home-refined .hero-carousel[data-no-image=true] .hero-copy{min-height:460px;max-width:1000px;margin-inline:auto;width:100%}
.hero-carousel-controls{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:42px;color:var(--green);font:14px/1.5 var(--serif)}
.hero-carousel-controls[hidden],.hero-carousel-arrow[hidden],.hero-carousel .appearance-cover[hidden],.hero-carousel .hero-copy[hidden]{display:none!important}
.hero-slide-dots{display:flex;gap:4px}.hero-slide-dots button{width:30px;height:40px;border:0;background:transparent;font-size:0;padding:0;cursor:pointer;color:inherit}.hero-slide-dots button::after{content:'';display:block;border:1px solid currentColor;border-radius:50%;width:10px;height:10px;margin:auto}.hero-slide-dots button[aria-current=true]::after{background:currentColor}
.hero-carousel-controls>button{border:0;border-left:1px solid #d8cec2;background:transparent;color:inherit;padding:10px 0 10px 16px;font:inherit;cursor:pointer;min-height:44px}
.hero-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:1px solid currentColor;background:var(--paper);color:var(--green);border-radius:50%;width:44px;height:44px;font:32px/1 serif;cursor:pointer}.hero-prev{left:12px}.hero-next{right:12px}
.hero-carousel button:focus-visible{outline:3px solid var(--green);outline-offset:3px}.hero-slide-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:1000px){.home-refined .hero-carousel .hero-copy{padding:40px 40px;min-height:520px}.hero-carousel-arrow{width:36px;height:36px}.hero-prev{left:2px}.hero-next{right:2px}.home-refined .hero-carousel .button{font-size:15px;padding:13px 18px}}
@media(max-width:900px){.home-refined .hero.hero-carousel{grid-template-columns:1fr;row-gap:0}.home-refined .hero-carousel .hero-copy{padding:28px 28px 30px;min-height:390px;justify-content:center}.home-refined .hero-carousel h1{font-size:clamp(28px,8vw,var(--hero-title-size,56px));line-height:1.4}.home-refined .hero-carousel .hero-copy p{font-size:16px;margin:20px 0 24px}.home-refined .hero-carousel .appearance-cover{width:100%;height:auto;aspect-ratio:3/2;object-position:var(--hero-mobile-focus,50% 50%)}.hero-carousel-controls{margin-top:24px;gap:10px}.hero-carousel-arrow{top:auto;bottom:22px;transform:none;background:var(--paper)}.hero-prev{left:12px}.hero-next{right:12px}.home-refined .hero-carousel[data-no-image=true] .hero-copy{min-height:390px}}

.hero-carousel-media{position:relative;min-height:0;min-width:0}.hero-carousel-media[hidden]{display:none!important}.home-refined .hero-carousel .hero-carousel-media .appearance-cover{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
@media(max-width:900px){.hero-carousel-media{aspect-ratio:3/2}}

.hero-carousel{touch-action:pan-y}.hero-carousel-media{background:var(--soft)}.hero-carousel[data-empty=true]{display:none!important}

.hero-carousel #order-link[hidden]{display:none!important}
.hero-carousel-media .hero-carousel-arrow{top:50%;bottom:auto;transform:translateY(-50%);width:44px;height:44px;background:#faf8f3df;color:#4b5842;border-color:#4b584266;box-shadow:0 1px 5px #0002}.hero-carousel-media .hero-prev{left:12px}.hero-carousel-media .hero-next{right:12px}
.editable-photo-frame{position:relative;overflow:hidden;isolation:isolate}.photo-drag-enabled{touch-action:none;cursor:grab}.photo-drag-enabled:active{cursor:grabbing}.photo-drag-enabled img{pointer-events:auto;user-select:none;-webkit-user-drag:none}.appearance-editing .photo-drag-enabled::before{content:'拖曳照片調整位置';position:absolute;inset:auto 8px 8px auto;padding:4px 8px;background:#faf8f3e8;color:#49362e;font:12px/1.5 sans-serif;z-index:3;pointer-events:none}

/* Approved phone/tablet composition: copy, photo, then controls. Desktop remains 40/60. */
@media(max-width:1024px){
 .home-refined .hero.hero-carousel{grid-template-columns:minmax(0,1fr);row-gap:0;padding-inline:12px;padding-top:calc(var(--hero-top,24px) * .5);padding-bottom:calc(var(--hero-bottom,54px) * .4)}
 .home-refined .hero-carousel .hero-copy{padding:6px 10px 18px;justify-content:flex-start;min-height:0;max-width:none}
 .home-refined .hero-carousel h1{font-size:clamp(24px,calc(var(--hero-title-size,56px) * .9),44px)!important;line-height:1.3;letter-spacing:.015em;text-wrap:initial}
 .home-refined .hero-carousel .hero-copy p{font-size:clamp(14px,calc(var(--hero-description-size,23px) * .82),20px)!important;line-height:1.65;margin:12px 0 14px}
 .home-refined .hero-carousel .button{font-size:16px;line-height:1.4;padding:11px 23px;min-height:44px;gap:20px}
 .home-refined .hero-carousel .hero-carousel-media{width:100%;aspect-ratio:1.86;align-self:start;border-radius:var(--appearance-radius,4px);min-height:1px}
 .home-refined .hero-carousel>.hero-carousel-controls{justify-content:center;margin:6px 0 0;gap:10px;min-height:44px;font-size:13px}
 .hero-carousel-controls>button{font-size:0;border-left:0;padding:0;width:44px;min-height:44px}
 .hero-carousel-controls>button::after{content:'Ⅱ';font:18px/1 var(--sans)}
 .hero-carousel-controls>button[aria-pressed=true]::after{content:'▷'}
 .hero-slide-dots button{width:30px;height:44px}
 .home-refined .hero-carousel[data-no-image=true] .hero-copy{min-height:0}
}
