.studio-page-intro{padding-bottom:52px}
.studio-page-intro h1{max-width:900px}
.studio-steps{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 24px;margin-bottom:60px;background:var(--sage);border:1px dashed var(--green);border-radius:100px;color:var(--ink);font-size:12px;font-weight:500}
.studio-steps span{display:flex;align-items:center;gap:10px}
.studio-steps b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--pink);color:var(--pink-deep);font-family:"Comic Sans MS",cursive}
.studio-section{padding-bottom:110px}
.studio-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:start;gap:6%}
.section-mini-heading{margin-bottom:24px}
.section-mini-heading h2{font:600 clamp(50px,5vw,72px)/.9 Cormorant,Georgia,serif;margin:12px 0 11px}
.section-mini-heading h2 em{color:var(--pink-deep)}
.section-mini-heading>p:last-child{color:var(--soft-ink);font-size:14px}
.drawing-panel{overflow:hidden;border:2px solid var(--green);border-radius:22px;background:var(--cream);box-shadow:9px 9px 0 var(--pink)}
.drawing-panel-top{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 18px;background:#e4efd9;color:var(--ink);font-family:"Comic Sans MS","Segoe Print",cursive;font-size:15px}
.drawing-panel-top span:last-child{color:var(--pink-deep);font-size:20px}
.drawing-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid var(--line)}
.tool-group{display:flex;flex-wrap:wrap;gap:6px}
.tool-group button{min-width:39px;min-height:37px;padding:6px 11px;border:1px solid transparent;border-radius:11px;background:var(--paper);color:var(--ink);font-size:16px}
.tool-group button span{font-size:12px;margin-left:3px}
.tool-group .is-selected{border-color:var(--green);background:var(--sage)}
.tool-group button:hover:not(:disabled){border-color:var(--green)}
.tool-group button:disabled{opacity:.4;cursor:not-allowed}
.draw-actions button{border-color:var(--line)}
.drawing-options{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:10px 16px 14px}
.colour-group{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.colour-dot{width:27px;height:27px;border:2px solid var(--cream);border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px rgba(49,91,62,.25)}
.colour-dot.is-selected{outline:2px solid var(--pink-deep);outline-offset:2px}
.brush-size{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--soft-ink)}
.brush-size input{width:85px;accent-color:var(--pink-deep)}
.brush-size output{min-width:20px;color:var(--ink);font-weight:500}
#sketch-canvas{display:block;width:calc(100% - 24px);height:auto;aspect-ratio:10/7;margin:0 12px;border:1px solid #e1dcca;border-radius:10px;background:var(--cream);touch-action:none;cursor:crosshair}
.drawing-panel-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px 15px;color:var(--soft-ink);font-size:11px}
.drawing-panel-bottom>div{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.drawing-panel-bottom button{padding:7px 9px;border:1px solid var(--green);border-radius:100px;background:var(--paper);color:var(--ink);font-size:11px;white-space:nowrap}
.drawing-panel-bottom button:last-child{background:var(--green);color:var(--cream)}
.drawing-panel-bottom button:disabled{opacity:.42;cursor:not-allowed}
.upload-block{margin-top:58px}
.upload-heading h3{font:600 40px/.95 Cormorant,Georgia,serif;margin:0 0 5px}
.upload-heading p{margin-bottom:16px;color:var(--soft-ink);font-size:13px}
.photo-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:170px;padding:20px;border:2px dashed var(--pink-bright);border-radius:21px;background:#fff0f2;color:var(--pink-deep);text-align:center;cursor:pointer;transition:background .2s,border-color .2s}
.photo-drop:hover,.photo-drop.is-dragging{background:var(--pink);border-color:var(--pink-deep)}
.photo-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.photo-drop:focus-within{outline:3px solid var(--pink-bright);outline-offset:3px}
.photo-drop>span{font-size:31px;line-height:1}
.photo-drop strong{font-size:14px}
.photo-drop small{margin-top:6px;color:var(--soft-ink);font-size:11px}
.photo-list{display:grid;gap:9px;margin-top:14px}
.photo-chip{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:12px;padding:7px;border:1px solid var(--line);border-radius:12px;background:var(--cream)}
.photo-chip img,.photo-file-icon{width:56px;height:56px;border-radius:7px;object-fit:cover;background:var(--sage)}
.photo-file-icon{display:grid;place-items:center;color:var(--green);font-size:10px;font-weight:500}
.photo-details{display:block;min-width:0}
.photo-details strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.photo-details small{display:block;color:var(--soft-ink);font-size:10px}
.photo-chip button{border:0;background:transparent;color:var(--pink-deep);font-size:22px}
.new-brief-form{padding:30px 34px 37px;border:1px solid var(--line);border-radius:28px;background:var(--cream);box-shadow:9px 9px 0 var(--sage)}
.new-brief-form .form-top{border-bottom:1px dashed var(--green)}
.new-brief-form h2{font:600 55px/.9 Cormorant,Georgia,serif;margin:24px 0 13px}
.new-brief-form>p:not(.form-disclaimer){color:var(--soft-ink);font-size:13px;line-height:1.65}
.new-brief-form fieldset{border:0;padding:0;margin:27px 0 0}
.new-brief-form legend,.new-brief-form .form-field>label{display:block;margin-bottom:10px;color:var(--ink);font-size:13px;font-weight:500}
.required{color:var(--pink-deep)}
.piece-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.piece-option{display:block;cursor:pointer}
.piece-option input,.metal-options input{position:absolute;opacity:0}
.piece-face{display:flex;align-items:center;justify-content:center;min-height:46px;padding:11px;border:1px solid #b5c9af;border-radius:12px;background:var(--paper);text-align:center}
.piece-face strong{font-size:12px;font-weight:500}
.piece-option input:checked+.piece-face{border:2px solid var(--green);background:var(--sage)}
.piece-option input:focus-visible+.piece-face,.metal-options input:focus-visible+span{outline:3px solid var(--pink-bright);outline-offset:2px}
.necklace-option{grid-column:1/-1}
.necklace-option .piece-face{min-height:88px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;justify-content:start;text-align:left;padding:16px 19px;column-gap:17px}
.piece-icon{grid-row:1/3;display:grid;place-items:center;width:52px;height:52px;border:1px dashed var(--pink-deep);border-radius:50%;color:var(--pink-deep);font:39px/1 Cormorant,Georgia,serif}
.necklace-option strong{align-self:end;font:600 27px/1 Cormorant,Georgia,serif}
.necklace-option small{align-self:start;color:var(--soft-ink);font-size:11px}
.metal-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.metal-options label{cursor:pointer}
.metal-options label>span{display:flex;align-items:center;gap:9px;min-height:50px;padding:8px 12px;border:1px solid #b5c9af;border-radius:12px;background:var(--paper)}
.metal-options input:checked+span{border:2px solid var(--green);background:var(--sage)}
.metal-options strong{font-size:12px;font-weight:500}
.metal-swatch{display:block;flex:none;width:21px;height:21px;border:2px solid rgba(0,0,0,.12);border-radius:50%}
.silver-swatch{background:linear-gradient(130deg,#e9e9df,#a7aaa2,#f8f8f2)}
.gold-swatch{background:linear-gradient(130deg,#fff0ad,#c59438,#f4d471)}
.field-hint{margin:9px 0 0;color:var(--soft-ink);font-size:11px;line-height:1.5}
.new-brief-form .form-field{margin-top:22px}
.new-brief-form .form-field label span{font-weight:400;color:var(--soft-ink)}
.new-brief-form input:not([type=radio]),.new-brief-form textarea,.new-brief-form select{width:100%;min-height:45px;padding:11px 13px;border:1px solid #a9b9a5;border-radius:10px;background:var(--paper);color:var(--ink);font-size:13px}
.new-brief-form textarea{resize:vertical;line-height:1.5}
.new-brief-form input::placeholder,.new-brief-form textarea::placeholder{color:#7e8d7a}
.new-brief-form .form-two{gap:12px}
.new-brief-form .form-two .form-field{min-width:0}
.form-divider{display:flex;align-items:center;justify-content:space-between;margin-top:32px;padding-top:17px;border-top:1px dashed var(--green);color:var(--pink-deep);font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase}
.form-divider span:last-child{font-size:26px;line-height:1}
.new-brief-form .brief-submit{margin-top:16px}
.new-brief-form .form-disclaimer{max-width:420px;margin:15px 0 0;color:var(--soft-ink);font-size:11px;line-height:1.5}
.field-error{min-height:1.2em;margin:10px 0 0;color:#9c244d;font-size:12px}
.brief-dialog{max-height:min(85vh,800px);margin:auto;overflow:auto}
.brief-dialog h2{margin-bottom:19px}
.brief-summary-list{display:grid;grid-template-columns:115px 1fr;gap:10px 18px;margin:0}
.brief-summary-list dt{color:var(--pink-deep);font-size:12px;font-weight:500}
.brief-summary-list dd{margin:0;overflow-wrap:anywhere;color:var(--ink);font-size:13px}
.brief-dialog .dialog-note{margin-top:24px;padding-top:17px;border-top:1px solid var(--line);font-size:12px}
.dialog-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}
.dialog-actions .button{min-height:47px}
/* Sending: Turnstile, progress, thank-you state */
.brief-dialog [hidden]{display:none!important}
.turnstile-box{margin:20px 0 0}.turnstile-box:empty{margin:0}
.send-state{display:grid;gap:8px;margin:20px 0 0}
.send-state progress{width:100%;height:10px;border:0;border-radius:100px;background:var(--sage);overflow:hidden;appearance:none;-webkit-appearance:none}
.send-state progress::-webkit-progress-bar{background:var(--sage);border-radius:100px}
.send-state progress::-webkit-progress-value{background:var(--green);border-radius:100px;transition:width .2s}
.send-state progress::-moz-progress-bar{background:var(--green);border-radius:100px}
.send-state span{color:var(--soft-ink);font-size:12px}
#send-error{margin:14px 0 18px}#send-error:empty{margin:10px 0}
.brief-dialog button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.brief-dialog .dialog-close:disabled{visibility:hidden}
#sent-title{outline:none}
.sent-reference{margin:0 0 24px;padding:12px 16px;border:1px dashed var(--green);border-radius:14px;background:var(--sage);color:var(--ink)!important;font-size:13px}
.sent-reference strong{margin-left:6px;color:var(--pink-deep);letter-spacing:.06em}
.hp-field{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(prefers-reduced-motion:reduce){.send-state progress::-webkit-progress-value{transition:none}}
@media(max-width:1050px){.studio-grid{gap:4%}.new-brief-form{padding:26px 23px}.drawing-panel-bottom{display:block}.drawing-panel-bottom>div{justify-content:flex-start;margin-top:10px}}
@media(max-width:760px){.studio-page-intro{padding-bottom:34px}.studio-page-intro h1{font-size:68px}.studio-steps{gap:6px;padding:10px 12px;margin-bottom:44px;border-radius:17px;font-size:9px}.studio-steps span{gap:5px}.studio-steps b{width:21px;height:21px;font-size:10px}.studio-grid{display:block}.art-column{margin-bottom:65px}.new-brief-form{padding:25px 21px}.new-brief-form .form-two{display:grid;grid-template-columns:1fr 1fr}.new-brief-form h2{font-size:49px}}
@media(max-width:530px){.studio-page-intro h1{font-size:60px}.studio-steps{display:grid;grid-template-columns:1fr 1fr;gap:7px}.studio-steps span:last-child{grid-column:1/-1}.drawing-tools{align-items:start}.tool-group button{padding:5px 7px}.tool-group button span{font-size:10px}.drawing-options{display:block}.brush-size{margin-top:15px}.new-brief-form .form-two{grid-template-columns:1fr;gap:0}.metal-options{grid-template-columns:1fr 1fr}.brief-summary-list{grid-template-columns:95px 1fr}.dialog-actions{display:block}.dialog-actions .text-link{margin-top:17px}}
@media(prefers-reduced-motion:reduce){.photo-drop{transition:none}}
/* Wider crayon box, any-colour picker and per-piece measurement/colour choices. */
.drawing-options .colour-group{flex:1 1 100%;gap:6px}
.colour-dot{width:25px;height:25px}
.colour-custom{position:relative;display:grid;place-items:center;width:25px;height:25px;border:2px solid var(--cream);border-radius:50%;background:var(--swatch,conic-gradient(#d7263d,#f28c28,#f7e04b,#82af68,#5bb4e5,#6c3a9c,#d7263d));box-shadow:0 0 0 1px rgba(49,91,62,.25);cursor:pointer}
.colour-custom.is-selected{outline:2px solid var(--pink-deep);outline-offset:2px}
.colour-custom input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.colour-custom:focus-within{outline:3px solid var(--pink-bright);outline-offset:2px}
.colour-custom span{color:var(--paper);font-weight:700;font-size:15px;line-height:1;text-shadow:0 0 3px rgba(0,0,0,.55);pointer-events:none}
.metal-swatch[style]{background:var(--swatch)}
.new-brief-form .metal-fieldset+.metal-fieldset,.new-brief-form .form-field+.metal-fieldset{margin-top:22px}
.swatch-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.accent-options label>span{min-height:44px;padding:6px 10px}
.new-brief-form legend span:not(.required){font-weight:400;color:var(--soft-ink)}
.new-brief-form [hidden]{display:none!important}
@media(max-width:530px){.swatch-options{grid-template-columns:1fr 1fr}}
