.assistant-section{padding:clamp(5rem,9vw,9rem) 0;background:#e9e7e1;scroll-margin-top:90px}
.assistant-intro{display:grid;grid-template-columns:1fr .75fr;gap:3rem;align-items:end;margin-bottom:2.7rem}
.assistant-intro h2{font:700 clamp(2.5rem,5vw,5.2rem)/1.07 Manrope,sans-serif;letter-spacing:-.066em;margin:.65rem 0 0}
.assistant-intro p{color:#555b5a;margin:0;max-width:440px}
.assistant-workspace{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);background:#fff;border:1px solid #d9d7d0;box-shadow:0 28px 70px #22262912}
.assistant-controls{padding:clamp(1.3rem,3.5vw,3rem);border-right:1px solid #e0ded8;display:grid;align-content:start;gap:1.1rem}
.assistant-step{display:flex;gap:.85rem;align-items:start;padding-bottom:1.1rem;border-bottom:1px solid #e2e0da}
.assistant-step:last-of-type{border:0;padding-bottom:0}
.assistant-step-number{color:#9a784b;font:700 .78rem Manrope,sans-serif;padding-top:.2rem}
.assistant-step-content{min-width:0;width:100%}
.assistant-step h3{font:700 1.05rem/1.25 Manrope,sans-serif;margin:0 0 .65rem;letter-spacing:-.035em}
.assistant-step label{display:block;color:#4c5352;font-size:.82rem;font-weight:700;margin:.8rem 0 .35rem}
.assistant-step input[type=text],.assistant-step textarea,.assistant-step select{width:100%;border:1px solid #cdcac2;background:#f9f8f5;color:#222629;padding:.73rem .85rem;border-radius:0;outline:none}
.assistant-step textarea{min-height:78px;resize:vertical}
.assistant-step input:focus,.assistant-step textarea:focus,.assistant-step select:focus{border-color:#92703f;box-shadow:0 0 0 2px #b9955b30}
.assistant-upload{border:1px dashed #a9a69f;background:#f8f7f4;padding:1rem;cursor:pointer;display:flex!important;align-items:center;gap:.65rem;line-height:1.35}
.assistant-upload:hover{border-color:#967143;background:#f1ede6}
.assistant-upload input{position:absolute;width:1px;height:1px;opacity:0}
.assistant-upload:focus-within{outline:2px solid #967143;outline-offset:2px}
.assistant-upload-icon{font-size:1.2rem;color:#967143}
.assistant-file-name{font-size:.76rem;color:#666d6b;margin:.35rem 0 0;overflow-wrap:anywhere}
.assistant-options{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.assistant-swatches{display:flex;gap:.5rem;margin:.6rem 0 0}
.assistant-swatch{width:33px;height:33px;border:2px solid transparent;border-radius:50%;cursor:pointer;background:var(--swatch);outline:1px solid #c7c4bd;outline-offset:1px}
.assistant-swatch[aria-pressed=true]{border-color:#fff;outline:2px solid #282d2f;outline-offset:2px}
.assistant-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.45rem}
.assistant-generate,.assistant-download{border:0;padding:.88rem 1.15rem;cursor:pointer;font-weight:700}
.assistant-generate{background:#25292b;color:#fff}.assistant-generate:hover{background:#414648}
.assistant-download{background:#d6b478;color:#25292b}.assistant-download:hover{background:#e6c994}.assistant-download:disabled{opacity:.45;cursor:not-allowed}
.assistant-quote-toggle{border:0;background:#d6b478;color:#25292b;padding:.88rem 1.15rem;font-weight:700;cursor:pointer}
.assistant-quote-toggle:hover{background:#e6c994}
.assistant-quote-toggle:disabled{opacity:.45;cursor:not-allowed}
.assistant-step-content [hidden]{display:none}
.assistant-consent{display:flex!important;gap:.65rem;align-items:flex-start;margin-top:.8rem!important;line-height:1.45;cursor:pointer}
.assistant-consent input{width:auto!important;min-width:18px;height:18px;margin:.12rem 0 0;accent-color:#25292b}
.assistant-quote[hidden]{display:none}.assistant-quote{border-top:1px solid #dedbd3;padding-top:1.4rem;display:grid;gap:.45rem}
.assistant-quote h3{font:700 1.3rem Manrope,sans-serif;letter-spacing:-.04em;margin:0}
.assistant-quote>p:not(.assistant-note){font-size:.85rem;color:#626867;margin:.2rem 0 .65rem}
.assistant-quote label{display:block;font-size:.8rem;font-weight:700;color:#454d4c;margin:.5rem 0 .2rem}
.assistant-quote input,.assistant-quote textarea{width:100%;border:1px solid #cdcac2;background:#f9f8f5;color:#222629;padding:.7rem .8rem;border-radius:0;outline:none}
.assistant-quote input:focus,.assistant-quote textarea:focus{border-color:#92703f;box-shadow:0 0 0 2px #b9955b30}
.assistant-quote textarea{min-height:80px;resize:vertical}.assistant-quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.assistant-send-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1rem}
.assistant-send-actions button{border:0;background:#25292b;color:white;padding:.85rem .75rem;font-weight:700;cursor:pointer}
.assistant-send-actions button:last-child{background:#e7e3db;color:#25292b}.assistant-send-actions button:hover{filter:brightness(1.14)}
.assistant-note{font-size:.75rem;color:#737978;line-height:1.5;margin:.25rem 0 0}
.assistant-preview{min-width:0;background:#25292b;display:flex;flex-direction:column}
.assistant-preview-top{padding:1rem 1.4rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;color:#e4e1d9;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid #ffffff25}
.assistant-preview-top span:last-child{color:#bca77f}
.assistant-canvas-wrap{flex:1;min-height:440px;display:grid;place-items:center;padding:clamp(1rem,3vw,2rem);background:radial-gradient(circle at 50% 45%,#3c4141,#25292b 70%)}
.assistant-canvas-wrap canvas{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;box-shadow:0 22px 50px #0005}
.assistant-preview-bottom{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.1rem 1.4rem;color:#c4c9c6;font-size:.78rem}
.assistant-preview-bottom a{color:#d6b478;text-decoration:underline;text-underline-offset:3px}
@media(max-width:950px){.assistant-workspace{grid-template-columns:1fr}.assistant-controls{border-right:0;border-bottom:1px solid #e0ded8}.assistant-intro{grid-template-columns:1fr}.assistant-canvas-wrap{min-height:0}}
@media(max-width:620px){.assistant-section{padding:5rem 0}.assistant-options,.assistant-quote-grid,.assistant-send-actions{grid-template-columns:1fr}.assistant-controls{padding:1.3rem}.assistant-preview-top,.assistant-preview-bottom{padding:.9rem 1rem}.assistant-canvas-wrap{padding:.7rem}}

/* A short brand reveal: the supplied monogram leads, then the wordmark settles. */
.intro{background:#202426}.intro:before{content:'';position:absolute;inset:8%;border:1px solid #c6a46e24;pointer-events:none;animation:intro-border 1.9s ease both}
.intro-frame{animation:none;transform:none;width:min(48vw,300px)!important}
.intro-frame img{width:min(62%,170px)!important;animation:intro-emblem 1.25s cubic-bezier(.2,.7,.18,1) both;filter:drop-shadow(0 8px 26px #b9955b25)}
.intro-frame strong{animation:intro-word .95s .38s ease both}
.intro-frame small{animation:intro-word .95s .55s ease both}
.intro-frame .intro-line{animation:intro-line 1.15s .5s ease both}
@keyframes intro-emblem{from{opacity:0;transform:translateY(20px) scale(.92);filter:blur(7px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes intro-word{from{opacity:0;transform:translateY(10px);letter-spacing:.55em}to{opacity:1;transform:translateY(0)}}
@keyframes intro-border{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.intro{display:none}.intro:before,.intro-frame img,.intro-frame strong,.intro-frame small,.intro-frame .intro-line{animation:none}}
