.site-board{
  position:relative;isolation:isolate;border:0;border-radius:5px;overflow:visible;
  background:var(--cb-face);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb,var(--cb-lift) 44%,transparent),
    inset 0 -1px 0 rgba(90,62,32,.30),
    0 var(--cb-thick) 0 var(--cb-edge),
    0 calc(var(--cb-thick) + 1.5px) 0 var(--cb-edge-dark),
    0 calc(var(--cb-thick) + 5px) 7px rgba(50,32,14,.30);
}
.site-board::before{
  content:'';position:absolute;left:1px;right:1px;
  bottom:calc(-1 * var(--cb-thick));height:var(--cb-thick);
  border-radius:0 0 4px 4px;z-index:-1;
  background:
    linear-gradient(180deg,rgba(60,40,18,.55) 0 1px,transparent 1px),
    linear-gradient(0deg,rgba(60,40,18,.6) 0 1px,transparent 1px),
    var(--cb-flute);
  transition:height 110ms ease,bottom 110ms ease;
}
.site-board::after{
  content:'';position:absolute;inset:0;z-index:2;pointer-events:none;
  border-radius:inherit;mix-blend-mode:multiply;opacity:var(--cb-grain-o);
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22220%22%20height%3D%22220%22%3E%3Cfilter%20id%3D%22f%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.022%200.85%22%20numOctaves%3D%224%22%20seed%3D%227%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url%28%23f%29%22%20opacity%3D%22.9%22%2F%3E%3C%2Fsvg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22260%22%20height%3D%22260%22%3E%3Cfilter%20id%3D%22s%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%221.4%22%20numOctaves%3D%221%22%20seed%3D%223%22%2F%3E%3CfeColorMatrix%20type%3D%22matrix%22%20value%3D%22%22%20values%3D%220%200%200%200%200.16%20%200%200%200%200%200.10%20%200%200%200%200%200.05%20%200%200%200%201%200%22%2F%3E%3CfeComponentTransfer%3E%3CfeFuncA%20type%3D%22discrete%22%20tableValues%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%201%22%2F%3E%3C%2FfeComponentTransfer%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url%28%23s%29%22%2F%3E%3C%2Fsvg%3E");
  background-size:190px 190px,150px 150px;
  background-position:37px 11px,-23px 44px;
}


/* Homepage addition: uses the existing 123Chair Kraft material. */
.preview-ribbon{position:relative;z-index:51;background:var(--brand);color:var(--on-brand);font:600 11px var(--font-ui);padding:9px 26px;display:flex;gap:20px;align-items:center;justify-content:space-between;letter-spacing:.02em}
.preview-ribbon a{color:inherit;min-height:28px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:3px}.preview-ribbon span{opacity:.9}
.cut-entry{position:relative;z-index:1;max-width:1260px;margin:auto;padding:30px 26px 34px;scroll-margin-top:90px}
.cut-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 10px 22px}.cut-kicker{font-size:10px;letter-spacing:.2em;font-weight:700;color:var(--brand);margin:0 0 7px;text-transform:uppercase}
.cut-intro h1{font-size:clamp(32px,4vw,47px);line-height:1.1;margin:0;font-family:var(--font-display);font-weight:900;color:var(--cb-marker);letter-spacing:-.025em;text-shadow:0 0 1.5px rgba(36,23,8,.3),0 1px 0 color-mix(in srgb,var(--cb-lift) 40%,transparent)}
.cut-intro p:not(.cut-kicker){font-size:13px;line-height:1.6;color:var(--muted);margin:10px 0 0;max-width:63ch}
.studio-tools{display:flex;gap:10px;flex:none}.s-button{position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 16px;border:1px solid var(--border);border-radius:5px;color:var(--text);background:var(--cb-face);font:600 13px var(--font-ui);text-decoration:none;cursor:pointer;box-shadow:0 2px 0 var(--cb-edge),0 3px 3px rgba(50,32,14,.3);transition:transform 110ms var(--ease-snap)}
.s-button:active{transform:translateY(2px);box-shadow:inset 0 2px 5px rgba(60,40,18,.4)}.s-button:disabled{opacity:.6;cursor:wait}.s-button:focus-visible,.cut-entry a:focus-visible{outline:3px solid var(--brand);outline-offset:4px}.s-button.primary{background:var(--brand);color:var(--on-brand);border-color:var(--brand);box-shadow:0 2px 0 var(--cb-edge-dark),0 4px 5px rgba(50,32,14,.3)}
.s-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.s-icon{width:48px;padding:0}
#studio-frame{display:block;width:100%;border:0;height:660px;overflow:hidden;background:transparent}
.pro-divider{position:relative;max-width:1108px;margin:18px auto 0;padding:25px 0 0;border-top:1px solid var(--border);text-align:center;font-size:10px;letter-spacing:.18em;font-weight:700;color:var(--muted)}
#pro-intro-title{font-size:clamp(34px,4.2vw,54px)}
.s-modal{color:var(--text);width:min(970px,calc(100vw - 30px));max-height:calc(100dvh - 40px);padding:0;overflow:visible;font:15px var(--font-ui)}
.s-modal::backdrop{background:rgba(36,23,8,.6)}.s-modal-content{padding:26px;max-height:calc(100dvh - 55px);overflow-y:auto;border-radius:inherit}
.s-modal-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;position:relative;z-index:3}.s-modal-heading h2{font-size:30px;font-family:var(--font-display);font-weight:900;color:var(--cb-marker);margin:5px 0 0;line-height:1.15}.s-close{width:44px;min-height:44px;padding:0;font-size:25px;flex:none}
.send-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;position:relative;z-index:3}.send-layout section{padding:0;border:0}.send-art{width:100%;height:auto;display:block;border-radius:3px;background:var(--surface);aspect-ratio:1254/1554;object-fit:contain}
.send-caption{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-top:12px;font-size:13px}.send-caption span{font-size:11px;color:var(--muted)}
.note-label{display:block;font-size:13px;font-weight:600;margin:0 0 8px}.note-label span{font-weight:400;color:var(--muted)}
#barber-note{display:block;width:100%;font:400 16px/1.55 var(--font-ui);color:var(--text);padding:12px;border:1px solid var(--cb-edge);border-radius:5px;background:color-mix(in srgb,var(--cb-edge) 14%,var(--surface));box-shadow:inset 0 2px 5px rgba(60,40,18,.25);resize:vertical;min-height:108px}
#barber-note:focus{outline:2px solid var(--brand);outline-offset:3px}
.invitation-note{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:17px 0;margin:20px 0}.invitation-note h3{font-family:var(--font-display);font-weight:900;font-size:21px;margin:0 0 7px;color:var(--cb-marker)}.invitation-note p{font-size:12px;line-height:1.65;color:var(--muted);margin:0}
.send-actions{display:flex;flex-wrap:wrap;gap:12px}.send-actions .primary{flex:1}#share-status{font-size:12px;line-height:1.6;color:var(--muted);margin:15px 0;min-height:38px}
#message-details{border-top:1px solid var(--border);margin-top:18px;padding-top:2px}#message-details summary{min-height:44px;display:flex;align-items:center;font-size:12px;cursor:pointer;gap:8px}#message-details summary::before{content:'+';font-size:20px}#message-details[open] summary::before{content:'−'}#message-preview{white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 12px}
.review-recipient{display:inline-flex;min-height:44px;align-items:center;font-size:12px;font-weight:600;text-underline-offset:4px;color:var(--brand)}
[hidden]{display:none!important}
/* Recipient preview shares the same stock and renders the same selected pixels. */
.recipient-page{min-height:100dvh;position:relative}.recipient-page #root{position:relative;z-index:1}.recipient-nav{max-width:1160px;padding:18px 26px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}
.website-brand{display:inline-flex;align-items:center;gap:10px;font:900 24px var(--font-display);text-decoration:none;color:var(--text)}.website-brand .mk{display:block;width:42px;height:42px;background:linear-gradient(160deg,#DDBC8F 0%,#D4B080 52%,#CAA574 100%);mask:url(/mark.svg) no-repeat center/contain;-webkit-mask:url(/mark.svg) no-repeat center/contain;filter:drop-shadow(0 1.5px 0 rgba(50,32,14,.5)) drop-shadow(0 2px 3px rgba(50,32,14,.3))}
.recipient-main{max-width:1160px;padding:42px 26px 60px;margin:auto}.recipient-intro{margin-bottom:32px}.recipient-intro h1{font:900 clamp(34px,4vw,48px)/1.12 var(--font-display);color:var(--cb-marker);margin:6px 0 0;letter-spacing:-.025em}.recipient-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,1fr);gap:35px;align-items:center}
.received-cut{padding:10px}.received-cut .cut-name{text-align:center;padding:12px 10px 20px;position:relative;z-index:3}.cut-name p{font-size:11px;letter-spacing:.15em;color:var(--muted);text-transform:uppercase;margin:0 0 5px}.cut-name h2{font:900 32px var(--font-display);color:var(--cb-marker);margin:0}
.recipient-art{width:100%;height:auto;display:block;position:relative;z-index:3;border-radius:3px}.recipient-age{font-size:12px;text-align:center;padding:12px 0 3px;color:var(--muted);margin:0}
#recipient-loading{padding:12px;font-size:13px}.pro-invite{padding:28px}.pro-invite>*{position:relative;z-index:3}.pro-invite h2{font:900 32px/1.15 var(--font-display);color:var(--cb-marker);margin:8px 0 14px}.pro-invite p:not(.cut-kicker){font:400 14px/1.7 var(--font-ui);color:var(--muted);margin:0 0 22px}.pro-invite .primary{width:100%;margin:0 0 16px}.pro-invite .already{font-size:12px;margin:0 0 20px}.pro-invite .already a{font-weight:600;color:var(--brand)}.pro-invite #pro-app{font-size:12px;color:var(--brand);display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
.client-note{padding:20px 0 0;margin:20px 0 0;border-top:1px solid var(--border)}.client-note h3{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.client-note p{font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:var(--text)}
.recipient-footer{margin-top:26px;font-size:12px;text-align:center}.recipient-footer a{display:inline-flex;align-items:center;min-height:44px;color:var(--brand)}
@media(max-width:760px){
 .preview-ribbon{padding:7px 16px;font-size:10px;gap:12px}.cut-entry{padding:22px 10px 25px}.cut-intro{gap:12px;margin:0 8px 19px;align-items:center}.cut-intro h1{font-size:31px}.cut-intro p:not(.cut-kicker){font-size:12px;max-width:32ch}.cut-kicker{font-size:9px}.studio-tools{flex-direction:column;gap:9px}.studio-tools .s-button{min-height:44px;width:44px}.snav-in{padding:10px 16px}.snav-links{gap:12px}.snav-links a{font-size:12px}.snav-links .btn{padding:10px 12px}.brand{font-size:18px}.brand .mk{width:35px;height:35px}#studio-frame{height:990px}.pro-divider{margin:10px 24px 0;padding-top:20px;font-size:9px}
 .send-layout{grid-template-columns:1fr;gap:22px}.send-art{width:min(100%,300px);margin:auto}.send-caption{max-width:300px;margin:10px auto 0}.s-modal-content{padding:20px 17px}.s-modal-heading h2{font-size:24px}.send-actions .s-button{padding:10px 13px;font-size:12px}.s-modal-heading{margin-bottom:17px}.invitation-note{margin:16px 0;padding:14px 0}
 .recipient-nav{padding:13px 18px}.website-brand{font-size:22px}.recipient-nav>.s-button{font-size:11px;padding:9px 12px}.recipient-main{padding:26px 18px 40px}.recipient-intro h1{font-size:33px}.recipient-intro{margin-bottom:25px}.recipient-layout{grid-template-columns:1fr;gap:28px}.received-cut{max-width:480px;margin:auto}.recipient-art{max-height:370px;object-fit:contain}.pro-invite{padding:24px}.pro-invite h2{font-size:29px}.recipient-footer{margin-top:22px}
}
@media(prefers-reduced-motion:reduce){.s-button{transition:none}html{scroll-behavior:auto}}



/* Shared page foundation; typography and material come from the original Kraft files. */
*,*::before,*::after{box-sizing:border-box}
html{min-height:100%}body.customer-page,body.recipient-page{margin:0;min-height:100dvh;font:400 15px/1.5 var(--font-ui);color:var(--text)}
.customer-page button,.recipient-page button,.s-modal textarea{font:inherit}.s-button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--brand);outline-offset:4px}
.customer-skip{position:absolute;top:8px;left:16px;z-index:100;transform:translateY(-160%);background:var(--surface);color:var(--text);padding:12px}
.customer-skip:focus{transform:none}
.customer-nav{max-width:1208px}.customer-nav .studio-tools{flex-direction:row;align-items:center}
.customer-page .cut-intro{justify-content:center;text-align:center;margin-bottom:24px}
.customer-page .cut-intro p:not(.cut-kicker){max-width:65ch}
.customer-page .send-actions{margin-top:24px}
@media(max-width:760px){.customer-nav .studio-tools .s-button{width:auto;min-height:44px}.customer-nav .studio-tools .s-icon{width:44px}.customer-nav .studio-tools{gap:8px}.customer-nav .studio-tools .s-button{padding:8px 10px;font-size:11px}.customer-page .cut-intro{margin:0 10px 20px}.customer-page .cut-intro h1{font-size:32px}.customer-page .cut-intro p:not(.cut-kicker){max-width:37ch;margin:10px auto 0}.customer-nav .website-brand{font-size:20px;gap:7px}.customer-nav .website-brand .mk{width:32px;height:32px}}
@media(max-width:360px){.customer-nav{padding-left:12px;padding-right:12px}.customer-nav .studio-tools .s-button{padding:8px}.customer-nav .studio-tools .s-button svg{width:16px}}

/* Revision 8: Cut Studio leads the actual homepage; its catalog is opt-in. */
.compact-home.cut-entry{max-width:1160px;padding:30px 26px 38px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px;align-items:center;border-bottom:1px solid var(--border)}
.compact-home .cut-intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:24px;margin:0}
.compact-home .cut-intro h1{font-size:clamp(40px,4.2vw,54px);line-height:1.04}
.compact-home .cut-intro p:not(.cut-kicker){font-size:16px;line-height:1.55;margin-top:18px}
.compact-home .cut-kicker{font-size:12px}
.compact-home .studio-tools{flex-direction:row;gap:10px}
.compact-home #studio-frame{height:550px}
.send-layout .send-actions{margin-top:22px}
@media(max-width:760px){
 .compact-home.cut-entry{grid-template-columns:1fr;gap:20px;padding:23px 12px 26px}
 .compact-home .cut-intro{align-items:center;text-align:center;gap:16px}
 .compact-home .cut-intro h1{font-size:34px}.compact-home .cut-intro h1 br{display:none}
 .compact-home .cut-intro p:not(.cut-kicker){font-size:14px;margin-top:10px;max-width:none}
 .compact-home .cut-intro p:not(.cut-kicker) br{display:none}
 .compact-home .studio-tools .s-button{width:auto;min-height:44px}
 .compact-home .studio-tools .s-icon{width:44px}
 .compact-home #studio-frame{height:510px}
}

.share-invite-note{font:400 13px/1.6 var(--font-ui);color:var(--muted);margin:18px 0}.s-modal[open]{animation:cut-arrive 180ms var(--ease-out-smooth)}@keyframes cut-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.s-modal[open]{animation:none}}

.recipient-barber{margin-top:26px;padding-top:22px;border-top:1px solid var(--border)}.recipient-barber h3{font:900 24px/1.2 var(--font-display);margin:8px 0 12px;color:var(--cb-marker)}.recipient-footer{display:flex;gap:24px;justify-content:center}.client-note h2{font:600 13px var(--font-ui);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px}
