@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Bodoni+Moda:opsz,wght@6..96,500;6..96,600&family=DM+Mono:wght@400;500&family=DM+Sans:wght@300;400;500;600&family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Manrope:wght@500;700;800&family=Playfair+Display:ital,wght@0,600;1,600&family=Space+Grotesk:wght@600;700&display=swap');

:root{
  --black:#090a0b;
  --panel:#111315;
  --cream:#ece7dd;
  --blue:#2a6fff;
  --acid:#eaff4f;
  --muted:#9da2a5;
  --line:#313537;
  --danger:#ff6b6b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{margin:0;background:radial-gradient(circle at 82% 8%,#15223f 0,transparent 29%),var(--black);color:#fff;font-family:"DM Sans",Arial,sans-serif}
button,input,textarea{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.intake-progress{position:fixed;z-index:1000;inset:0 0 auto;height:3px;background:#1e2225}.intake-progress span{display:block;width:20%;height:100%;background:var(--blue);transition:width .35s ease}
.intake-header{position:sticky;z-index:50;top:0;height:76px;padding:0 clamp(20px,5vw,74px);display:flex;align-items:center;justify-content:space-between;background:#090a0be8;backdrop-filter:blur(18px);border-bottom:1px solid #232629}
.intake-logo{width:min(205px,46vw)}.intake-logo img{width:auto;max-height:41px}
.header-meta{display:flex;gap:24px;font-family:"DM Mono";font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#9ba0a2}
main{width:min(1280px,100%);margin:auto;padding:62px clamp(20px,5vw,72px) 80px}
#agent-site-brief{min-height:70vh}
.brief-step{display:none;grid-template-columns:.68fr 1.32fr;gap:clamp(40px,6vw,88px);align-items:start;animation:stepIn .3s ease}
.brief-step.active{display:grid}
@keyframes stepIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.step-intro{position:sticky;top:118px;z-index:2;padding-right:12px}
.eyebrow{margin:0 0 15px;font-family:"DM Mono";font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#8f9699}
.step-intro h1,.step-intro h2,.success-screen h2{margin:0;font-family:"Archivo Black";font-size:clamp(46px,5.8vw,82px);line-height:.9;letter-spacing:-.06em;text-transform:uppercase;overflow-wrap:normal}
.step-intro>p:last-child{max-width:500px;color:#b6bbbd;font-size:17px;line-height:1.6}
.form-panel,.palette-tool,.community-builder{padding:25px;background:#111315;border:1px solid var(--line)}
.field-grid{display:grid;gap:15px}.field-grid.two{grid-template-columns:1fr 1fr}
label>span{display:block;margin-bottom:8px;font-family:"DM Mono";font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#adb2b4}
input[type=text],input[type=email],input[type=tel],input[type=url],textarea{
  width:100%;border:1px solid #3b4042;background:#0d0f10;color:#fff;padding:14px;outline:none;border-radius:0;
  transition:border .2s,box-shadow .2s
}
textarea{resize:vertical;line-height:1.55}
input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2a6fff22}
input.invalid,textarea.invalid{border-color:var(--danger)}
.wide-field{display:block;margin-top:16px}.no-margin{margin-top:0}
.vibe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.vibe-card{position:relative;min-height:170px;padding:18px;border:1px solid #34383b;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;background:#141618;transition:.2s}
.vibe-card:before{content:"";position:absolute;inset:0;opacity:.62}
.vibe-minimal:before{background:linear-gradient(145deg,#f0ece3 0 45%,#20201f 45%)}
.vibe-warm:before{background:radial-gradient(circle at 70% 25%,#d79c65,transparent 35%),linear-gradient(135deg,#3d2b24,#a4836e)}
.vibe-editorial:before{background:linear-gradient(90deg,#0b0b0b 0 50%,#e4ff4e 50%);clip-path:polygon(0 0,100% 0,75% 100%,0 100%)}
.vibe-luxury:before{background:radial-gradient(circle,#94784e 1px,transparent 1px),linear-gradient(#15120f,#090807);background-size:13px 13px,auto}
.vibe-coastal:before{background:linear-gradient(165deg,#8ab9c0 0 48%,#e7ddca 48% 70%,#3e7180 70%)}
.vibe-architectural:before{background:linear-gradient(135deg,transparent 45%,#8b9296 45% 55%,transparent 55%),linear-gradient(45deg,#1d2225 50%,#d6d1c8 50%)}
.vibe-card>*{position:relative;z-index:2}
.vibe-card input{position:absolute;opacity:0}
.vibe-card strong{font-size:19px;line-height:.95;text-transform:uppercase;text-shadow:0 2px 10px #000}
.vibe-minimal strong{font-family:"Manrope",Arial,sans-serif;font-weight:500;letter-spacing:-.05em;text-transform:none}
.vibe-warm strong{font-family:"Fraunces",Georgia,serif;font-weight:600;letter-spacing:-.035em;text-transform:none}
.vibe-editorial strong{font-family:"Archivo Black",Arial,sans-serif;font-weight:400;letter-spacing:-.055em;text-transform:uppercase}
.vibe-luxury strong{font-family:"Bodoni Moda","Times New Roman",serif;font-weight:600;letter-spacing:-.045em;text-transform:none}
.vibe-coastal strong{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-weight:600;letter-spacing:-.035em;text-transform:none}
.vibe-architectural strong{font-family:"Space Grotesk",Arial,sans-serif;font-weight:700;letter-spacing:-.055em;text-transform:uppercase}
.vibe-card small{margin-top:7px;color:#fff;font-size:11px;text-shadow:0 2px 10px #000}
.vibe-number{position:absolute;top:14px;left:15px;font-family:"DM Mono";font-size:8px;letter-spacing:.14em}
.vibe-card:has(input:checked){border-color:var(--acid);box-shadow:inset 0 0 0 2px var(--acid)}.vibe-card:has(input:checked):after{content:"SELECTED";position:absolute;right:10px;top:10px;padding:5px 7px;background:var(--acid);color:#090a0b;font-family:"DM Mono";font-size:7px;letter-spacing:.12em}
.color-question-label{display:block;font-family:"Archivo Black";font-size:clamp(23px,2.7vw,36px);line-height:1;text-transform:uppercase}
.color-question p{max-width:760px;margin:12px 0 20px;color:#aeb3b5;font-size:14px;line-height:1.6}
.color-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.color-choice label{position:relative;cursor:pointer}
.color-choice input{position:absolute;opacity:0;pointer-events:none}
.color-choice span{display:flex;min-height:96px;flex-direction:column;justify-content:center;margin:0!important;padding:20px;border:1px solid #3a3f41;background:#0c0e0f;color:#c8ccce!important;text-align:left;transition:.2s}
.color-choice strong{font-family:"Archivo Black";font-size:25px;line-height:1;text-transform:uppercase}
.color-choice small{margin-top:8px;color:#8f9699;font-size:12px;line-height:1.45}
.color-choice label:hover span{border-color:#707779}
.color-choice label:has(input:checked) span{background:var(--acid);border-color:var(--acid);color:#090a0b!important;box-shadow:inset 0 0 0 2px #090a0b}
.color-choice label:has(input:checked) small{color:#34370d}
.preferred-colors-wrap{margin-top:18px}.preferred-colors-wrap.is-hidden{display:none}
.preferred-colors{display:grid;gap:10px}
.preferred-color{position:relative;display:grid;grid-template-columns:82px 1fr auto;gap:12px;align-items:center;padding:16px;border:1px solid #3a3f41;background:#0c0e0f}
.preferred-color input[type=color]{width:82px;height:64px;padding:0;border:0;background:none;cursor:pointer}
.preferred-color input[type=text]{min-width:0;height:64px;font-family:"DM Mono";font-size:16px;text-transform:uppercase}
.remove-color{width:38px;height:38px;border:1px solid #444a4c;background:#17191b;color:#ff8a8a;cursor:pointer}
.add-color{width:100%;margin-top:10px;border:1px dashed #454a4c;background:none;padding:12px 15px;font-family:"DM Mono";font-size:9px;letter-spacing:.13em;text-transform:uppercase;cursor:pointer}
.add-color:disabled{opacity:.35;cursor:not-allowed}
.color-note{margin-top:12px;color:#858b8e;font-size:12px;line-height:1.55}
.upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.upload-card{min-height:165px;padding:18px;border:1px dashed #484e50;background:#111315;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.upload-card:hover{border-color:var(--blue)}.upload-card input{position:absolute;opacity:0}.upload-icon{font-size:28px!important;margin:0!important;color:var(--blue)!important}.upload-card strong{font-size:17px}.upload-card small{color:#888f92}.upload-card em{margin-top:10px;color:#c4c8ca;font-size:10px;font-style:normal;word-break:break-word}
.chip-grid{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.chip-grid label input{position:absolute;opacity:0}.chip-grid span{display:block;margin:0;padding:11px 13px;border:1px solid #3c4143;background:#121416;color:#c4c8ca;cursor:pointer}.chip-grid label:has(input:checked) span{background:var(--acid);border-color:var(--acid);color:#090a0b}
.community-counter{margin-bottom:13px;font-family:"DM Mono";font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#8e9496}.community-counter strong{color:#fff}
.community-item{position:relative;margin-bottom:10px;padding:14px;background:#0c0e0f;border:1px solid #333739}
.community-item-grid{display:grid;grid-template-columns:1fr;gap:10px}
.community-item-grid label:nth-child(2),.community-item-grid label:nth-child(3){display:none}
.item-controls{display:flex;gap:6px;position:absolute;right:10px;top:10px}.item-controls button{border:1px solid #404547;background:#17191b;width:29px;height:29px;cursor:pointer}.item-controls button.remove{color:#ff8a8a}
.add-community{
  width:100%;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;padding:16px 18px;
  border:1px dashed #4f5a68;background:linear-gradient(180deg,#14181d 0%,#0d1014 100%);color:#f4f6f7;
  font-family:"DM Mono";font-size:10px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;
  transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease,color .2s ease
}
.add-community::before{content:"+";font-size:18px;line-height:1;color:var(--acid)}
.add-community:hover{border-color:var(--blue);background:linear-gradient(180deg,#171c23 0%,#10151d 100%);box-shadow:0 0 0 1px #2a6fff40 inset,0 12px 28px #0000002e;transform:translateY(-1px)}
.add-community:focus-visible{outline:none;border-color:var(--acid);box-shadow:0 0 0 2px #eaff4f33}
.add-community:active{transform:none}
.add-community:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.links-panel{margin-top:16px}
.agreement{margin-top:18px;padding:18px;background:#111315;border:1px solid #333739}.agreement label{display:grid;grid-template-columns:auto 1fr;gap:10px;margin:10px 0;color:#c0c5c7;font-size:13px;line-height:1.45}.agreement input{margin-top:3px;accent-color:var(--blue)}
.form-navigation{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:42px;padding-top:20px;border-top:1px solid #292d2f}
.nav-button{border:1px solid #3c4143;background:#121416;padding:13px 16px;font-family:"DM Mono";font-size:10px;letter-spacing:.13em;text-transform:uppercase;cursor:pointer}.nav-button:disabled{opacity:.3;cursor:not-allowed}.nav-button.next,.nav-button.submit{justify-self:end;background:var(--acid);border-color:var(--acid);color:#090a0b}.step-count{font-family:"DM Mono";font-size:10px;letter-spacing:.16em;color:#858b8e}
.form-message{margin-top:16px;color:#ffaaaa;text-align:right}
.success-screen{max-width:980px;margin:45px auto;padding:55px;background:#111315;border:1px solid #323638}.success-screen h2{font-size:clamp(50px,8vw,105px)}.success-screen>p:not(.eyebrow){font-size:19px;color:#b9bec0}.confirmation{margin:28px 0;padding:18px;background:#0a0b0b;font-family:"DM Mono";letter-spacing:.12em}.success-screen>a{display:inline-block;padding-bottom:5px;border-bottom:1px solid #fff;font-family:"DM Mono";font-size:10px;letter-spacing:.13em;text-transform:uppercase}
footer{display:flex;justify-content:space-between;gap:20px;padding:26px clamp(20px,5vw,72px);border-top:1px solid #262a2c;color:#858b8e;font-family:"DM Mono";font-size:9px;letter-spacing:.13em;text-transform:uppercase}
@media(max-width:960px){
  .brief-step{grid-template-columns:1fr}.step-intro{position:static;padding:0}
  .vibe-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .intake-header{height:66px}.header-meta span:first-child{display:none}
  main{padding-top:38px}
  .step-intro h1,.step-intro h2,.success-screen h2{font-size:clamp(40px,12vw,64px)}
  .field-grid.two,.vibe-grid,.upload-grid{grid-template-columns:1fr}
  .color-choice{grid-template-columns:1fr}.preferred-color{grid-template-columns:62px 1fr auto}
  .form-navigation{grid-template-columns:1fr auto 1fr}.nav-button{padding:12px 9px;font-size:8px}
  footer{flex-direction:column;text-align:center}
}


/* v47 — vibe-specific title typography */
.vibe-minimal strong{font-size:21px;line-height:1.02}
.vibe-warm strong{font-size:22px;line-height:.98}
.vibe-editorial strong{font-size:20px;line-height:.92}
.vibe-luxury strong{font-size:23px;line-height:.95}
.vibe-coastal strong{font-size:23px;line-height:.95}
.vibe-architectural strong{font-size:19px;line-height:.9}
