/* Photo-led homepage; existing catalog, operations and booking routes are preserved. */
body[data-page="home"] #vx-cosmos,body[data-page="home"] .vx-ambient,body[data-page="home"] .vx-twinkle-layer,body[data-page="home"] .vx-light-beam{display:none}
.vx-hair-hero{position:relative;background:#141412;overflow:hidden;color:#f6f0e5;border-bottom:1px solid #79664855}
.vx-hair-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center;min-height:674px;padding-top:44px;padding-bottom:40px}
.vx-hair-copy{min-width:0}
.vx-hair-kicker{display:flex;align-items:center;gap:10px;font-size:9px;font-weight:500;letter-spacing:.14em;color:#bcad8b;margin:0 0 34px}
.vx-hair-kicker>span{font-size:22px;line-height:1;color:#d9c19a}
.vx-hair-hero h1{font-family:var(--font-serif,"Noto Serif TC","Songti TC",serif);font-size:clamp(36px,3.65vw,57px);font-weight:500;line-height:1.5;letter-spacing:.04em;margin:0 0 26px;text-wrap:nowrap;color:#f5efe3}
.vx-hair-lead{font-size:14px;line-height:1.95;letter-spacing:.04em;color:#c5c1b7;margin-bottom:29px}
.vx-hair-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.vx-hair-actions .btn{min-height:51px;padding-inline:22px;border-radius:0;gap:25px;font-size:13px;letter-spacing:.03em;background:#cfbb93;color:#171610;box-shadow:none;border-color:#cfbb93}
.vx-hair-actions .btn:hover{background:#e4d0aa}
.vx-hair-price{display:inline-flex;align-items:center;gap:18px;font-size:12px;border-bottom:1px solid #958566;padding:10px 0;color:#d5c7ac}
.vx-hair-principle{border-top:1px solid #71674f55;margin-top:42px;padding-top:21px;font-family:"Noto Serif TC","Songti TC",serif;font-size:16px;color:#dfd3bc;letter-spacing:.07em;line-height:1.9}
.vx-hair-principle>span{font:10px/1.9 sans-serif;letter-spacing:.07em;color:#aaa69a}
.vx-hair-montage{min-width:0;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:14px;padding:0 22px 30px 0}
.vx-hair-frame{position:relative;display:block;min-width:0;height:535px;overflow:hidden;background:#2b2722;border:1px solid #b2a1893b;isolation:isolate}
.vx-hair-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 36%;transition:transform .45s;filter:brightness(.98)}
.vx-hair-frame::after{position:absolute;inset:45% 0 0;content:"";background:linear-gradient(0deg,#11100ee8,transparent 80%);pointer-events:none}
.vx-hair-pink{margin-top:32px}
.vx-hair-pink img{object-position:50% 35%}
.vx-hair-label{position:absolute;bottom:24px;left:22px;right:10px;z-index:2;display:grid;gap:7px;color:#fff9eb}
.vx-hair-label small{font-size:9px;letter-spacing:.14em;color:#e1d4b8;margin-bottom:4px}
.vx-hair-label strong{font-size:21px;font-weight:500;letter-spacing:.15em}
.vx-hair-label>span{font-size:10px;letter-spacing:.06em;color:#e0d8cb}
.vx-hair-frame:hover img{transform:scale(1.025)}
.vx-hair-side{position:absolute;right:0;top:0;writing-mode:vertical-rl;font-size:8px;letter-spacing:.18em;color:#a69e8a}
.vx-hair-foot{display:flex;align-items:center;justify-content:space-between;padding:21px 0 24px;border-top:1px solid #8b7b5c44;gap:22px;font-size:11px;color:#b7ac94;letter-spacing:.05em}
.vx-hair-foot>a{display:inline-flex;align-items:center;gap:28px;color:#e0d0ac;font-size:12px}
body[data-page="home"] #selected-works{background:#ece8df;color:#292a24;padding-top:83px;padding-bottom:85px}
body[data-page="home"] #selected-works .eyebrow{color:#796640;letter-spacing:.13em}
body[data-page="home"] #selected-works .vx-section-title{font-family:"Noto Serif TC","Songti TC",serif;font-size:35px;font-weight:500;line-height:1.6;color:#252b25}
body[data-page="home"] #selected-works .home-catalog-heading p{color:#64695f;font-size:13px;line-height:1.9}
body[data-page="home"] #selected-works .home-catalog-cta{background:transparent;color:#464c3e;border-color:#8c967a;box-shadow:none}
body[data-page="home"] .home-catalog-grid{grid-template-columns:1fr 1fr;gap:42px;color:#353b2e;max-width:1030px;margin:auto}
body[data-page="home"] .home-catalog-grid figure:nth-child(2){padding-top:65px}
body[data-page="home"] .home-catalog-image{aspect-ratio:1.04;border:0;background:#d7d4cc}
body[data-page="home"] .home-catalog-image img{object-position:50% 42%}
body[data-page="home"] .home-catalog-grid figcaption{padding-top:17px;color:#414b36;font-size:15px}
body[data-page="home"] .home-catalog-number{color:#7a7c64}
body[data-page="home"] .vx-editorial{padding-block:78px}
body[data-page="home"] .vx-info-panel{border-top:1px solid #8a765447;padding-top:28px}
.vx-hair-hero a:focus-visible{outline:3px solid #e8d5a4;outline-offset:6px}
@media(max-width:1100px){.vx-hair-layout{gap:36px;min-height:610px}.vx-hair-hero h1{font-size:43px;letter-spacing:.02em}.vx-hair-frame{height:475px}.vx-hair-actions{gap:18px}.vx-hair-actions .btn{padding-inline:17px;gap:14px}.vx-hair-price{font-size:11px;gap:9px}.vx-hair-label{left:17px}.vx-hair-principle{font-size:14px}.vx-hair-kicker{font-size:8px;letter-spacing:.08em}}
@media(max-width:800px){.vx-hair-layout{gap:28px;grid-template-columns:1fr 1.15fr}.vx-hair-hero h1{font-size:35px}.vx-hair-frame{height:430px}.vx-hair-label{left:12px;bottom:20px}.vx-hair-label strong{font-size:18px}.vx-hair-principle{margin-top:29px}.vx-hair-lead{font-size:13px}.vx-hair-foot{font-size:10px}.vx-hair-foot>a{font-size:10px;gap:15px}}
@media(max-width:650px){.vx-hair-layout{display:flex;flex-direction:column;gap:29px;padding-top:22px;padding-bottom:31px;align-items:stretch;min-height:0}.vx-hair-montage{order:-1;gap:10px;padding:0 15px 20px 0}.vx-hair-frame{height:285px}.vx-hair-pink{margin-top:20px}.vx-hair-label{left:14px;bottom:17px;gap:5px}.vx-hair-label small{font-size:8px;letter-spacing:.08em;margin-bottom:3px}.vx-hair-label strong{font-size:18px}.vx-hair-label>span{font-size:9px}.vx-hair-side{font-size:7px;letter-spacing:.1em}.vx-hair-kicker{font-size:8px;margin-bottom:16px;gap:9px;letter-spacing:.11em}.vx-hair-kicker>span{font-size:18px}.vx-hair-hero h1{font-size:35px;line-height:1.5;margin-bottom:15px;letter-spacing:.05em}.vx-hair-lead{font-size:13px;line-height:1.9;margin-bottom:20px}.vx-hair-actions{gap:25px}.vx-hair-actions .btn{min-height:48px;font-size:12px;padding-inline:18px;gap:21px}.vx-hair-price{font-size:12px}.vx-hair-principle{font-size:14px;padding-top:17px;margin-top:24px;margin-bottom:0;line-height:1.9}.vx-hair-principle>span{font-size:10px}.vx-hair-foot{display:block;padding-top:17px;padding-bottom:21px;font-size:10px}.vx-hair-foot>a{display:flex;justify-content:space-between;font-size:11px;margin-top:12px}body[data-page="home"] #selected-works{padding-block:52px}body[data-page="home"] #selected-works .vx-section-title{font-size:29px}body[data-page="home"] .home-catalog-grid{gap:16px}body[data-page="home"] .home-catalog-grid figure:nth-child(2){padding-top:33px}body[data-page="home"] .home-catalog-image{aspect-ratio:.68}body[data-page="home"] .home-catalog-grid figcaption{font-size:13px;line-height:1.8;padding-top:12px}body[data-page="home"] .vx-editorial{padding-block:54px}body[data-page="home"] .home-catalog-heading{gap:21px}}
@media(max-width:360px){.vx-hair-frame{height:245px}.vx-hair-hero h1{font-size:31px}.vx-hair-actions{gap:18px}.vx-hair-actions .btn{gap:13px;padding-inline:13px}.vx-hair-label{left:11px}.vx-hair-label strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.vx-hair-frame img{transition:none;transform:none!important}}

/* Round 2: preserve full hair length; captions sit below each photo. */
.vx-hair-service{display:none}
.vx-hair-frame{height:auto;display:flex;flex-direction:column;border:0;overflow:visible;background:none}
.vx-hair-frame img{height:470px;width:100%;object-fit:contain;object-position:center;background:#252320;border:1px solid #b2a1893b;filter:none}
.vx-hair-frame::after{display:none}.vx-hair-frame:hover img{transform:none}
.vx-hair-label{position:static;display:grid;padding:17px 0 0;gap:7px;color:#f5eee0}
.vx-hair-label strong{font-size:20px;letter-spacing:.07em;line-height:1.5}.vx-hair-label strong>span{font:12px/1.5 Arial,sans-serif;letter-spacing:.07em;color:#c9b78f;margin-right:5px}.vx-hair-label>span{font-size:11px;letter-spacing:.04em;color:#bfb6a3}
.vx-work-reading{display:block;font-size:12px;line-height:1.7;letter-spacing:.09em;color:#586747;margin-bottom:15px}.vx-work-reading i{font-style:normal;padding-inline:9px;color:#8b9176}
@media(max-width:1100px){.vx-hair-frame img{height:425px}.vx-hair-label strong{font-size:18px}}
@media(max-width:800px){.vx-hair-frame img{height:380px}.vx-hair-label strong{font-size:16px;letter-spacing:.03em}}
@media(max-width:650px){.vx-hair-layout{gap:20px;padding-top:20px}.vx-hair-service{display:flex;justify-content:space-between;align-items:center;gap:15px;order:-2;margin:0;font-size:14px;color:#e5d8bd;letter-spacing:.07em}.vx-hair-service>span{font-size:11px;color:#c5b99e;letter-spacing:.03em}.vx-hair-montage{padding-bottom:0}.vx-hair-frame img{height:260px}.vx-hair-label{padding-top:12px;gap:6px}.vx-hair-label strong{font-size:16px;letter-spacing:.03em;line-height:1.6}.vx-hair-label strong>span{font-size:10px;margin-right:2px}.vx-hair-label>span{font-size:10px;line-height:1.7}.vx-hair-copy .vx-hair-kicker{margin-top:11px}.vx-work-reading{font-size:10px;line-height:1.8;margin-bottom:10px;letter-spacing:.03em}.vx-work-reading i{padding-inline:4px}}
@media(max-width:360px){.vx-hair-frame img{height:230px}.vx-hair-label strong{font-size:15px}.vx-hair-service{font-size:13px}.vx-hair-service>span{font-size:10px}}

/* Keep the existing blue hair intact while lifting the natural dark endpoint. */
.vx-hair-blue img{filter:brightness(1.04)}
@media(max-width:650px){.vx-hair-layout{gap:18px}.vx-hair-copy .vx-hair-kicker{margin-top:4px}.vx-hair-principle{margin-top:20px}.vx-hair-montage{margin-bottom:0}}

/* Round 5: show the complete bob above a smaller clothing area. */
.vx-hair-pink img{height:390px;object-fit:cover;object-position:50% 16%}
@media(max-width:1100px){.vx-hair-pink img{height:355px}}
@media(max-width:800px){.vx-hair-pink img{height:330px}}
@media(max-width:650px){.vx-hair-pink img{height:210px;object-position:50% 16%}}
@media(max-width:360px){.vx-hair-pink img{height:190px}}


/* Round 6: original colors; crop only lower clothing, align the full bob to the top. */
.vx-hair-blue img{filter:none}
.vx-hair-pink img{height:360px;object-fit:cover;object-position:50% 0%}
/* Header wordmark proportions are shared in site.css across public pages. */
@media(max-width:1100px){.vx-hair-pink img{height:330px}}
@media(max-width:800px){.vx-hair-pink img{height:300px}}
@media(max-width:650px){.vx-hair-pink img{height:190px}.vx-hair-label>span{font-size:12px;line-height:1.7}.vx-hair-side{font-size:8px;letter-spacing:.08em}}
@media(max-width:360px){.vx-hair-pink img{height:175px}}
