.fh-studio { --ink:#131313; --acid:#ddfa21; max-width:1280px; margin:auto; padding:112px 24px 64px; font-family:Arial,sans-serif; color:var(--ink); }
.fh-studio__heading {display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:32px; border-bottom:3px solid var(--ink); padding-bottom:24px;}
.fh-studio h1,.fh-studio h2,.fh-studio__price {font-family:"Oswald",Arial,sans-serif;}
.fh-studio h1 {font-size:clamp(2.5rem,6vw,4.5rem); line-height:1; margin:8px 0 0; text-transform:uppercase; letter-spacing:-.04em;}
.fh-studio__eyebrow {font-size:.875rem; font-weight:800; letter-spacing:.14em; margin:0;}
.fh-studio__price {font-size:2.5rem; font-weight:900; margin:0; white-space:nowrap;}
.fh-studio__price span {display:block; font-size:.875rem; font-weight:500;}
.fh-studio__workspace {display:grid; grid-template-columns:minmax(280px, .85fr) minmax(0, 1.5fr); gap:36px;}
.fh-studio h2 {font-size:1.125rem; margin:0 0 24px; text-transform:uppercase; letter-spacing:.04em;}
.fh-studio label {display:block; font-size:1rem; font-weight:700; margin:18px 0 8px;}
.fh-studio select,.fh-studio textarea,.fh-studio input[type=email] {box-sizing:border-box; width:100%; padding:13px; border:2px solid #333; background:white; border-radius:4px; font:inherit; color:#111;}
.fh-studio textarea {resize:vertical; min-height:140px;}
.fh-studio .fh-studio__check {display:flex; gap:10px; align-items:flex-start; font-size:.875rem; font-weight:500; line-height:1.5;}
.fh-studio__check input {flex-shrink:0; width:20px; height:20px; margin:1px 0 0; accent-color:#111;}
.fh-studio__hint {font-size:.875rem; line-height:1.55; color:#484848; margin:8px 0 16px;}
.fh-studio__primary {width:100%; padding:16px 18px; margin-top:12px; border:2px solid #111; background:var(--acid); color:#111; font:inherit; font-size:1.05rem; font-weight:800; cursor:pointer; box-shadow:4px 4px 0 #111; border-radius:3px;}
.fh-studio__primary:hover:not(:disabled) {background:#ebff6d;}
.fh-studio__primary:disabled {opacity:.55; cursor:wait; box-shadow:none;}
.fh-studio :focus-visible {outline:3px solid #873bec; outline-offset:4px;}
.fh-studio__images {display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.fh-studio figure {margin:0; min-width:0;}
.fh-studio__canvas {aspect-ratio:1/1.2; display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid #aaa; border-radius:5px; background-color:#fff; background-image:conic-gradient(#ededed 25%,transparent 0 50%,#ededed 0 75%,transparent 0); background-size:20px 20px;}
.fh-studio__canvas img {width:100%; height:100%; object-fit:contain;}
.fh-studio figcaption {font-size:1rem; font-weight:800; margin-top:10px;}
.fh-studio figcaption span {display:block; font-size:.875rem; font-weight:400; color:#555; margin-top:3px;}
.fh-studio__status {font-size:1rem; padding:16px 0; min-height:3em; line-height:1.5;}
.fh-studio__status[data-error=true] {color:#a01b12;}
.fh-studio__order {border-top:2px solid #111; padding-top:6px;}
.fh-studio__details {border-top:1px solid #aaa; margin-top:36px; padding-top:18px; font-size:.875rem; line-height:1.5;}
.fh-studio__notice {padding:12px; background:#fff0c3; font-size:1rem;}
.fh-studio [hidden] {display:none!important;}
.fh-custom-orders {font:16px/1.5 Arial,sans-serif; color:#151515; max-width:1100px; margin:auto; padding:40px 24px;}
.fh-custom-order {border:1px solid #aaa; padding:20px; margin:20px 0; display:grid; grid-template-columns:100px 1fr; gap:20px;}
.fh-custom-order img {width:100px; height:100px; object-fit:contain;}
.fh-custom-order a {display:inline-block; margin:10px 20px 0 0; text-decoration:underline;}
@media(max-width:760px) {.fh-studio {padding:100px 16px 40px;} .fh-studio__workspace {grid-template-columns:1fr; gap:32px;} .fh-studio__heading {align-items:start; flex-direction:column; gap:18px;} .fh-studio__price {font-size:1.8rem;} .fh-studio__price span {display:inline; margin-left:12px;} .fh-studio__images {gap:12px;}}

.fh-studio__portrait { width: 160px; max-height: 180px; object-fit: contain; margin: 12px 0; border: 2px solid #151515; }
.fh-studio input[type="file"] { width: 100%; max-width: 100%; padding: 12px; background: white; box-sizing: border-box; }

.fh-wait {background:#141414; color:#fff; padding:24px; border-radius:6px; margin-bottom:24px; box-shadow:5px 5px 0 #ad8c00; scroll-margin-top:95px;}
.fh-wait__top {display:flex; align-items:center; gap:14px; font-size:1.25rem; line-height:1.35;}
.fh-wait__spinner {width:24px; height:24px; flex-shrink:0; border:3px solid #606060; border-top-color:#ddfa21; border-radius:50%; animation:fh-spin 1s linear infinite;}
.fh-wait__estimate {color:#ddfa21; font-weight:bold; margin:18px 0 8px;}
.fh-wait__detail,.fh-wait__return {font-size:.9rem; line-height:1.55; color:#ddd;}
.fh-wait__steps {list-style:none; padding:0; margin:20px 0; display:grid; gap:12px;}
.fh-wait__steps li {display:flex; gap:12px; align-items:center; color:#aaa;}
.fh-wait__steps li::before {content:'○'; width:20px; text-align:center;}
.fh-wait__steps li[data-state=done] {color:#ddfa21;}
.fh-wait__steps li[data-state=done]::before {content:'✓';}
.fh-wait__steps li[data-state=active] {color:white; font-weight:bold;}
.fh-wait__steps li[data-state=active]::before {content:'●'; color:#ddfa21;}
.fh-wait__footer {display:flex; flex-wrap:wrap; gap:8px 18px; border-top:1px solid #555; padding-top:16px; font-size:.8rem; color:#ddd;}
.fh-wait__footer [data-wait-clock] {font-variant-numeric:tabular-nums; white-space:nowrap;}
.fh-wait__return {margin-bottom:0; font-size:.8rem;}
@keyframes fh-spin {to {transform:rotate(360deg);}}
@media(prefers-reduced-motion:reduce) {.fh-wait__spinner {animation:none;}}
