/* Entity Builder: same palette, type and card language as the main site. */
body:has(.builder-wrap){background:#fffdf8;color:#26332a}
body:has(.builder-wrap) p{color:#26332a}
.builder-wrap{width:min(100% - 100px,1050px);max-width:none;margin:0 auto;padding:48px 0 110px}
.builder-back,.builder-smiley{display:none}
.builder-header{
  position:relative;isolation:isolate;overflow:hidden;
  background:#174b37;border-radius:16px;
  min-height:510px;padding:clamp(35px,5vw,60px);
  margin:0 0 58px;color:#fffdf8;
}
.builder-header::after{
  content:"";position:absolute;right:-100px;bottom:-200px;
  width:520px;height:520px;border-radius:50%;background:#276343;
  z-index:-1;
}
.builder-header .builder-eyebrow,
.screen-eyebrow,.progress-meta,.field-required,.field-optional,
.field-tip-label,.loading-status,.result-block-label,
.read-next-eyebrow,.read-next-card-label,.read-next-card-cta{
  font:700 11px/1.35 'DM Sans',Arial,sans-serif;
  letter-spacing:.16em;text-transform:uppercase;color:#276343;
}
.builder-header .builder-eyebrow{color:#fffdf8;position:relative;z-index:2;margin-bottom:24px}
.builder-eyebrow::before{display:none}
.builder-header h1{
  position:relative;z-index:2;max-width:670px;
  margin:0 0 24px;color:#fffdf8;font-weight:800;
  font-size:clamp(44px,5.5vw,68px);line-height:1.02;letter-spacing:-.05em;
}
.builder-header h1 span{color:#f5a8ca}
.builder-deck{
  position:relative;z-index:2;max-width:630px;
  font:400 16px/1.55 'DM Sans',Arial,sans-serif!important;
  color:#fffdf8!important;
}
.builder-hero-art{
  position:absolute;z-index:1;right:12px;bottom:-28px;width:30%;
  max-height:90%;height:auto;object-fit:contain;object-position:bottom;
  pointer-events:none;
}
.header-jump,.builder-btn{
  font:700 13px/1.25 'DM Sans',Arial,sans-serif;
  text-decoration:none;border-radius:8px;box-shadow:none;
}
.header-jump{
  position:relative;z-index:2;margin-top:25px;
  background:#c52a70;color:white;border-color:#c52a70;
}
.header-jump:hover,.builder-btn-primary:hover{
  background:#a81f5d;border-color:#a81f5d;transform:translateY(-2px);box-shadow:none;
}
.intro-blocks{max-width:810px;gap:26px;margin:0 0 56px}
.intro-block h2{font-size:clamp(25px,3vw,34px);color:#174b37;letter-spacing:-.04em;line-height:1.08}
.intro-block p,.intro-lede p{font:400 16px/1.6 'DM Sans',Arial,sans-serif;color:#26332a}
.intro-divider{display:none}
.intro-block:not(.intro-lede){padding-top:10px}
.progress{max-width:810px;margin:38px auto 28px}
.progress-label{font-size:16px;color:#174b37}
.progress-meta{color:#526259;letter-spacing:.08em}
.progress-bar{background:#e7eddf;height:8px;border-radius:10px}
.progress-fill{background:#c52a70}
.screen.is-active{
  max-width:810px;margin:0 auto;padding:clamp(27px,4.5vw,48px);
  background:#fffdf8;border:1.5px solid #174b37;border-radius:14px;
  box-shadow:6px 6px 0 #276343;
}
.screen h2{color:#174b37;font-weight:800;letter-spacing:-.045em;line-height:1.08}
.screen-intro{font:400 16px/1.58 'DM Sans',Arial,sans-serif;color:#26332a}
.field-label{font:700 17px/1.3 'DM Sans',Arial,sans-serif;color:#174b37}
.field-hint{opacity:1;color:#526259}
.field input[type="text"],.field input[type="email"],.field input[type="url"],
.field input[type="number"],.field textarea,.field select{
  border:1.5px solid #789486;border-radius:8px;background:#fff;
}
.field input:focus,.field textarea:focus,.field select:focus{
  border-color:#c52a70;box-shadow:0 0 0 3px rgba(197,42,112,.16);
}
.field input::placeholder,.field textarea::placeholder{color:#78887e}
.field-tip{background:#e7eddf;border-left-color:#276343}
.field-tip-label{letter-spacing:.09em}
.field-tip code{background:#d7e7d4;color:#174b37}
.chip{
  font:700 12px/1.25 'DM Sans',Arial,sans-serif;
  letter-spacing:0;text-transform:none;border-color:#174b37;color:#174b37;
}
.chip:hover{background:#e7eddf}
.chip.is-active{background:#174b37;color:white}
.btn-row{border-top-color:#dce7dc}
.builder-btn{padding:13px 18px;border-color:#174b37}
.builder-btn-primary{background:#c52a70;color:white;border-color:#c52a70}
.builder-btn-ghost{background:#fffdf8;color:#174b37}
.builder-btn-ghost:hover{background:#e7eddf}
.builder-btn .arrow{background:#fffdf8}
.builder-btn .arrow svg{stroke:#174b37}
.privacy-note{
  background:#f7f3e9;border:1px solid #aac3ad;border-radius:10px;
  box-shadow:none;padding:22px 24px;
}
.privacy-note h3{color:#174b37;font-size:16px}
.privacy-note p{font-size:13px;line-height:1.55}
.result-block,.read-next-card{
  background:#fffdf8;border:1.5px solid #174b37;
  box-shadow:6px 6px 0 #276343;border-radius:14px;
  transition:transform .25s ease,box-shadow .25s ease;
}
.result-block:hover,.read-next-card:hover,.read-next-card:focus-visible{
  transform:translate(-3px,-3px);box-shadow:9px 9px 0 #c52a70;
}
.result-block h3,.read-next-head h3,.read-next-card h4,.results-footer h3{color:#174b37}
.result-copy-btn{font:700 12px/1.2 'DM Sans',Arial,sans-serif;letter-spacing:0;text-transform:none;border-color:#174b37;color:#174b37}
.result-copy-btn:hover,.result-copy-btn.copied{background:#174b37;color:#fffdf8}
.result-text,.read-next-card p{color:#26332a}
.read-next-card-cta{color:#174b37;letter-spacing:0;text-transform:none}
.read-next,.results-footer{border-top-color:#dce7dc}
#email-gate,#form-anchor{scroll-margin-top:100px}
.screen:focus-visible,.builder-btn:focus-visible,.chip:focus-visible,.result-copy-btn:focus-visible,
.header-jump:focus-visible{outline:3px solid #c52a70;outline-offset:3px}
@media(max-width:900px){
  .builder-header h1,.builder-deck{max-width:65%}
  .builder-hero-art{width:33%}
}
@media(max-width:700px){
  .builder-wrap{width:min(100% - 36px,540px);padding:26px 0 80px}
  .builder-header{min-height:0;padding:30px 26px 235px;margin-bottom:42px}
  .builder-header h1{font-size:clamp(39px,10vw,54px);max-width:none}
  .builder-deck{max-width:none;font-size:15px!important}
  .builder-header::after{width:350px;height:350px;right:-80px;bottom:-200px}
  .builder-hero-art{width:190px;height:230px;right:16px;bottom:-10px;max-height:none}
  .screen.is-active{padding:26px 22px}
  .read-next-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .result-block,.read-next-card{transition:none}
  .result-block:hover,.read-next-card:hover,.read-next-card:focus-visible{transform:none}
}
