.product-header { display:flex; align-items:center; gap:24px; min-height:76px; padding:0 clamp(22px,6vw,96px); border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); position:sticky; top:0; z-index:5; }
.product-business-note { display:flex; justify-content:space-between; gap:28px; padding:18px clamp(24px,6vw,96px); background:#102c3a; color:white; font-size:14px; line-height:1.55; }
.product-business-note span { max-width:650px; color:rgba(255,255,255,.74); }
.product-header > span { margin:auto; color:var(--blue-deep); font-size:11px; font-weight:900; letter-spacing:.16em; }
.product-back { color:var(--blue-deep); font-weight:800; }
.product-hero { padding:clamp(72px,10vw,140px) clamp(24px,8vw,128px) 80px; background:var(--paper); }
.product-hero h1 { max-width:760px; margin:0 0 22px; color:var(--blue-deep); font-size:clamp(46px,6vw,82px); line-height:.98; }
.product-hero > p:last-child { max-width:650px; margin:0; color:var(--muted); font-size:17px; line-height:1.8; }
.detail-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; padding:clamp(24px,5vw,72px) clamp(24px,8vw,128px); background:var(--line); }
.detail-card { min-height:330px; display:flex; flex-direction:column; justify-content:space-between; padding:32px; background:var(--white); }
.detail-label, .gallery-heading > span { color:var(--blue); font-size:11px; font-weight:900; letter-spacing:.14em; }
.detail-card h2 { margin:24px 0 12px; color:var(--blue-deep); font-size:32px; }
.detail-card p { max-width:420px; margin:0; color:var(--muted); line-height:1.7; }
.detail-copy a { display:inline-block; margin-top:22px; color:var(--blue); font-size:13px; font-weight:800; }
.detail-placeholder { margin-top:30px; padding-top:15px; border-top:1px solid var(--line); color:#9aa7ad; font-size:11px; }
.gallery-section { padding:clamp(70px,9vw,120px) clamp(24px,8vw,128px); background:var(--paper); }
.gallery-section + .gallery-section { padding-top:0; }
.gallery-heading { max-width:760px; margin-bottom:30px; }
.gallery-heading h2 { margin:15px 0 10px; color:var(--blue-deep); font-size:clamp(36px,4.5vw,60px); line-height:1; }
.gallery-heading p { margin:0; color:var(--muted); line-height:1.7; }
.click-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.material-card { display:block; padding:0; border:0; background:var(--white); cursor:zoom-in; overflow:hidden; }
.material-card img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; transition:transform .25s ease; }
.material-card:hover img { transform:scale(1.03); }
.image-modal { position:fixed; inset:0; z-index:20; display:grid; place-items:center; padding:30px; background:rgba(13,24,33,.88); }
.image-modal[hidden] { display:none; }
.image-modal img { max-width:min(92vw,1100px); max-height:88vh; object-fit:contain; background:#fff; }
.modal-close { position:absolute; top:20px; right:26px; border:0; background:none; color:#fff; font-size:40px; cursor:pointer; }
.detail-story-section { background:#fff; }
.detail-story { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; max-width:1180px; margin:0 auto; }
.detail-story figure { margin:0; overflow:hidden; background:var(--paper); border:1px solid var(--line); }
.detail-story img { display:block; width:100%; height:auto; }
.shampoo-collection { background:#fff; }
.dog-shampoo-collection { background:var(--paper); }
.shampoo-sku-grid { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:14px; align-items:stretch; }
.shampoo-sku-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--line); background:#fff; box-shadow:0 12px 34px rgba(18,53,72,.06); }
.shampoo-sku-card .material-card { border-bottom:1px solid var(--line); background:linear-gradient(180deg,#fff 0%,#f7fafb 100%); }
.shampoo-sku-card .material-card img { aspect-ratio:3/4; object-fit:contain; }
.shampoo-sku-card > div { display:flex; flex:1; flex-direction:column; padding:20px 18px 22px; }
.shampoo-sku-card h3 { margin:0; color:var(--blue-deep); font-size:18px; line-height:1.2; }
.sku-scent { margin:10px 0 18px; color:var(--blue); font-size:12px; font-weight:900; letter-spacing:.03em; }
.shampoo-sku-card dl { display:grid; gap:5px; margin:auto 0 0; color:var(--muted); font-size:12px; line-height:1.55; }
.shampoo-sku-card dt { margin-top:10px; color:var(--blue-deep); font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.shampoo-sku-card dd { margin:0; }
@media (max-width:1180px){.shampoo-sku-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.product-header{gap:12px}.product-header>span{display:none}.product-header .button{margin-left:auto}.product-business-note{flex-direction:column;gap:6px}.detail-grid{grid-template-columns:1fr}.click-gallery{grid-template-columns:1fr 1fr}.detail-card h2{font-size:28px}.shampoo-sku-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.click-gallery,.detail-story{grid-template-columns:1fr}.product-header{min-height:66px}.product-header .button{padding:0 12px;font-size:12px}}
@media (max-width:480px){.shampoo-sku-grid{grid-template-columns:1fr}}
