:root {
    --bg:#fbfbfe;
    --card:#fff;
    --ink:#17151f;
    --muted:#6e6b79;
    --line:#e9e7f0;
    --soft:#f6f4fb;
    --purple:#7a5cff;
    --pink:#de6ca9;
    --blue:#3a6dff;
    --shadow:0 20px 56px rgba(28,22,49,.08)
}
* { box-sizing:border-box }
html,body { max-width:100%; overflow-x:hidden }
body { margin:0; background:var(--bg); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif }
.headshot-page .section,.headshot-page .hero,.headshot-page .studio,.headshot-page .library,.headshot-page .showcase,.headshot-page .multi-look,.headshot-page .industry,.headshot-page .why,.headshot-page .faq,.headshot-page .cta {
    width:min(1230px,calc(100% - 36px));
    margin:0 auto
}
.section-head { text-align:center; max-width:840px; margin:0 auto 38px }
.section-head span {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:6px 10px;
    border-radius:999px;
    background:#efeafd;
    color:var(--purple);
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase
}
.section-head h2 { margin:16px 0 12px; font-size:clamp(34px,4.8vw,58px); line-height:1.05; letter-spacing:-.04em }
.section-head p { margin:0; color:var(--muted); font-size:15px; line-height:1.8 }
.hero { display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:48px; padding:80px 0 70px }
.hero-copy h1 { margin:0; font-size:clamp(44px,5.6vw,76px); line-height:.98; letter-spacing:-.05em }
.hero-copy p { max-width:700px; margin:20px 0 0; color:var(--muted); font-size:16px; line-height:1.83 }
.hero-points { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 28px }
.hero-points span { padding:9px 14px; border:1px solid var(--line); border-radius:999px; background:#fff; font-size:12px; font-weight:850 }
.hero-cta { display:flex; flex-wrap:wrap; gap:12px }
.hero-cta a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 18px;
    border-radius:14px;
    text-decoration:none;
    font-size:13px;
    font-weight:900
}
.hero-cta .primary { background:linear-gradient(100deg,var(--purple),var(--pink)); color:#fff; box-shadow:0 15px 38px rgba(122,92,255,.25) }
.hero-cta .ghost { background:#fff; border:1px solid var(--line); color:var(--ink) }
.hero-stage {
    position:relative;
    min-height:560px;
    padding:20px;
    border-radius:34px;
    background:linear-gradient(145deg,#fff,#f4effb);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
    overflow:hidden;
    isolation:isolate
}
.hero-stage:before { content:""; position:absolute; inset:-12% 44% 48% -16%; background:radial-gradient(circle at center,rgba(122,92,255,.18),transparent 58%) }
.hero-stage:after { content:""; position:absolute; inset:38% -16% -18% 46%; background:radial-gradient(circle at center,rgba(222,108,169,.16),transparent 54%) }
.hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:16px; height:100% }
.hero-card { position:relative; overflow:hidden; min-height:470px; border-radius:26px; background:#ece8f6 }
.hero-card img { display:block; width:100%; height:100%; object-fit:cover }
.hero-card .label,.hero-tag {
    position:absolute;
    z-index:3;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(18,15,24,.76);
    color:#fff;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    backdrop-filter:blur(10px)
}
.hero-card.original .label { left:16px; top:16px }
.hero-card.result .label { right:16px; top:16px; background:rgba(122,92,255,.88) }
.hero-scan { position:absolute; inset:0; pointer-events:none }
.hero-scan-line {
    position:absolute;
    top:0;
    bottom:0;
    left:-14%;
    width:28%;
    background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.08),rgba(122,92,255,.18),rgba(255,255,255,.08),rgba(255,255,255,0));
    animation:scanMove 4.6s linear infinite
}
.hero-scan-line:after { content:""; position:absolute; top:0; bottom:0; left:50%; width:2px; transform:translateX(-50%); background:#fff; box-shadow:0 0 18px rgba(122,92,255,.8) }
.hero-note {
    position:absolute;
    left:20px;
    right:20px;
    bottom:20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
    border-radius:18px;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(233,231,240,.9);
    box-shadow:0 14px 34px rgba(18,15,24,.06);
    z-index:3
}
.hero-note strong { display:block; font-size:14px }
.hero-note span { display:block; margin-top:3px; color:var(--muted); font-size:12px }
.hero-note .style { padding:8px 11px; border-radius:999px; background:#f3efff; color:var(--purple); font-size:11px; font-weight:900; white-space:nowrap }
@keyframes scanMove {
    0% { transform:translateX(0) }
    100% { transform:translateX(420%) }
}
.studio,.library,.showcase,.multi-look,.industry,.why,.faq { padding:92px 0 }
.studio-card { padding:26px; border:1px solid var(--line); border-radius:30px; background:#fff; box-shadow:var(--shadow) }
.studio-grid { display:grid; grid-template-columns:400px minmax(0,1fr); gap:24px }
.upload-box {
    position:relative;
    display:flex;
    min-height:460px;
    align-items:center;
    justify-content:center;
    border:1.5px dashed #cac4db;
    border-radius:26px;
    background:linear-gradient(135deg,#fbf9ff,#f4effa);
    overflow:hidden;
    cursor:pointer;
    transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease,filter .25s ease;
    background-size:180% 180%
}
.upload-box:hover,.upload-box.drag {
    transform:translateY(-3px);
    border-color:#8c68ff;
    box-shadow:0 20px 48px rgba(122,92,255,.18),0 0 0 4px rgba(222,108,169,.08);
    filter:saturate(1.08);
    animation:uploadShimmer 2.4s ease infinite
}
@keyframes uploadShimmer {
    0%,100% { background-position:0 50% }
    50% { background-position:100% 50% }
}
.upload-box input { display:none }
.upload-empty { display:flex; flex-direction:column; align-items:center; padding:24px; text-align:center }
.upload-icon { display:grid; width:78px; height:78px; place-items:center; margin-bottom:14px; border-radius:24px; background:#fff; box-shadow:0 14px 36px rgba(35,24,45,.12) }
.upload-icon svg { width:34px; height:34px; stroke:var(--purple); stroke-width:1.8; fill:none }
.upload-empty strong { font-size:18px }
.upload-empty span { margin-top:6px; color:var(--purple); font-size:12px; font-weight:900 }
.upload-empty small { max-width:280px; margin-top:12px; color:#8f8796; font-size:11px; line-height:1.6 }
.upload-preview { position:absolute; inset:0; padding:12px }
.upload-preview[hidden] { display:none }
.upload-preview img { display:block; width:100%; height:100%; object-fit:contain; border-radius:18px }
.change-photo {
    position:absolute;
    right:16px;
    bottom:16px;
    min-height:38px;
    padding:0 14px;
    border:0;
    border-radius:999px;
    background:rgba(18,15,25,.78);
    color:#fff;
    font-size:11px;
    font-weight:800;
    cursor:pointer
}
.studio-side .panel-head h3 { margin:0; font-size:30px; letter-spacing:-.03em }
.studio-side .panel-head p { margin:10px 0 0; color:var(--muted); font-size:14px; line-height:1.8 }
.hint-box { margin-top:16px; padding:16px 18px; border-radius:18px; background:var(--soft) }
.hint-box b { font-size:12px }
.hint-box ul { margin:10px 0 0; padding-left:18px; color:var(--muted); font-size:12px; line-height:1.8 }
.field { margin-top:18px }
.field label { display:block; margin-bottom:10px; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase }
.quick-row { display:flex; flex-wrap:wrap; gap:8px }
.quick-row button {
    min-height:40px;
    padding:0 13px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    color:#4e4b57;
    font-size:12px;
    font-weight:850;
    cursor:pointer
}
.quick-row button.active { border-color:var(--purple); background:#f2edff; color:var(--purple); box-shadow:0 0 0 2px rgba(122,92,255,.08) }
.textarea {
    width:100%;
    min-height:170px;
    padding:16px 16px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    color:var(--ink);
    font:inherit;
    line-height:1.72;
    resize:vertical
}
.textarea:focus { outline:none; border-color:var(--purple); box-shadow:0 0 0 3px rgba(122,92,255,.12) }
.studio-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px }
.generate-btn,.secondary-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 18px;
    border-radius:15px;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
    cursor:pointer
}
.generate-btn { border:0; background:linear-gradient(100deg,var(--purple),var(--pink)); color:#fff; box-shadow:0 15px 38px rgba(122,92,255,.24) }
.generate-btn:disabled { opacity:.45; cursor:not-allowed; filter:grayscale(.6) }
.secondary-btn { border:1px solid var(--line); background:#fff; color:var(--ink) }
.helper { margin-top:12px; color:var(--muted); font-size:12px; line-height:1.75 }
.category-tabs { display:grid; width:min(560px,100%); grid-template-columns:repeat(3,1fr); gap:8px; margin:0 auto 28px; padding:5px; border-radius:18px; background:var(--soft) }
.category-tabs button { min-height:48px; border:0; border-radius:14px; background:transparent; color:#77717d; cursor:pointer; font-size:13px; font-weight:900 }
.category-tabs button.active { background:#fff; color:var(--ink); box-shadow:0 6px 18px rgba(34,25,58,.08) }
.model-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px }
.model-card { position:relative; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 10px 28px rgba(18,15,24,.04) }
.model-card img { display:block; width:100%; aspect-ratio:1/1.2; object-fit:cover }
.model-card h3 { margin:0; padding:10px 9px 12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px }
.model-hover {
    position:absolute;
    inset:0 0 40px;
    display:flex;
    align-items:flex-end;
    padding:12px;
    background:linear-gradient(transparent 35%,rgba(18,14,22,.86));
    opacity:0;
    transition:.22s
}
.model-card:hover .model-hover { opacity:1 }
.model-hover a {
    display:flex;
    width:100%;
    min-height:42px;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#fff;
    color:var(--ink);
    font-size:10px;
    font-weight:900;
    text-align:center;
    text-decoration:none
}
.load-more {
    display:block;
    min-height:48px;
    margin:28px auto 0;
    padding:0 22px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    color:var(--ink);
    cursor:pointer;
    font-size:12px;
    font-weight:850
}
.load-more[hidden] { display:none }
.showcase-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px }
.showcase-grid article,.multi-grid article { padding:12px; border:1px solid var(--line); border-radius:22px; background:#fff }
.compare {
    --split:50%;
    position:relative;
    overflow:hidden;
    aspect-ratio:1/1.12;
    border-radius:16px;
    touch-action:none;
    cursor:ew-resize;
    user-select:none;
    -webkit-user-select:none;
    -webkit-tap-highlight-color:transparent
}
.compare img { pointer-events:none; user-select:none; -webkit-user-select:none; -webkit-user-drag:none }
.compare>.before,.after img { width:100%; height:100%; object-fit:cover }
.after { position:absolute; inset:0; clip-path:inset(0 0 0 var(--split)) }
.divider { position:absolute; top:0; bottom:0; left:var(--split); width:2px; transform:translateX(-1px); background:#fff }
.divider i {
    position:absolute;
    left:50%;
    top:50%;
    display:grid;
    width:48px;
    height:48px;
    place-items:center;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:#fff;
    color:#9299a4;
    font-style:normal;
    box-shadow:0 9px 25px rgba(0,0,0,.18)
}
.tag { position:absolute; top:12px; padding:7px 10px; border-radius:999px; background:#4a4650; color:#fff; font-size:9px; font-weight:950; text-transform:uppercase }
.tag.left { left:12px }
.tag.right { right:12px; background:var(--purple) }
.showcase-grid h3,.multi-grid h3 { margin:14px 4px 8px; font-size:18px; line-height:1.35 }
.showcase-grid p,.multi-grid p { margin:0 4px 6px; color:var(--muted); font-size:13px; line-height:1.75 }
.multi-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px }
.multi-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:12px; align-items:stretch }
.multi-before img { width:100%; height:100%; object-fit:cover; border-radius:15px }
.after-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px }
.after-grid img { width:100%; aspect-ratio:1/1.05; object-fit:cover; border-radius:15px }
.industry-grid,.why-grid { display:grid; gap:16px }
.industry-grid { grid-template-columns:repeat(2,1fr) }
.industry-grid article,.why-grid article { padding:24px; border:1px solid var(--line); border-radius:22px; background:#fff }
.industry-grid i,.why-grid i {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border-radius:14px;
    background:#f1edff;
    color:var(--purple);
    font-style:normal;
    font-size:13px;
    font-weight:900
}
.industry-grid h3,.why-grid h3 { margin:14px 0 10px; font-size:24px; letter-spacing:-.02em }
.industry-grid p,.why-grid p { margin:0; color:var(--muted); font-size:14px; line-height:1.82 }
.faq-list { max-width:980px; margin:0 auto; border-top:1px solid var(--line) }
.faq-list details { border-bottom:1px solid var(--line) }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; padding:22px 0; cursor:pointer; list-style:none; font-weight:900 }
.faq-list summary::-webkit-details-marker { display:none }
.faq-list summary i { font-style:normal; font-size:20px }
.faq-list details[open] summary i { transform:rotate(45deg) }
.faq-list p { margin:-4px 0 22px; color:var(--muted); font-size:14px; line-height:1.8 }
.cta { padding:96px 0 110px; text-align:center }
.cta .card { padding:44px 20px; border-radius:32px; background:linear-gradient(130deg,#f3edff,#fff2f8); border:1px solid #ece5f7 }
.cta h2 { margin:14px 0 12px; font-size:clamp(36px,5vw,66px); letter-spacing:-.05em }
.cta p { max-width:740px; margin:0 auto 26px; color:var(--muted); line-height:1.85; font-size:15px }
.cta a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 22px;
    border-radius:15px;
    background:linear-gradient(100deg,var(--purple),var(--pink));
    color:#fff;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
    box-shadow:0 16px 38px rgba(122,92,255,.24)
}
@media(max-width:1080px) {
    .hero { grid-template-columns:1fr }
    .hero-copy { text-align:center }
    .hero-copy p { margin-left:auto; margin-right:auto }
    .hero-points,.hero-cta { justify-content:center }
    .hero-stage { max-width:760px; width:100%; margin:auto }
    .studio-grid { grid-template-columns:1fr }
    .model-grid { grid-template-columns:repeat(4,1fr) }
    .showcase-grid,.multi-grid,.industry-grid,.why-grid { grid-template-columns:1fr 1fr }
    .multi-layout { grid-template-columns:1fr }
    .hero-stage { min-height:500px }
}
@media(max-width:680px) {
    .headshot-page .section,.headshot-page .hero,.headshot-page .studio,.headshot-page .library,.headshot-page .showcase,.headshot-page .multi-look,.headshot-page .industry,.headshot-page .why,.headshot-page .faq,.headshot-page .cta {
        width:calc(100% - 20px)
    }
    .hero { padding:50px 0 54px; gap:30px }
    .hero-copy h1 { font-size:46px }
    .hero-copy p { font-size:14px }
    .hero-stage { min-height:420px; padding:14px; border-radius:24px }
    .hero-grid { grid-template-columns:1fr 1fr; gap:10px }
    .hero-card { min-height:340px; border-radius:18px }
    .hero-note { left:12px; right:12px; bottom:12px; padding:10px 12px; flex-direction:column; align-items:flex-start }
    .hero-note strong { font-size:13px }
    .hero-note span { font-size:11px }
    .studio-card { padding:14px; border-radius:22px }
    .upload-box { min-height:290px; border-radius:20px }
    .model-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px }
    .model-card h3 { font-size:9px; padding:7px 5px 8px }
    .model-hover { inset:0 0 26px; padding:6px }
    .model-hover a { min-height:32px; font-size:8px }
    .showcase-grid,.multi-grid,.industry-grid,.why-grid { grid-template-columns:1fr }
    .showcase-grid article,.multi-grid article { padding:8px; border-radius:18px }
    .compare { border-radius:12px }
    .tag { top:7px; padding:5px 7px; font-size:7px }
    .tag.left { left:7px }
    .tag.right { right:7px }
    .divider i { width:38px; height:38px }
    .section-head h2 { font-size:36px }
    .cta { padding:74px 0 82px }
    .industry-grid article,.why-grid article { padding:20px }
}


/* ===== Headshot direct workbench redesign ===== */
.hs-studio{padding:92px 0}
.hs-live-grid{display:grid;grid-template-columns:minmax(280px,.84fr) minmax(0,1.36fr);gap:24px;align-items:stretch}
.hs-upload-card,.hs-control-card,.hs-result-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}
.hs-upload-card{padding:22px 22px 18px;display:flex;flex-direction:column}
.hs-control-card{padding:22px 22px 20px;display:flex;flex-direction:column;min-height:100%}
.hs-upload-box{position:relative;display:flex;align-items:center;justify-content:center;min-height:560px;border:1.5px dashed #cfc6df;border-radius:10px;background:linear-gradient(145deg,#fcfbff,#f4eff9);overflow:hidden;cursor:pointer;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background .24s ease}
.hs-upload-box:hover,.hs-upload-box.drag{transform:translateY(-3px);border-color:var(--purple);box-shadow:0 22px 46px rgba(122,92,255,.14),0 0 0 4px rgba(122,92,255,.08);background:linear-gradient(145deg,#ffffff,#f6f0ff)}
.hs-upload-box input{display:none}
.hs-upload-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px;text-align:center}
.hs-upload-icon{display:grid;place-items:center;width:82px;height:82px;border-radius:22px;background:#fff;box-shadow:0 12px 28px rgba(30,22,47,.12)}
.hs-upload-icon svg{width:34px;height:34px;stroke:var(--purple);stroke-width:1.85;fill:none;stroke-linecap:round;stroke-linejoin:round}
.hs-upload-empty strong{font-size:30px;line-height:1.08;letter-spacing:-.04em;max-width:220px}
.hs-upload-empty span{font-size:13px;font-weight:900;color:var(--purple);letter-spacing:.02em}
.hs-upload-empty small{max-width:240px;color:#80798b;font-size:12px;line-height:1.7}
.hs-upload-preview{position:absolute;inset:0;padding:0}
.hs-upload-preview[hidden]{display:none}
.hs-upload-preview img{display:block;width:100%;height:100%;object-fit:cover}
.hs-clear-photo{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:999px;background:rgba(17,16,24,.78);color:#fff;font-size:22px;line-height:1;font-weight:700;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.hs-upload-note{margin:14px 2px 0;color:var(--muted);font-size:13px;line-height:1.8}
.hs-library-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.hs-library-title h3{margin:0;font-size:32px;letter-spacing:-.04em}
.hs-library-title p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.8}
.hs-gender-tabs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.hs-gender-tabs button,.hs-sample-btn,.hs-style-load,.hs-clear-result{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:12px;font-weight:900;cursor:pointer;text-decoration:none;transition:border-color .2s ease,transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}
.hs-gender-tabs button.active{background:linear-gradient(100deg,var(--purple),var(--pink));color:#fff;border-color:transparent;box-shadow:0 14px 30px rgba(122,92,255,.22)}
.hs-style-summary{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#faf8ff)}
.hs-style-summary strong{font-size:14px}
.hs-style-summary span{color:var(--muted);font-size:12px;text-align:right}
.hs-style-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;margin-top:18px}
.hs-pick{position:relative;display:flex;flex-direction:column;gap:8px;padding:0;border:0;background:none;cursor:pointer;text-align:center;color:var(--ink)}
.hs-pick-media{position:relative;display:block;aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:var(--soft);box-shadow:0 8px 22px rgba(30,22,47,.08);transition:transform .18s ease,box-shadow .18s ease,outline-color .18s ease;outline:1px solid rgba(198,189,214,.72)}
.hs-pick-media img{display:block;width:100%;height:100%;object-fit:cover}
.hs-pick.free .hs-pick-media{display:grid;place-items:center;background:linear-gradient(145deg,#f7f4ff,#fff);color:var(--purple);font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;line-height:1.3;padding:10px}
.hs-pick b{display:block;font-size:11px;line-height:1.3;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.hs-pick:hover .hs-pick-media{transform:translateY(-2px);box-shadow:0 14px 28px rgba(30,22,47,.14)}
.hs-pick.active .hs-pick-media{outline:2px solid var(--purple);box-shadow:0 0 0 4px rgba(122,92,255,.12),0 16px 30px rgba(122,92,255,.12)}
.hs-pick.active .hs-pick-media::after{content:'✓';position:absolute;right:8px;top:8px;display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:rgba(17,16,24,.8);color:#fff;font-size:14px;font-weight:900;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.hs-style-load-wrap{display:flex;justify-content:center;margin-top:16px}
.hs-prompt-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.hs-prompt-label{display:block;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.hs-prompt-label em{font-style:normal;color:var(--muted);letter-spacing:normal;text-transform:none}
.hs-prompt-input{width:100%;min-height:152px;margin-top:10px;padding:16px 16px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--ink);font:inherit;line-height:1.75;resize:vertical}
.hs-prompt-input:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px rgba(122,92,255,.12)}
.hs-run-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:18px}
.hs-credit-line{font-size:14px;font-weight:900;line-height:1.5}
.hs-credit-line a{color:var(--purple);text-decoration:none}
.hs-status-line{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.6}
.hs-status-line.success{color:#16805b}.hs-status-line.error{color:#c34d58}.hs-status-line.queue{color:#7d5dff}
.hs-generate{display:inline-flex;align-items:center;justify-content:center;min-width:230px;min-height:56px;padding:0 22px;border:0;border-radius:18px;background:linear-gradient(100deg,var(--purple),var(--pink));color:#fff;font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 18px 34px rgba(122,92,255,.22);transition:transform .2s ease,filter .2s ease,opacity .2s ease}
.hs-generate:hover:not(:disabled){transform:translateY(-1px);filter:saturate(1.05)}
.hs-generate:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.hs-result-card{margin-top:22px;padding:20px 20px 18px}
.hs-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.hs-result-head h3{margin:0;font-size:28px;letter-spacing:-.04em}.hs-result-head p{margin:6px 0 0;color:var(--muted);font-size:14px}
.hs-result-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:460px;max-height:500px;border-radius:26px;background:linear-gradient(145deg,#16151c,#0f1118);overflow:hidden}
.hs-result-stage img{display:block;width:100%;height:100%;max-height:500px;object-fit:contain;background:#111}
.hs-result-empty{display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:rgba(255,255,255,.56);font-size:14px;line-height:1.8}
.hs-busy-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(10,12,18,.52);backdrop-filter:blur(2px)}
.hs-busy-card{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:200px;padding:18px 22px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(19,21,31,.9);color:#fff;box-shadow:0 18px 36px rgba(0,0,0,.26)}
.hs-spinner{width:42px;height:42px;border:3px solid rgba(255,255,255,.18);border-top-color:#fff;border-radius:50%;animation:hsSpin .9s linear infinite}.hs-busy-card strong{font-size:15px}.hs-busy-card span{font-size:13px;color:rgba(255,255,255,.72)}
@keyframes hsSpin{to{transform:rotate(360deg)}}
.hs-download{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:#18131f;font-size:28px;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.hs-result-actions{display:flex;justify-content:flex-start;margin-top:14px}
.hs-clear-result{min-height:44px;padding:0 18px;border-radius:14px;background:var(--soft)}
.hs-style-hover-preview{position:fixed;z-index:90;width:220px;height:220px;padding:10px;border-radius:26px;background:#fff;box-shadow:0 28px 58px rgba(25,20,38,.24);opacity:0;transform:translateY(10px) scale(.96);pointer-events:none;transition:opacity .16s ease,transform .16s ease;display:none}
.hs-style-hover-preview.show{opacity:1;transform:translateY(0) scale(1)}
.hs-style-hover-preview img{display:block;width:100%;height:100%;object-fit:cover;border-radius:18px}
.hs-style-hover-preview.free{display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#f5f1ff,#fff);color:var(--purple);font-size:17px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;line-height:1.5;text-align:center}
html[data-theme="dark"] .headshot-page{--bg:#11131a;--card:#181c24;--ink:#f4f7fb;--muted:#b1bac9;--line:#2b3240;--soft:#131822;background:var(--bg);color:var(--ink);--shadow:0 20px 56px rgba(0,0,0,.28)}
html[data-theme="dark"] .headshot-page .section-head span{background:rgba(122,92,255,.14);color:#cfc2ff}
html[data-theme="dark"] .headshot-page .hero-stage{background:linear-gradient(145deg,#171b24,#1e2230)}
html[data-theme="dark"] .headshot-page .hero-note{background:rgba(24,29,39,.92);border-color:#2e3542}
html[data-theme="dark"] .headshot-page .hero-points span,html[data-theme="dark"] .headshot-page .hero-cta .ghost{background:#181c24;color:var(--ink);border-color:#313747}
html[data-theme="dark"] .headshot-page .hero-card{background:#202534}
html[data-theme="dark"] .headshot-page .hs-upload-box{background:linear-gradient(145deg,#1b202b,#161a22);border-color:#3a4051}
html[data-theme="dark"] .headshot-page .hs-upload-box:hover,html[data-theme="dark"] .headshot-page .hs-upload-box.drag{background:linear-gradient(145deg,#222838,#171b24)}
html[data-theme="dark"] .headshot-page .hs-upload-icon,html[data-theme="dark"] .headshot-page .hs-style-summary{background:#1d222d}
html[data-theme="dark"] .headshot-page .hs-style-summary{background:linear-gradient(180deg,#1c212b,#171b23)}
html[data-theme="dark"] .headshot-page .hs-pick-media,html[data-theme="dark"] .headshot-page .hs-pick.free .hs-pick-media{background:#1e2430;outline-color:#394254}
html[data-theme="dark"] .headshot-page .hs-gender-tabs button,html[data-theme="dark"] .headshot-page .hs-sample-btn,html[data-theme="dark"] .headshot-page .hs-style-load,html[data-theme="dark"] .headshot-page .hs-clear-result{background:#191e27;color:var(--ink);border-color:#323949}
html[data-theme="dark"] .headshot-page .hs-prompt-input{background:#181d26}
html[data-theme="dark"] .headshot-page .showcase-grid article,html[data-theme="dark"] .headshot-page .multi-grid article,html[data-theme="dark"] .headshot-page .industry-grid article,html[data-theme="dark"] .headshot-page .why-grid article,html[data-theme="dark"] .headshot-page .faq details,html[data-theme="dark"] .headshot-page .cta .card{background:#181c24;border-color:#2b3240}
html[data-theme="dark"] .headshot-page .faq summary i,html[data-theme="dark"] .headshot-page .tag{background:#1d2230;color:#f5f7fb}
@media (max-width:1180px){.hs-live-grid{grid-template-columns:minmax(280px,.92fr) minmax(0,1.18fr)}.hs-style-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (max-width:920px){.hs-live-grid{grid-template-columns:1fr}.hs-upload-box{min-height:480px}.hs-style-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hs-run-row{flex-direction:column;align-items:stretch}.hs-generate{width:100%;min-width:0}.hs-library-top{flex-direction:column;align-items:flex-start}.hs-gender-tabs{justify-content:flex-start}.hs-style-summary{flex-direction:column;align-items:flex-start}.hs-style-summary span{text-align:left}.hs-result-stage{min-height:380px}}
@media (max-width:640px){.hs-studio{padding:72px 0}.hs-upload-card,.hs-control-card,.hs-result-card{border-radius:22px;padding:16px}.hs-upload-box{min-height:420px}.hs-upload-empty strong{font-size:24px}.hs-style-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.hs-pick b{font-size:10px}.hs-style-load-wrap{margin-top:14px}.hs-prompt-input{min-height:136px}.hs-result-head h3{font-size:24px}.hs-result-stage{min-height:320px;max-height:460px}}

/* Tool67 state visibility hardening */
.hs-busy-overlay[hidden],.hs-result-fail[hidden],.hs-result-download[hidden],.hs-result-stage img[hidden]{display:none!important;}

#busyOverlay[hidden],#resultEmpty[hidden],#resultImage[hidden],#downloadButton[hidden]{display:none!important;}
